(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
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(二十)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(一)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(二)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(三)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(四)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(五)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(六)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(七)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(八)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(九)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十一)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十二)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十三)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十四)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十五)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十六)
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十七)
- 线性表(二)——单链表(3)——单链表应用举例(1)—— 拆分单链表
- java jni 入门4 - 访问实例域,静态域
- ubuntu14更新使用清华的源,163的太失望了
- 关于Python中深拷贝与浅拷贝的理解(三)---监视数据是否变化
- 核心java系统——反射机制
- (NO.00003)iOS游戏简单的机器人投射游戏成形记(十)
- java进阶-创建和销毁对象2
- Java虚拟机JVM性能优化(一):JVM知识总结
- 第24讲 项目4:个人所得税计算器if语句版
- WM_CTLCOLOR设置控件设置背景和字体颜色
- IOS第三方库汇总
- 虚拟机桥接方式上网
- Cocos2d-x 屏幕适配新解
- 线性表(二)——单链表(3)——单链表应用举例(2)—— 删除元素最大的节点