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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     指定したフレームに飛ばしたいけど飛ばせません。
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ニューライス
Åê¹ÆNo.31652
投稿日時: 2007-1-28 20:12
常連
居住地:
投稿: 81
使用環境:
MacOSX(10.4.2)
Flash8
指定したフレームに飛ばしたいけど飛ばせません。
こんにちは、ニューライスです。
またもつまずいてしまい、お力を貸して頂きたく書き込みました。

_rootにムービークリップ(main_mc)を配置。
main_mc内はmc1、mc2とフレームラベルつけて分けています。

main_mcの1フレーム目に

function xNext(){
	this.onEnterFrame = function(){
		if(this._alpha >= 0){
		this._alpha -= 5;
		}
		if(this._alpha <= 0){
			trace(snext);
			this.gotoAndPlay(snext);
			delete this.onEnterFrame;
		}
	}
}
this.stop();


そのmc1フレームにムービークリップボタンを配置して

on(release){
	this._parent.snext = mc1;
	this._parent.xNext();
}


という状況です。

ここで自分で考えた原因は、
-----------------------------
・gotoAndPlay()でフレームラベルに飛ばす場合、引数が"name"になるのですが。「""」を入れていない。※入れ方が分からない
・trace(snext)で変える値が「undefined」となっている
------------------------------

この2点が原因だと思っています。

また、変数snextに数値(例えば21とか)を代入するとちゃんと値が返ってきます。
そこでtrace(_currentframe)してみましたが
gotoAndplay(snext)で21フレームに飛び、その後動かないのです。
まるでgotoAndStop()みたいです。

どなたかご指導お願いします‥。



野中文雄
Åê¹ÆNo.31653
投稿日時: 2007-1-28 21:23
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 指定したフレームに飛ばしたいけど飛ばせません。
問題は、ひとつひとつ分けて考えましょう。→【問題の切分けをしない

引用:
ニューライスさんは書きました:
そのmc1フレームにムービークリップボタンを配置して
on(release){
	trace(mc1);
	this._parent.snext = mc1;
	// this._parent.xNext();  // 一旦脇に置く
}

という状況です。
...[中略]...
・trace(snext)で変える値が「undefined」となっている

単純にフレーム移動すれば、停止せずに再生されるのですか?
on(release){
	this._parent.gotoAndPlay(21);
}

引用:
そこでtrace(_currentframe)してみましたが
gotoAndplay(snext)で21フレームに飛び、その後動かないのです。
まるでgotoAndStop()みたいです。


----------------
 

ニューライス
Åê¹ÆNo.31656
投稿日時: 2007-1-28 22:15
常連
居住地:
投稿: 81
使用環境:
MacOSX(10.4.2)
Flash8
Re: 指定したフレームに飛ばしたいけど飛ばせません。
野中さん、おひさしぶりです。
いつもありがとうございます。
「モーショングラフィックスで学ぶ「ActionScript」」読ませてもらいました!
相当分かりやすかったです。独学でやってきた自分にとって、
スクリプトの組み立て方の基本の考え方が固まり、助かりました。
次なる本を出す予定があれば楽しみにしています。

あ、余談ですみません。

掲題の件ですが、かなり欲張って質問してしまいました。

まず「trace(mc1);」を実行したところ「undefined」がでました。
これは、mc1というオブジェクトが存在するかを確認したという意味でしょうか?(traceの使い方が今ひとつ分からないです。)


引用:
単純にフレーム移動すれば、停止せずに再生されるのですか?


今、_currentframeでフレームを確認したら、飛んでなかったです。stop();がかかってる20フレームのままでした‥。

なんか根本的なところで、間違っているような香りがします。
でも、何かが分からないです‥。

ebi
Åê¹ÆNo.31659
投稿日時: 2007-1-28 23:38
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: 指定したフレームに飛ばしたいけど飛ばせません。
ebiです。ニューライスさん、こんにちは。

引用:
なんか根本的なところで、間違っているような香りがします。

プンプンしますねぇ。 でも、おしいとこ、ついてます。

引用:
・gotoAndPlay()でフレームラベルに飛ばす場合、引数が"name"になるのですが。「""」を入れていない。※入れ方が分からない

まず、これですが、単純にラベル名を""で囲めば良いだけです。
(「mc1」は変数ではなく、ラベル名ですよね?)

現状
this._parent.snext = mc1;
ですが、
this._parent.snext = "mc1";
と、このように。

引用:
・trace(snext)で変える値が「undefined」となっている

囲まないと「mc1」という名の変数の値を参照するって事になっちゃいます。
そもそもラベル名のmc1ですから、変数として値が設定してあるわけないので
undefinedになっちゃったわけです。
ニューライス
Åê¹ÆNo.31660
投稿日時: 2007-1-29 0:22
常連
居住地:
投稿: 81
使用環境:
MacOSX(10.4.2)
Flash8
Re: 指定したフレームに飛ばしたいけど飛ばせません。
ebiさん
いつも助けてくれてありがとうございます(笑)

引用:
(「mc1」は変数ではなく、ラベル名ですよね?)

そーです。ラベル名です。

引用:
現状
this._parent.snext = mc1;
ですが、
this._parent.snext = "mc1";
と、このように。


このようにしてみたのですが、やはり飛びません‥。

「undefined」はなくなりました。出力ウインドウには「mc1」と
表示されます。
snextはちゃんとmc1を受け取ってるんですけど、gotoAndPlay(snext);が実行されないです。

いろいろ試しているのですが、全然、分からない感じになってきちゃいました。

