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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     attachMovieの深度について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
ゲスト
Åê¹ÆNo.16833
投稿日時: 2005-4-23 0:30
attachMovieの深度について
初めましてp-auraと申します。

シューティングみないなゲームを作ろうとしているのですが、
主人公のムービークリップに

on (keyPress "<Space>") {
this.attachMovie("シンボル識別子","インスタンス名",++n)
}

とスクリプトを記述して主人公から玉が発射されるようにしました。
FLASH5(AS1.0)で作成した時には上記の記述で主人公から玉が連続発射されたのですが、FLASH2004(AS2.0)で記述した場合には玉が連続発射されませんでした。
1発玉が発射されて飛んでいる時にスペースキーを押すと、先に発射した玉が消えて新しい玉が発射されます。連続に玉がどうしてもでません・・・。
多分、深度の記述がおかしいのではないかと思うのですけど。

説明が下手かもしれませんが、どなたか解る方がいらっしゃったら教えてください。お願いします。
rin-ko
Åê¹ÆNo.16834
投稿日時: 2005-4-23 0:48
職人
居住地: 東京
投稿: 397
使用環境:
MacOSX10.5/10.4
WinXP SP3
MX2004Pro/CS3
Re: attachMovieの深度について
こんにちは。
深度を管理する変数nの初期値を定義してあげればよいのではないでしょうか。
Flash5から移行すると、結構とまどう部分もあると思いますので、
以下のページに目を通されるとよいですよ。

Flash MX 2004でハマりがちな問題点
野中文雄
Åê¹ÆNo.16836
投稿日時: 2005-4-23 2:58
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: attachMovieの深度について
問題の解決に当たって、切分けや絞込みを行うことにより、「単純化」することは重要です。しかし、ご自分の記述された処理内容を、「抽象化」すべきではありません。

正しく動作しないということは、単純なスペルミスの可能性も含め、具体的な記述内容をチェックする必要があるからです。たとえば、以下の記述が、実際の内容を正確に抽象化しているものと仮定すれば、「"インスタンス名"」がすべて「同一」だということになります。今回の問題に直接関係はしないと考えられるものの、インスタンス名はすべてユニークにすべきです。
引用:
p-auraさんは書きました:
on (keyPress "<Space>") {
    this.attachMovie("シンボル識別子","インスタンス名",++n)
    trace(this["インスタンス名"].getDepth());
    trace(n);
}
とスクリプトを記述して主人公から玉が発射されるようにしました。
FLASH5(AS1.0)で作成した時には上記の記述で主人公から玉が連続発射されたのですが、FLASH2004(AS2.0)で記述した場合には玉が連続発射されませんでした。

「深度の記述がおかしい」と見当をつけられたのであれば、上記のようにスクリプト中にtrace()ステートメントを挿入するなどして、それを確認すべきでしょう。
引用:
1発玉が発射されて飛んでいる時にスペースキーを押すと、先に発射した玉が消えて新しい玉が発射されます。連続に玉がどうしてもでません・・・。
多分、深度の記述がおかしいのではないかと思うのですけど。


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

ゲスト
Åê¹ÆNo.16862
投稿日時: 2005-4-24 22:16
Re: attachMovieの深度について
回答ありがとうございました。抽象化しすぎてすみませんでした。
以後気をつけます。

ご忠告どうりtrace()ステートメントを挿入してみたら、やはり深度が変わってませんでした。

お粗末な質問ですみませんでした。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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