Hwa*_*ang 3 bitmap button actionscript-3
如何将位图设置为按钮,以便我可以在其上应用按钮模式和鼠标事件,而无需将位图添加到影片剪辑?
var bmpFull=new Bitmap(event.currentTarget.content.bitmapData);
bmpFull.smoothing=true;
bmpFull.name="photo";
bmpFull.alpha=0;
//fullMC.buttonMode=true;
fullMC.addChild(bmpFull);
Run Code Online (Sandbox Code Playgroud)
遗憾的是,Bitmap对象不会从InteractiveObject类扩展 - 也就是说,它们没有(并且不能轻易获得)接收鼠标事件的能力.
正如antpaw和Jeremy White在前面的回答中指出的那样,接收鼠标事件的最简单的容器类是Sprite类.因此,如果您想要一个Bitmap接收鼠标事件,而不是使用MovieClip,您可以使用一个Sprite:
var bmpFull:Bitmap = new Bitmap(event.currentTarget.content.bitmapData);
bmpFull.smoothing = true;
bmpFull.name = "photo";
bmpFull.alpha = 0;
var bmpContainer:Sprite = new Sprite(); // can receive mouse events, for example:
bmpContainer.addEventListener(MouseEvent.CLICK, clickHandler);
bmpContainer.buttonMode = true; // this just makes it show the hand cursor, and is not necessary for the mouse events to work
bmpContainer.addChild(bmpFull);
Run Code Online (Sandbox Code Playgroud)
事实上,我建议使用Sprite,因为它们比MovieClip更简单,因此不需要太多内存.
现在,如果您想在不使用任何类型的容器剪辑的情况下制作Bitmap调度鼠标事件,您可能需要编写自己的Bitmap类扩展,该类具有自己的事件管理器.那将远非复杂得多.我强烈建议只使用Sprite作为容器.
| 归档时间: |
|
| 查看次数: |
4532 次 |
| 最近记录: |