Actionscript 3 单击AS3时未发生鼠标事件
在我看来这一切都很好,但我在屏幕上有一个简单的星形形状,当点击该星形形状时,它应该会从屏幕上删除图像。我不明白为什么它不起作用希望你们中的一个能,我将不胜感激Actionscript 3 单击AS3时未发生鼠标事件,actionscript-3,mouseevent,Actionscript 3,Mouseevent,在我看来这一切都很好,但我在屏幕上有一个简单的星形形状,当点击该星形形状时,它应该会从屏幕上删除图像。我不明白为什么它不起作用希望你们中的一个能,我将不胜感激 public class TouchRemove extends Sprite { private var _color:uint; private var _radius:int; private var star:Sprite; public function mouseClick(event:
public class TouchRemove extends Sprite
{
private var _color:uint;
private var _radius:int;
private var star:Sprite;
public function mouseClick(event:MouseEvent): void {
star.visible = false;
}
public function TouchRemove(c:uint = 0xffff00, r:int = 100)
{
_color = c;
_radius = r;
star = new Sprite();
createStar();
addChild(star);
star.x = 250;
star.addEventListener(MouseEvent.CLICK, mouseClick);
}
private function createStar():void
{
star.graphics.lineStyle(9,_color);
star.graphics.moveTo(_radius, 0);
var angleIncrement = Math.PI / 5;
var ninety:Number = Math.PI * 3;
for (var i:int = 0; i <= 10; i++)
{
var radius:Number = (i % 2 > 0 ? _radius : _radius * .5);
var px:Number = Math.cos(ninety + angleIncrement * i) * radius;
var py:Number = Math.sin(ninety + angleIncrement * i) * radius;
if (i == 0) star.graphics.moveTo(px, py);
star.graphics.lineTo(px, py);
}
}
}
}您的代码看起来是正确的。
试试这个:
-将侦听器添加到父级
-手动添加star并通过代码在其上添加侦听器
这将有助于找到错误。使用了TouchRemove方法,现在它可以工作了,很奇怪,但是它可以工作,干杯