欢迎光临散文网 会员登陆 & 注册

简单(菜)的LuaSTG教程0.1:随便水水((((((

2020-08-01 10:38 作者:SSWTLZZ  | 我要投稿

草,再不写我就忘到九霄云外去了
就随便水水专栏好了

首先呢


常用的函数有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的问题的话,也可以在评论区问

简单(菜)的LuaSTG教程0.1:随便水水((((((的评论 (共 条)

分享到微博请遵守国家法律