HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2011
0506
Whosbutton12解決


Whos

リンク

2011/5/6(Fri) 20:05:13|NO.39005

またまた質問して申し訳ありません
HSPが詳しいらしい友人に聞いても俺にも無理と言われて困っています・・・


buffer 2 font "メイリオ",50 print "ON" print "OFF" x = ginfo_mesx y = ginfo_mesy gsel 0 MesNo = 0 pos 0,0 :button"BUTTON",*label1 pos 100,100 :button"BUTTON",*label12 *label1 pos 30,30 gcopy 2,0,MesNo * y,x,y MesNo = ( 1 + MesNo ) \ 2 *label12 pos 300,300 gcopy 2,0,MesNo * y,x,y MesNo = ( 1 + MesNo ) \ 2
何回か、両方のボタンをクリックして頂けると分かると思いますが、1回目にボタンを押しても反応しない時があります
そもそもHSPじゃ無理なのでしょうか?ヒントなどを頂けると光栄です><



この記事に返信する


たんす

リンク

2011/5/6(Fri) 20:35:16|NO.39006

各ラベルの前にstopが無いので一気に処理しています。
また、オン・オフの状態を保持している変数を共用してしまっているので別に用意します。
	buffer 2
font "メイリオ",50 print "ON" print "OFF" x = ginfo_mesx y = ginfo_mesy gsel 0 MesNo = 0 MesNo2 = 0 //2つ目のON/OFF状態を保管する変数を追加 pos 0,0 :button"BUTTON1",*label1 pos 100,100 :button"BUTTON2",*label12 stop //stopを追加。ボタンを押さないときは文字を表示させない。 *label1 pos 30,30 gcopy 2,0,MesNo * y,x,y MesNo = ( 1 + MesNo ) \ 2 stop //stopを追加。ボタン1を押したときに*label12まで処理しないようにする。 *label12 pos 300,300 gcopy 2,0,MesNo2 * y,x,y //MesNo2を使ってON/OFF切り替え。 MesNo2 = ( 1 + MesNo2 ) \ 2 //MesNo2を使ってON/OFF切り替え。 stop //stopを追加。将来追加されたスクリプトまで実行しないように。



Cookies

リンク

2011/5/6(Fri) 20:42:22|NO.39007

ラベルの前では止まる、という機能はHSPにはございません。
止まるべきラベルの最後ではstopを入れましょう。
それにより初めは、初期化→ボタン1処理→ボタン2処理となります。
ボタン1を押したときは、ボタン1処理→ボタン2処理となります。
ボタン2を押したときは正常ですけども。

また、それぞれのボタンのメッセージ変数が同じため、
ボタン2のメッセージがボタン1に影響されたり、逆だったりが起きてしまいます。
別の変数を使うようにしてください。



sue

リンク

2011/5/6(Fri) 20:43:55|NO.39008

どうなるのが正解なのか詳しく書いてないので想像だが、これでいいのかな。
returnで戻れるようにしておけば、それぞれの動作を独立させることができます。
あと、管理用の変数MesNoも2つ作らないと。

buffer 2 font "メイリオ",50 print "ON" print "OFF" x = ginfo_mesx y = ginfo_mesy gsel 0 MesNo = 0 MesNo2 = 0 pos 0,0 :button gosub "BUTTON",*label1 pos 100,100 :button gosub "BUTTON",*label12 gosub *label1 gosub *label12 stop *label1 pos 30,30 gcopy 2,0,MesNo * y,x,y MesNo = ( 1 + MesNo ) \ 2 return *label12 pos 300,300 gcopy 2,0,MesNo2 * y,x,y MesNo2 = ( 1 + MesNo2 ) \ 2 return



sue

リンク

2011/5/6(Fri) 20:46:06|NO.39009

書いてる間にかぶってしまった。orz



Whos

リンク

2011/5/7(Sat) 14:26:21|NO.39025

皆様回答スクリプトまで提供して頂きありがとうございます!!
管理用の変数があったとは・・・ふむふむ・・・とても参考になります!!

