我正在尝试在 Godot 3.5 中编写一个类似“Pong”的游戏。与经典的乒乓球游戏相比,我想建立稍微旋转乒乓球杆以获得更多变化的可能性。在玩家对 Pong 栏设置一些旋转后,我想将其慢慢修正到旋转为 0 的起点。不知何故,我的修正函数仅适用于负旋转_度数(“左”)。如果存在正的rotation_degs(“右”),则不应用任何校正。
我的代码看起来像这样。我已经在寻找打印方法的错误。函数修正将rotation_direction设置为-0.2,但不知何故,上面一行中的rotation_direction(请参阅我的错误评论)似乎保持值0。
extends KinematicBody2D
var rotation_direction = 0
var max_rotation = 10
func _physics_process(delta):
if Input.is_action_pressed("right"):
rotation_direction = 0.5
if Input.is_action_pressed("left"):
rotation_direction = -0.5
rotation_degrees += rotation_direction ##possible bug?
rotation_degrees = clamp(rotation_degrees, -max_rotation, max_rotation)
correction()
func correction():
if rotation_degrees > 0:
rotation_direction = -0.2
if rotation_degrees < 0.0:
rotation_direction = 0.2
else:
rotation_direction = 0.0