小满(bill man)个人原创,欢迎转载,转载请注明地址,小满(bill man)的专栏地址http://blog.csdn.net/bill_man
本篇继续上一篇的例子,加入根据触屏操作移动的内容,效果图如下
![](http://hi.csdn.net/attachment/201202/22/0_1329920382Qbc1.gif)
很简单,就是触屏触摸到主角上则向上移动,触摸到主角下则向下移动,触摸到主角左则向左移动,触摸到主角右则向右移动,触摸到主角则停止移动
为了实现触屏我们首先在层的init()函数中加入setIsTouchEnabled(true);然后重写触摸函数,我这里选择重写ccTouchesBegan函数,以下是该函数
![](http://hi.csdn.net/attachment/201202/22/0_132992038776g8.gif)
首先获得触点坐标,当然要经过一系列转换,这里我在入门教程中已经讲过,不再赘述,然后获得主角的坐标,记得,主角加在map上,这里的坐标只是相对坐标,需要加上地图的坐标才是对应屏幕的坐标,下面首先把触点坐标和主角的这个矩形范围内比较(因为主角的锚点在底的中心)如果在范围内则停掉水平和竖直的运动,下面把触点坐标和主角坐标比较,决定运动方向。这里我们只决定了运动方向,运动执行在update中,下面是update中的修改部分。
很简单就是每帧给主角在该运动方向上加一像素。这样基本功能我们就实现了
如有错误之处,希望大家多多指正
下一篇继续写游戏实例