很简单,需要在播放动画的时候停止键盘输入,结束时恢复接收输入。我记得是需要发一个信号的,结果gpt给我一堆代码,先是让我创建一个标示输入的布尔变量input_disabled,然后手动定义这个变量为true时角色移动的速度为0。我只能说这个方法真是个可靠的笨办法,很机器。但不知怎地并不奏效,角色依然可以自由走动在动画播放的时候。
接着gpt让我用发送信号配合get_tree().paused来实现,给了我一句# Connect the signal to handle when the animation finishes anim_player.connect("animation_finished", Callable(self, "_on_animation_finished"))。再新建一个_on_animation_finished的函数,里面放上get_tree().paused = false,结果报错,蒙蔽了。
突然想到右侧node面板是有不少预设的信号的,果然有animation_finished。删掉之前gpt给的语句,把AnimationPlayer和主场景一连,然后里外加上get_tree().paused = trure和get_tree().paused = false,运行,完美实现。
看来还是要保证充足睡眠,犯困的时候思路不畅,根本无法作逻辑判断。还好把一个功能点搞顺,以后就方便了。
暂无关于此日志的评论。