• 締切済み

変数の記述の仕方

WIN XP FLASH8です。いつもありがとうございます。変数の記述で困っています。 if (che < 5) { fla = "f" + che; trace (fla); gotoAndPlay ("c" + fla); } 変数cheが0~4の5回、フレームのラベルに付けたc0~c17の中からランダムに飛ばしたいと思っています。trace (fla);ではcheに0が入っている時はf0となりますが、gotoAndPlay ("c" + fla);で変数f0の値のラベルには飛んでくれません。gotoAndPlay ("c" + fla);でflaのかわりにf0を入れれば飛んでくれるのですが。どのように記述したら、良いのでしょうか?教えてください。

みんなの回答

  • asuncion
  • ベストアンサー率33% (2126/6288)
回答No.1

> trace (fla); この時点では、flaに"f0"~"f4"のいずれかが入っているのですね? だとすると、 > gotoAndPlay ("c" + fla); この時点では、gotoAndPlay()の引数として"cf0"~"cf4"が 入っていることになりませんか? もともとのご希望である > c0~c17の中からランダムに飛ばしたい とは食い違っているように見えるのですけれど。

Flash-love
質問者

お礼

説明が足りなくてすみませんでした。 これより前のフレームでランダムでf0~f17までに0~17までの数を割り当てています。なので、cf0ではなくてcランダムでf0に割り振った数というラベルに行きたいのです。

Flash-love
質問者

補足

