• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクションスクリプト ifがうまく働いてくれません…)

アクションスクリプト「if」に関するご相談

このQ&Aのポイント
  • FLASH8、OSwinXP、初心者の方がアクションスクリプト「if」に関するご相談です。クリップにマウスオンするとダイナミックテキストの数字がカウントダウンされるという機能を作成していますが、スクリプトの動作が正しくなく困っています。
  • 1つ目のスクリプトでは、カウントダウンを50で止めたいのにスルーしてどこまでもカウントダウンしてしまいます。2つ目のスクリプトでは、カウントダウンが50で止まるのですが、マウスオンした瞬間にundefinedが表示されてしまいます。どうすれば良いでしょうか。
  • undefinedが出ないで100から始まり、50で止まるようなスクリプトを教えていただけると助かります。また、同様の問題について情報を探していますが、見つからないため、関連ページなども教えていただけるとありがたいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • solLight
  • ベストアンサー率47% (30/63)
回答No.1

変数contになにも代入されていないので、undefinedと出るのだと思います。 以下のようにすれば出来ると思います。 this.onEnterFrame = function() { cont = 100; //← _root.texbox_mc.hhh = cont; hoge -= 1; cont = (snt+hoge); if (cont<50) { cont = 50; } } } ASを学ぶなら、Flashゲーム講座 & アクションスクリプトサンプル集がオススメです。 http://hakuhin.hp.infoseek.co.jp/main/as.html

gakku_ten
質問者

お礼

さっそくのご回答ありがとうございます!! しかしながら…その行を足されることによって今度はカウントさえもされません…私の操作がわるかったのでしょうか。 将来的には動的な数値をsntとかhogeに代入しようと思っていますので onClipEvent (load) 内で定義したいんです…。(←これは質問本題と離れる可能性があるので別の話として流してください) とにかくundefinedが1コマ目に出ず、カウントダウンし、50で止まってくれるための解決法はございませんでしょうか? onClipEvent (load) { hoge = 1;//(1) snt = 100;//(2) } on (rollOver) { this.onEnterFrame = function() { _root.texbox_mc.hhh = cont;  hoge -= 1; cont = (snt+hoge);//←contにonClipEventで定義した数値(1)、(2)を代入したい if (cont<50) { cont = 50; } } } ▲余談:不思議なのは行を入れ替えただけで振る舞いが変わることです。アクションスクリプトはスクリプトを一度全部読み込んでから実行すると読んだことがありますが、やはり行の順番次第で動かなかったときもあったんだなと思ったりもします…。

その他の回答 (1)

  • solLight
  • ベストアンサー率47% (30/63)
回答No.2

ANo.1の者です。前回はソースを間違えてしまいました。 onClipEvent (load) { cont = 100; } on (rollOver) { cont--; if (cont<50) cont = 50; _root.texbox_mc.hhh = cont; } とすれば出来ると思います。

gakku_ten
質問者

お礼

たびたびありがとうございます!!

gakku_ten
質問者

補足

たびたびのご回答ありがとうございます!! しかしながらこれはうまく動きませんでした…。 マウスオンしても何もおこりませんでした。 試しに _root.texbox_mc.hhh = cont; をif{ }から取り出し、 on (rollOver) { cont--; _root.texbox_mc.hhh = cont; if (cont<50) {cont = 50; } } としてみたのですが、これもだめでした…。マウスオンするたびに1ずつ減るだけで…。 しかしすっきりしたスクリプトなので、感心いたしました。 rollOverにenterFrameをネストするのはどうしたらいいんだろうと思っていたんですが、こういうやり方もあるんですね。 いろいろありがとうございます! しかし未だわからぬ状態です。いろいろ試してはいるものの、なにか方法はないもんでしょうか。

関連するQ&A