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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0416
名前はもうないラベル名をcntで指定するには?4解決


名前はもうない

リンク

2012/4/16(Mon) 21:19:56|NO.46111


repeat 10 pos 60+cnt*100,552:objsize 80,46:button "計算開始",*計算開始 loop
ボタンを10個設置したいのですが、ラベルはどうすればいいのでしょうか?
すべて計算開始ってラベルでは、同じ所に行ってしまいます。どうすれば計算開始1、計算開始2、計算開始3という風にできますか?



この記事に返信する


cats

リンク

2012/4/16(Mon) 21:48:30|NO.46112

ラベル名を変えるのは多分無理なので
飛ばされたラベルでどのボタンが押されたか
調べるようにしました。

repeat 10 pos cnt*64,0 objsize 64,46 button gosub"計算"+(1+cnt),*計算開始 loop stop *計算開始 color 255,255,255 :boxf :color if stat=0 :pos 0,50 :mes "計算1です。" if stat=1 :pos 0,50 :mes "計算2です。" if stat=2 :pos 0,50 :mes "計算3です。" if stat=3 :pos 0,50 :mes "計算4です。" if stat=4 :pos 0,50 :mes "計算5です。" if stat=5 :pos 0,50 :mes "計算6です。" if stat=6 :pos 0,50 :mes "計算7です。" if stat=7 :pos 0,50 :mes "計算8です。" if stat=8 :pos 0,50 :mes "計算9です。" if stat=9 :pos 0,50 :mes "計算10です。" return
ただしこの書き方の場合は stat を使うので
ボタンIDと合っているかを確認しながらプログラムしてください。



とりちゃそ

リンク

2012/4/16(Mon) 21:52:47|NO.46114

あ…、こういうやり方があったんですね…!

自分も以前これで悩んだので^^;;
結局諦めましたけどw



暇人

リンク

2012/4/16(Mon) 22:03:20|NO.46115

button配置時とボタン押しジャンプ時にはシステム変数statにオブジェクトIDが入ってる

screen 0,1100,660 repeat 10 pos 60+cnt*100,552:objsize 80,46 button "計算開始"+str(cnt+1),*計算開始 mes stat loop pos 0,0 stop *計算開始 mes stat stop
ジャンプ先が一箇所でもオブジェクトIDを利用すれば分岐できる


ラベル型配列変数を利用すれば複数のジャンプ先を用意して使うことも出来る

ldim butlab,2 butlab=*計算開始1,*計算開始2 repeat 2 button "計算開始"+str(cnt+1),butlab(cnt) loop stop *計算開始1 mes "計算開始1" stop *計算開始2 mes "計算開始2" stop



名前はもうない

リンク

2012/4/17(Tue) 08:24:12|NO.46118

色々なやり方があるんですね。参考にさせてもらいますm(__)m



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