YU-RIS サポート掲示板

0245 分岐
投稿者:たくみ 2005/06/25(土) 00:30

どもです〜(^^

> 例:
> オプション画面
> IF[@_PAD_BUTTON1==1]
> $PAD_1="@_PAD_BUTTON1"
> ELSE[@_PAD_BUTTON2==1]
> $PAD_1="@_PAD_BUTTON2"
> 上記をsystem.sdに変数保存
> --------------------------------------
> ゲーム本編
> system.sdに保存した変数をロード
> LOOP[]
> @PAD_FLAG(1) = $PAD_1 //これは代入不可能
> @PAD_FLAG(2) = $PAD_2 //同上
> ・・・(以下略
>
> 上記の様な状態で制作が手詰まってしまうんです(−−;

あ、なるほど。
@PAD_FLAG(1) = $PAD_1
確かにこれはちょっとムリですね(^^;ゞ
この場合、あくまで文字列そのものを変数に代入するだけなので…。
で、この場合代入先が数値変数なので、エラーとなってしまう感じですね。

そういうことでしたら、またひとつ変数を作って、
押下状態をフラグとして代入させる箇所も条件分岐させてしまうと良いと思います。

//----------------------------------------

INT[@PAD_FLAG(10)]

CG[NO=10 FILE="cg/back.jpg"]

LOOP[]

//----- 各ボタン押下状況をフラグとして保存
IF[@PAD_SETTEI==1] // コントローラ設定がタイプ1なら
@PAD_FLAG(1) = @_PAD_BUTTON1 // ボタン1がショット
@PAD_FLAG(2) = @_PAD_BUTTON2 // ボタン2がボム
IFEND[]

IF[@PAD_SETTEI==2] // コントローラ設定がタイプ2なら
@PAD_FLAG(1) = @_PAD_BUTTON2 // ボタン1がボム
@PAD_FLAG(2) = @_PAD_BUTTON1 // ボタン2がショット
IFEND[]

//----- ショットボタンが押されていたら
IF[@PAD_FLAG(1)==1]
CG[NO=10 X+=1] //処理
IFEND[]
//----- ボムボタンが押されていたら
IF[@PAD_FLAG(2)==1]
CG[NO=10 X-=1] //処理
IFEND[]

WAIT[FRAME=1]

LOOPEND[]

//----------------------------------------

ひとまずオプション画面では、ユーザーにボタン設定をしてもらい、
その設定を @PAD_SETTEI に格納しておきます。
@PAD_SETTEI の値が1なら、ボタン1がショット、ボタン2がボム、
@PAD_SETTEI の値が2なら、ボタン1がボム、ボタン2がショットとしてみました。

で、今回のサンプルは、前回と比べてもらうと分かりやすいと思いますが、
押下状態をフラグとして保存する際に、@PAD_SETTEI の値によって分岐をおこなってます。
これで問題なく出来ると思います(^^
また、条件分岐のところをいじったり、設定用変数を増やしたりすれば、
もっと複雑な設定でも出来ると思います(^^

> 大変だと思いますが、心の底から応援しています!
> あんまり無理はなさらずに、でも頑張ってください♪

ありがとうございます!(@@ノ
ちょっと今のところ更新が滞っていますけど、早く次の更新目指して頑張ります!


- 関連一覧ツリー (■ をクリックするとツリー全体を一括表示します)