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

来源:互联网 发布:农行mac版 编辑:程序博客网 时间:2024/05/22 04:28

打开Arm.h,在其接口中添加一个新方法:

-(void)armShoot;

接下来在Arm.m中实现该方法:

-(void)armShoot{    CGPoint startPoint = [self convertToWorldSpace:ccp(0, 5)];    CGPoint endPoint = [self convertToWorldSpace:ccp(20, 5)];    [_mainScene shoot:startPoint to:endPoint];}

该方法最终调用MainScene中的shoot方法,在这之前armShoot取得子弹的弹道轨迹.弹道由起点和终点确定,因为子弹的轨迹由物理引擎决定,所以最终实际射出的是一道抛物线.

前面说过Arm的旋转施力点在手臂的中线与手的焦点,同样,子弹射出的轨迹也和Arm的中线重合:

这里写图片描述

那么在什么时候发射子弹呢?有很多种选择,比如在屏幕上创建一个发射按钮,点击时发射子弹.

这里采用较简单的方式:在玩家触摸结束时发射子弹:

-(void)touchEnded:(CCTouch *)touch withEvent:(CCTouchEvent *)event{    [self armShoot];}

在ArmStatic类中做同样操作.这里是个不好的例子,因为有重复代码.如果编写程序中也有各种罪过,那么代码重复就是”死罪”!

不过这里先判”无罪”,因为本猫还要重构,虽然你们不一定看得到 ;)

编译运行,发射效果如下:

这里写图片描述

请先忽略中间那些方块和篮筐,别急!马上就要说到它们了 ;)

0 0
原创粉丝点击