zl程序教程

您现在的位置是:首页 >  移动开发

当前栏目

(NO.00003)iOS游戏简单的机器人投射游戏成形记(十六)

ios游戏机器人 简单 十六 成形
2023-09-14 08:56:50 时间
-(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的发射子弹的逻辑是一样的.


和iPhone玩家对战吧,Google Play游戏服务将支持iOS平台 Google今天在游戏开发者大会上宣布了若干与Google Play游戏服务的相关更新,其中和游戏玩家关系最大的也许就是Google Play Game Services将支持iOS平台,这也就意味着回合制和实时多人游戏将同时支持Android和iOS,以后这两个平台的玩家也就可以互动了。显然,这对于游戏开放商也是个好消息——让原本被割裂的用户参与到同场竞技中来。
本文提供全流程,中文翻译。Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例...