查看: 422|回复: 2

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

[复制链接]

2

主题

3

回帖

0

精华

可爱飞鱼

经验
136
硬币
37 枚
发表于 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的值归零。行为在背后自动地累加至可射击的数值,这样就有了时间差也就是射击频率,且不用总时钟,因为时钟针对全体,没有个性。至于更高明的手法,想不出来,只能用笨办法。

37

主题

725

回帖

13

精华

版主

经验
7376
硬币
1159 枚

赞助用户永吧十五周年建吧日纪念勋章永吧十五周年倒计时海报勋章第五届MW杯亚军对不起,小姐盲猜大王数字君X68数字君X68数字君X78

发表于 2023-10-30 18:21:40 | 显示全部楼层
Moonstruck Blossom
个人网站:dasasdhba.github.io

2

主题

3

回帖

0

精华

可爱飞鱼

经验
136
硬币
37 枚
 楼主| 发表于 2023-10-30 18:42:20 | 显示全部楼层
dasasdhba 发表于 2023-10-30 18:21
建议阅读:https://www.marioforever.net/thread-2235-1-1.html

谢谢
您需要登录后才可以回帖 登录 | 创建账户

本版积分规则