【发布时间】:2015-07-01 23:15:16
【问题描述】:
我在屏幕上拥有三个来自同一个加载器的图像。单击后,我需要删除特定(目标)位图。我在下面有一个 onClick 功能,非常感谢任何帮助。谢谢!
var nb_images:int = 3;
var bmp:Bitmap = new Bitmap;
var img_margin:int = stage.stageHeight/3.5;
var img_request:URLRequest;
var img_loader:Loader;
var images_container:Sprite = new Sprite();
addChild(images_container);
function remove_all_images():void {
for (var i:int = images_container.numChildren - 1; i >= 0; i--) {
images_container.removeChildAt(i);
}
}
function load_images():void {
remove_all_images();
for (var i:int = 0; i < nb_images; i++) {
img_request = new URLRequest('../img/planet' + (int(nb_images * Math.random())) + '.png');
img_loader = new Loader();
img_loader.load(img_request);
img_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, on_img_loaded);
}
}
function on_img_loaded(e:Event):void {
e.currentTarget.removeEventListener(Event.COMPLETE, on_img_loaded);
bmp = e.currentTarget.content;
bmp.x = 600, bmp.width = bmp.height = 80;
bmp.y = images_container.numChildren * (bmp.height + img_margin);
images_container.addChild(bmp);
stage.addEventListener(MouseEvent.CLICK, onClick);
function onClick(event:MouseEvent):void {
removeChild(e.target);
}
}
load_images();
【问题讨论】:
-
特定(目标)位图是什么意思?您是否尝试在单击时删除位图?现在,您的代码会监听(三次)舞台上的点击,然后尝试从
DisplayList中删除e.target(甚至不是DisplayObject)。请详细说明您要删除的具体内容以及尝试删除的时间。 -
我有三张图片,每张图片在上面的代码中均匀分布在一条垂直线上。我只是想做一个鼠标事件,允许我删除我点击的图像。我意识到 e.target 不是 DisplayObject,这是我需要帮助的,谢谢。希望这会带来清晰。
标签: image function actionscript-3 bitmap removechild