由于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; }