简单(菜)的LuaSTG教程0.1:随便水水((((((
草,再不写我就忘到九霄云外去了
就随便水水专栏好了
首先呢
常用的函数有Angle,Dist之类的
这两个函数的作用分别是求两点之间的角度,距离,用法是:
Angle(x1,y1,x2,y2)或Angle(t1,t2)
第一种是直接输两个点的坐标求角度,比如Angle(0,0,10,10)输出的角度是45°,Angle(self.x,self.y,player.x,player.y)输出的就是self对player的角度
那猜一猜第二种的用法?(
第二种就是两个obj之间的角度,比如说你在一个自定义子弹里的on create里写a=Angle(self,player),那么这个a就是这个子弹对玩家的角度不过想要这个a改变的话....想必你们也是会的
Angle(self.x,self.y,player.x,player.y)等同于Angle(self,player),为什么?
实际上,self啊,player啊,都是一个表(table),然后Angle这个函数会自动检测你输进来的参数的类型,然后再从这个表里找x和y这两个key
所以你local t1,t2={['x']=114,['y']=514},{['x']=1919,['y']=810}
a=Angle(t1,t2) 它同样会给出数据(
咳咳,你管他为什么(,反正用就对了((
类似于player,self的还有
last(在创建obj下面,代表那个obj)
_boss(当前的boss)(记得要打 _ )
unit(在for each unit in group里用,代表那个组里的obj)
还有on colli里的 other,代表碰撞到这个obj的另一个obj(这个在之前已经讲过了)
嗯......举例子的话,就用月兔的枪好了
(好麻烦啊都要回去开lstg自带编辑器都不能用sharp)
嗯,兔子的枪是什么原理我就不用讲了(范围逐渐扩大,子弹way数逐渐增多,且是自机狙)

是自机狙对吧?那我就把Aim To Player设为true不就对了吗?我真是个天才(
是啊,你可真是个天才
但是呢,你运行一下,就发现不太对:

这就是因为自机的位置一直在变,如果不想让它变的话,就要用到Angle了



和上上图的区别
......其实没什么好讲的,我自己都觉得这一篇很水(
所以呢,如果有什么其他关于lstg的问题的话,也可以在评论区问