CS4、ASは3.0を使用しています。
ASについてはまったくの初心者です。
お店のFLASHを作成しています。構成は
ちょっとしたオープニングムービー
↓
ボタンが4つ出てくる
↓
その各ボタンを押すと指定したフレームに飛ばす
というものです。飛ばし先でもそこから再生するためplayになります。
各ボタンにはインスタンス名を付けています。
本のサンプルやネットで調べても、まったく同じ状態のスクリプトがわからなかった為、似たようなヤツをアレンジしてかなり色々と試したのですが、全て上手くいきません。
一番近かったのが下記のようになります。
ボタンのインスタンスはmenuです。
this.menu.addEventListener(MouseEvent.CLICK,goNext);
function goNext(e:MouseEvent):void {
this.nextFrame();
}
これをアレンジして(69のフレームに飛ばす)
this.menu.addEventListener(MouseEvent.CLICK,goNext);
function goNext(e:MouseEvent):void {
this.gotoAndPlay(69)();
}
としたのですが、エラーが出てダメでした。
その他諸々、色々なスクリプトを試しましたが、
殆どが
「TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
at _fla::MainTimeline/frame1()」
とエラーがでます。
スクリプトがダメなのか、それともスクリプトを配置する場所がダメなのすらも分かりません。
1.指定のフレームに移動するスクリプトを教えて下さい。
2.スクリプトを配置する場所は1~4のウチでどうれでしょうか?
(どの場所に配置してもエラーがでます。又、タイムライン上にすでに配置されているスクリプトは○秒ストップというスクリプトです)
丸一日これに費やしたのですが、まったく出来ず困ってます。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
#1です。
> 添付写真1~4の部分どこに記述してもエラーになってしまいます。
1~4の中では 2 または 3 に書く必要があります。
少なくとも「menu」というインスタンス名を付けたインスタンス(ボタン)がその時点で存在しないと,何も命令や設定はできませんから。
> この場合どんな原因が考えられるのでしょうか?
私は,
「インスタンスを作成(配置)する」→「インスタンス名を付ける」→「場合によってはそのインスタンスにモーショントゥイーンなどを付ける」
という普通にやる手順通りにいつも作成してますので今まで気付きませんでしたが,
CS4 の モーショントゥイーン (新モーショントゥイーン) は少々特別なようです。
モーショントゥイーン後のインスタンスにスクリプトで何かを指定したり命令する場合,
モーショントゥイーン開始時からそのインスタンスにインスタンス名をつけておかなければならないようです。
ですから,
上に書いた「インスタンスを作成(配置)…モーショントゥイーンなどを付ける」 という手順通り作成していれば何も問題は起こらないのですが,
モーショントゥイーンを作成した後にインスタンス名を付けるという普通ではない手順を取った場合,
必ず 「モーショントゥイーン開始時のインスタンスにインスタンス名を付ける」 ということに気を付けなければならないようです。
※ 小さいですが図参照のこと↓。
わざわざ画像までありがとうございます。
色々実験してみて、ボタンとASを1フレーム目に持って行ったら無事できました。
しかし、2フレーム以降にボタンとASを持って行くとエラーが出てダメです。
インスタンスがその時点にあるにもかかわらず、1フレーム目でないと上手く動きません。不思議です。
ボタンのーショントゥイーンも削除してみて実験してみましたが、結果同じです。
構成では最初はボタンは表示されないようにしたいので、1フレーム目に透明にしたボタンとASを配置して、途中からボタンが出てきた感じに仕上げる事ができました。
ただ、問題はプログレスバーです。
これから設置するのですが、ボタンもASも1フレーム以外受け付けないとなると、又、頭を抱えてしまいます。
No.1
- 回答日時:
???
最重要ポイントを押さえていませんよ。
> this.menu.addEventListener(MouseEvent.CLICK,goNext);
> function goNext(e:MouseEvent):void {
> this.nextFrame();
> }
>
> これをアレンジして(69のフレームに飛ばす
この質問のしかたを見る限り,
「アレンジする前は無事動作するのにアレンジした後にエラーが出る。」
という意味になります。
つまり,
アレンジする前ではOKなのか,
それともアレンジ前にすでにその時点でエラーがでているのか,
その最重要ポイントが抜けています。
「アレンジする前は無事動作するのにアレンジした後にエラーが出る。」
というのでしたら一目瞭然,
this.gotoAndPlay(69)();
が間違っています。
this.gotoAndPlay(69);
です。
「○○()」 は 「○○を実行する」 という意味になります。
もしその実行するときに引数を渡す場合は,()内に引数を入れます。
「○○(引数)」 →「引数を渡して○○を実行」
「gotoAndPlay(69)」→「引数69を渡してgotoAndPlayを実行」
この回答への補足
すみません、補足します。
アレンジする前のオリジナルのスクリプト(本に載っていた)のですら、
「TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。」
とエラーが出てきます。
添付写真1~4の部分どこに記述してもエラーになってしまいます。
この場合どんな原因が考えられるのでしょうか?
これさえクリアできたら、後はthis.gotoAndPlay(69);に差し替えて、実行可能って事ですよね?
以上よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- Access(アクセス) アクセス テーブルの空白を変数に置換するボタンが作りたい 4 2022/07/08 11:19
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- UNIX・Linux redmineにメールを飛ばす方法 1 2022/09/13 22:02
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- 英語 「this is the/my first time~」の文法上の制約について 1 2023/04/06 09:48
- PHP phpの imap_search で漢字コード 1 2022/09/06 17:32
- プリンタ・スキャナー キャノンmp490プリンター【エラー番号5400】で【プリンタートラブルが発生しました。電源を入れ直 2 2023/07/24 17:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミング、アーキテクチ...
-
【VB.NET】別Formのボタンが押...
-
CreateDialogについて
-
photoshopで書いた四角の枠の中...
-
VBAで改行の入ったデータの正規...
-
else if文の順序を変えることに...
-
五芒星は、悪魔崇拝とどういう...
-
ExcelでVBAを利用してオートシ...
-
C言語でのマウスを移動とマウス...
-
RPG(AS400)の本、サイトってあ...
-
node* ってなんなのでしょうか?
-
HTMLのtextbox類に文字を残す
-
VB6.0 でメニューを作りたいん...
-
UWSCのBTN関数について。
-
YOASOBI
-
Motifのイベントの制御について...
-
AS3.0 読み込んだ外部テキスト...
-
マスクにグラデーションをかけ...
-
ボタンの背景を透過させたいです!
-
以下のActionScriptをスッキリ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミング、アーキテクチ...
-
VB6.0で、フォームから、別のフ...
-
【VB.NET】別Formのボタンが押...
-
フォームの生成と破棄
-
VB6.0のHideのバグ?
-
DataTableの件数を取得したい
-
インスタンスとポインタ
-
ダミーウインドウ
-
Python でシャットダウンのコマ...
-
画像を一定時間ごとに切り替え...
-
CreateDialogについて
-
「Me」を「Form1」にするとエラ...
-
ウインドウハンドルとインスタ...
-
背景画像が拡大縮小しつつ、大...
-
EXEからDLLへ移植
-
Flashの画面をJPEG画像にしてメ...
-
携帯Lite1.1用のプログラム
-
new演算子について教えていただ...
-
getURLでの変数の渡し方
-
【ActionScript】コンボボック...
おすすめ情報