大家好!对于我的视觉小说中的某些变化,我想测试玩家的反应,类似于游戏《黎明杀机》。它看起来像这样:
好吧,就我个人而言,我在这方面的成功是:
- 我已经导入了 datetime 模块来处理时间:
python:
import datetime
- 创建一个变量来存储玩家应该做出反应的时间。
$ time_limit = datetime.datetime.now() + datetime.timedelta(seconds=10)
- 接下来,我为检查玩家反应时间的场景创建了一个标签(label):
label reaction_check:
"У вас есть 10 секунд, чтобы дать реакцию."
$ start_time = renpy.game.time.time()
menu:
"Реакция 1":
$ reaction = "reaction_1"
$ end_time = renpy.game.time.time()
$ reaction_time = int(end_time - start_time)
if reaction_time <= 10:
"Вы дали реакцию вовремя. Nymos молодец {reaction_time} секунд."
else:
"Вы не дали реакцию вовремя. Nymos лох {reaction_time} секунд."
在此示例中,场景reaction_check设置了玩家反应的时间限制为 10 秒。然后计算玩家反应开始和结束之间的时间,并检查反应是否按时给出。
虽然我写了反应测试,但我还是没有做出类似的黎明杀机游戏。我不知道如何制作动画并使其如果玩家击中白线,他就赢了。如果您能提供帮助,我将不胜感激!

所以,我能够自己找到解决方案。在我的示例中,我在变量
config.reaction_area_x、config.reaction_area_y和中定义了命中区域config.reaction_area_radius。然后我使用scene bg reaction_line. 在标签中reaction_check,我用命令等待一段时间pause,然后检查玩家的光标是否进入反应区域,如果进入则将标志设置reaction_success为True。