试水 Egret :TouchEvent与EnterFrame相关

由于Egret是照着ActionScript的api去做的,且TS就是JS,JS和AS都是兄弟语法,同属于ECMAScript语法系的,所以我就直接测试了的。

如下:

1  var sp:egret.Sprite = new egret.Sprite();
2         sp.graphics.beginFill(0xff0000, 1);
3         sp.graphics.drawRect(0, 0, 100, 80);
4         sp.graphics.endFill();
5         this.addChild(sp);
6         sp.touchEnabled = true;
7         sp.addEventListener(egret.TouchEvent.TOUCH_TAP, this.onTouch, this);

但是这个不响应鼠标事件,对着官方的例子死活也没发现问题,郁闷死了,然后好几天没去继续看Egret了。

 

今天下午由于LUA看得有点腻了(这尼玛是要放弃的节奏么),于是就突发奇想照着官方的例子一个字一个字的敲,发现居然能用了。

由于是两个例子都是一个字一个字去敲的,所以两者之间的区别一下子就了然于胸了。

1 sp.width = 100;
2 sp.height = 80;

所有的问题都出于这两句代码身上,注释掉这两句同样不响应鼠标事件,所以显示对象一定要设置尺寸才能响应鼠标事件。

 

然后测试了一下EnterFrame事件,看看是不是和AS的一样,一切正常,代码如下:

this.addEventListener(egret.Event.ENTER_FRAME, this.onEnterFrame, this)
private onEnterFrame(event:egret.Event):void {
        this.times++;
        this.txt.text = "times" + this.times;
    }

 

posted @ 2014-09-25 17:45  Ado_On  阅读(2000)  评论(2编辑  收藏  举报