精华 结合game.input.onTap实现精灵双击destroy
发布于 3 年前 作者 xiaomingcscs 946 次浏览 来自 分享

有个项目需要弄个地图编辑,用传统的Tiled生成出来的数据不满足我的需要,所以只能自己手动弄一个了。 在弄的时候遇到一个比较麻烦的事情,就是【双击精灵destroy】,官方的API精灵的点击事件没有双击这个回调。 后来参考了小站的这个DEMO: gameOnTap 结合了events.onInputUp,最终实现了我想要的效果

var isDoubleTap = false;//设置初始状态不是双击

game.input.onTap.add(addSprite, this);
function addSprite(pointer, doubleTap){
	if(doubleTap){
		console.log('双击了');
		isDoubleTap = true;
	}else{
		//如果是单击,这里新建精灵
	};
};

sprite.events.onInputUp.add(tileSpriteOnUp,this)
function tileSpriteOnUp(sprite){
	if(isDoubleTap){
		console.log('杀死了地图精灵')
		game.time.events.add(60, function(){
			this.destroy();
		}, sprite);
	};
};
2 回复

很给力,我自己给案例做了注释,自己都没印象了。[尴尬]

回到顶部