トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     ステージのタイムラインの指定したフレームにジャンプしたい
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kagemaru
Åê¹ÆNo.14097
投稿日時: 2005-1-15 18:05
新米
居住地:
投稿: 22
使用環境:
WinXP FlashMX2004
ステージのタイムラインの指定したフレームにジャンプしたい
おしえてFlash5という本の中の5-5(88ページ)にある
おみくじを作ってみました。
完成したので
次は自分なりに改造してチャレンジしてるのですが
思ったようにいきません。
ステージに配置したMCをクリック 裏返って結果がでる。
ここまでは本の内容です。
そこで次は、出た結果に応じた
ステージタイムラインのフレームに移動したいのですが
どうすれば良いのでしょうか?

ステージタイムラインの1フレーム目のアクション
randomList = new Array(2, 3, 4, 5, 6, 7, 8, 9, 10);
stop();

ボタン「カード裏」のボタンアクション
on (release) {
pos = Math.floor(Math.random()*_parent.randomList.length);
mynum = _parent.randomList[pos];
_parent.randomList.splice(pos, 1);
gotoAndStop(mynum);
}

現在はこのようになってます。(元に戻しました。)
宜しくお願いします。
ひろゆき
Åê¹ÆNo.14098
投稿日時: 2005-1-15 18:09
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: ステージのタイムラインの指定したフレームにジャンプしたい
_root.gotoAndStop(mynum)

これでどうでしょう?

Flash ActionScript Helper: ターゲットパス
kagemaru
Åê¹ÆNo.14106
投稿日時: 2005-1-15 20:17
新米
居住地:
投稿: 22
使用環境:
WinXP FlashMX2004
Re: ステージのタイムラインの指定したフレームにジャンプしたい
ひろゆきさん

はじめまして、さっそくのレスありがとうございます^^

ひろゆきさんの言う_root.で試してみましたが駄目でした。
(たぶん私のやり方が悪いからです)

それで
「Flash ActionScript Helper:ターゲットパス」を
読んでみました。
似たような状況の挿し絵があったので
コレかな?と勘で実験^^;(相対パスで試してみました)
結果MCの最後のフレームをキーフレームにして

this._parent._parent.gotoAndPlay(5);

とやってみました。結果はバッチリいけました。
パスの指定がダメだったみたいです。

ひろゆきさん ありがとうございました。
また helpしてる際は 宜しくお願いいたします。m(..)m
ひろゆき
Åê¹ÆNo.14108
投稿日時: 2005-1-15 21:31
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: ステージのタイムラインの指定したフレームにジャンプしたい
引用:
おしえてFlash5という本の中の5-5(88ページ)にある

「おしえてFlash5 ActionScript」の方ですね。

引用:
ひろゆきさんの言う_root.で試してみましたが駄目でした。

randomList = new Array(2, 3, 4, 5, 6, 7, 8, 9, 10);
が記述されているのは、
ステージタイムライン上に配置されたMCの1フレーム目ではありませんか?
kagemaru
Åê¹ÆNo.14111
投稿日時: 2005-1-15 22:42
新米
居住地:
投稿: 22
使用環境:
WinXP FlashMX2004
Re: ステージのタイムラインの指定したフレームにジャンプしたい
引用:
「おしえてFlash5 ActionScript」の方ですね。

はい。そうです。
引用:
randomList = new Array(2, 3, 4, 5, 6, 7, 8, 9, 10);が記述されているのは、ステージタイムライン上に配置されたMCの1フレーム目ではありませんか?

ステージタイムラインの1フレーム目ですね。
レイヤーを追加してそこに配置しました
本の物と同じように忠実に作りました。^^;
こっちのScriptの方は関係無いだろうとは思いましたが
もしかしたら関係あるのかな?と思い、書き込みいたしました。
まだScriptは初心者なもので、理解しきれていません。

因みに追加でここで聞いて良いのか分りませんが

この「おみくじ」は
全部のおみくじを開いて確認できちゃいますので
「大凶だったから大吉が出るまでめくる!」というようにです。
一枚選んだらお終い!の様にLOOKをかける方法はないでしょうか
ご指導のほど、よろしくお願いします。
ひろゆき
Åê¹ÆNo.14114
投稿日時: 2005-1-16 0:26
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: ステージのタイムラインの指定したフレームにジャンプしたい
引用:
ステージタイムラインの1フレーム目ですね。
レイヤーを追加してそこに配置しました

フレームアクションとして記述したということですね?
レイヤーを追加して、MCを配置したということではないですよね?

引用:
本の物と同じように忠実に作りました。^^;

もし、忠実に作られているのであれば、書籍と同じように
on (release) {
pos = Math.floor(Math.random()*_parent.randomList.length);
mynum = _parent.randomList[pos];
_parent.randomList.splice(pos, 1);
gotoAndStop(mynum);
}
で、動くはずですよね?

何かを違うように作っているのでしょう。

おそらく、MCのなかにMCを作って、その中にボタンを入れているとか、
書籍に書かれているのとは違ったように作られているように思います。

