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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     クラス内でフレームを移動させる方法が分かりません。
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
kana88
Åê¹ÆNo.37707
投稿日時: 2008-2-20 18:21
新米
居住地:
投稿: 3
使用環境:
WinXP,Flash CS3
クラス内でフレームを移動させる方法が分かりません。
ActionScript3.0を使っています。

そのままメインフレームに
gotoAndPlay(2)
と書けば、2番目のフレームに移動するのですが
クラス内にフレーム移動の処理を書きたい場合に、どう書けばいいのかが分かりません

そのままクラス内で同じように書くと
1180: 未定義である可能性が高いメソッド gotoAndPlay の呼び出しです。
とコンパイルエラーが出ます。

abc_mcというムービークリップをクラスへ引数として渡せば
abc_mc.gotoAndPlay(2)
でabc_mc内の2フレーム目に移動する事は出来ます。

abc_mc.gotoAndPlay(2)のabc_mcの部分に何を書けばメインフレームを操作できるようになるのでしょうか?
それともクラスを使う場合は表示部分全体を一つのムービークリップとして作らないといけないのでしょうか?

単純な解決方法としてクラス内にある「ある処理をした場合にgotoAndPlay(2)」という処理をメインフレームに書けばいいのですが、
それだとクラスの中に書いた処理の大部分をメインフレームに書く事になり、クラスを使う意味が無いような気がして困っています。

どなたかご教授お願い致します。
ニノミヤ カズノリ
Åê¹ÆNo.37708
投稿日時: 2008-2-20 18:38
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: クラス内でフレームを移動させる方法が分かりません。
これはドキュメントクラスの話でしょうか?
gotoAndPlayはMovieClipクラスのメソッドです。
gotoAndPlayをさせようとしているクラスはMovieClipクラスを継承していますか?
kana88
Åê¹ÆNo.37709
投稿日時: 2008-2-20 20:10
新米
居住地:
投稿: 3
使用環境:
WinXP,Flash CS3
Re: クラス内でフレームを移動させる方法が分かりません。
早速の返信ありがとうございます。
ドキュメントクラスというのがあったのですね。。。
MovieClipクラスは継承していたのですが、ドキュメントクラスとして指定していませんでした。
無知で申し訳ありません。
根本的にやり方が間違っていたようです。

ドキュメントクラスであれば普通に
gotoAndPlay(2)
だけでメインフレームの移動ができるようになるのでしょうか?

とにかく1週間ほど悩んでいたので、解決につながりそうなキーワードが見つかって助かりました。
ドキュメントクラスについてもっと調べて色々と試してみた後で
分からなかったらまたこのスレッドへ質問させて頂きます。
ありがとうございました
ニノミヤ カズノリ
Åê¹ÆNo.37710
投稿日時: 2008-2-20 21:57
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: クラス内でフレームを移動させる方法が分かりません。
ドキュメントクラスの話なのか聞いたのは、
私が内容をいまいち読み取れていないからです。

まず、AS3.0ではgotoAndPlay関数(グローバル関数)が存在しないと言うのはご存知でしょうか?
この事からAS1.0/2.0の様に好きなところに記述すると未定義エラーになります。

引用:
kana88さんは書きました:
ドキュメントクラスであれば普通に
gotoAndPlay(2)
だけでメインフレームの移動ができるようになるのでしょうか?

確かに、MovieClipを継承したものをドキュメントクラスに設定すれば、
gotoAndPlay(2);

上記でメインフレームの移動は出来るでしょう。
ただしそれはドキュメントクラス内に書かれた場合のみです。

これがもし、abc_mcからメインフレームを操作したいとなった時、
また記述方法が変わります。
kana88
Åê¹ÆNo.37712
投稿日時: 2008-2-21 13:21
新米
居住地:
投稿: 3
使用環境:
WinXP,Flash CS3
Re: クラス内でフレームを移動させる方法が分かりません。
あれからドキュメントクラスを調べたり、実際にドキュメントクラスにして試したりしていたのですが
ドキュメントクラスにしてしまうとコンストラクタに引数を渡せないという事にやっと気づきました
ドキュメントクラスを使えば何でもできると勘違いしてはしゃいでいた自分が恥ずかしいです
結局ドキュメントクラスを使うのはやめました。

引用:
まず、AS3.0ではgotoAndPlay関数(グローバル関数)が存在しないと言うのはご存知でしょうか?
この事からAS1.0/2.0の様に好きなところに記述すると未定義エラーになります。

そうだったんですね、知りませんでした

それとここで同じような質問をされている方が以前に居たんですね。
googleで調べていくうちにたどり着きました。
6814.mcから_parent.gotoAndPlayができない
ごめんなさい。スレッドの表示が「全て」になっていなかったので見つけれませんでした。
このフォーラムの使い方も覚えた方が良さそうですね

とにかく、そこでニノミヤさんが書いていた内容を見て無事クラス内でのメインフレームの操作が出来ました!

MovieClip(abc_mc.parent).gotoAndPlay(2);


と書いたら無事クラス内の処理でメインフレームの操作が出来ました。
amc_mcは実際の処理とは直接関係ないムービークリップなんですが、作成したクラスのコンストラクタに引数で渡して
そこをとっかかりにして、無理やりメインフレームのタイムラインへよじ登りました。


私のような無知な人間の相手をして下さり感謝しています。
ありがとうございました
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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