简单(菜)的LuaSTG教程3:更复杂的简单弹幕
emmmm
为什么标题叫更复杂的简单弹幕呢,不是有矛盾吗
UP小学语文没学好唉,其实是不矛盾的
因为这篇讲的是子弹和子弹组,他们只能做到匀变速直线运动,所以叫简单弹幕
但是,让他们的发射更加花里胡哨的复杂,就是复杂弹幕了
我大概不会讲很多,只会放几个简单(?)的例子
首先,举个什么例子好呢
那就妖梦斩击吧((
首先,放一张成品图


哇这是什么东西啊怎么这么一大坨啊
emmm其实也不是很复杂啦我就一个循环一个循环的讲吧
(上面的大循环是奇数狙,下面的是偶数狙,没什么区别
首先是一颗小子弹

嗯,这是一颗小狙(,速度为3,角度为0,aim to player为true的子弹
然后呢,再是第二个循环
还记得开花弹吗?开花弹就是靠循环改变变量a,然后把a赋值给子弹的angle,那么子弹的速度也同样是可行的
定义一个变量v,init为3,increment为0.5
这样就做到了一发弹幕的效果

然后呢,就是那个'斩'的动作了
斩的动作其实更简单,只要改变子弹的发射点就好了
定义一个变量x,然后赋值,增量随意(这个妖梦斩击的话,我喜欢x从-120到120
执行21次,间隔2帧,变量名x,init为-120,increment为24(虽然循环执行了21次,但变量其实才变了20次,所以执行21次)

似乎有那味了,但是这只是easy版的
那么lunatic版的该怎么实现呢
其实子弹aim to player开上了之后呢,就是自机和发弹源的角度加上子弹属性里的angle而已
所以这个自机狙其实是相对的(也就是说,只要angle不为0,那就绝对打不中自机(不考虑判定大小))
所以呢,让这个东西的angle分别为-30,0,30不就行了吗?(这个数据不一定是原版的)
执行三次,变量a,init为-30,increment为30
然后就做出上面的效果了
这三个循环的顺序是无关的.
可以自己试试把他变成偶数的?
我觉得只要讲两个例子就够了((
然后呢,下一个就是更花里胡哨的例子了
[纯粹的弹幕地狱],就是这张卡.
其实原理很简单(由于我懒教程需要,我就直接做4P的效果,逐渐加强的效果就不做了)
要用到四个create task(我菜,只能这样做

先做1P,1P是什么效果来着(
我就当它是那个红弹好了


第一个循环是执行无限次,间隔为30帧
第二个执行30次,变量a代表的是随机开花弹,后面的xzb,yzb就是代表随机坐标
而图中这种发射点在一个圆上的效果该怎么做呢?
发弹点的X坐标加上一个R*cos(angle) Y坐标加上一个R*sin(angle)
其实就是圆的参数方程,R代表圆的半径,angle只要等于子弹发射的角度就行了
2P效果的话,和一p没什么区别,换了个弹型,XY坐标,发射间隔


三p的话,就是左右两大护法,蓝弹一出天地灭
其实也和1,2P差不了多少


在上面的基础,interval改为60,way数改为75,颜色变为蓝色,X,Y坐标变化
4P最简单,连续的开花弹


好了,这期教程就到这里吧
8888888888888(凑不要脸