
はじめまして。
現在ActionScriptを勉強中なのですが、ここの掲示板を見てもわからない部分があった為質問させてください。
1、シーンの結合
一連の流れをわかりやすくするため、いくつかのシーンをわけて作業していました。
これらのシーンをひとつのフレームに繋げる事はできるのでしょうか?
例)「シーン1」の最終フレームの続きに「シーン2」、「シーン2」の最終フレームの続きに「シーン3」を繋げる。
いくつか試してみたのですが、多数のフレームを一度にコピペは出来ない上に、ひとつのフレームだけコピペしても1フレーム目から配置されてしまい最終フレームの後に持っていくのですべてやろうとすると手間がかかりすぎでした。
2、ActionScriptでのシーンの指定方法
ボタンで飛ばす方法の質問はあったので、それを見つつ試したのですができませんでした。
私がやろうとしている事は、ボタンが押されたら飛ばすのではなく、ActionScriptでイベント開催日からの残り日数を計算し、その残り日数に応じて指定したシーンに飛ばす。というものです。
同じタイムライン上の指定したフレームに飛ばす事はできたのですが、別のシーンに飛ばそうとすると止まってしまいます。
ボタンでないとシーンを指定して飛ばす事は出来ないのでしょうか?
シーン1の最終フレームに以下のActionScriptを記述してあります。
※main2などは、それぞれのシーンの1フレーム目にフレームラベルとして同一の物を書いてあります。
this.stop();
dtObj=new Date();
dd=dtObj.getDate();
eventDay=31;
dayCount=eventDay-dd;
if(dayCount>3){
gotoAndPlay( "シーン2".main2);
}
if(dayCount=3){
gotoAndPlay( "シーン3".main3);
}
if(dayCount=2){
gotoAndPlay( "シーン4".main4);
}
if(dayCount=1){
gotoAndPlay( "シーン5".main5);
}
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
まず、シーンの結合についてですが。
タイムラインでどこか一箇所(どこでも構いません)を選択した状態で、右クリック( Mac では control +クリック)でメニューを出します。
この中から「すべてのフレームを選択」を選ぶと、全てのレイヤーに含まれるフレームを、一度に全部選択することができます。
続けて「フレームのコピー」を選び、結合したいシーンの最後のフレームを選択した状態で同じく右クリックのメニューを出し、「フレームのペースト」を選択してください。2つのシーンを簡単に結合できます。
コピー元のシーンは不要になりますから、「シーン」パネル(「ウィンドウ」メニュー、MX 2004 ではその中の「デザインパネル」の中にあります)で削除しておくといいでしょう。
------------------------
gotoAndPlay には、シーンを移動できるものとできないものの2種類があります。
シーンの移動は、メインのタイムラインのフレームか、ステージに配置したボタンシンボルのインスタンスでのみ、利用できます。
メインのタイムラインに設定しているのにシーンの移動ができないとなると、スクリプトの方に問題があることになります。
よくあるのが、シーンの名前が間違っている場合です。
シーンを追加すると、「シーン 1 」「シーン 2 」というように、仮の名前が付いたシーンが挿入されます。
この名前が意外にクセモノで、”シーン”の文字と番号の間には半角のスペースが入っています。
また、番号は半角の数字です。
番号を全角にしたり、半角のスペースが抜けていると、移動先のシーンが見付からないことになり、正常に移動できません。
シーンの名前は「シーン」パネルで予め分かりやすい名前に変えておくと、間違いも少なくなります。
ご質問文のスクリプトでは、
gotoAndPlay( "シーン2".main2);
となっていますが。
例えばシーン 2 のフレームラベル” main2 ”のあるフレームに移動する場合のスクリプトは、
gotoAndPlay( "シーン 2" , "main2" );
このようになります。
シーンの指定とフレームラベルの指定の区切りがカンマ( , )ではなくピリオド( . )になっている点と、フレームラベルを " " でくくっていない点がまず1つの原因です。
それから、変数 dayCount の値がある値であるかどうかを判断する場合は、
if( dayCount == 3 )
このように、イコール( = )を2つ続けて書きます。
イコールが1つの時は、値を変数に代入するという意味になります。
例えば、
dayCount = eventDay - dd;
これは、変数 eventDay の値から dd の値を引いた結果を dayCount に入れる、という意味になっています。
以上の点を確認してみてください。
ご返事どうもありがとうございます。
指摘された点を修正して試してみたところ無事動きました。
こんな基本的な部分が間違っていたとは・・・
おかげさまでシーンを利用したFLASH作成が格段に楽になりました!
これからももっと勉強して知識を増やしていきたいと思います。
あと、動作環境を書かずにどうもスミマセンでした。
質問の事ばかりで、すっかり頭から抜けていました。
(ちなみにMX2004、WINでした。)
今後質問する場合は気を付けたいと思います。
DPEさん本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 【C++】IDirect3DSurfaceのディープコピーは可能ですか? 1 2022/07/06 02:47
- 戦争・歴史 戦争映画のタイトルを教えてください 2 2022/10/31 09:07
- 洋画 映画のワンシーン 飲食 魅力に思ったシーンを教えてください。 8 2023/06/10 00:07
- アジア映画 長文 ジャッキーチェンの映画 タイトル 一部のシーンとボスの特徴しか覚えてない お願いします。2作品 1 2022/06/01 08:49
- 洋画 ターミネーター2と全く同じシーンが使われている映画 1 2022/07/18 17:16
- アニメ 質問です 昔見ていたアニメなのですがタイトルも内容もあまり覚えてたくて最終回のシーンで空中に浮いてい 1 2022/05/28 13:34
- アニメ 「ドラゴンボールZ」のセル編観た方 1 2023/02/26 23:51
- 洋画 外国のクリスマス映画 1 2022/12/28 20:45
- ドラマ 韓国ドラマはいつから質が変わったのでしょうか? 3 2023/08/26 22:49
- 据え置き型ゲーム機 Switchで何故かスクショボタン押しても撮影が急にされなくなりかわりに現在そのボタンを押したら今は 1 2022/10/27 15:18
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ActionScript■MC内の動作はシー...
-
ボタン押して変数を代入したい。
-
シーンに関してふたつ質問があ...
-
段ボールみたいな材質でできて...
-
アクセス解析をつけたいのです...
-
フェードイン・アウトについて
-
FLASH MX フェードイン
-
ボタンで動かしたい
-
URLの取得について
-
C#でDLLファイル読み込みを行う...
-
フレーム内に移動したい
-
液晶テレビのフレームの色について
-
A3012CAのカメラ用フレ...
-
FLASHの外部画像のやり方を教え...
-
エクセルのデータを指定した様...
-
【FLASH MX】複数のフレームの...
-
suzukaのスクリプトで
-
配列のシャッフル
-
callについて
-
FLASHムービーのファイルをつな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ページを読み込むたびに違うシ...
-
ボタンをクリックする度にラン...
-
シーン1からシーン2に切り替...
-
Flashでサイトを作る際、シーン...
-
ActionScript 3.0で季節ごとに...
-
Flashで書き出した「swfファイ...
-
FlashでStartボタン
-
シーン1の前にシーンを入れたい
-
Flash A.S3.0のシーン移動について
-
[AS3]ループするたびに変数等は...
-
アクションスクリプトとシーン移動
-
Flash間のパラメーターの受け渡し
-
adobeFlashcs5.5でのプレビュー
-
Unityでこういう場合のプログラ...
-
入れ子になっているMCのクリッ...
-
フレーム内のオプションボタン...
-
段ボールみたいな材質でできて...
-
フレーム内に移動したい
-
phpで音を鳴らす
-
VBで動的に作成したパネルの上...
おすすめ情報