重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

UWSC を使ったプログラムを作成しています。

黄色い部分の push ボタンを左クリックすると
赤いラインが上昇します。

それを決められた色のところまで自動で動くようにしたいのです。
今ある赤色ラインで止めたいのです。

黄色いpushは 10種類ほどあり 色が多数あります。
画像を習得してどの画像にも対応できるようにしたい。

赤いラインを止める場所を 色を指定して止める
RGB値を設定して 毎回ここでクリックが外れるような設定



現在設定している状況は 1組のみの設定なのでこれを多数に対応できるように組み替えたいのです。


************************************************

RGBcolor(x2+17,y4+40)
ifb R >255 and G < 255 and B < 51 then
u = true
elseif R > 100 and G < 100 and B > 177 then
u = true
endif
RGBcolor(x2-17,y4+40)
ifb R >255 and G < 255 and B < 51 then
u = true
elseif R > 100 and G < 100 and B > 177 then
u = true
endif

ifb peekcolor(x2,y4-100) = 0 then
ifb chkimg("push1.bmp",-1,0,0,yoko-10,tate-10,1) then
elseif chkimg("push01",1,0,0,yoko-10,tate-10,1,IMG_MSK_BGR2) then
elseif chkimg("push02.bmp",1,0,0,yoko-10,tate-10,1,IMG_MSK_BGR2) then
endif
x4 = G_IMG_X + 6//押すの上端
y4 = G_IMG_Y - 1//押すの上端
RGBcolor(x4,y4)
ifb R>255 and G>200 and G<255 and B>30 and B<70 then
turiage()
endif
endif



***************************************************



この部分を変更したいのですが よくわからなくて。

どうかお力をお貸しください。

※添付画像が削除されました。

A 回答 (1件)

ここまで作ってあるのに、どうして解らないかの方が謎に思えますが、要するにこの処理全体をFunctionかProcedureに入れてしまって、10個分のボタンの画像とクリックしたい座標、止めたい色のRGB値を変数にして渡せばできるでしょう。

見たところ、座標はすでにx2,y4みたいな変数で受けているので、この値を変えていくだけです。

ところでこのスクリプト、関数RGBcolorやturiageの定義内容が消されていたり、変数の説明が書かれていないなど、非常に読みづらいです。これで全てではなくて、抜粋したものですね。elseifの後の処理も消されているっぽいですし。長すぎるので編集した場合は、ある程度コメントを書き足しておかないと、意味不明になりますよ。

あと、一つ疑問があります。PeekColorの戻り値をR,G,Bに分解すると、それぞれの値は最大で255にしかならないので、ところどころにあるIf文で「R>255」みたいな判定をしている部分は全て偽になり、意味がない気がします。(これも関数RGBcolorの定義内容がわからないため、正否が判断できない)
    • good
    • 0
この回答へのお礼

抜粋したものです。すいません。あまりに長かったので。
Functionで処理してみました。

ありがとうございました。

お礼日時:2011/06/30 17:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!