ZBLOG

var imageArray:Array = []; for (var i:int = 0; i < 10; i++) { var img_mc:MovieClip = new Image(); // 这里使用自己定义的 Image 类来创建新图像 addChild(img_mc); img_mc.x = Math.random() * stage.stageWidth; img_mc.y = Math.random() * stage.stageHeig

好的,以下是可以实现删除图片功能的代码(AS2):

首先,你需要有一个包含所有图片对象的数组 imageArray。在这个数组中添加每一个新创建的图片对象。

  1. var imageArray:Array = [];
  2. for (var i:Number = 0; i < 10; i++) {
  3. var img_mc:MovieClip = attachMovie("Image", "img"+i, getNextHighestDepth()); // 这里使用自己定义的 Image 类来创建新图像
  4. img_mc._x = Math.random() * Stage.width;
  5. img_mc._y = Math.random() * Stage.height;
  6. imageArray.push(img_mc); // 将新创建的图像对象添加到数组中
  7. img_mc.onPress = function() {
  8. if (Key.isDown(Key.CONTROL)) { // 判断是否按下 Ctrl 键
  9. var targetImg:MovieClip = this;
  10. var index:Number = imageArray.indexOf(targetImg);
  11. removeMovieClip(targetImg);
  12. imageArray.splice(index, 1); // 从数组中删除当前图像对象
  13. }
  14. };
  15. }

上述代码会生成10个随机位置的 Image 对象,并将它们添加到舞台上。当用户按下并拖动其中任意一个图像时,会判断是否同时按下了 Ctrl 键。如果是,则从舞台上移除该图像,并从 imageArray 数组中删除该图像。

需要注意的是,在 AS2 中不能直接使用 removeChild() 方法来删除 MovieClip 对象。正确方式是使用 removeMovieClip() 方法来将其从父容器中移除。此外,AS2 中也没有 MouseEvent 类,而是使用 MovieClip 上的 onPress 事件来监听鼠标点击事件。同时按下 Ctrl 键可以通过 Key.isDown(Key.CONTROL) 来判断。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=2605

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?