Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 Actionscript:在父精灵上应用单击事件_Actionscript 3_Displayobject - Fatal编程技术网

Actionscript 3 Actionscript:在父精灵上应用单击事件

Actionscript 3 Actionscript:在父精灵上应用单击事件,actionscript-3,displayobject,Actionscript 3,Displayobject,在添加了一些子:Loader实例之后,我在单击事件方面遇到了困难 var wr:Sprite=new Sprite(); stage.addChild(wr); wr.graphics.drawRect(0,0,stage.width,stage.height); wr.width=stage.width; wr.height=stage.height; wr.addEventListener('click',function():void{ log('CLICKED!

在添加了一些子
:Loader
实例之后,我在单击事件方面遇到了困难

var wr:Sprite=new Sprite();
stage.addChild(wr);         
wr.graphics.drawRect(0,0,stage.width,stage.height);
wr.width=stage.width;
wr.height=stage.height;
wr.addEventListener('click',function():void{
    log('CLICKED!');
});
wr.addChild(el.sprite);
问题是,单击事件仅在我单击el.sprite时有效,但当我单击舞台上的任何位置时,它不起作用(不触发单击事件)

为什么会这样?我不是在整个舞台上伸展了
wr
层吗

在flash DisplayObject list机制中,我缺少什么或不理解什么

我试图将el.sprite(暂停按钮)定位在wr(暂停层)的中心,并在整个wr层(整个舞台)上应用单击事件


我正在开发视频播放器。:)

drawRect实际上没有绘制任何内容,因为您尚未设置填充

在drawRect之前添加以下内容:

wr.graphics.beginFill(0xFFFFFF, 0);

这会将填充设置为0 alpha white(如果希望其可见,请删除第二个参数)。现在,当您调用drawRect时,它有一些东西可以使用。

Flash API中的图形对象本质上是一个有限状态机,这意味着您需要(1)告诉它开始,(2)给它一个或多个顺序命令,然后(3)告诉它停止

在本例中,缺少的关键是begin和end命令。其中最简单的是beginull()和endFill()。您可以在中看到完整的列表

beginFill()接受两个参数——第一个是填充的颜色,第二个是填充的alpha。因此,如果你想让填充不可见,可以给它任何你想要的颜色(0很好),但也要给它一个alpha值0


另外,作为旁注,您不需要手动设置名为“wr”的对象的宽度和高度。绘制矩形后,其宽度和高度属性将反映矩形的大小。

在没有附加el.sptite的情况下是否工作?嗯,很有趣。不,没有。