
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で質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) uwscとWinShotを使いスクリーンショットを撮る 1 2022/06/30 21:15
- その他(プログラミング・Web制作) uwscのCHKING関数の画像の認識がうまくいかない。 1 2022/06/18 20:55
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- HTML・CSS CSSのホバーエフェクト 1 2023/06/19 06:53
- HTML・CSS ブロックエディターで作りつつ、画像を挿入しつつ、画像にスタイルシートのコードを付ける方法はありますか 1 2022/08/23 18:46
- PHP 記述のおかしいところを教えて下さい。 1 2023/02/03 11:25
- PHP PHP echo バックスラッシュの使い方 img要素 2 2023/01/08 22:46
- HTML・CSS サルワカさんの吹き出しのスタイルシートについて。 https://saruwakakun.com/h 2 2022/10/28 22:55
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Perl 画像が表示でnull; this.src 1 2022/04/19 11:31
このQ&Aを見た人はこんなQ&Aも見ています
-
UWSCに制限時間を付けたいです
その他(プログラミング・Web制作)
-
UWSCの終了の仕方
その他(プログラミング・Web制作)
-
UWSCで、スクリプトの実行時間を一定にするには
その他(プログラミング・Web制作)
-
-
4
UWSCで値のみコピーするには?
Visual Basic(VBA)
-
5
決まった時刻(秒単位)にボタンを自動でクリックしたい
その他(ソフトウェア)
-
6
UWSC「画像が無い場合」
その他(プログラミング・Web制作)
-
7
UWSC画像認識で座標の位置がずれてしまいます。
その他(プログラミング・Web制作)
-
8
uwcs のマクロで画像認識をしてその画像があればクリックというマクロを作成したのですが、クリック後
その他(開発・運用・管理)
-
9
UWSCにてある一定の動作を無限ループさせる方法の記述がわかりません。
Visual Basic(VBA)
-
10
(UWSC)エクセルのセルの値を読み込むには?
その他(プログラミング・Web制作)
-
11
UWSCの簡単なキーマクロなのですが・・・
フリーソフト
-
12
UWSC 画像認識で条件分岐
その他(プログラミング・Web制作)
-
13
UWSC 画像判定と条件分岐について
その他(プログラミング・Web制作)
-
14
UWSCで指定箇所のみループ
その他(プログラミング・Web制作)
-
15
UWSCのBTN関数について。
C言語・C++・C#
-
16
uwscの使い方について。ifの前提条件
その他(プログラミング・Web制作)
-
17
UWSCでループ処理がうまくいきません
その他(プログラミング・Web制作)
-
18
uwscについて、同一の画像(仮にA)が画面に3~複数枚出現するので、初めにクリックした1枚から距離
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語でグラフ作成??
-
高さのあるクォータービューの...
-
UWSC画像認識で座標の位置がず...
-
VBでデスクトップ上のアイコン...
-
NoxPlayerとUWSCのadbの座標に...
-
UWSC 用のマクロコードを教え...
-
画像の座標取得
-
VBでクリックイベントを発生さ...
-
「ご処理進めて頂きますようお...
-
VBAでループ内で使う変数名を可...
-
エクセルで、日付を入力すると...
-
エクセルVBAで、MsgBox やInput...
-
Excelシート上のマクロを登録し...
-
男性に対して、『女性への気遣...
-
UPS警告音を止めたい
-
【Excel】特定の文字を含むセル...
-
Googleフォーム・複数人の申し...
-
IDEのHDDをつけるとWindowsが起...
-
switch の範囲指定
-
EXCEL VBA 複数のImageコントロ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAで他アプリケーション...
-
エクセルVBAで画像を貼り付ける...
-
VBでクリックイベントを発生さ...
-
C#で、画像の、指定した座標の...
-
外付ディスプレイで AutoHotkey...
-
UWSCのプログラミングついて教...
-
VBA HTML要素または文字の座標...
-
UWSC画像認識で座標の位置がず...
-
C言語でグラフ作成??
-
コントロール名とそのプロパテ...
-
マウスイベントが動かない
-
UWSCで特定の文字をクリックす...
-
uwscについて、同一の画像(仮...
-
NoxPlayerとUWSCのadbの座標に...
-
VBでプリンター制御コードを記...
-
BASICで3Dポリゴンの描画
-
UWSCでPEEKCOLORを使い指定ウィ...
-
VBでデスクトップ上のアイコン...
-
エクセル マクロ オブジェク...
-
UWSファイルの編集?
おすすめ情報