UWSCでの関数定義方法と呼び出し方について

このQ&Aのポイント
  • UWSCで画像クリックを自動化する際、関数を定義して呼び出す方法について説明します。
  • 関数の定義方法は、PROCEDUREキーワードを使い、引数や処理内容を記述します。
  • しかし、関数を作成するとメインの動作が停止してしまう場合がありますので注意が必要です。
回答を見る
  • ベストアンサー

UWSCでの関数定義は?

只今UWSCにて画像クリックを自動化しようとしているのですが、CHKIMGとBTNを多用するため、関数にて引数に 画像のディレクトリ・検索範囲のx座標1・y座標1・x座標2・y座標2 を入れて呼び出したいと思っています。 説明には  PROCEDURE 関数名( 引数, Var 引数, 引数[], Var 引数[][], 引数=定数, .... )      処理 FEND と載っていたのですが、関数を作成するとメインの動作をしなくなってしまいました。 UWSCではどのように関数の定義と呼び出しをすればいいのでしょうか。 初歩的な質問で申し訳ないのですが、分かる方がいらっしゃったらお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

// ↓test1.uws abc() procedure abc()   msgbox("関数の使い方") fend // ↑test1.uws

その他の回答 (1)

  • mindatg
  • ベストアンサー率48% (110/227)
回答No.1

アテになるかどうかは分かりません。 http://www.geocities.jp/dragonraja2005jp/index.html とあるネットゲーム用のマクロですが、処理内容は簡単なものなので ざっくりと見れば大体分かるかと思います。