それがどのように作られているのか、分からないので、
引用:
この「おみくじ」は
全部のおみくじを開いて確認できちゃいますので
「大凶だったから大吉が出るまでめくる!」というようにです。
一枚選んだらお終い!の様にLOOKをかける方法はないでしょうか
の質問に対する回答は、難しいように思いますが。

まずは、gotoAndStop() では動かず、
this._parent._parent.gotoAndStop() で動く原因をさぐる必要があると思います。
それには、何をどのように配置しているのか、それを説明されることだと思います。
特に、ボタンはどこに配置しているのでしょうか?

ちなみに、
on (release) {
pos = Math.floor(Math.random()*_parent.randomList.length);
mynum = _parent.randomList[pos];
_parent.randomList.splice(pos, 1);
trace(this);
this._parent._parent.gotoAndStop(mynum);
}
と、ボタンに記述して、
ムービープレビューで、そのボタンを押したら、何と表示されますか?

もし、書籍通りならば、「_level0.instance1」のように表示されると思うのですが・・・。

いま気づいたのですが、書籍通りならば、おみくじの結果を表示するフレーム
(kagemaruさんが作られたものであれば、10フレームまであるもの)
は、_rootのタイムラインではなくて、_rootに配置した「おみくじカード」というインスタンスのタイムラインのはずですよね?
長谷川
Åê¹ÆNo.14115
投稿日時: 2005-1-16 0:45
常連
居住地: 岐阜県
投稿: 84
使用環境:
OS[Windows XP]
ブラウザ[IE]
[Flash MX]
[Dreamweaver MX]
[Fireworks MX]
[FreeHand MX]
Re: ステージのタイムラインの指定したフレームにジャンプしたい
 ロックするのであれば変数を使ってみては?

onClipEvent (load) {
lock=0;
}
on (release) {

if (lock==0){
実行する処理
lock=1;
}

}

読み込んだときにlock=0にして実行されたらlock=1にする。こうするとlockの値を変えない限り処理がロックされます。

 他にも色々処理があって、kagemaruさんが今参考にしている本のように処理が行われたらgotoAndStopでボタンから「大吉」などのテキストにジャンプさせることでロックする方法もあります。パスが分かっていればすぐに出来る処理です。その本を最後まで読むとかなり力が付きます。私も初めてお世話になった本が「おしえてシリーズ」だったのでとても分かりやすくて良かったと思っています。
ひろゆき
Åê¹ÆNo.14116
投稿日時: 2005-1-16 1:01
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: ステージのタイムラインの指定したフレームにジャンプしたい
引用:
onClipEvent (load) {
lock=0;
}
on (release) {

if (lock==0){
実行する処理
lock=1;
}

}

これだと、その1枚だけがめくれなくなるだけではないかと思うのですが、
いかがでしょう?

//_rootのフレームアクション
_root.lock = 0;

//ボタン
on (release) {

if (_root.lock==0){
実行する処理
_root.lock=1;
}

}
とか。
_parentを使ってもいいと思いますが、
その場合には、_parent に lock=0 とする必要がありますね。

kagemaru
Åê¹ÆNo.14137
投稿日時: 2005-1-16 8:45
新米
居住地:
投稿: 22
使用環境:
WinXP FlashMX2004
Re: ステージのタイムラインの指定したフレームにジャンプしたい
ひろゆきさん

_level0.card1という答えが返ってきました。
ボタンを配置した場所は、このcard内の1フレーム目です。

はせがわさん

引用:
パスが分かっていればすぐに出来る処理です

はじめまして、はせがわさんの言うとおりです。^^;;
只今、猛勉強中です。

本ものと違う点は、
card内の2フレーム目?10フレーム目の結果の文字がでるとこを
それだけじゃ味気ないので、動的にしました。
トランプがめくれて文字がでる。
ようなmcを作り配置しました。
そのmcの中の最後のフレームにthis._parent._parent.gotoAndPlay(5);
と書きました。
トランプがめくれた後に、例えば「中吉」と表示後に
シーン1の5フレーム目に飛ぶという仕組みにしました。


この(トランプがめくれているmcが流れてる最中)に
他のトランプはめくれられない仕様にしたかったのです。

おわかりいただけたでしょうか?文章が下手ですみません。
ひろゆき
Åê¹ÆNo.14181
投稿日時: 2005-1-16 20:33
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: ステージのタイムラインの指定したフレームにジャンプしたい
引用:
そこで次は、出た結果に応じた
ステージタイムラインのフレームに移動したいのですが
引用:
ひろゆきさんの言う_root.で試してみましたが駄目でした。

これは、ステージのタイムラインのフレームに移動しなかったのでしょうか?
それとも、最初には書かれていなかったトランプがめくれて文字がでる動きがないまま、ステージのタイムラインのフレームに移動したのでしょうか?

既存のものを改造されたのであれば、
何を改造されたのかに触れなければ、誰にも分かりません。


_root のフレーム数、card のフレーム数 はいくつですか?

引用:
トランプがめくれて文字がでるようなmcを作り配置しました。

どこに配置したのでしょうか?

そのあたりを説明されないと、回答は得られづらいと思いますよ。

(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops