Finish Sonic Waves (XD)
parent
f314860b17
commit
dc3af8c23a
|
@ -19,7 +19,6 @@ script = ExtResource( 2 )
|
||||||
use_parent_material = true
|
use_parent_material = true
|
||||||
frames = ExtResource( 1 )
|
frames = ExtResource( 1 )
|
||||||
animation = "idle"
|
animation = "idle"
|
||||||
frame = 2
|
|
||||||
playing = true
|
playing = true
|
||||||
centered = false
|
centered = false
|
||||||
|
|
||||||
|
@ -32,8 +31,3 @@ shape = SubResource( 1 )
|
||||||
[node name="SameSpeciesCollider" type="CollisionShape2D" parent="."]
|
[node name="SameSpeciesCollider" type="CollisionShape2D" parent="."]
|
||||||
position = Vector2( 8.5, 10 )
|
position = Vector2( 8.5, 10 )
|
||||||
shape = SubResource( 2 )
|
shape = SubResource( 2 )
|
||||||
|
|
||||||
[node name="Timer" type="Timer" parent="."]
|
|
||||||
autostart = true
|
|
||||||
|
|
||||||
[connection signal="timeout" from="Timer" to="." method="_on_Timer_timeout"]
|
|
||||||
|
|
|
@ -4,12 +4,31 @@ var velocity = Vector2.ZERO
|
||||||
var speed = 64
|
var speed = 64
|
||||||
|
|
||||||
onready var sonic_wave_preload = preload("res://src/models/sonic_wave/Sonic_Wave.tscn")
|
onready var sonic_wave_preload = preload("res://src/models/sonic_wave/Sonic_Wave.tscn")
|
||||||
|
var shooting_timer = .0
|
||||||
|
var attack_timer = .0
|
||||||
|
var shooting = false
|
||||||
|
var shot = false
|
||||||
var sonic_wave
|
var sonic_wave
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
hp = 15
|
hp = 15
|
||||||
|
|
||||||
func _physics_process(_delta):
|
func _physics_process(delta):
|
||||||
|
if not shooting:
|
||||||
|
shooting_timer += delta
|
||||||
|
if shooting_timer >= 2.0:
|
||||||
|
shooting = true
|
||||||
|
shooting_timer = .0
|
||||||
|
if shooting:
|
||||||
|
attack_timer += delta
|
||||||
|
if attack_timer >= .5 and not shot:
|
||||||
|
_shoot()
|
||||||
|
shot = true
|
||||||
|
if attack_timer >= 1.0:
|
||||||
|
attack_timer = 0
|
||||||
|
shooting = false
|
||||||
|
shot = false
|
||||||
|
|
||||||
var player_position = player.global_position + Vector2(12, 12)
|
var player_position = player.global_position + Vector2(12, 12)
|
||||||
var angle = get_angle_to(player_position)
|
var angle = get_angle_to(player_position)
|
||||||
if position.distance_to(player_position) > 64:
|
if position.distance_to(player_position) > 64:
|
||||||
|
@ -29,15 +48,11 @@ func _physics_process(_delta):
|
||||||
self.global_position.y += sin(Time.get_ticks_msec() * 0.01) / 3
|
self.global_position.y += sin(Time.get_ticks_msec() * 0.01) / 3
|
||||||
|
|
||||||
velocity *= speed * speed_multiplier
|
velocity *= speed * speed_multiplier
|
||||||
|
if not shooting:
|
||||||
velocity = move_and_slide(velocity)
|
velocity = move_and_slide(velocity)
|
||||||
|
|
||||||
|
|
||||||
func _shoot():
|
func _shoot():
|
||||||
sonic_wave = sonic_wave_preload.instance()
|
sonic_wave = sonic_wave_preload.instance()
|
||||||
get_parent().add_child(sonic_wave)
|
get_parent().add_child(sonic_wave)
|
||||||
sonic_wave.global_position.x = self.global_position.x + 8
|
sonic_wave.global_position.x = self.global_position.x + 8
|
||||||
sonic_wave.global_position.y = self.global_position.y + 8
|
sonic_wave.global_position.y = self.global_position.y + 8
|
||||||
|
|
||||||
|
|
||||||
func _on_Timer_timeout():
|
|
||||||
_shoot()
|
|
||||||
|
|
|
@ -5,10 +5,10 @@
|
||||||
[ext_resource path="res://res/shaders/colorize.tres" type="Material" id=3]
|
[ext_resource path="res://res/shaders/colorize.tres" type="Material" id=3]
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id=1]
|
[sub_resource type="RectangleShape2D" id=1]
|
||||||
extents = Vector2( 3.5, 3.5 )
|
extents = Vector2( 4, 4 )
|
||||||
|
|
||||||
[sub_resource type="RectangleShape2D" id=2]
|
[sub_resource type="RectangleShape2D" id=2]
|
||||||
extents = Vector2( 3.5, 9 )
|
extents = Vector2( 7, 11 )
|
||||||
|
|
||||||
[sub_resource type="Animation" id=4]
|
[sub_resource type="Animation" id=4]
|
||||||
resource_name = "RESET"
|
resource_name = "RESET"
|
||||||
|
@ -48,7 +48,7 @@ tracks/0/loop_wrap = true
|
||||||
tracks/0/imported = false
|
tracks/0/imported = false
|
||||||
tracks/0/enabled = true
|
tracks/0/enabled = true
|
||||||
tracks/0/keys = {
|
tracks/0/keys = {
|
||||||
"times": PoolRealArray( 0, 2 ),
|
"times": PoolRealArray( 0, 0.9 ),
|
||||||
"transitions": PoolRealArray( 1, 1 ),
|
"transitions": PoolRealArray( 1, 1 ),
|
||||||
"update": 1,
|
"update": 1,
|
||||||
"values": [ true, false ]
|
"values": [ true, false ]
|
||||||
|
|
|
@ -3,7 +3,11 @@ extends KinematicBody2D
|
||||||
var velocity = Vector2.ZERO
|
var velocity = Vector2.ZERO
|
||||||
var speed = 120
|
var speed = 120
|
||||||
onready var player = $"../../Player"
|
onready var player = $"../../Player"
|
||||||
|
var angle
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
angle = global_position.angle_to_point(player.global_position)
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
self.global_position = self.global_position.move_toward(player.global_position, delta * speed)
|
$Sprite.rotation_degrees = rad2deg(angle + PI)
|
||||||
$Sprite.look_at(player.global_position)
|
move_and_slide(Vector2(speed, 0).rotated(angle + PI))
|
||||||
|
|
Loading…
Reference in New Issue