すみません。質問者です。 今、evalをつければいいことがわかりました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • flashlite1.1の違う階層にある変数の使いかたを教えてください

    flashlite1.1の違う階層にある変数の使いかたを教えてください! flashlite1.1で携帯サイトをつくっています。 変数をルートの1フレーム目に置いたとして、違う階層からその変数はどうやって 使ったらいいのでしょうか。色々やってみましたが上手くいきません… どうしたらいいのが教えてください。 ※変数はフェードインを行うためのアルファの値にしています。 まず始めにルートに aa=30; と書きました。そしてルートに配置しているムービークリップの中のレイヤーの1フレーム目に _alpha=0; 2フレーム目に tellTarget("../"){ trace(aa); } _alpha+=aa; 3フレーム目に gotoAndPlay(2); と書きました。トレースの値は30が出力されます。なのに画面は真っ白なままです。 2フレーム目に書いた _alpha+=aa; の「aa」の部分に30という文字を入れたら、フェードインができます。 これは変数の数値をトレースできても、使い方が間違えている、ということなのでしょうか…? とても困っています。 おわかりになる方、教えてください!!!

  • 外部テキストから変数の読み込み方

    当方Flash2004MX Proなのですが、 外部テキストから変数の読み込み方が解りません。 ご回答のほど宜しくお願い致します。 ---------------------- flaのフレームアクション loadVariablesNum("sample.txt",0); trace(sampletext); ---------------------- ---------------------- 外部テキストの中身 sampletext=test ---------------------- をパブリッシュすると undefined がでます。 どのようにしたら外部テキストから 変数が読み込まれるのでしょうか。 宜しくお願い致します。

  • 複数のmcに同じイベントを記述したら、1つしか反応しない

    うまくいかない原因がわからず困っています。 画面上の複数のmcに同じイベントを記述しました。 内容はシンプルで、「mc01にマウスがのったらフレームf01に移動する、 マウスが離れたらフレームstartに戻る」というものです。 mc02はf02へ、mc03はf03へ移動というふうにします。 これをmc01からmc07まで順番に書いていったところ mc07は反応するのですが、あとの6つが反応しません。 mc07の記述を消すとmc06が反応するようになり、 どうやら一番最後に記述している部分しか反応しないようです。 これ↓がそれぞれのmcに書いてるASです。 ---------------------------------------------------------- onClipEvent (enterFrame) { if (_root.mc01.hitTest(_root._xmouse,_root._ymouse,1)) { _root.gotoAndPlay("f01"); } else { _root.gotoAndPlay("start"); } } ---------------------------------------------------------- ちなみにFlash8使用、プレイヤー8でパブリッシュしてます。 どうぞよろしくお願いします。

    • ベストアンサー
    • Flash
  • 二択のフレーム移動

    ボタンクリックで3216フレームか3062フレームの どちらかにランダムで移動させたいんですが、 アクションスクリプトをどう記述していいのか分かりません。 on (press){gotoAndPlay( この形の記述で出来るのでしょうか? それとも別の形なのでしょうか? 教えてください。 過去記事ではランダムに1から5の間のどれかに飛ばせる というものがおおく、特定の2フレームというのは なさそうでした…探しても見つけられませんでしたので、 どうぞお助け下さい。 当方バージョンは Flash8 プロフェッショナルです。

    • ベストアンサー
    • Flash
  • 変数名に変数を使う

    Flash8を使用し、ActionScript2で書いています。 変数名に、他の変数の値を参照したいと考えています。 http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=6679&forum=6 を見て、同じようにやってみました。 すると、 animal = "cat"; catlLegs = 4; とした場合、animalの値であるcatを参照し animalLegs = 4; とする、というような単純なものはうまくいきました。 しかし、SharedObjectのdataプロパティで、属性名を変数にしようとすると うまくいきません。 dataNameという変数に、soというSharedObjectのneko属性の値を代入する場合、 so:SharedObject = SharedObject.getLocal("hoge"); animal = "neko"; dataName = _root["so.data."+animal]; としたのですが、 trace(dataName); の値はundefinedになってしまいます。 なお、 trace(_root.so.data.neko); では正しく値が表示されます。 属性名前には他の変数の値を参照できないのでしょうか。 それともSharedObjectではできないのでしょうか。 なんとか実現する方法をおしえていただければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • Suzukaで ある変数の値が、指定した数値になった時に動作させるASはどう記述したらいいのでしょうか?

    フラッシュ初心者です。 練習と勉強の為に、カードゲームを作っています。 プレイヤーがコインを持っていて増やしていくゲームです。 質問したいのは、 プレイヤーの持っているコイン(変数_root.coin)が0枚になった時に ゲームオーバーの画面を出したいのですが、 アクションスクリプトはどう記述したらいいのでしょうか? 私がやった方法です。 アクションフレームに以下のように記述したのですが上手くいきませんでした。 if(_root.coin <= 0){ _root.gameover.gotoandplay(ゲームオーバー画面へ); } 変数を条件に動作をさせるという事はできないのでしょうか? どうしたらうまく _root.gameover.gotoandplay(ゲームオーバー画面へ); 動作させる事ができるのでしょうか。 ご存知の方いらっしゃいましたら、宜しくお願いします。

    • ベストアンサー
    • Flash
  • 条件が複数ある場合のif文の書き方

    条件が一つだけの時は上手く動いたのですが、条件を複数にした場合はどう書いたらいいのかわからず、質問させていただきました。 『おしえて!!ACTION SCRIPT』という本を見ながら、Flashを作っています。 その中ではif文の書き方は if(条件式が正しかったら){  実行するスクリプト; } となっていますが、変数が複数あって、そのすべてが合致しないと指定のフレームに飛べないようにするためにはどう書いたらいいでしょうか? if(a==1){ gotoAndPlay(2); } if(b==1){ gotoAndPlay(2); } if(c==1){ gotoAndPlay(2); } と、続けて書くとa=1の時点でフレーム2に進んでしまうことになりますよね? そうでなく、a.b.c全ての変数が1の場合に、フレーム2に飛ぶようにしたいのです。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • AS3:ルートの変数とムービークリップ内の変数について

    AS3:ルートの変数とムービークリップ内の変数について ルートのタイムラインで設定した変数var RootVarがあるとして、これをあるムービークリップMCからMovieClip(root).RootVarで読み取って、MC内で何か処理をしたときMovieClip(root).RootVar++;とやってもルートのRootVarの値は変わりません。 例えば、 ■ルートのタイムライン1フレームに記述 var RootVar:uint; if(RootVar>=3){ trace("できた!!"); } ■ステージにあるムービークリップMCのタイムライン1フレームに記述 MovieClip(root).RootVar=0; var AddTimer:Timer = new Timer(1000,3); AddTimer.addEventListener(TimerEvent.TIMER,AddNum); AddTimer.start(); function AddNum(eventObject:TimerEvent):void { MovieClip(root).RootVar++; } ルートからムービークリップ、ムービークリップからルートへ変数に値を渡したり受け取ったりはできなのでしょうか? 変数の扱い方が問題なのでしょうか?よろしくお願いします。 環境:AS3、Flash CS4

    • ベストアンサー
    • Flash
  • FLASH CS5でnow loadingでランダム再生を読み込みたい

    FLASH CS5でnow loadingでランダム再生を読み込みたい FLASH CS5で10枚の画像(表示されいるのは1枚で、左右に隣の画像が少し見える感じ)があり、その下に右、左のボタンがありを押していくと、画像が切り替わっていくアニメなのですが 開始のフレームをアクセスする度に変わるランダムにしたいです。(開始の画像が入るたびに変わる) そのためにnow loadingですべてを読み込ませてからスタートさせないとなのですが、 1フレーム目に以下のタグを入れました。 このやり方だと、エラーがでます。 //再生停止 stop(); //イベントリスナーを登録 //(毎フレーム時間で実行,実行関数 goRnandom) this.addEventListener(Event.ENTER_FRAME,goRnandom); //関数 goRnandom の定義 function goRnandom(evt:Event):void { //変数 per にロードされたパーセントを取得 var per:Number = this.loaderInfo.bytesLoaded / this.loaderInfo.bytesTotal * 100; // //もしロードパーセンテージが 100 に達すれば if (per >= 100) { //登録したイベントリスナーを削除 this.removeEventListener(Event.ENTER_FRAME, goRnandom); //変数 rnd_num に 0以上1未満 のランダムな数を代入 var rnd_num:Number = Math.random(); if (rnd_num < 10 / 100) { gotoAndPlay(2); } else if (rnd_num < 10/100) { gotoAndPlay(8); } else if (rnd_num < 10/100) { gotoAndPlay(14); } else if (rnd_num < 10/100) { gotoAndPlay(20); } else if (rnd_num < 10/100) { gotoAndPlay(26); } else if (rnd_num < 10/100) { gotoAndPlay(32); } else if (rnd_num < 10/100) { gotoAndPlay(38); } else if (rnd_num < 10/100) { gotoAndPlay(44); } else if (rnd_num < 10/100) { gotoAndPlay(50); } else { gotoAndPlay(57); } } } どこか間違っている箇所はあるのでしょうか? 教えてください。

    • ベストアンサー
    • Flash
  • AS3でif関数で外部SWFを読み込みたい!

    AS3でif関数で外部SWFを読み込みたい! AS2では下記の記述で動作していたのですが、 ---------------------------------------- // もし 変数 result の値が 0 であれば if (_root.result == "0") { // flash読み込み this.loadMovie("main.swf"); // もし 変数 result の値が 1 であれば } else if (_root.result == "1") { // flash読み込み this.loadMovie("1.swf"); } ---------------------------------------- AS3にすると動かなくなってしまいました。 仕組みとしては、【htmlのflashvarsの変数を_rootで拾ってifステートメントで外部SWFを読む】 作りになっています。 参考書を買ってみて条件分岐について調べて試行錯誤してみたもののvarsとかtraceとかAS3で必要ですか?とにかくチンプンカンプンなので、どなたかご教授お願いいたします。。。 宜しくお願い致します。

    • ベストアンサー
    • Flash
印刷できない問題の解消方法
このQ&Aのポイント
  • 製品名:DCP-J988N。純正のインク交換をしたが、インクカートリッジからインクを本体に写していますの表示が解消されない問題について相談します。
  • 使用環境:macOS12.6.1、iOS16.1.1。接続方法は無線LANで、関連するソフト・アプリはありません。電話回線の種類はひかり回線です。
  • 印刷できないトラブルに困っています。純正のインクを交換したにもかかわらず、インクカートリッジからインクを本体に写していますの表示が解消されません。お使いの環境はmacOSとiOSで、接続は無線LANを使用しています。関連するソフト・アプリはありません。電話回線の種類はひかり回線です。この問題の解消方法についてアドバイスをいただきたいです。
回答を見る