2011-08-10 4 views
0

イメージを表示する次のコードがあります。第一フレックスイメージマウス

<mx:Image source="{ConfigApp.getResourcesPath()}/img.jpg" id="imgOne" 
    mouseOver="imgOne.source=ConfigApp.getResourcesPath()+'/img_over.jpg'" 
    mouseOut="imgOne.source=ConfigApp.getResourcesPath()+'/img.jpg'"/> 

私は2つの問題を持っている私は、画像の上にマウスを高速で通過した場合、いくつかの回マウスオーバー画像と画像の状態が(mouseOutイベントが検出されません)。

第2回:マウスが終わった瞬間に、画像がない場合は数ミリ秒かかるので、マウスが切れるたびに白いフラッシュのように見えます。

答えて

1

...このようにそれらを切り替えて、それがすべての問題を解決しますリロード時に画像がちらつくことがないようにするには、2つの画像を1つずつ用意する必要があります。バックグラウンドは、フォアグラウンドのロードが完了した後にのみリロードされます。実際には、あなたの画像はちらつきますが、あなたはそれを見ません:

<mx:Canvas> 
    <mx:Image id="imgBkg"/> 
    <mx:Image id="imgFrg" 
     source="{something}" 
     complete="imgBkg.source = imgFrg.source"/> 
</mx:Canvas> 
4

第2号: 毎回画像を読み込むと、このフラッシュはリモート接続時に悪化します。その代わりに、クラス内のイメージを変更し、クラス参照を切り替えます。あなたの場合、ポイントへの

[Bindable] public var isOurMouse:Boolean = false; 

<mx:Canvas> 
    <mx:Image source="{ConfigApp.getResourcesPath()}/img.jpg" 
     mouseOver="isOurMouse = true" 
     mouseOut="isOurMouse = false"/> 
    <mx:Image source="{ConfigApp.getResourcesPath()}/img_over.jpg" 
     mouseEnabled="false" mouseChildren="false" 
     visible="{isOurMouse}"/> 
</mx:Canvas> 

[Embed(source="/assets/imageOver.png")] 
public static const overImage:Class; 
[Embed(source="/assets/img.png")] 
public static const image:Class; 

その後、私はむしろこのような何かを作ると思います

<mx:Image source="{image}" id="imgOne" 
    mouseOver="imgOne.source=overImage" 
    mouseOut="imgOne.source=image"/> 
+0

このような何かが動作するはずです。 http://blog.benstucki.net/?p=42 – SuperSaiyen