上面的实现是使用键盘控制主角移动,如果要发布到手机上,就不能使用键盘事件了,通常会使用触摸的方式控制游戏角色的动作
打开Game脚本,在onLoad函数
组后添加触摸事件监听代码:
let winWidth = this.node.width;
let playerComp = this.player.getComponent('Player')
//添加触摸事件
this.node.on(cc.Node.EventType.TOUCH_START, event =>{
let touchX = event.getLocationX();
if(touchX > winWidth/2){
playerComp.accRight = true;
}else{
playerComp.accLeft = true;
}
}, this);
this.node.on(cc.Node.EventType.TOUCH_END, event =>{
let touchX = event.getLocationX();
if(touchX > winWidth/2){
playerComp.accRight = false;
}else{
playerComp.accLeft = false;
}
}, this);
使用this.node.width
获取到屏幕的宽度
在事件回调中获取到触摸的横坐标
然后判断触摸位置是在手机屏幕左边,还是在右边,以此决定小猫的移动方向
保存脚本后,单击预览游戏查看效果
在浏览器打开预览后,单击游戏画面或者使用A、D键控制小猫左右跳跃