35 lines
No EOL
880 B
GDScript
35 lines
No EOL
880 B
GDScript
extends RigidBody2D
|
|
|
|
@export var flip_strength: float = 50.0
|
|
@export var rest_strength: float = 20.0
|
|
@export var right_flipper: bool = false
|
|
|
|
var rest_angle: float = 0.0
|
|
var flipped_angle: float = -60.0 #deg
|
|
|
|
func _ready() -> void:
|
|
gravity_scale = 0.0
|
|
freeze = false
|
|
|
|
if right_flipper:
|
|
flipped_angle *= -1
|
|
rest_angle *= -1
|
|
|
|
rotation_degrees = rest_angle
|
|
|
|
func _input(event: InputEvent) -> void:
|
|
if right_flipper and event.is_action_pressed("right_flipper"):
|
|
flip()
|
|
elif !right_flipper and event.is_action_pressed("left_flipper"):
|
|
flip()
|
|
|
|
if right_flipper and event.is_action_released("right_flipper"):
|
|
rest()
|
|
elif !right_flipper and event.is_action_released("left_flipper"):
|
|
rest()
|
|
|
|
func flip() -> void:
|
|
angular_velocity = flip_strength
|
|
|
|
func rest() -> void:
|
|
angular_velocity = -rest_strength |