2011-12-19 8 views
0

現在のゲームにいくつか余分なテクスチャを追加したいと思います。すべての上にオーバーレイされたグランジテクスチャがあるとしましょう。AS3:すべてのレイヤーの上にレイヤーオーバーレイを追加しますか?

プロジェクト全体(バックグラウンドイメージを除く)がメインクラスに設定されています。

可能ですか?どうやって?

スクリーンショット:

enter image description here

答えて

5

確かに、ちょうどオーバーレイ上の任意のマウス入力を無効にし、それはそのことさえありのようになります。

public function LuckyHitBeta() 
{ 
    ... 

    var overlay:Sprite = new Sprite(); 
    overlay.addChild(/* your texture goes here as a Bitmap */); 
    overlay.mouseEnabled = false; 
    overlay.mouseChildren = false; 
    addChild(overlay); 
} 
+0

奇妙な、どんなに私はAS3にオブジェクトをリンクしたり、それの名前でそれを呼び出す場合、私は常に '取得します定義されていないプロパティへのアクセスartGrunge1.'ライブラリにありますか、ローカルで呼び出す必要がありますか? –

0

カント完全に正しい構文を覚えていますが、単に行うことができませんでした。

import flash.display.Stage; 
public class GlobalStage extends MovieClip 

public static var theStage:Stage; 
public static var theRoot:MovieClip; 

public function GlobalStage() { 
    theStage = this.stage; 
    theRoot = this.root; 
} 
var grunge:MovieClip = new Grunge(); 
var topDepth:uint = theStage.numChildren()-1; 
theStage.addChildAt(grunge, topDepth) 
+1

'addChild'関数は自動的にそれをスタックの先頭に追加するので、それをさらに下げない限り、' addChildAt'を使う必要はありません。 –

+0

ありがとう、私はこれを取得しています: '静的型flash.display:Stage.'の参照でアクセスできないメソッドnumChildrenにアクセスしようとしました。 –

+0

@atonparker - これは複数のオブジェクトを追加するためのforループでのみ使用すると思います – tetris11

関連する問題