试图在鼠标悬停时删除孩子

Posted

技术标签:

【中文标题】试图在鼠标悬停时删除孩子【英文标题】:Trying to remove child on mouseover 【发布时间】:2015-10-24 13:02:30 【问题描述】:

我对编程并不陌生,但今年夏天我决定学习 Flash 以获得乐趣。我有一个程序将 Circles 作为孩子打印,我想要它,所以当用户将鼠标悬停在某个圆圈上时,它会删除那个孩子。伪代码,以防你不明白我在说什么:

if ( mouse.x = onCircle && mouse.y = onCircle)
  removeChild(thatCircle);

问题是我不知道如何找到那个特定的孩子是什么以及如何删除它。

到目前为止,这是我的代码:

//Import
import flash.utils.*;

//Vars
var circle:Shape = new Shape(); // The instance name circle is created
var alive;
alive = "true";
var challange;
challange = 1;
var ogtimer = setInterval(showCircle,1000*challange);
var circlesOnScreen: int;
circlesOnScreen = 0;
var cycles : int;
cycles = 0;
var base : int;
base = 0;

function showCircle()

    if (circlesOnScreen < 14)
        //Variables
        var ranX:Number = Math.ceil(Math.random()*475);
        var ranY:Number = Math.ceil(Math.random()*790); 

        var circleSpriteVar:circleSprite = new circleSprite();
        addChild(circleSpriteVar);
        circleSpriteVar.x = ranX;
        circleSpriteVar.y = ranY;


        circlesOnScreen = circlesOnScreen + 1;
        cycles = cycles + 1;


        /*if (mouseisover circle)

            circle.removeChildAt(0)
        */


        if (cycles > 3)
            base = cycles * 1.15
            challange = base / 10
        
    else
        gotoAndStop(3)
        

【问题讨论】:

【参考方案1】:

编辑:请更正您的标题或描述。标题说鼠标点击,描述说悬停。这些是不同的东西。

您需要为每个圈子添加一个 MOUSE_OVER 鼠标侦听器,每次您将鼠标悬停在圈子上时它都会触发。然后删除鼠标所在的圆圈。这是示例代码(假设 Circle 是 Sprite):

circle.addEventListener(MouseEvent.MOUSE_OVER, onMouseOver,false,0,true);
protected function onMouseOver(event:MouseEvent):void

    var circle:Sprite = event.currentTarget as Sprite;
    circle.removeEventListener(MouseEvent.MOUSE_OVER, onMouseOver); 
    removeChild(circle);

希望这能回答您的问题。如果确实如此,请接受答案,或者如果您需要更多信息,请告诉我。谢谢。

【讨论】:

非常感谢!刚改了标题,没注意。是否有检测到哪个孩子被移除,是移除最近的孩子还是鼠标悬停的孩子? 它将删除您悬停或单击的孩子。它的工作方式是 event.currentTarget 是您在其上添加事件侦听器的圆圈。所以它永远是鼠标下的圆圈。如果它回答了您的问题,请接受答案。谢谢!

以上是关于试图在鼠标悬停时删除孩子的主要内容,如果未能解决你的问题,请参考以下文章

在鼠标悬停时更改背景颜色并在鼠标悬停后将其删除

在鼠标悬停时突出显示包含链接和标题的文本块的单个字符

将鼠标悬停在第一个孩子无法正常工作的链接上

在鼠标悬停时动态添加和删除类 - Vue.js

悬停/鼠标悬停时播放音频,可能没有 jQuery 吗?

鼠标悬停时元素移动