
UWSCについてです。
私は、UWSCをまだ1週間ほどしか触っていない超初心者です。
下記のようなプログラミングを組みたいと思っているので、プログラミング初挑戦なので右も左も良く分かっていません。
UWSCのプログラミングに詳しい方助けてください。
私の組みたいプログラミングは
("A.BMP",0)を無制限ループしつつ、("B.BMP",0)は2時間おきにループしつつ、("C.BMP",0)を30分間に30回実行する
場合のプログラミングです。【3つ同時進行です。】
宜しくお願いします。
while True
ifb CHKIMG("A.BMP",0)
x=G_IMG_X // 画像の座標をxへ代入
y=G_IMG_Y // 画像の座標をyへ代入
BTN(LEFT, CLICK, x, y, 80)
endif
ifb CHKIMG("B.BMP",0)
x=G_IMG_X // 画像の座標をxへ代入
y=G_IMG_Y // 画像の座標をyへ代入
BTN(LEFT, CLICK, x, y, 80)
endif
ifb CHKIMG("C.BMP",0)
x=G_IMG_X // 画像の座標をxへ代入
y=G_IMG_Y // 画像の座標をyへ代入
BTN(LEFT, CLICK, x, y, 80)
endif
wend
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
Aの処理回数が非常に多く、取りこぼしを防ぐ(BやCを処理中にAを見逃すようなケース)
タイマーやらを使うのも別にいいんですが、ループ中に無駄にIf文を通過します。
無駄に通過する=重い で余計に判定や処理しそこなう可能性が高いです。
なのでthreadを使う。
Aのチェックが0.1秒毎でもこれならそんな重くは無いです。
さらに
「CHKIMGで画面全体から画像を探す」という状態を
「指定した範囲内で画像を探す」ように変更すればもっと軽くなります。
また、下記サンプルではBTN関数でCLICKからDOWN、UPに変更しています。
おそらくブラウザゲーのマクロなんでしょう、Clickだとミスする確率が非常に高いです
Thread スレッド用処理("A.BMP",5)
Thread スレッド用処理("B.BMP",7200)
Thread スレッド用処理("C.BMP",1800)
WHILE 1
SLEEP (1)
WEND
// 引数:画像ファイル,処理タイミング(秒)
procedure スレッド用処理(画像,rest)
// 無限ループ
while 1
ifb CHKIMG(画像,0) then
//x=G_IMG_X // 画像の座標をxへ代入
//y=G_IMG_Y // 画像の座標をyへ代入
//BTN(LEFT, CLICK, x, y, 80)
// スマートにしておく
BTN(LEFT, DOWN, G_IMG_X, G_IMG_Y, 10)
BTN(LEFT, UP, G_IMG_X, G_IMG_Y, 10)
// 動作確認
print 画像+"が見つかりました"
endif
// 次のインターバルまで放置
Sleep(rest)
wend
fend
No.2
- 回答日時:
> ("A.BMP",0)を無制限ループしつつ、
無制限として、どれくらいの間隔ででしょう?
1分に1回程度でよいのか?1秒間に100回も1000回も処理する必要があるのか?
> 【3つ同時進行です。】
UWSCを実行開始した際に、ABCの処理を行なうのか?BやCは処理開始から30分後、2時間後とかでよいのか?
--
現在時刻を取得するGetTime()関数使ってタイマー作るのが良いと思います。
上の条件で、Aは10秒おき、BCはすぐに実行しないって事なら、
// 実行予定時刻
timerA = GetTime() // 今でしょ!
timerB = GetTime() + 30*60 // 今から30分後
timerC = GetTime() + 2*60*60 // 今から2時間後
While True // 無限ループ
if timerA <= GetTime() then // タイマーAの時刻になってる?
// Aの処理
ifb CHKIMG("A.BMP",0)
x=G_IMG_X // 画像の座標をxへ代入
y=G_IMG_Y // 画像の座標をyへ代入
BTN(LEFT, CLICK, x, y, 80)
endif
timerA = GetTime() + 10 // 次回実行は10秒後
endif
if timerB <= GetTime() then // タイマーBの時刻になってる?
// Bの処理
~
timerB = GetTime() + 30*60 // 次回実行は30分後
endif
if timerC <= GetTime() then // タイマーCの時刻になってる?
// Cの処理
~
timerC = GetTime() + 2*60*60 // 次回実行は2時間後
endif
Sleep(1) // 1秒休憩
Wend
とか。
No.1
- 回答日時:
私もそれほど詳しくはありませんが
GETTIME()関数で時間判定できるのでそれを使って実装可能です
雑に書けば
I = GETTIME()
WHILE TRUE
A.BMP処理
IF (((GETTIME()ーI) MOD (2×60×60))= 0)
B.BMP処理
ENDIF
IF (((GETTIME()ーI) MOD 60)= 0)
C.BMP処理
ENDIF
WEND
みたいな感じ
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
UWSCに制限時間を付けたいです
その他(プログラミング・Web制作)
-
UWSCで、スクリプトの実行時間を一定にするには
その他(プログラミング・Web制作)
-
決まった時刻(秒単位)にボタンを自動でクリックしたい
その他(ソフトウェア)
-
-
4
UWSCの終了の仕方
その他(プログラミング・Web制作)
-
5
UWSC「画像が無い場合」
その他(プログラミング・Web制作)
-
6
UWSC画像認識で座標の位置がずれてしまいます。
その他(プログラミング・Web制作)
-
7
UWSC 画像認識で条件分岐
その他(プログラミング・Web制作)
-
8
uwcs のマクロで画像認識をしてその画像があればクリックというマクロを作成したのですが、クリック後
その他(開発・運用・管理)
-
9
UWSC 画像判定と条件分岐について
その他(プログラミング・Web制作)
-
10
UWSCの簡単なキーマクロなのですが・・・
フリーソフト
-
11
UWSCのスクリプトで行き詰っています。。
その他(プログラミング・Web制作)
-
12
UWSCで指定箇所のみループ
その他(プログラミング・Web制作)
-
13
uwscの使い方について。ifの前提条件
その他(プログラミング・Web制作)
-
14
UWSCのBTN関数について。
C言語・C++・C#
-
15
UWSCでループ処理がうまくいきません
その他(プログラミング・Web制作)
-
16
UWSCにてある一定の動作を無限ループさせる方法の記述がわかりません。
Visual Basic(VBA)
-
17
uwscについて、同一の画像(仮にA)が画面に3~複数枚出現するので、初めにクリックした1枚から距離
C言語・C++・C#
-
18
【UWSC】WEBページ中の特定文字リンクをクリックする動作を自動化したい
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UWSCで特定の文字をクリックす...
-
ペイント機能
-
C#で、画像の、指定した座標の...
-
UWSC画像認識で座標の位置がず...
-
エクセルVBAで画像を貼り付ける...
-
NoxPlayerとUWSCのadbの座標に...
-
C言語でグラフ作成??
-
マウスイベントが動かない
-
「ご処理進めて頂きますようお...
-
CloseとDisposeの違い
-
VBAでCOPYを繰り返すと、処理が...
-
エクセルで、日付を入力すると...
-
VBA エンターキーでイベントに...
-
メルカリのメルカードで買い物...
-
エクセルVBAで、MsgBox やInput...
-
UMLでの例外処理
-
VBA リストボックスをダブルク...
-
アクセスVBAのMe!と[ ]
-
Excelシート上のマクロを登録し...
-
EXCEL VBA マクロ 実行する度に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAで他アプリケーション...
-
UWSC画像認識で座標の位置がず...
-
マウスカーソルの移動
-
外付ディスプレイで AutoHotkey...
-
エクセルVBAで画像を貼り付ける...
-
C#で、画像の、指定した座標の...
-
uwscについて、同一の画像(仮...
-
マウスイベントが動かない
-
エディットボックスの色変更に...
-
UWSCのCHKIMG関数について
-
ピクチャーボックスのスケール...
-
FORTRANのプログラミングについて
-
C言語でグラフ作成??
-
UWSCのプログラミングついて教...
-
VBでクリックイベントを発生さ...
-
VBでデスクトップ上のアイコン...
-
Visual Studio .NET 2003:右揃...
-
UWSCのPEEKCOLORについての質問
-
コントロール名とそのプロパテ...
-
LineTo,MoveToについて
おすすめ情報