发出的子弹有不同的阵型,难道要每个子弹写一个动作,然后所有子弹在程序里组合成这个阵型?

弹幕是吧。。其实 数学问题罢了 简单点的 扇形的 圆形的 都只是 初始的 角度 速度 和 发射的时机不同就可以 形成了
设计模式中的 策略模式
每种子弹是独立的一个类
我知道,我这样写了几个后发现每变一种弹幕都要重写每个弹幕,有的弹幕子弹多,有的弹幕子弹少,有的有旋转度,有的没有,有的速度快,有的速度慢,有的先出来,有的后出来,都要给每个子弹写这些。。。难道都是在程序里写每个子弹的动作来形成整个弹幕的?没有更简单的办法来弄出很多弹幕?那那些雷电飞机一个游戏两三百种弹幕不会都是程序一个一个写的吧


你在缩什么呀。。。我不小心淡腾了。。。

谁给个思路牙

Node* hero;
for (int i = 0; i < 9;++i){
Node* bullet = MyBullet::create();
bullet->setPosition(hero->getPosition());
bullet->runAction(MoveBy::create(0.5f,Vec2((i - 4) * 50,500))); //自己发挥
addChild(bullet);
}
随便写了个类似散弹的东西,不知道有没有帮助
我知道可以这么写,我也是这么写了几个,但是一个游戏两三百个弹幕,每个弹幕你写程序效果都看不到,我现在是在说做游戏的可行性上,难道是这样写两百个弹幕,然后每次运行游戏微调每个弹幕的个别参数??没有统一工具能编好参数看到效果用到cocos2d-x里面去?
弹幕 一般分 射击逻辑和 配置2个部分 程序 主要是射击逻辑实现。。。当然 具体的射击方式 可以是各异的 。。当然 如果你想偷懒的话 直接 把粒子改下 也能用来做弹幕 而且 现成的编辑器都可以用。。。但是这方法 有个坏处 扩展成序列帧 很麻烦 。。
200-300个。。。哈哈 你想多了 可能有很多但你这个数量夸张了。。。并不是一种弹幕 就是一种 如果你有3种弹幕 经过 排列组合 就不只三种了。。。组合的方式不同 也是弹幕的表现形式 。。而不是 一定要种类 区别,颜色 密集度 贴图 都是 种类的区别
写一个子弹类 分辨有发射角度 速度 目标点 等等的参数
然后使用配置表配置弹幕数据
在用写一个弹幕类 有发射间隔 起始角度等等的数据
解析弹幕数据
然后根据表里的配置 发射子弹
特殊子弹特殊处理 例如贝赛尔曲线的 多段爆炸等等的.
呵呵,老板叫我用程序写每个子弹的移动轨迹和出现时间来形成一个弹幕,写了5个后发现还要写200个简直写不下去,每个子弹要控制速度,出现时间,旋转角度,来形成一个好看的弹幕,每写一个新弹幕就要写好个大概然后运行游戏看哪个子弹慢了,哪个子弹出现时间快了,然后要微调参数,我问的就是要一个工具写好参数然后能看到效果然后在程序里直接用函数填参数的方法写,你说的工具是什么?做了可以放到cocos2d-x里面用的?
不能直接用 要修改 因为 碰撞 要自己弄。。但是 样子可以
我知道这些,但是有的boss发射的子弹虽然有散开那种规则行的,但是也有不规则曲线运动,几个子弹写什么贝塞尔曲线还能弄,很多子弹要组合在一起写曲线然后形成不同形状就不好弄了吧?而且我看一个boss一关好歹也随便发个8,9个弹幕,弹幕都不是改个角度或者颜色就完了,连运动轨迹都变了,我说的运动轨迹是散弹那种散开的样子变成双曲线或者抛物线那一类样子,改参数我觉得都没用。
我就是说什么工具能弄好样子,然后函数填参数形成不同弹幕吧?是什么工具呢?我肯定也是自己控制碰撞逻辑呀。。
是可以这样写,但是弹幕效果怎么看呢,我现在是说做这件事效率,如果我随便写几个参数然后运行程序看了效果觉得不满意再慢慢一步一步微调每个参数会不会做一个弹幕用太长时间了呢?
额。。。我前面说了 粒子系统 可以改成这样的 粒子系统的工具网上 很多 自己搜下就好。。。但是 直接用不行 可以把它的随机数 适量去掉一些。。价格碰撞 检测 就可以简单用了
你可以自己用cocos2dx写一个弹幕开发工具啊
类似左边显示效果,右边给几个输入框填数值,当数值变化时,更新左边效果
不用商业化的工具,其实不难写的
好吧,我也知道可以这样写,能写出来放参数就方便多了,但是我不会写

粒子系统做出效果来我觉得不能直接用到程序里,程序里要检查每个子弹的碰撞,粒子所有子弹弄成一个整体了,我是想找能用子弹做出弹幕效果然后填参数用到程序里的工具。。。