extends CharacterBody2D var theta: float = 0.0 @export_range(0,2*PI) var alpha: float = 1.5 var bullet = load("res://sprites/common/bullet/snowflake.tscn") const SPEED = 300.0 const JUMP_VELOCITY = -400.0 var vangle = 2 var weakness = 2 func _ready(): var stimer = $Speed stimer.start(0.05) func get_vector(angle): theta = angle + alpha return Vector2(cos(theta),sin(theta)) # Get the gravity from the project settings to be synced with RigidBody nodes. var gravity = ProjectSettings.get_setting("physics/2d/default_gravity") @onready var anim := $AnimationPlayer func _physics_process(delta): velocity.x = 0 velocity.y = 0 # Add the gravity. #var velocity = Vector2.ZERO #if Global.live == 1: #velocity = (Vector2.RIGHT.rotated(rotation) * 500 * Global.xm * delta)-Vector2.UP.rotated(rotation) * 500 * Global.ym * delta #origmpos = get_viewport().get_mouse_position() #if Input.get_joy_axis(0,JOY_AXIS_LEFT_Y) != 0: # velocity = Vector2.UP.rotated(rotation) * -400 * Input.get_joy_axis(0,JOY_AXIS_LEFT_Y) #position += velocity position += velocity if velocity.y > 0.3: vangle = 2 elif velocity.y < -0.3: vangle = 0 elif velocity.x > 0.3: vangle = 1 elif velocity.x < -0.3: vangle = 3 if velocity.y != 0 || velocity.x != 0: if vangle == 0: anim.play("nwalk") elif vangle == 1: anim.play("ewalk") elif vangle == 3: anim.play("wwalk") else: anim.play("swalk") else: if vangle == 0: anim.play("nidle") elif vangle == 1: anim.play("eidle") elif vangle == 3: anim.play("widle") else: anim.play("sidle") #move_and_slide() func shoot(angle): var new_bullet = bullet.instantiate() new_bullet.position = Vector2(position.x, position.y) new_bullet.direction = get_vector(angle) new_bullet.btype = "boss" get_parent().call_deferred("add_child",new_bullet) func _on_speed_timeout(): if Global.live == 1: shoot(theta)