関連するQ&A

  • UWSCのプログラミングついて教えてください。

    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

  • UWSCの画像認識について

    プログラム初心者ですがUWSCでプログラムを作っています 画像認識において認識するべき画像が複数種類あるときのパターンができなくて困っています ifb CHKIMG("青空") x=G_IMG_X // 画像の座標をxへ代入 y=G_IMG_Y // 画像の座標をyへ代入 BTN(LEFT,CLICK,x,y,100) SLEEP(0.5) else Endif のように、単独の画像を認識し、その画像をクリックさせることはできるのですが 「青空」もしくは「夕空」もしくは「夜空」が出た時にその画像をクリックする のような命令をかくことができません ifb CHKIMG("青空" or "夕空" or"夜空") のような形でかければいいのですが、もちろんこれでは動きませんでした どうすればこれを実行できるようになるのか教えてくださいm(__)m

  • uwscでマクロ作成

    1画像Aが見つかったらそこをクリック×1 2画像Bが出てくるので画像Bをクリック×2 3ある座標をクリック×1 4再度画像Bをクリック×7 まったくの初心者ですが このようなマクロを作りたく思い作ってみたのですがまったくできません。。 if GETKEYSTATE(VK_ESC) then exit ifb CHKIMG("画像A",0) BTN(LEFT, CLICK, x, y, 80) ENDIF ifb CHKIMG("画像B",0) BTN(LEFT, CLICK, x, y, 80) BTN(LEFT, CLICK, x, y, 80) BTN(LEFT,CLICK,176,399,100) BTN(LEFT, CLICK, x, y, 80) BTN(LEFT, CLICK, x, y, 80) BTN(LEFT, CLICK, x, y, 80) BTN(LEFT, CLICK, x, y, 80) BTN(LEFT, CLICK, x, y, 80) BTN(LEFT, CLICK, x, y, 80) BTN(LEFT, CLICK, x, y, 80) ENDIF このような感じです  画像はペイントで切り取ったものを使い、uwsファイルと同じ所に入れていますが違う所で引っかかるようです。

  • UWSCの画像認識について

    質問させていただきます ifb CHKIMG("画像.bmp",) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) endif これを複数の画像でやりたいときは ifb CHKIMG("画像.bmp",) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) endif ifb CHKIMG("画像.bmp",) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) endif のようにしないとだめなのでしょうか? それとも ifb CHKIMG("画像.bmp",) CHKIMG("画像.bmp",) CHKIMG("画像.bmp",) CHKIMG("画像.bmp",) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) endif こんな感じにまとめる事はできるのでしょうか? 例として教えてもらえると助かります。 よろしくお願いします

  • UWSCでPEEKCOLORを使い指定ウィンドウ内に、指定したカラーコ

    UWSCでPEEKCOLORを使い指定ウィンドウ内に、指定したカラーコードがあるかを判別して そこをクリックさせたいのですが、画像認識の場合 ACW(GETID("xxxxx"),880,0,800,600,0) CHKIMG("xxxx.bmp",0) x=G_IMG_X // 画像の座標をxへ代入 y=G_IMG_Y // 画像の座標をyへ代入 BTN(LEFT, CLICK, x+30, y-30, 60) x=G_IMG_X という命令で指定ウィンドウ内の画像を(x,y)座標に自動で代入してもらえるのですが、PEEKCOLORの場合はどういった書き方をすればいいのでしょうか?? 上手く言いたいことが伝わっているか不安ですが、理解できる方宜しくお願いします。

  • UWSCについて

    画像がAになったらその画像をクリックしてBに変わったらまたクリックするというのを作りたいのですがどうにもA画像の時にクリックが連打になってしまします どこが悪いのでしょうか? While True Ifb ChkImg("A.bmp",0) BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5,80) ChkImg("B.bmp",0) BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5,80) ENDIF WEND

  • UWSCで指定箇所のみループ

    UWSCで指定した箇所へ戻ってループさせたいのですが、やり方がわかりません。 上手く説明ができないのですが… 例えば… while True Z地点 //Aの画像があればクリックしてX地点へ ifb CHKIMG("画像A") x=G_IMG_X y=G_IMG_Y BTN(LEFT, CLICK, x, y, 300) endif X地点 //Bの画像があればクリック、無ければZ地点へ戻る ifb CHKIMG("画像B") x=G_IMG_X y=G_IMG_Y BTN(LEFT, CLICK, x, y, 300) endif wend という感じで…、状況によってプログラムの指定した行へ移動させたいのですが どうすれば良いのでしょうか? 上手く説明できなくてすみませんが、教えてください。 よろしくお願いします。

  • UWSCのスクリプトについて

    日々のルーチンワークで退屈な作業をPC様にやっていただこうとUWSCの学習をしています。 以前は記録して使用したのですが不定期にマウス座標が変わるようになったため.UWSを書いてみてます。ど素人ですがやっと画像をファイルに格納して作業ができるまでになりました。 使用環境はwin7です。 質問内容ですが手間が多いのと説明がへたなのでプログラムより質問内容が理解できないほうが心配です。出来るだけ分っていただけるように頑張りますのでご教授お願いします。 画像A 画像B 画像C 以上がWEBブラウザ上に表示されたときに以下の作業をします。 オーダーフォームの利用規約同意[ボタン]、確認画像[ボタン]、購入画像[ボタン]を押下する。 どれが表示されてもオーダーフォームの作業が発生します。 ほかの質問で以下のような回答があったので参考にしたのですが繰り返し探してはくれるのですが オーダーフォームの作業を書くことができません。。 ≪転記≫ WHILE (TRUE) //WENDまで無限ループ IFB (CHKIMG("A.bmp")=TRUE) THEN CHKIMG("1.bmp") //「1」画像の座標を調べる BTN(LEFT, G_IMG_X, G_IMG_Y) ELSE IFB (CHKIMG("B.bmp")=TRUE) THEN CHKIMG("2.bmp") //「2」画像の座標を調べる BTN(LEFT, G_IMG_X, G_IMG_Y) ELSE ・・・以下略・・・ ENDIF WEND 自分でも頑張ってみますがご教授頂けると幸いです。 よろしくおねがいいたします。

  • UWSCのスクリプトについて

    画像Dを認識したら画面上に画像Bがあっても 処理Bを実行しない為にはどうしたら良いでしょうか。 -------- while True BTN(LEFT,click,150,10,110)   //処理A Sleep(2) ifb CHKIMG("A.bmp")    x=G_IMG_X            y=G_IMG_Y BTN(left,click,x,y,110) Sleep(1.5) endif Ifb ChkImg("B.bmp")       //処理B BTN(LEFT,click,1120,90,110) Sleep(1) KBD(VK_return,DOWN,30) endif ifb CHKIMG("C.bmp")      //処理C x=G_IMG_X            y=G_IMG_Y BTN(left,click,x,y,110) Sleep(1.5) wend --------

  • uwscについて

    画像認識で質問があります。 画像Aがあった場合画像Aをクリックするのは出来るのですが 画像Aがあった場合画像Bをクリックする場合どのようにすればいいのでしょうか? IFB (CHKIMG("A.bmp")=TRUE) THEN SLEEP(0.3) //B、C出現までの間を調整 IFB (CHKIMG("B.bmp")=TRUE) THEN BTN(LEFT, CLICK, G_IMG_X, G_IMG_y) ELSEIF (CHKIMG("C.bmp")=TRUE) THEN BTN(LEFT, CLICK, G_IMG_X, G_IMG_y) ENDIF しらべてこのとおりやってみたら 最初のIFBに対してENDIFがないと言われてうまくいきません ちょっと調べたのですが分からなかったので助けてください

専門家に質問してみよう