特定レイヤーの特定フレーム間で独立した動きを実現する方法

このQ&Aのポイント
  • Flash Lite1.1で携帯待ち受けFlashを作る際に、特定レイヤーの特定フレーム間で独立した動きを実現したい場合、問題が発生します。
  • 時計機能を付けるために時計用のASレイヤーを作り、1フレームに動きのASを配置し、2フレームに戻すように設定します。
  • しかし、この方法では1、2フレーム間を繰り返すため、3フレーム以降の他のレイヤーにあるMCが停止します。また、時計は携帯を開いた瞬間から表示と更新が必要なため、1フレームから動かすことができません。
回答を見る
  • ベストアンサー

特定レイヤーの特定フレーム間だけ独立させて動かしたい(Flash Lite1.1)

Flash Lite1.1で携帯待ち受けFlashを作っています。 (※Flashは始めて数日レベルです) 時計機能を付けるために時計用のASレイヤーを作り、その1フレームに時計の動きのAS、2フレームに gotoAndPlayで1フレームに戻すようにしているのですが、そうすると1、2フレーム間を繰り返すことに なるので、3フレーム以降の他のレイヤーにあるMCが止まってしまいます。 また、時計は携帯を開いた瞬間から表示と更新をさせなければいけないので、そのASは1フレームから 動かせないのです。 手元にある参考書のサンプルでは他のレイヤーも2フレームで終わるような内容なので問題は 出なかったのですが、今回のような作りではどうにも解決できず、いろいろ検索してみたのですが 全くお手上げ状態です。 何か対処法はないでしょうか?

  • nuwv
  • お礼率46% (6/13)
  • Flash
  • 回答数2
  • ありがとう数7

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

#1です > また、「ステートメントはonClipEventハンドラ内でなくてはいけません」 > というエラーメッセージも出るようになりましたが、Flash Liteに > onClipEventはないようなのでさらに分からなくなってしまいました。 なんで onClipEvent なんかが登場するのです? Flash Lite1.1 にはそんなものはありません。 「元のままで動く」のでしょう? ということはそこに onClipEvent なんて使われていないのでしょう? 突如 onClipEvent など論外なものを登場させても意味がわかりません。 そんなものを登場させたら元から動いていないはずです。 Flash Lite1.1 だと フレーム1 と フレーム2 などをループ再生させて時刻を表示させます(よね!?)。 その フレーム1 と フレーム2 のループを, メインのタイムライン(_root (Flash Lite1.1 の場合 "/")) でループさせるのではなく, ムービークリップ内に全てを持って行ってループ再生させれば良いだけでしょう。 そういうことを書いたのですが。。。 (onClipEvent (おそらく onClipEvent(enterFrame) ) など関係ありません。

nuwv
質問者

お礼

何とか解決しました。 やはり根本的な理解ができていなかったようです。 対象となるシンボルをダブルクリックすると独自のタイムラインが開き、そこで そのMCのASを編集できるということを知らなかったというお粗末な話でした… アドバイスにあったことの意味を理解していたつもりで、実際は全てメインの タイムライン上で編集しようとしていたのでした。 MCには独自のタイムラインがあるということを言葉では分かっていながら頭では 分かっていなかったようです。 とにかく何とか形にはなりました。ありがとうございました。

その他の回答 (1)

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

ただ単に > 時計機能を付けるために時計用のASレイヤーを作り、 > その1フレームに時計の動きのAS、2フレームに > gotoAndPlayで1フレームに戻すようにしているのですが、 の部分をムービークリップ内に作成すれば良いだけだと思います。 ※ レイヤー は インスタンスの上下関係であってオブジェクトではないので   レイヤーなどにそもそもこだわる必要はありません。   

nuwv
質問者

補足

いろいろ試行錯誤していて返事が遅くなってすみません。 MCの概念をイマイチ理解できていない部分もあるのですが、時計の ダイナミックテキスト部分をまとめてMCにし、メインのタイムライン ではなくそこにMCアクションを書き込んでみたのですが、今度は 時計が動かなくなってしまいました。実機での再生では一応最後まで アニメーションは進んでくれたのですが… ※時計のASは別のものを作った時にきちんと動いたものをそのまま 使っています。 また、「ステートメントはonClipEventハンドラ内でなくてはいけません」 というエラーメッセージも出るようになりましたが、Flash Liteに onClipEventはないようなのでさらに分からなくなってしまいました。 何か根本的に理解を間違えている気もするのですが、もう悩みすぎて どうにも分からなくなってきました。

