大学の課題で簡単なFLASHゲームを作っているのですが
アクションスクリプトの書き方で質問させてください。
最初の画面のスタートボタンを押したら、フレーム50からあるOPムービー的なものへ行き再生したいのですが
うまくいきません。
最初のページには森の絵があり、枝が揺れているので
枝を揺らすために
別にアクションスクリプトを記述するだけのレイヤーをつくり
this.gotoAndPlay(19)
と書いてします。
この事で、全てのレイヤーが19~40をループしているようです。
スタートボタン(ボタンで作りました)を押す事で、
このループを抜けて、50フレームに行くのはどうしたらいいでしょうか
昨夜から本やサイトを見ているのですがどうにも失敗します
on(press)関係をボタンをつけたレイヤーに書くとthis.gotoAndPlay(19)がきかず全て再生されてしまいます。
いまいちFLASHが理解できておらず、質問内容もガタガタですが
何とぞ宜しくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
#1(ANo.1)です。
犬をつかまえて「投げたフリスビーを取れ」と命令するのです。
(ボタンを選択して「フレーム50に進めろ」とめいれいするのです。)
> ボタンを編集するところでは(アップ、オーバー、ダウン等のあるところです)
それは,犬で言えば内臓です。
犬の肝臓に 「投げたフリスビーを取れ」 と命令はできないでしょう?
> 「マウスイベントはボタンインスタンスでのみ使用できます」
「マウスイベントは」
とは #1 で書いた onハンドラ のことです。
onハンドラ は元来ボタンにしか書けなのでそういうメッセージが出るようになっています。
Flash MX 以降(Flash Player 6 以降)になって,
ムービークリップ自体にも書けるようになりましたが,
元来 onハンドラ は ボタンにしか書けなかったので,
フレームを選択して onハンドラ を書こうとすると,
「マウスイベントはボタンインスタンスでのみ使用できます」
→ onハンドラ は ボタン自体 のみに書けます
というメッセージが出ます。
実際は
「マウスイベントはボタンインスタンスもしくはムービークリップインスタンスでのみ使用できます」
に変更すべきでしょうが,そう変更されていないようです。
そんなことはどうであれ,
「ステージ上のボタン」をひっ捕まえてActionScriptを書くのです。
レイヤー(フレーム)ではありません。
ステージ上に見えているボタンです。
あと,ひょっとして,
ファイル→パブリッシュ設定でFlashタブを選択すると,
ActionScript のバージョンが ActionScript 3.0 に設定されていませんか?
onハンドラ は ActionScript 2.0 以下 に存在するスクリプトで ActionScript 3.0 にはありませんよ。
もし パブリッシュ設定 で ActionScript のバージョンが ActionScript 3.0 に設定されていたならば,
ActionScript 2.0 や 1.0 にすべきです。
(というか,
もし ActionScript 3.0 に設定されていたならば,
> on(press)関係をボタンをつけたレイヤーに書くと
などという表現はしないはずです。
ご質問に
> on(press)関係をボタンをつけたレイヤーに書くと
と書かれていらっしゃるので,
こちらは自動的に ActionScript 2.0 以下だと判断して回答しています。)
No.1
- 回答日時:
> on(press)関係をボタンをつけたレイヤーに書くと
ここの部分が一番わかりませんね。
on(press) や on(release) や on(rollOver) など onハンドラは
レイヤー(フレームのこと?)には書けませんよ。
onハンドラ は ボタン(またはムービークリップ)を選択して,
その状態で表示されるアクションパネルに書くスクリプトです。
つまり
onハンドラ は ボタン自体(またはムービークリップ自体)に書くスクリプトです。
ですから,
ボタンを選択して,
そのボタン自体に
-------------------------
// このボタンをプレスしたとき
on(press){
// このボタンがある階層をフレーム50に進めて停止
gotoAndStop(50);
}
-------------------------
などと書けば良いだけかと思いますが。
※ 通常の クリック を示すスクリプトは,
on(press) [←押したとき]ではなく
on(release) [←押して放したとき] ですが...。
回答ありがとうございます、そして申し訳ないのですが成功しません
ボタン自体(またはムービークリップ自体)に書くとのことですが
ボタンを編集するところでは(アップ、オーバー、ダウン等のあるところです)
「現在の選択範囲にアクションを割り当てる事はできません」
といわれ
シーンでボタンを選択して書くと
エラーのところに
「マウスイベントはボタンインスタンスでのみ使用できます」と言われてしまいます
初歩的なことかもしれませんが、記述するところについて詳しく教えて頂けると幸いです
申し訳ございません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 画像編集・動画編集・音楽編集 動画をディスク作成すると画像が乱れる。 4 2022/06/24 07:49
- Windows 10 windows10のクリーンインストールが完了出来ない 2 2022/06/04 13:33
- Visual Basic(VBA) VBAで早押しゲームを作りたい 4 2022/05/12 13:46
- マルウェア・コンピュータウイルス FlashPlayerの削除とマルウェア感染について 5 2023/02/23 20:52
- 画像編集・動画編集・音楽編集 daVinciResolveの再生プレビュー画面がカクつきます。 daVinciResolve18を 2 2023/01/20 01:35
- docomo(ドコモ) 携帯 arrows we の操作 4 2023/03/29 18:53
- プリンタ・スキャナー キャノンmp490プリンター【エラー番号5400】で【プリンタートラブルが発生しました。電源を入れ直 2 2023/07/24 17:45
- その他(プログラミング・Web制作) uwscとWinShotを使いスクリーンショットを撮る 1 2022/06/30 21:15
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- Excel(エクセル) excelvbaのenableeventsについて 3 2022/08/30 11:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
arduino プログラムについて
-
Suzukaで一行ニュースティッカ...
-
YOASOBI
-
ダブルクリックと2回クリックの...
-
プログラミング、アーキテクチ...
-
【VB.NET】別Formのボタンが押...
-
Pythonのtkinterについて
-
ipconfig /releaseって何ですか?
-
SNMPの標準MIBについて
-
pythonのグローバル変数
-
PYTHONのtkinterについて
-
UWSCのBTN関数について。
-
else if文の順序を変えることに...
-
VB6.0のHideのバグ?
-
四乗根を英語で言うと・・・
-
マウス 追従 範囲外
-
テキストボックスにセルの値を...
-
webページ上、TABフォーカス出...
-
IBM Watson Text to Speechを始...
-
時計の:を点滅させたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
arduino プログラムについて
-
×ボタンを無効化したいのですが...
-
VB 基本的なプログラム √ ...
-
FlashからPHPへの値の受け渡し
-
FLASH ボタンフォーカスインし...
-
ダブルクリックを無効にするには
-
移動位置が狂ってしまう
-
ボタンをクリックして画面遷移...
-
ボタンと連動したフェードイン...
-
FlashからPHPへの変数の渡し方...
-
ムービークリップの中のボタン...
-
Flashのロゴ
-
指定したURLを開くアクショ...
-
FLASH MX ロールオーバーボタン
-
FLASHからメールの送付
-
photoshopで書いた四角の枠の中...
-
VBAで改行の入ったデータの正規...
-
YOASOBI
-
VBScriptでMsgBoxのYesNoボック...
-
プログラミング、アーキテクチ...
おすすめ情報