mirror of
https://github.com/kristoferssolo/FuncIt.git
synced 2025-10-21 19:30:35 +00:00
36 lines
1.1 KiB
GDScript
36 lines
1.1 KiB
GDScript
extends CollisionShape2D
|
|
|
|
var weaponWidth = 0
|
|
var weaponHeight = 0
|
|
var weaponOffset = Vector2(0,0)
|
|
var weaponHolderRadius = get_shape().get_radius()
|
|
var weaponPosition = Vector2(0,0)
|
|
|
|
var weaponPreviousAngle = 0
|
|
var weaponAngle = 0
|
|
|
|
func _ready():
|
|
weaponWidth = $"Player-character-theme-gun-01".texture.get_width() * $"Player-character-theme-gun-01".scale.x
|
|
weaponHeight = $"Player-character-theme-gun-01".texture.get_height() * $"Player-character-theme-gun-01".scale.y
|
|
weaponOffset = Vector2(-weaponWidth, -weaponHeight / 2)
|
|
weaponPosition += weaponOffset
|
|
pass
|
|
|
|
func _process(delta):
|
|
if Input.is_action_pressed("rotation_increase"):
|
|
rotate_weapon(2)
|
|
if Input.is_action_pressed("rotation_decrease"):
|
|
rotate_weapon(-2)
|
|
$"Player-character-theme-gun-01".position = weaponPosition
|
|
|
|
func rotate_weapon(degrees):
|
|
weaponAngle += degrees
|
|
if weaponAngle > -10 and weaponAngle < 90:
|
|
weaponPosition -= weaponOffset.rotated(deg2rad(weaponPreviousAngle))
|
|
weaponPosition += weaponOffset.rotated(deg2rad(weaponAngle))
|
|
$"Player-character-theme-gun-01".rotation_degrees = weaponAngle
|
|
weaponPreviousAngle = weaponAngle
|
|
else:
|
|
weaponAngle -= degrees
|
|
|