[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 01/19 04:01 / Filesize : 303 KB / Number-of Response : 1078
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

自動化ツールUWSC使いよ集まれ16



1 名前:名無しさん@お腹いっぱい。 [2015/11/11(水) 13:45:28.80 ID:+oPzgSay0.net]
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html

●UWSC 掲示板(※作成依頼掲示版ではありません)
 質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
 上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
www3.rocketbbs.com/13/bbs.cgi?id=umiumi
www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past

●UWSC - Wikipedia
ja.wikipedia.org/wiki/UWSC

●使い方・基礎解説学習サイト
uwsc.g.hatena.ne.jp/cx20/20100131/1264938584
www.confrage.com/uwsc/
necro.jp/dev/uwsc/
park14.wakwak.com/~simizu/uwsc/fruwsc.html
canal22.org/
big.tm.land.to/handbook/uwsc.htm
www.game-rev.com/review/gameut/uwsc.html

●スクリプトテンプレサイト
izagne.com/uwsc/
scripts.web.fc2.com/
www.nagomi-jp.net/~liners/
nem.symphonic-net.com/uwsct/0610uwsct.html
siromasa.digi2.jp/uwsc/
iriyak.adam.ne.jp/uwsc.html

前スレ 自動化ツールUWSC使いよ集まれ15
anago.2ch.net/test/read.cgi/software/1436671958/

901 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 02:24:04.07 ID:q9CfIyKs0.net]
日本語変数は無理なんじゃないかな

902 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 02:34:58.77 ID:ZLCOlBAo0.net]
自作関数をEXITで抜けるみたいに、CALLで呼んだものを途中で抜けるってできるの?

903 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 03:46:02.49 ID:fLUkQ1x50.net]
EXITじゃないの?

904 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 03:53:20.39 ID:8BXL68Gt0.net]
CALLが何かを全く理解してない奴って多いよね

905 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 13:22:41.14 ID:TzmisRaw0.net]
「呼んだもの」のなかで途中で抜けるように作れば抜けるし、最後までやるように作れば最後までやるだけだが。

906 名前:名無しさん@お腹いっぱい。 [2016/03/11(金) 15:51:14.74 ID:9MIhB+Zw0.net]
Firefox系ブラウザ って
FLASHブラウザゲームに
MOUSEORGのMORG_DIRECTって使えないの?
BTNが反応しませんでした
Chromeは使えましたが、
Chromの方は、MORG_BACKがCHKIMGで認識しませんでした

907 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 17:05:56.39 ID:xL247s8c0.net]
煽りじゃなくて頑張った結果が使えないのなら使えないのでしょう

ブラウザはIE以外はマルチプラットフォームのため標準コントロールを使用していないし
裏になったら再描画しないパターンもあるしね

裏動作は出来る時もある位の気持ちで
仮想化環境を使って最前面か別PCが安定ってのがFAQだよ

908 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 17:41:53.19 ID:uLXjBvrS0.net]
hoge=

909 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 17:52:21.69 ID:uLXjBvrS0.net]
すいません、NGワードで弾かれたっぽいです


hoge="あいうえおあいうえお"

上記変数の、左から5番目の「お」だけを
「ん」に変えたいんですけど、そんな命令ありますか?
置換命令のREPLACEだと、番号指定は無理ですよね?

hoge=COPY(hoge,1,4)+"ん"+COPY(hoge,6)
遠回りな気がしますが、こんな感じにするしかないんでしょうか?



910 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 17:57:29.45 ID:8eZkzZWt0.net]
仮想化はOS用意しないといけないからなあ
linuxとか無料らしいからそれ使えればいいけどな

911 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 18:21:03.26 ID:xL247s8c0.net]
>>859
それしかないって事はないけれど特に近道も無いよってのが答えだと思う

VBSの文字列操作用や正規表現用のオブジェクトを生成して処理したり出来るが
特に行数が減るわけではない(寧ろ増える)

昔と違ってメモリを節約する努力なんて不要なんだから
行数や命令を減らす努力はそれ程重要じゃない
最適化しすぎて同じ結果になるけれどやりたい事との文脈が違う場合とか
後から見ると混乱のもとになるからね