ボタンとは別にhotkey操作で文字列を操作する場合は、
(スクリプトが少々長いためアップローダーにアップロードします)

http://www1.axfc.net/uploader/Sc/so/231656

それぞれに管理用の変数を変えて指定すると正しく文字が表示されなくなったり
ボタンの場合は、ラベルを自由に指定出来る為いいのですが
このスクリプトですとラベルの指定の仕方が今一分かりません
前と同じように同じ座標に文字の置き換えをしたいと思っております
どのように改善すればいいのでしょうか?
回答よろしくお願いします



たんす

リンク

2011/5/7(Sat) 16:29:27|NO.39031

>それぞれに管理用の変数を変えて指定すると正しく文字が表示されなくなったり
*hotkey2で使う変数をMesNo2にするだけで個別に動作すると思いますが・・・



Whos

リンク

2011/5/7(Sat) 16:35:26|NO.39032


if wParam = EVENT2{ buffer 2 font "MEIRYO" color 255,0,0:print "オンです":color 0,0,0:print "オフです" x = ginfo_mesx:y = ginfo_mesy gsel 0 MesNo2 = 0 *hotkey2 pos 230,35 gcopy 2,0,MesNo * y,x,y MesNo2 = ( 1 + MesNo2 ) \ 2 }

にするとなぜか文字が停止?します



Cookies

リンク

2011/5/7(Sat) 16:41:58|NO.39033

それはgcopyの行がMesNo2でなく、MesNoだからでは?

ちゃんとうpされたのを見てないので、見当違いだったらすいません。



Whos

リンク

2011/5/7(Sat) 17:10:27|NO.39034

>>Cookiesさん
それはgcopyの行がMesNo2でなく、MesNoだからでは?

二つのhotkey表示のため管理用の変数を二つ作る必要があるようでして
一応二つの変数を管理するスクリプトを書いてみます

if wParam = EVENT1{ buffer 2 font "MEIRYO" print "オンです":print "オフです" x = ginfo_mesx:y = ginfo_mesy gsel 0 MesNo = 0 *hotkey1 pos 230,15 gcopy 2,0,MesNo * y,x,y MesNo = ( 1 + MesNo1 ) \ 2 } if wParam = EVENT2{ buffer 2 font "MEIRYO" print "オンです":print "オフです" x = ginfo_mesx:y = ginfo_mesy gsel 0 MesNo2 = 0 *hotkey2 pos 230,35 gcopy 2,0,MesNo * y,x,y MesNo2 = ( 1 + MesNo2 ) \ 2 } return

管理用の変数を二つ作ってみたサンプルソースですがやはり文字が停止?するようです
管理用の変数を二つ作っても中々上手くいかないです;;
どのように改善すればよいのでしょうか? 回答よろしくお願いします




Cookies

リンク

2011/5/7(Sat) 17:17:06|NO.39035

>>Whosさん
>>>Cookiesさん
>それはgcopyの行がMesNo2でなく、MesNoだからでは?
変数を作ったからってよいものじゃないでしょう?利用しなくっちゃ。
書きこまれたスクリプトを見る限り、
代入ばっかりして「MesNo2」は使われていないようなのですが?

あと、*hotkey1ラベルの三行目。
>MesNo = ( 1 + MesNo1 ) \ 2
唐突に「MesNo1」という名前の変数が出てきてますが、ミスとかじゃないでしょうか?



Whos

リンク

2011/5/7(Sat) 17:35:57|NO.39036

>>Cookiesさん
少々自分が勘違いしていたようで、申し訳ありません

gcopy 2,0,MesNo2 * y,x,y
MesNo2 = ( 1 + MesNo2 ) \ 2

の感じの違う変数を指定することで解決しました
皆様回答ありがとうございました!! 解決ポチッ



通りすがり・・・

リンク

2011/5/7(Sat) 20:06:05|NO.39038

<h1>がんばれ</h1>



ONION software Copyright 1997-2021(c) All rights reserved.