2011-03-17 56 views
0

這是可能的還是需要我這樣做呢?問題是該事件沒有響應。flash.display.Bitmap可以自己設置事件嗎?

[Embed(source="pic1.jpg")] 
    private var Img1:Class; 

    var i1:Bitmap = new Img1(); 

    // not working 

    i1.addEventListener(MouseEvent.CLICK, function(e:MouseEvent) { 
     t.htmlText = "Click!"; 
    }); 

回答

1

正如你可以看到Here,位圖是不是嫡系InteractiveObject。只有交互式對象可以成爲Flash輸入過程的一部分。

做你想做的封裝與雪碧的位圖什麼:

[Embed(source="pic1.jpg")] 
private var Img1:Class; 

var i1:Bitmap = new Img1(); 
var s1:Sprite = new Sprite(); 

s1.addChild(i1);  

s1.addEventListener(MouseEvent.CLICK, function(e:MouseEvent) { 
    t.htmlText = "Click!"; 
}); 
+0

你爲什麼不能設置圖像或精靈的寬度和高度?什麼是調整圖像大小的最佳解決方案?幾年前,我做了一個使用as3的flash影像解決方案,而且一切都是影片剪輯。但現在我想在Flash Builder的純粹項目中做一個解決方案。精靈和影片剪輯有很多不同之處。也許movieclips比sprite有更多的功能? – marko 2011-03-17 11:17:18

+0

@marko您可以像設置其他任何設置一樣設置精靈的寬度和高度,最終結果就好像您修改了scaleX和scaleY值。根據您的需要,使用寬度/高度或scaleX/scaleY(後者更不容易出現人爲錯誤)。 Sprite和MovieClip之間唯一的區別是後者可以有多個幀,這在僅限AS的環境中是沒有用的(除非您加載從Flash Professional導出的MC)。如果您不需要此功能,請使用Sprite。 – Maurycy 2011-03-17 11:27:27

+0

好的,非常感謝! – marko 2011-03-17 11:30:06

相關問題