フラッシュ初心者です。
練習と勉強の為に、カードゲームを作っています。
プレイヤーがコインを持っていて増やしていくゲームです。

質問したいのは、
プレイヤーの持っているコイン(変数_root.coin)が0枚になった時に
ゲームオーバーの画面を出したいのですが、
アクションスクリプトはどう記述したらいいのでしょうか?

私がやった方法です。
アクションフレームに以下のように記述したのですが上手くいきませんでした。
if(_root.coin <= 0){
_root.gameover.gotoandplay(ゲームオーバー画面へ);
}
変数を条件に動作をさせるという事はできないのでしょうか?
どうしたらうまく
_root.gameover.gotoandplay(ゲームオーバー画面へ);
動作させる事ができるのでしょうか。

ご存知の方いらっしゃいましたら、宜しくお願いします。

このQ&Aに関連する最新のQ&A

SWF とは」に関するQ&A: SWFとは?

A 回答 (1件)

> アクションフレームに以下のように記述したのですが上手くいきませんでした。


> if(_root.coin <= 0){
>   _root.gameover.gotoandplay(ゲームオーバー画面へ);
> }

それだと,
単純に "そのスクリプトを書いたフレームが表示された時" のみに if文が実行されるだけですよ。

いったい "どのタイミング" で ゲームオーバー画面へ へ進ませたいのでしょうか?
つまり,
"どのタイミング" で "(変数_root.coin)が0枚になる可能性がある" のでしょうか?

少なくとも "そのフレームが表示された時" ではありませんよね。

"何かのボタンをクリックした時" に "(変数_root.coin)が0枚になる可能性がある" のでしたら,
その "何かのボタンをクリックした時" に if文 を実行させる必要があります。

自動的に (変数_root.coin)が 減って行くようなルールでしたら,
"(変数_root.coin)が 減って行く時" に if文 を実行させる必要があります。


大まかには以上の部分に問題があると思います。
人間である私であっても "どのタイミング" で "(変数_root.coin)が0枚になる可能性がある" のかがわかりませんからね。
人間でなく相手は PC です。
具体的に具体的にプログラミングしなければ動作しません。


細かい点を挙げるとキリがありませんが,

_root.gameover.gotoandplay(ゲームオーバー画面へ);
  ↑間違い 変更↓
_root.gameover.gotoAndPlay(ゲームオーバー画面へ);

です。
SWF6 を書き出す設定にしていればどちらでも動くと思います。
つまり間違っていてもなにがしかの動作はしようとすると思います。
SWF7 以降は大文字と小文字は厳格に区別されますから,
gotoandplay では何も動作しません。



あと
_root.gameover.gotoandplay(ゲームオーバー画面へ);
1つを挙げても,
ちゃんとステージ上(レイヤー上)には gameover というインスタンス名のスプライトが配置されているか。
そのスプライト gameover 内には本当に ゲームオーバー画面へ があるのかどうか。
また,
ゲームオーバー画面へ は数値になっているか。
もしくは プレームラベル名であるとしても,キチッと "ラベル名" のようにダブルクォーテーション囲みになっているかどうか,などなど,
思ったように動作しない要因は無数に見えます。
その辺をキチッと詰めて行けば思うような動作をするものができると思います。
    • good
    • 0
この回答へのお礼

レス感謝致します。

ご指導頂きました通り、一つずつ直しました。
その結果多数ケアレスミスが見つかりました。
考え付く限り全て修正したところ、
私が思っていた通り正常に動作致しました。

言葉足らずで説明不足の点も多数ありました。申し訳ありません。
今後は出来うる限りこういった点を無くしてから
質問させて頂きます。

ご指導頂き、大変感謝しております。
ありがとうございました<(__)>

お礼日時:2009/05/28 22:58

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


人気Q&Aランキング

おすすめ情報