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

好像复杂点的LuaSTG教程(?)2.2:时停的做法(水

2020-06-25 18:26 作者:SSWTLZZ  | 我要投稿

说了端午节要写的,那必须得写

什么?你问标题为什么是这个?
确实,我就是为了水一篇文章((

好了,开始吧

最简单的时停,就是player动不了,子弹停下来

子弹停下来想必很简单,就是弄一个时停标志,当处于时停的时候,子弹速度变成0,否则子弹正常飞行
而luastg已经有了一个变量,叫player.time_stop
为true的时候玩家被'时停',false为正常状态
而子弹也可以以这个为标志(在on frame 里写)

自己看吧(((((((

上面一大堆东西都是围绕着player.time_stop展开,下面是上面的关键部分:

上图的flag1为标志(其实应该直接用player.time_stop
写符卡里的,使玩家时停
这个倒不是很重要,背景随时停停止罢了

我这里做的时停很粗略,下一种方法会更好(需要ex+版本,因为luastg吧新吧主发了,所以才讲这种方法)

下一种用到了ex+的功能(其实我写教程用的一直是ex+(小声))

很简单,只要用超级暂停(superpause)就行了

+超级暂停(superpause)系统,当超级暂停启用时,没有设置nopause的对象将不会执行frame和task,并且暂停。

设置超级暂停时间的时候总是在下一帧才生效

+SetSuperPause(int time)设置超级暂停时间

+GetSuperPause()返回超级暂停时间

如果当帧有其他脚本修改了超级暂停时间,则该函数返回修改后的结果

+AddSuperPause(int time)增加超级暂停时间

+GetCurrentSuperPause()获得当前帧的超级暂停时间。

看懂了的话,就很简单了:

简单的多了(


好像复杂点的LuaSTG教程(?)2.2:时停的做法(水的评论 (共 条)

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