(NO.00003)iOS游戏简单的机器人投射游戏成形记(十六)
2015-11-11 10:05
302 查看
回到MainScene.m中添加selectRobot方法:
代码逻辑已经说过了,将LevelRestrict中机器人数组修改为正确的状态:反选其他所有的机器人.
添加MainScene的触摸回调已支持用户在屏幕上触摸,我们一个一个方法看,首先是touchBegan方法:
这个和Arm的类似,下面是touchMoved方法:
该方法主要逻辑为,如果当前选中了一个机器人则取得其手臂需要转动的方向,然后给robot发送moveArm消息以转动手臂.
最后是touchEnd方法:
在玩家接触触摸时发射子弹.这个和Arm的发射子弹的逻辑是一样的.
-(void)selectRobot:(Robot *)robot{ LevelRestrict *lr = [LevelRestrict sharedInstance]; for (Robot *r in lr.robotsInLevel) { if (r != robot) { r.isSelected = NO; } } }
代码逻辑已经说过了,将LevelRestrict中机器人数组修改为正确的状态:反选其他所有的机器人.
添加MainScene的触摸回调已支持用户在屏幕上触摸,我们一个一个方法看,首先是touchBegan方法:
-(void)touchBegan:(CCTouch *)touch withEvent:(CCTouchEvent *)event{ CCLOG(@"%@",NSStringFromSelector(_cmd)); _touchPoint = [[CCDirector sharedDirector] convertTouchToGL:touch]; }
这个和Arm的类似,下面是touchMoved方法:
-(void)touchMoved:(CCTouch *)touch withEvent:(CCTouchEvent *)event{ CGPoint location = [[CCDirector sharedDirector] convertTouchToGL:touch]; LevelRestrict *lr = [LevelRestrict sharedInstance]; //如果当前选中了一个robot Robot *robot = lr.selectedRobot; if (robot) { MoveDirection direction = armMoveDirectionDown; if (location.y > _touchPoint.y) { direction = armMoveDirectionUp; }else if (location.y < _touchPoint.y){ direction = armMoveDirectionDown; } [robot moveArm:direction]; } }
该方法主要逻辑为,如果当前选中了一个机器人则取得其手臂需要转动的方向,然后给robot发送moveArm消息以转动手臂.
最后是touchEnd方法:
-(void)touchEnded:(CCTouch *)touch withEvent:(CCTouchEvent *)event{ LevelRestrict *lr = [LevelRestrict sharedInstance]; Robot *robot = lr.selectedRobot; if (robot) { [robot armShoot]; } }
在玩家接触触摸时发射子弹.这个和Arm的发射子弹的逻辑是一样的.
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 我是运营,我没有假期
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- 每个 Linux 游戏玩家都绝不想要的恼人体验
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- 在 Fedora 上使用 Steam play 和 Proton 来玩 Windows 游戏
- Steam 让我们在 Linux 上玩 Windows 的游戏更加容易
- 如何使用 Steam Play 在 Linux 上玩仅限 Windows 的游戏
- 新一代iPad适配应用之游戏篇
- VB实现的《QQ美女找茬游戏》作弊器实例
- C#实现洗牌游戏实例
- C#实现的算24点游戏算法实例分析
- C#实现简单的井字游戏实例
- C++编写简单的打靶游戏
- C++实现基于控制台界面的吃豆子游戏
- 纯javascript实现的小游戏《Flappy Pig》实例