this.node.on(cc.Node.EventType.TOUCH_START, function (event) {
if(this.gameBoard.isBlocksMoving() == true)
{
cc.log("event.stopPropagationImmediate");
event.stopPropagationImmediate();
return false;
}
this._hasMove = false;
}, this);
在TOUCH_START设置
event.stopPropagationImmediate();
return false;
还是会传递到Touch_Move里面。
一定要手动在每个事件里面判断一次吗?
this.node.on(cc.Node.EventType.TOUCH_MOVE, function (event) {
if(this.gameBoard.isBlocksMoving() == true)
{
return;
}
//do someting
}
另外发现creator里面其它不方便的地方。
- 1.替换sprite frame的时候需要查找atlas
在sprite中查找其他的属性都可以,但是getComponent(cc.Sprite).atlas得到结果是却是空的。
需要用cc.loadxx加载这个atlas,如果换装游戏更换sprite frame较多,那么就要手动维护很多个atlas索引,这样的功能2dx的cache已经做过了。但是creator没有了。
- 2
一个编辑好的Node想添加Sprite单色属性。但是只能添加不是单色的Sprite,系统内置的白色default图片又找不到,要么重新编辑一个Node,要么自己找一个纯色的图片。
- 3
感觉creator里面触摸机制跟2dx的不大一样。以前在touchEnd能做的事情,现在需要在TouchEnd和TouchCancel处理两次。