むむむ
ebi
Åê¹ÆNo.31661
投稿日時: 2007-1-29 0:43
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: 指定したフレームに飛ばしたいけど飛ばせません。
ebiです。1つ変だなぁと思うのは、
引用:
そのmc1フレームにムービークリップボタンを配置して

これです。
そのボタンにはジャンプ先として「mc1」を指定(変数に代入)してますが、
mc1ってそのボタンがある正にそのフレームですよね?
京都に住んでる人が「そうだ、京都いこう」(by.JRとうかい)と
ゆってるようなもので。

そういうのもひっくるめて、ちょっとサンプル作ってみます。
動作として、どういうものがお作りになりたいかは、なんとなく
分かるので。しばしお待ちを。(=_=)
ebi
Åê¹ÆNo.31662
投稿日時: 2007-1-29 1:04
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: 指定したフレームに飛ばしたいけど飛ばせません。
ebiです。ってわけで、作りました。

ココ

味も素っ気もないモンで堪忍です。

それぞれのボタンを押すと、ジャンプします。
ジャンプ先がどうなってんのかは分からなかったので、
とりあえず、_alphaが0のままじゃ見えないので、
100にして再生スタート、一定フレームに達したら
フレーム1に戻ってくるようにしときました。

ご自分のスクリプトやムービー構造と比べてみてください。
何か原因が分かるかもです。(分かったならFBを)

あと、ルートのフレームにtraceについて、ちょっと
解説しておきました。参考になるかどうか分かりませんが。
ニューライス
Åê¹ÆNo.31663
投稿日時: 2007-1-29 1:10
常連
居住地:
投稿: 81
使用環境:
MacOSX(10.4.2)
Flash8
Re: 指定したフレームに飛ばしたいけど飛ばせません。
ありがとうございます。

あーそういえば、そうですね、まさに「京都いこう」感覚ですね。

実際細かく説明すると、mc1からmc4までのフレームラベルがついていて、mc1?mc4のそれぞれの最後のフレームにムービークリップボタンを配置しています。
mc1にあるボタンをクリックするとmc2へ飛ぶみたいなものを作ってます。

ひとつ思ったのが、
on(release)でthis._parent.xNext();を実行しますよね?
そのとき、どうやら指定のフレームには飛んでるみたいです。
(フレームラベルではなく、フレーム数で試したら、指定したフレームに飛びました。)

でも、そのままそのフレームから動かないんです。
多分、on(release)で、1回しかこの関数が実行されないため、gotoAndPlay(フレーム数);で飛ばしても、とんだ先のフレーム(例えば21フレーム)から先が再生されないみたいです。(推測ですけど)

多分、gotoAndPlay();じゃなくnextFrame();とかでフレームを動かしてあげないと、再生されないのかなと思いました。

そういうものなんでしょうか?

gotoAndPlay();の意味ないじゃん!と一人でへこんでました。
ひろゆき
Åê¹ÆNo.31664
投稿日時: 2007-1-29 1:16
ちょんまげら
居住地: 東京砂漠
投稿: 4403
使用環境:
10.8.5

Flash Professional CS4/CS6/CC

Safari 6.1
Re: 指定したフレームに飛ばしたいけど飛ばせません。
引用:
いろいろ試しているのですが、全然、分からない感じになってきちゃいました。

こういう場合は、たいてい、ご自身でも整理できていない、
したがって、第三者にも分かるような説明ができていないという状態でしょう。

第三者が同じものを作ることができるようなな説明を心がけるべきです。

(1) main_mc の構造が不明。

"mc1"フレーム、"mc2"フレームとは、第何フレームで、
そこに、何が配置されているのか。

また、第1フレーム以外にスクリプトは一切記載していないのか?
stop(); もスクリプトです。

(2) ムービークリップボタンとあるが、これはムービークリップかボタンか?

などの説明を付記すべきでしょう。


まさか、"mc2"フレームに、stop(); を記述していたりしませんよね?


----------------
質問する際は、回答者に具体的な情報を与えてください。

ebi
Åê¹ÆNo.31665
投稿日時: 2007-1-29 1:28
フォーラム芸人
居住地: nagoya
投稿: 926
使用環境:
.6.8
CS6
<参考書>
・基本からしっかりわかるActionScript 3.0(既読)
・ActionScript3.0プロフェッショナルガイド(進行中)
・ActionScript3.0パフォーマンスチューニング(未読)
・ActionScript 3.0 逆引きクイックリファレンス(購入予定...
Re: 指定したフレームに飛ばしたいけど飛ばせません。
ebiです。

引用:
多分、gotoAndPlay();じゃなくnextFrame();とかでフレームを動かしてあげないと、再生されないのかなと思いました。
そういうものなんでしょうか?
gotoAndPlay();の意味ないじゃん!と一人でへこんでました。


いえ、そういうものじゃないはずです。
実際、僕はnextFrame();を使った事ないです。

で、これについては『このへん』が原因じゃないかと。

追記 - - - - - - - - - - - - -

ああ、ひろゆきさんもサラッと言っておられますわ。すんません。

追々記- - - - - - - - - - - -

引用:
実際細かく説明すると、mc1からmc4までのフレームラベルがついていて、mc1?mc4のそれぞれの最後のフレームにムービークリップボタンを配置しています。
mc1にあるボタンをクリックするとmc2へ飛ぶみたいなものを作ってます。

ああ、じゃあ、さっき作ったサンプルは微妙に違ってましたね。mc1→mc2→mc3→mc4と順番に飛ぶのなら、単に play(); でも良さそうですけど。
もっとも、これもどういう構造なのか分かんないので何とも言えませんが。(´?`;)ゞ
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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