小编eLo*_*uai的帖子

stage.width和stage.stageWidth之间的差异

在actionscript 3中(as3)调用stage.width和stage.stageWidth有什么区别

这是我记得我过去很困惑的事情(Adobe的api文档是混淆的艺术形式:)).以为我应该在stackoverflow上发布它.

actionscript actionscript-3

14
推荐指数
2
解决办法
2万
查看次数

是否可以使用鼠标向下和向上事件模拟鼠标单击?

之前的一个问题让我思考.是否可以通过首先触发MOUSE_DOWN然后触发MOUSE_UP来模拟MouseEvent.CLICK被触发.

根据Adobe的推文."...对于要发生的点击事件,它必须始终按照发生的顺序跟随这一系列事件:mouseDown事件,然后是mouseUp.这两个事件的目标对象必须相同;否则不会发生click事件任何数量的其他鼠标事件都可以在mouseDown或mouseUp事件之间的任何时间发生; click事件仍然会发生." http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/InteractiveObject.html#event:click

从我的测试中可以看出,CLICK事件不是从ActionScript 3事件队列构造的.或者代码有问题?

看到:

package
{
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;

[SWF(backgroundColor="0xFFFFFF", frameRate="30", width="800", height="600")]

public class Test extends Sprite
{
    private var spr:Sprite = new Sprite();
    public function Test()
    {
        trace("Test()");
        this.addEventListener(Event.ADDED_TO_STAGE,init);
    }
    public function init(e:Event):void
    {
        trace("init()");
        spr.graphics.beginFill(0xFF0000);
        spr.graphics.drawRect(0,0,200,80);
        spr.graphics.endFill();
        addChild(spr);
        addEventListener(Event.ENTER_FRAME, onEnterFrame);
        spr.addEventListener(MouseEvent.CLICK, onClick);
    }
    private var tick:int = 0;
    private function onEnterFrame(e:Event):void
    {
        if (tick == 1) spr.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_DOWN,true,false));
        if (tick == 2) spr.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_UP,true,false));
        if (tick == 3) spr.dispatchEvent(new MouseEvent(MouseEvent.CLICK,true,false));
        tick++; …
Run Code Online (Sandbox Code Playgroud)

apache-flex actionscript actionscript-3 mouseevent

5
推荐指数
1
解决办法
5972
查看次数