bbk 发表于 2023-10-30 15:50:37

初学者避免使用计时器的一点心得,很简单的射击游戏

1、计时器是面向全体对象同步的,不针对个体,无法实现个体时钟。比如子弹寿命,要求从创建开始计时,到了规定时限就消除。可以使用行为实现:用子弹的变量A,总是条件(其实是每秒60
次),事件:加1,这样存活时间就可以根据变量A来确定。比如存活1秒,判断变量A>=60就销毁,1秒半就判断>=90。其他的需要个体时钟的都可以类似操作。
2、射击频率:使用行为实现。设置条件:只要变量A的值小于某个数(每秒60,射击间隔时间参数,越小越快,比如30),事件中就给变量A加1,加到设定时间参数为止。比如每秒发射3次,就预定20。主程序中先选取对象再判断其变量A是否是预定的参数值,是的话就允许射击。发生射击事件的同时变量A的值归零。行为在背后自动地累加至可射击的数值,这样就有了时间差也就是射击频率,且不用总时钟,因为时钟针对全体,没有个性。至于更高明的手法,想不出来,只能用笨办法。

dasasdhba 发表于 2023-10-30 18:21:40

建议阅读:https://www.marioforever.net/thread-2235-1-1.html

bbk 发表于 2023-10-30 18:42:20

dasasdhba 发表于 2023-10-30 18:21
建议阅读:https://www.marioforever.net/thread-2235-1-1.html

谢谢
页: [1]
查看完整版本: 初学者避免使用计时器的一点心得,很简单的射击游戏