(NO.00002)iOS游戏精灵战争雏形(八)
2015-11-01 15:01
435 查看
子弹的初始化工作前2篇基本做好了,下面就是如何射出子弹.
通常来说,子弹射向目标对象,需要走一条直线.直线由2点定位,分别为发射点和目标点.
发射点就是开枪精灵自身的位置,目标点则为敌方精灵的位置,大致如下图所示:
![](https://img-blog.csdn.net/20151101145109226)
由初中物理力学原理可知,要想子弹沿中间橙色路径飞行,需要在子弹上附加(x,y)的力矩.大概是这个意思,物理好的童鞋可以自行理解.物理不好的童鞋,我也救不了你们 ;)
现在就是要找到(x,y)的值?从上图中可以发现x恰好等于红精灵位置x值与绿精灵位置x值的差,y值与此相同,于是我们得到:
x = greenSprite.position.x - redSprite.position.x
y = greenSprite.position.y - redSprite.position.y
在cocos2d中,可以用内置函数轻松实现:
子弹发射的原理知道了,下一篇我们就来尝试完成子弹发射的代码,下篇见 ;)
通常来说,子弹射向目标对象,需要走一条直线.直线由2点定位,分别为发射点和目标点.
发射点就是开枪精灵自身的位置,目标点则为敌方精灵的位置,大致如下图所示:
由初中物理力学原理可知,要想子弹沿中间橙色路径飞行,需要在子弹上附加(x,y)的力矩.大概是这个意思,物理好的童鞋可以自行理解.物理不好的童鞋,我也救不了你们 ;)
现在就是要找到(x,y)的值?从上图中可以发现x恰好等于红精灵位置x值与绿精灵位置x值的差,y值与此相同,于是我们得到:
x = greenSprite.position.x - redSprite.position.x
y = greenSprite.position.y - redSprite.position.y
在cocos2d中,可以用内置函数轻松实现:
ccpSub(greenSprite.position,redSprite.position);
子弹发射的原理知道了,下一篇我们就来尝试完成子弹发射的代码,下篇见 ;)
相关文章推荐
- 峰回路转,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》实例