関連するQ&A

  • 特定のmcのフレームにきたときメインタイムライン制御

    AS初心者です。 今、メインタイムラインに配置したmc"main_mc"内のmc”mc1”の、 特定のフレームに来たとき メインタイムラインのフレーム移動をする、というスクリプトを書きたいのですが うまい行かずに困っています。 mc"mC1"のフレームアクションに _root.gotoAndPlay(20); と書きましたが、うまくいきません。 なんででんしょうか。。 もしお分かりのかたがいたらお教えいただけると幸いです 初歩的質問ですみません。。。 mac macbook os 10.4.11 flash cs4を使用しています。

  • (Flash Lite 1.0) フレームアクションでのキーイベント

    携帯用のFLASH(Flash Lite 1.0)で静止画像だけの絵本を作っています。 インタラクティブモードで、ページをめくって次のフレームへ移動させる方法についての質問をさせてください。 今までは、「次ページへ」のようなボタンシンボルを作って画面の下段に置き、そのボタンに対するaction scriptとして ************************************* on (release){ nextFrame(); } ************************************* のように書いて実現していました。 これだとそのボタンシンボル自体が画面レイアウト上邪魔になってきたので、ボタンは無くしてしまい、ボタンにフォーカスさせることなく、フレーム上のアクションスクリプトで記述して、いきなり0や1のキーをたたいて次のフレームへ移動させられないか、と考えています。 ところが、onイベントはボタンにしか使えないようで、身の程知らずながらエキスパートモードに切り替えて、強引にフレームに使おうとしてもシンタックスエラーになってしまいます。 FLASHの教則本などには、"keyListener()"などの手法が載っていますが、携帯FLASHでは、FLASH Player4という制約があり使えません。 以前、どなたかのサイトで入手した携帯FLASHで、確かにボタンを使わずにキーをたたくだけで次のフレームは移動させていたのは記憶にあるので、何らかの方法は存在すると思うのですが、完全に暗礁に乗り上げてしまっています。どなたかアドバイスがありましたらよろしくお願いします。

    • ベストアンサー
    • Flash
  • Flash lite 1.1で待受け作成

    Flash lite1.1で、 デジタル時計(HH:MM)のついた待受けを作りたいと思っています。 仕様としては背景で5枚の画像を1分ごとにループさせて、 画像ごとにデジタル時計を表示させる位置を変えたいと思っています。 (1枚目の画像の時はセンターに、2枚目の画像の時は下部に、という感じ) 現在、下記のような方法で書こうと思って作り始めたのですが 躓いてしまいましたので宜しければご助言をお願いいたします。 まず時計部分については、 ステージ直下に空のMC「myTime」を作って 表示用のレイヤーにダイナミックテキストを配置し、 変数 v_time をセットしました。 で、action用レイヤーに ---------- 1フレーム ---------- call("func"); gotoAndPlay(2); ---------- 2フレーム ---------- call("func"); ---------- 3フレーム ---------- gotoAndPlay(2); ---------- 4フレーム ---------- ●ラベル「func」 nowHour = fscommand2("GetTimeHours"); nowMin = fscommand2("GetTimeMinutes"); //10未満なら頭に0をつける if (v_hour<10) { v_hour = "0" add v_hour; } if (v_minutes<10) { v_minutes = "0" add v_minutes; v_time = nowHour add ":" add nowMin; と、書きました。 これで時計の表示だけはうまくいきました。 これとは別に、ステージ直下に画像表示用のムービークリップ 「myImage」を作り、1~5フレームに各画像を配置しました。 …と、ここまで自力で調べながらやってみたのですが この先がわからず困っています。 イメージとしては ・nowMin の値から myImage のフレーム位置を移動 また同様に ・nowMin の値から myTime のx,y座標を変更 という感じかな?と思っているのですが、 どのように書けばよいでしょうか? また、他に効率の良いやり方がありましたらご教授頂けませんでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • Flash
  • 携帯Lite1.1用のプログラム

    こんにちは。 現在、携帯用のプログラムをテスト中なのですが、 キー5を押すとステージにあるムービークリップ(myobj_mc)を 8ドット単位に右に3個複製するというテストです。 ※myobj_mcは、ボタンMCです。 ※複製名は、clip0, clip1, clip2 ボタンインスタンスに下記のasを記述。 on ( keyPress "5" ) { for ( i = 0; i < 3; i++ ) { newName = "clip" add i; duplicateMovieClip("myobj_mc", newName, i ); xpos = i * 8; setProperty( newName, _x, xpos ); } } 動作環境 XP Flash8pro Lite1.1 以上のプログラムなのですが、エラーが出てしまいます。 Ctr+Enter時でエラー。 警告 :このムービーは Flash Lite 1.1 Player でサポートされていない機能を使用しています シーン = Scene 1, レイヤー = 玉くん, フレーム = 1 :Flash MX ボタンインスタンス名 シーン = Scene 1, レイヤー = 玉くん, フレーム = 40 :Flash MX ボタンインスタンス名 実行後のエラーです。 【次のコンテンツに問題があります : 5 ~ SWF データ内の ActionScript が無効です。】 どこか間違いがあるかご教授お願い致します。

  • Flash lite1.1で

    携帯用のページでボタンを設置しgotoAndPlayでとあるフレームに飛ばしたとき、複数あるMCをランダムで一つだけ表示する方法はないでしょうか?

    • ベストアンサー
    • Flash
  • FLASH LITE1.1 制限時間を任意に設定

    FLASH LITE1.1でクイズの制限時間を任意に設定しようとしているのですがうまくいきません。 やろうとしていることは、 ユーザーが入力テキストに制限時間(秒)を入力し、その時間が経過したら特定のフレームに跳ぶ、 ということです。 具体的には次のようにしています。 入力テキストの変数を「lmt」としてルートの2フレームに配して停めておき、*キーでスタートさせます。 ルートの3フレームにMC「c_mc」を置き、ダイナミックテキストの変数「cnt」を設定して、「c_mc」の1フレームから10フレームをループさせることで秒数を表示し(10fps)ます。 そして、ルートの3フレームに次のASを書いています。 tellTarget("/c_mc"){play();} if(lmt == /:cnt){gotoAndPlay("tokutei");} if の条件がうまく書けていないかと思うのですが、evalを使ったり、""を使ったりしても結局うまくいきませんでした。 おわかりになる方、ぜひご教授いただきたいと思いますので、よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • 基本的なことなんですが、、、なぜかできない。(FLASHムービー)

    FLASHのシンボルムービーを作成しました。 10フレームくらいの簡単なものです。 シーン上に上記のムービーを貼り付けたのですが、フレームの都合上、1-2フレームしか使えないので、 とりあえず2フレーム分だけ貼り付けて、2フレーム目の方のアクションに this.gotoAndPlay(2); というように一つ前のフレームに戻るアクションをつけました。 ですが、なぜか2フレーム目でとまってしまいます。 それ以外にアクションはまだつけてないんですが。。。 このムービーのレイヤーを削除すると3フレーム目まで行くようになりました。 なぜでしょうか???

  • MCの中でムービーをSTOPさせ、ボタンで次のフレームに

    Flash Lite3.0で、 MCの中でムービーをSTOPさせ、ボタンで次のフレームに進みたいのですが、なぜかSTOP位置でボタンを押しても次のフレームに進んでくれません。 メインで行う場合は進むのですが、メインの時のスクリプトとは、また異なるのでしょうか? 例にすると以下のような感じです。 メイン1フレーム目にあるMCの中で 1フレーム目から5フレームまでムービーが流れ、 5フレーム目にstop(); 5フレーム目ボタンに on (keyPress "<Enter>") { gotoAndPlay(6); } としても5フレーム目で止まったままEnterを押しても6フレーム目に進みません。 説明下手ですが、わかる方がいらっしゃればご回答宜しくお願いします。

  • 携帯のLITEについて

    FLASHの携帯用のliteについて 勉強してみたく思ってます。 ごく簡単なものでかまわないので どこかに、LITEのサンプルflaがダウンできるサイトご存知の方いらっしゃらないでしょうか?

  • FLASH LITE1.1のテキスト入力について

    FLASH LITE1.1で、テキスト入力フィールドからユーザに数字を入力してもらい、その数字をもとにタイムライン上の適切なラベルに跳びたいのですがうまくいきません。 具体的には、フレームに次のASを書き、 fscommand2("SetInputTextType","nb","Numeric"); stop(); ボタンに、次のASを書いたのですが、 on(keyPress"*"){gotoAndPlay("eval("nb")");} うまくいきません。 クイズがタイムライン上に順に20問用意されており、それぞれのクイズの最初のフレームに、順に1~20とラベルされており、ユーザーが1~20のどれかを入力すれば、そのラベルに跳ぶようなイメージです。 ご教授いただければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • Flash

専門家に質問してみよう