2011-08-10 11 views
1

私は、Flexのメインシーンにオーバーレイを追加しようとしています。Flexでシースルーオブジェクトとしてマスクを追加する

ユーザーは、楕円形で公開されている要素とのみ対話できます。ここで

が私のコードです:Flash Builderで

<!-- Our black overlay --> 
<s:Graphic width="100%" height="100%" cacheAsBitmap="true" mask="{this.focus}" 
      maskType="{MaskType.CLIP}"> 
    <s:Rect width="100" height="100"> 
     <s:fill> 
      <s:SolidColor alpha="0.7" color="0x000000" /> 
     </s:fill> 
    </s:Rect> 
</s:Graphic> 

<!-- Our mask --> 
<s:Group id="focus" cacheAsBitmap="true"> 
    <s:Ellipse id="ellipse" x="150" y="150" width="100" height="100"> 
     <s:fill> 
      <s:SolidColor color="0xFFFFFF" /> 
     </s:fill> 
    </s:Ellipse>  
</s:Group> 

、オーバーレイは、必要に応じて動作するようです:ゲーム内でレンダリングされたよう

Overlay with see-thru in Flash Builder

しかし、ここでは効果である:

Effect in Application

私が探しているものの反対ですか?どんな助けもありがとうございます。

ありがとうございました。

------------- EDIT -----------------

@HotN:ご協力いただきありがとうございますが、とにかくそこにあります周辺エリアにアルファを追加するには?アイデアはゲームの残りの部分が目に見えるようにすることです。

enter image description here

答えて

0

ではなく黒い長方形の上にあなたの街頭画像を入れて、代わりにあなたのアクティブな画像のためのマスクとして楕円を使用してみてください、黒い四角形をマスクしようとしています。

関連する問題