メインの処理のやりたい事が「文字列のn文字を入れ替える」なら
そういうユーザ関数を作成して抽象化したら良いのよ

912 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 18:28:44.96 ID:HWMGVE3/0.net]
遠回りどころか、処理的には replace よりむしろ近道なのでは

913 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 19:10:33.56 ID:9aIMxtHY0.net]
>>856 ただのバックグラウンドならできる
(画面が隠れてたり最小化だとできない)
クラス名を取得してハンドルする
教えてヤフーにやり方のヒントがある
(´・ω・`)

914 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 19:19:08.73 ID:LoB9QIb70.net]
バックグラウンドと画面が隠れていることの違いって何

915 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 20:39:57.96 ID:9MIhB+Zw0.net]
>>863
クラス名なら、Firefoxは、MizillaWindowsClass
Chromeは、Chrome_RenderWidgetHostHWND
これは取得できて、ハンドルも取得できていて
それは、わかってるんです。
ただのバッググラウンド状態でももちろん試しました
Yahoo知恵袋なども結構参照した方です
ですが、IEとChromeは、MORG_DIRECTが使えて
Firefoxだけは、MORG_DIRECTが使えませんでした。
BTNが反応してくれない。それってあり得るんですかね?

916 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 23:22:31.33 ID:V+G/WUuc0.net]
While True

ifb CHKIMG("A.bmp")
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)

else
ifb CHKIMG("B.bmp")
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)

else
ifb CHKIMG("C.bmp")
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
else
sleep(0.3)
BTN(LEFT,CLICK,1000,500)

endif
endif
endif

sleep(0.1)
WEND

こんな感じのマクロを組んだのですが最後の
sleep(0.1)
BTN(LEFT,CLICK,1000,500)
が1秒くらい間隔開けて連打するので困っています
0.3秒くらいの間隔で連打させたいのですが何を弄ればいいのでしょうか?

917 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 23:37:24.40 ID:q9CfIyKs0.net]
0.3秒+500ミリ秒+0.1秒=0.9秒

当たり前の話でんがな

918 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 23:40:11.60 ID:q9CfIyKs0.net]
間違えたハズカシ
つかchkimgは範囲が広いとそれだけ時間かかるからPCのスペック次第で時間が変わる

919 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 23:55:24.06 ID:V+G/WUuc0.net]
>>868
なるほど、処理が追いついていないと
そこそこのスペック持たせてるはずなのに画像認識の処理ってけっこうパワーいるのに驚きです



920 名前:名無しさん@お腹いっぱい。 [2016/03/12(土) 00:22:19.71 ID:vIYJtZWi0.net]
× BTN(LEFT,CLICK,1000,500)

○ BTN(LEFT,CLICK)

921 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/12(土) 00:58:30.41 ID:JA7kK ]
[ここ壊れてます]

922 名前:oOW0.net mailto: >>870
その場合どうやって座標の指定をするので?
[]
[ここ壊れてます]

923 名前:名無しさん@お腹いっぱい。 [2016/03/12(土) 05:37:53.21 ID:vIYJtZWi0.net]
あ、つい。数字をミリ秒と読んでしまって。

画像を小さくして範囲を絞れば速くなります。

範囲を絞るために GETID() で対象ウィンドウを特定して
STATUS() で座標を取って CHKIMG() で範囲を指定します。
MOUSEORGで基準座標を対象ウィンドウにすれば
範囲は 0, 0 からサイズ x, y で指定できるので楽です。

他の方法としては
数ドットの色だけで判定できる場合は
検索範囲の画像を SAVEIMG() でクリップボードにコピーして
クリップボードから PEEKCOLOR() で検索すると早いです。
でも、数ドットで済むようなら1秒もかかってませんね。

924 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/12(土) 08:55:36.12 ID:1ZX49PQ60.net]
>>866
なんか凄い見にくいけどこういうことだよね?
While True
  ifb CHKIMG("A.bmp")
    BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
  elseif CHKIMG("B.bmp")
    BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
  elseif CHKIMG("C.bmp")
    BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
  else
    sleep(0.3)
    BTN(LEFT,CLICK,1000,500)
  endif
  sleep(0.1)
WEND

sleep(0.3)の部分は3回試した後だし、sleep要らないのでは

925 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/12(土) 12:51:15.36 ID:ah+GWDsu0.net]
ヒント@
ループ開始時に開始時間を記録
その他のボタンクリック前の時間と開始時間を引いて経過時間を記録
経過時間が300ミリ秒以内ならその時間だけスリープ

ヒントA
DEF_DLL timeGetTime(): LONG: winmm.dll //ミリ秒単位の時間を取得
(わざわざwin32api使うのはUWSCは経過時間の取得は小数点(割合)になるので直感的じゃないから)

926 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/12(土) 12:54:01.60 ID:fkR2rJoF0.net]
まあ今回の場合、処理が0.6秒位かかっているようだから
スリープ0にしたところでダメだし時間測るのは無意味と思うけどね。

どちらかというと範囲制限の方が有効だろう

927 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/12(土) 13:11:01.48 ID:ah+GWDsu0.net]
それ前提のつもりでした言葉足らずだったね
0.3秒感覚でクリックしたいならそうなるようなロジックが必要ですよと

928 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/12(土) 20:47:24.15 ID:XzxPU9E/0.net]
タイミングはシビアになるかもだけど、Thread()で0.3秒ごとにクリック
メインではChkimg()してヒットしたらフラグを立てて
Threadのほうのクリックを抑止してメイン側でクリック
とか?

929 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 01:10:40.53 ID:yStCxW+O0.net]
まず最初にみんなありがとう
せっかく教えてくれるのにごめん
ミジンコにとっては半分近くが呪文だったのです

>>872
もうちょい画像絞ってみます
知らない関数もあるのでそれも調べてみます

>>873
sleepよりも何よりもelseifの存在を忘れてた自分が馬鹿でした
適当なサイトのコピーから改竄してたのですがこれでC+齧ってたのかと思うと恥ずかしいです

>>874
誤差分だけスリープなんてできたんですね
>>875さんの件も含めて考えて、それで処理時間含めての最短を設定できるように調整してみます

>>877
並列は考えたのですが他の作業中に「そこ」をクリックされると困るので破棄しました
それを破棄した理由が連打させたい時に画面には決まった画像というのがないという事なのです


拾い物の改竄だけだと何も身につかないと再確認して自分を恥じます
勉強しなおして出直しますのでその時また困ったらお力をお貸しください



930 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 05:59:29.63 ID:Oa7DQQ9u0.net]
chkimg3つをそれぞれ別スレッドで動かして
発見フラグが一つもない時だけ1000,500をクリックでいいのでは
これなら今どきのマルチコアCPUなら3倍速で動くはず?

931 名前:名無しさん@お腹いっぱい。 [2016/03/13(日) 10:3 ]
[ここ壊れてます]

932 名前:4:38.97 ID:5BxruRGM0.net mailto: いまどきの Core i5 でも安いのは物理2コアなので3倍速になんてなりません。
タスクマネージャで4コアに見えても、2つは論理CPUかもしれません。

仮に4コアあったとしても、3コアをUWSCが独占したら残り1コアでアプリが動くわけで
ちょっと重すぎますね。

どうしてもクリック速度を上げないといけないなら
画像を工夫するか、ほかの画像処理ツールを使うべきでしょう。

UWSCだと3つの画像で3回キャプチャしますが、
キャプチャをして画像比較を別の画像処理ライブラリを使って比較すれば
1回のキャプチャで3回比較できます。
が、UWSCで比較しても遅いので高速な言語を使う必要が・・・
[]
[ここ壊れてます]

933 名前:名無しさん@お腹いっぱい。 [2016/03/13(日) 10:38:41.65 ID:5BxruRGM0.net]
ARToolKitで複数マーカーを使ってみた
https://youtu.be/uoncHfnYWHM

ARToolKitを使った 「拡張現実感」
kougaku-navi.net/ARToolKit/

これだけグリグリ動くんだから
ビットマップの完全一致くらい一瞬じゃないとおかしいんだけどね。

おまけ
astertune.com/?p=1374
> OpenGLより高速で、iOSに特化したMetalというAPIが昨年登場 (2015年8月30日の記事)

codeit.blog.fc2.com/blog-entry-18.html
> SSE を使用することにより約二倍の高速化が見込まれ

tanakah.blogspot.jp/2011/02/gt5directx1.html
> 車速とギアを認識するDirectXフィルター
> やり方ですが、OpenCV1.0についてくるproxytransフィルターを改造してつくります。
> OpenCV cvMatchTemplate()

OpenCvSharp 投稿日: 2014年2月6日
https://jpusergis.wordpress.com/2014/02/06/opencvsharp/

C#ならUWSCからPowerShell経由で呼び出せるけど
呼び出しに1秒くらいかかるんだよね。

> 315 名前:Nekorabbit ◆jpnWwiLScI [sage] 投稿日:2014/11/30(日) 07:16:25.97 ID:aCUfDH4j0.net
>   画像認識関数 ChkImgX-ver1.2.0
>   ttps://googledrive.com/host/0B83tioTzFacPRExEWlpEOXhWbDQ/ChkImgX-ver1.2.0.zip
>  
>   やっぱりOpenCVを使うようにした。それとソースコードを追加

934 名前:名無しさん@お腹いっぱい。 [2016/03/13(日) 10:40:01.87 ID:5BxruRGM0.net]
やっぱりシンプルで高速なライブラリってのは他にないんだな。
シンプル過ぎてな。

935 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 13:21:20.33 ID:DqbPwOfU0.net]
>>866

OPTION SHORTCIRCUIT
While True
 ifb CHKIMG("A.bmp") or CHKIMG("B.bmp") or CHKIMG("C.bmp")
  BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
 else
  BTN(LEFT,CLICK,1000,500)
 end
WEND

試してないが、こうやったほうが早いかも
OPTION SHORTCIRCUITは片方の条件を見つけた時点で以降の条件は探さないらしい
これで動いてくれると思う

936 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 13:44:27.34 ID:MyuwQ+3+0.net]
>>883
それ一緒だから。

実質スリープ無くしただけ

937 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 14:35:12.26 ID:0ijLe2jo0.net]
UWSCのSHORTCIRCUITはオール・オア・ナッシングで
副作用への注意が必要だからあまり好きじゃない

短絡評価の条件式があれば良いんだけれどね

938 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 16:32:38.86 ID:nEkRwzyP0.net]
ただの秒数設定ミスのクソ質問かと思いきや微妙に建設的な質問になっててワロタ

939 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 16:45:35.50 ID:E0WmGTEK0.net]
>>878
いろいろな事を考えると



940 名前:elseifでは対応できない場合も想定されるから
総合的に考えると
else
if
のままのほうがいいみたい?
まぁその分endifが増えるんだけど
[]
[ここ壊れてます]

941 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/14(月) 19:14:44.98 ID:i2rVe3gR0.net]
それは総合的に考えるモノじゃないだろう
必要に応じて使い分けるだけで

942 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/14(月) 22:57:21.23 ID:yWL5pN6J0.net]
保守のやりやすさまで考えるとelseif一択
else ifのほうが綺麗に書けるケースはちょっと思い浮かばない

943 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 01:55:30.43 ID:47j5cpZS0.net]
個人的にifは二択のときだけ
それ以外の選択肢が増えそうなときとかはcase文の方を使いたいとこだ…。

944 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 03:45:02.21 ID:SCAnh7Td0.net]
ifとcaseでは明確に用途が違うような。

945 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 03:50:19.31 ID:dAPydsp10.net]
俺はcaseは限定的な時にしか使いたくないな
逆にそれ以外はif分岐させてる

946 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 04:07:47.33 ID:SCAnh7Td0.net]
いやいやいや
caseはひとつの条件式の結果で分岐するもので
elseifは複数の条件式を使うものでしょう?
かぶる部分も無いではないけど、普通は用途で決まるような。

947 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 05:28:13.13 ID:47j5cpZS0.net]
確かに用途でも決まるね。。
俺が想定してのが単純な一つの値の判定だったから混乱させて申し訳無い

複数の判定が一つの条件式にあると
後から読みにくかったり理解しにくくなったりしそうで
ifの中には一つの判定だけをなるべく書く様にしてるからつい…。
中にどんどんif入れてくのも同様の状態になるから入れ子は少なくすることを検討した作りにしてる

948 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 11:35:32.40 ID:Ye8AnKp+0.net]
caseはbreakさせないって使い方もあるから、一概にどっちがいいとは言えないね

949 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 11:57:04.20 ID:RI0XNTAs0.net]
なるほど思い出した



950 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 13:32:13.65 ID:H7Ch8AYF0.net]
UWSCのSELECTはフォールスルー使えなくない?
ELSEIF連鎖はメーラーの振り分けみたいな優先順位付き判定群だから使い道が違う。
SELECTは1つの判定で複数の分岐。
UWSCのSELECTは、SELECTに書く式を空にして、CASE側に判定式書いても使えるんで、
ELSEIFと同様のこともできるってだけ。

951 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 14:33:20.13 ID:K82PCnuw0.net]
>>897
> SELECTに書く式を空にして、CASE側に判定式書いても使える

なにそれ。そんなこと出来る?
試した限りではselectに式書かなかったら
case側に何を書いても最初のcaseが実行されるんだが。

select
 case 0=1; print "0=1"
 case 1=1; print "1=1"
selend

こんなのでも0=1って表示されちゃう。エラーも出ん。

952 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 14:44:41.61 ID:zE0f+pvP0.net]
空は無理だけど
Select trueとかにしておけばいける

953 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 14:51:16.05 ID:215if6Wy0.net]
Selectの式の結果 と Caseの式の結果が
最初に一致するCase文が実行される感じなんかな

954 名前:名無しさん@お腹いっぱい。 mailto:select [2016/03/15(火) 15:13:32.26 ID:H7Ch8AYF0.net]
すまんね空は無理だった
ご指摘の通りtrueにすれば、式がtrueとなる最初のcaseが実行され、
空欄もしくはfalseだと、式がfalseとなるcaseが実行されるね。

955 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 23:51:21.72 ID:PCeK8oit0.net]
CHKIMGで画像判別 一致したら then で
SOUNDでmp3を再生にしたんですが
音が出たり出なかったり
SLEEPでウエイトを入れたり 構文に trueにして同期させたりしても変わらない
レジストリ関係なのかな?
どこを弄れば直るんでしょうか?

956 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 07:35:12.72 ID:LJ+euZnJ0.net]
画像判別ができてないのか、音が出てないだけなのか切り分けできてんの?

957 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 08:34:48.88 ID:nAh2yAGb0.net]


958 名前:PにChkimg()で一致してないだけじゃないのか []
[ここ壊れてます]

959 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 08:56:46.03 ID:yzWTIl7F0.net]
あるある



960 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 10:52:10.44 ID:8JIJQW6i0.net]
Windows7では問題なく動いていたのですが
仮想環境のWindows Vistaでは一部画像認識が上手くいきません
同じく仮想環境下のWindows7では問題ありませんでした
認識しない画像をVista内で切り取るとうまくいくのですが
それでは膨大な作業量になります
ご助言をお願い致します

961 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 11:09:21.22 ID:/XbN41Fg0.net]
chkimgの色幅を試す
ChkImgXを試す
照合画像を造り直す

基本的にグラフィックドライバでイメージは変わる可能性があるという事を覚えておこう
だから使用する環境でキャプチャするのが鉄板

962 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 11:16:46.80 ID:8JIJQW6i0.net]
ありがとうございます
ちょっと量が量なのでWindows7のライセンスもう一つを購入したいと思います

963 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 18:04:20.19 ID:2Mv7Yb1h0.net]
>>907
グラフィックドライバで変わるのか
キャプチャのやり直しは正直疲れる

964 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 19:52:25.50 ID:0mxs1TOv0.net]
変わるんだよな〜 アンチエイリアスなんだろうな。
あとOSやブラウザの変更でフォントも変わることがあり、
文字列取得できなくて画像判定で代用してるとハマるね〜
環境で変わるのに対抗するのにも、一番有効なのは仮想化。

965 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 14:40:05.44 ID:fdkkgXvY0.net]
dim array[] = 0,1,2,3,4,5,6,7,8,9

for i=0 to 100
 j = i mod 10
 t=G_TIME_SS mod 10
 print array[j]+" "+t
 gettime()
 if array[j]=t then i=i+t
 sleep(0.1)
next

というように特定条件下でループを任意の回数飛ばしたいんですが
forの変数は内部から参照することは出来ても値を変更して
ループに反映することは出来ないみたいで思うようには動きません。

forではなくwhileを使えば解決する話ですが、forでこういう事は絶対出来ないんでしょうか?

966 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 15:05:30.02 ID:Y8LfVAQe0.net]
for は 初期値 終了値 加算値 をシンプルに表現してループさせる構文なので無理

967 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 17:26:15.26 ID:Dic6Ty9l0.net]
if i<k then continue
...
if array[j]=t then k=i+t
とかじゃだめ?

968 名前:名無しさん@お腹いっぱい。 [2016/03/18(金) 18:48:34.55 ID:37KGhb4W0.net]
申し訳ない・・・知恵を貸して下さい・・・。

やりたい流れのイメージ
@一致画像をクリック

画像判断。画像によって条件分かれ
(ここの作り方が不明・・・)

B一致画像をクリック

C一致画像をクリック

969 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 18:50:26.76 ID:37KGhb4W0.net]
画像判断の部分はこんな内容です。分かりますか?
@ifb CHKIMG(“xxx.bmp”)
  x=G_IMG_X
  y=G_IMG_Y
  BTN(LEFT, CLICK, x , y , 100)
endif
――――――――――――――――――
1、画像Aがあるか判定
2、画像Aがある場合は「B」へ
3、画像Aが無く画像Bがあった場合は↓
(Cの画像をクリック)
(Dの画像をクリック)
4、順番にC.Dの画像をクリックし終わったら
「@」最初の動作にへ戻る、
又は「B」へ通常移行。
又は「B」をスキップし「C」へ移行
――――――――――――――――――



970 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 18:51:32.08 ID:37KGhb4W0.net]
素人すぎて正しく伝わっているか心配ですが、
アドバイスを貰えると有り難いです・・・。

971 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 18:56:09.29 ID:37KGhb4W0.net]
尚、
「@」最初の動作にへ戻る、
又は「B」へ通常移行。
又は「B」をスキップし「C」へ移行

この3パターンは「3個同時で判定」ではなく、
全て「単体」で動作させる事を前提とした場合のスプリクトです。

972 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 19:01:31.23 ID:JI+YMOVs0.net]
そうだね!がんばれ!

973 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 19:13:18.26 ID:cs2HMD100.net]
フローチャート作って

974 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 19:14:32.75 ID:37KGhb4W0.net]
>>919
了解致しました。
少々お待ち下さいませ。

975 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 19:44:54.92 ID:37KGhb4W0.net]
>>919
お待たせしました。2パターン作りました。
画像Cからのジャンプ先は@にしてますが、場合によってBやCにも変えたいです。
www.dotup.org/uploda/www.dotup.org783399.jpg
www.dotup.org/uploda/www.dotup.org783402.jpg
シンプルに作ってみたのですが、どうでしょうか。

976 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 20:28:40.25 ID:3mTNmK/i0.net]
そこまで出来てるならそのままコーディングすればいいだけじゃ?

977 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 20:41:45.76 ID:XTMTGWl20.net]
>>922
元々スプリクトを使わない自動化ソフトを使っており、頭の中で流れの構築は出来ているのですが、
スプリクト上に起こすのがどうしても難しく、、。
頭でイメージ出来ているのに、絵に描けない状態です、、、。

978 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 20:49:53.51 ID:wiffpfVZ0.net]
@, B, C をそれぞれ関数化するといいような気がするよ

979 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 21:06:54.37 ID:a/2iCbr10.net]
>>921です。
正直センスが無さ過ぎて、見せるのも恥ずかしいのですが・・・。
一応途中まで作ったスプリクトです。
www.dotup.org/uploda/www.dotup.org783529.jpg



980 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 21:43:41.41 ID:p+rJK2780.net]
>>925
画像1と画像2の関係性は?
画像1をクリックしたら画像1が消えて画像2がでてくる?
画像1をクリックしたら画像1も画像2も表示されてる?

981 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 22:12:44.85 ID:a/2iCbr10.net]
>>926
画像はクリック毎に、前の画像は消えて、
次は必ず決まった画像が一個出ます。

画像判断の所だけ、別の画像が出てくる場合がある為、
この様な条件付き画像判断スプリクトを組み込む必要があります。

982 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 23:36:00.24 ID:lyGpkKZO0.net]
たぶん、"IF"ってのの使い方を勉強するといいと思う

983 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 23:44:46.31 ID:p+rJK2780.net]
>>927
while 1
 if chk 画A
  if chk 画C
  elseif chk 画B
  endif
 elseif chk 画B
  if chk 画D
  elseif chk 画C
  endif
 elseif chk 画A
 elseif chk 画@
 endif
wend
こういう感じ?

984 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 00:04:11.56 ID:SY2bECL70.net]
while true
 画像クリック("画像@")
 画像クリック("画像A")
 if chkimg("画像A") then break
 画像クリック("画像B")
 画像クリック("画像C")
wend

画像クリック("画像B")
画像クリック("画像C")


procedure 画像クリック(画像)
 chkimg(画像)
 btn(left, click, G_img_X, G_img_Y)
fend

985 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 00:08:39.27 ID:BW58rut60.net]
フローチャート作れるならトライアンドエラーで頑張れ

986 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 01:41:22.95 ID:bIkT5e8S0.net]
>>930
素人の私でもめちゃくちゃ分かりやすいです、激しく感謝します!
動作確認してみましたが、全く問題なく希望通りの動きをしてくれました!

最後にもう一つだけ教えてください・・・。画像Cの後に「wend」を持ってきて
一番最初の「while true 」に戻らせてループさせようとしたらエラーが出ました。
これは何が原因になるのでしょうか??

987 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 01:43:58.70 ID:4bvWfFXm0.net]
whileとwendは必ず1個ずつのセットじゃないとだめ
一連の処理を繰り返させたいなら、wendを画像Cの下に置くだけじゃなくて最初のwhileの更に上にwhileを置かないと

988 名前:名無しさん@お腹いっぱい。 [2016/03/19(土) 01:56:50.27 ID:bIkT5e8S0.net]
>>933
私も最初そう思ったんですが、なんかエラーが出たのであれ・・?と思いまして
www.dotup.org/uploda/www.dotup.org784002.jpg
こういう事ですよね?

989 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 02:07:08.90 ID:FgddRy/I0.net]
trueが無いじゃん。



990 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 02:07:45.33 ID:4bvWfFXm0.net]
ワロタ

991 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 02:08:06.81 ID:jrQgNiRM0.net]
最初のwhileの条件が無いとか?
ヘルプで分かる内容は質問しない方がいいよ

992 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 02:35:41.05 ID:bIkT5e8S0.net]
while true
初歩的なミスでした、、、申し訳ないです。
皆様のアドバイスのお陰で

993 名前:本当に捗りました。
繰り返しになりますが、有り難うございます!
wend
[]
[ここ壊れてます]

994 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 02:56:04.14 ID:tZvnxb2Q0.net]
インデント入れろよ。

995 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 03:59:10.94 ID:aYU7I2EX0.net]
みんな優し過ぎてww

996 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 08:12:31.88 ID:BINz+wH10.net]
優しいな
俺がこんな質問した時は完全スルーされたぞ

997 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 08:20:59.56 ID:fFrQFvev0.net]
自分でコードを書く努力している人だからでしょ

998 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 11:07:56.96 ID:YmXGVn/20.net]
フロチャート作ってちょっとづつスクリプトを書いてまめにテストする
オイラの経験上ifb while たまにbreakでたいがいのゲームは動く
コツは最初はsleepに余裕をもって書く

パートを分けるんだな 戦闘、補給、修理 これらをcallで呼び出す
そうするとイベントやりながら通常戦闘もできるぞ
ゲームの完全自動化までがんばれ
(´・ω・`)

999 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 11:21:09.91 ID:YmXGVn/20.net]
あとゲームにありがちな点滅、明滅するボタン
ボタンの上に光がもやもやしてたり炎がメラメラしてるときは
他の安定してる画像をchkimgしてそこからx+A y+Bするときっちりボタン押せるぞ
(´・ω・`)



1000 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 14:27:55.04 ID:7vlPDXm10.net]
>>944
そういうのは短い時間でchkimgを繰り返せば認識できるぞ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<303KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef