お知らせ掲示板 | 質問掲示板 | 不具合報告掲示板 | 機能要望掲示板 | 雑談掲示板

  新規投稿 ┃全記事一覧 ┃検索 ┃設定 ┃サポートフォーラムトップ  
248 / 387 ツリー ←次へ | 前へ→

テキスト画面中に独立した機能を持つボタンを作成したいのですが… ふなむし 2011/11/5(土) 22:50

Re:新規追加は難しい。 穂乃井 2011/12/10(土) 12:39
Re:新規追加は難しい。 ふなむし 2011/12/10(土) 15:10
Re:新規追加は難しい。 穂乃井 2011/12/10(土) 15:44
ご回答、ありがとうございます! ふなむし 2011/12/10(土) 17:03

Re:新規追加は難しい。
 穂乃井 WEB  - 2011/12/10(土) 12:39 -
  
いろいろ検証してみましたが、ちょっとこちらでは再現できませんでした。
以下のサンプルはそちらで正しく動きますでしょうか?
(ファイル名やラベル名は適当に変えてください)
もし可能であれば、再現する簡単なサンプルを頂けますでしょうか。


#SAMPLE

\BG.CMXYZ(80, -80, 080)
\BG(bg_030, , 0, 0)

あいうえお

\GOSUB(サブルーチン)

さしすせそ

\GO.TITLE


#=サブルーチン

\CM.SXYZ(-80, 80, -080, 5000)
\CM.GO

かきくけこ

\RETURN
引用なし
パスワード

Re:新規追加は難しい。
 ふなむし  - 2011/12/10(土) 15:10 -
  
お忙しい中、お早い返答ありがとうございます!
すみません、とても大事な事が抜けていたみたいです。

\GOSUBについては、正常な挙動を確認しました。
誤報告でお騒がせしてすみません><

私が確認しましたのは
\LET.IFで代入式に\GOSUBを用いた際に発生していました。

最新のダウンロードファイルで下記のコマンドが実行された際、
「あいうえお」「かきくけこ」が繰り返されるので、
\RETURNの際に#SAMPLEに戻っているかと思われます。

//------------------------------------
#SAMPLE

あいうえお

@L(1)=1
\LET.IF(@L(1)==1,\GOSUB(サンプル))

さしすせそ

\GO.TITLE

#サンプル

\CM.SXYZ(-80, 80, -080, 5000)
\CM.GO

かきくけこ

\RETURN
//------------------------------------

たびたびお手数をおかけして恐縮ですが、
確認頂ければと思います。

よろしくお願いいたしますm(。 。)m
引用なし
パスワード

Re:新規追加は難しい。
 穂乃井 WEB  - 2011/12/10(土) 15:44 -
  
//------------------------------------
#SAMPLE

あいうえお

@L(1)=1
\LET.IF(@L(1)==1,\GOSUB(サンプル))

さしすせそ

\GO.TITLE

#サンプル

\CM.SXYZ(-80, 80, -080, 5000)
\CM.GO

かきくけこ

\RETURN
//------------------------------------


なるほどそういう使い方でしたか。
見たところ、\LET.IF の使い方が間違っているようです。
マニュアルにありますが、\LET.IF の記述は

\LET.IF(条件式,代入式1,代入式2)

でして、

代入式:変数へ代入する式を記述します。

という感じなので、@A=1 などの代入式はかけますが、
\GOSUB などの命令を書くことは出来ません。


では条件を満たした場合だけ \GOSUB で飛ぶには
どうしたらいいか、ということになりますが、
まだ正式命令ではないのですがじっくり動作確認してから開放しようと思っていた
\GOSUB.IF という命令が、実は最新版の 0.455/0.06a で利用可能な状態になっていますので、
よければそちらを試してみてください。

記述の仕方は \GO.IF と同じで、

\GOSUB.IF( 条件式, ラベル1, ラベル2 )

となり、
条件式が満たされたときはラベル1へ GOSUB ジャンプし、
満たされなかったらラベル2へ GOSUB ジャンプします。

サンプルを書き直すとしたら、

//------------------------------------
#SAMPLE

あいうえお

@L(1)=1
\GOSUB.IF(@L(1)==1,サンプル)

さしすせそ

\GO.TITLE

#サンプル

\CM.SXYZ(-80, 80, -080, 5000)
\CM.GO

かきくけこ

\RETURN
//------------------------------------

このようになります。
参考になれば幸いです。
引用なし
パスワード

ご回答、ありがとうございます!
 ふなむし  - 2011/12/10(土) 17:03 -
  
なるほど、使い方が間違っているのに頑張って動いていてくれていたんですね!

>\GOSUB.IF という命令が、実は最新版の 0.455/0.06a で利用可能な状態になっていますので、
「さすが!」と口をついて出てしまいました@@
ご教示頂きました通りで正常に稼働することを確認しました。

当初に質問させて頂いた独自のボタンの件ですが、
こちらも\GOSUB.IFを使用することでどうにかなりそうです。

何度もお手間をかけさせてしまって申し訳ないです(・ω・`)
本当にありがとうございます!
引用なし
パスワード

  新規投稿 ┃全記事一覧 ┃検索 ┃設定 ┃サポートフォーラムトップ  
248 / 387 ツリー ←次へ | 前へ→
58,682
(SS)C-BOARD v3.8.1β4 is Free.