ADD: strikes.
parent
93003abb2a
commit
52436feb3d
|
@ -5,7 +5,7 @@ extends Area2D
|
|||
func _ready():
|
||||
pass
|
||||
|
||||
func _process(delta):
|
||||
func _process(_delta):
|
||||
pass
|
||||
|
||||
func _on_body_entered(body):
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -7,7 +7,7 @@ func _ready():
|
|||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
func _process(_delta):
|
||||
pass
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ radius = 34.0147
|
|||
|
||||
[node name="Molotov" type="CharacterBody2D" groups=["bombs"]]
|
||||
collision_layer = 2
|
||||
collision_mask = 2
|
||||
collision_mask = 0
|
||||
script = ExtResource("1_uepii")
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="."]
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
extends Node2D
|
||||
|
||||
|
||||
class Line:
|
||||
var m_time: float = 0.0
|
||||
var m_source: Vector2 = Vector2(0.0, 0.0)
|
||||
var m_position: Vector2 = Vector2(0.0, 0.0)
|
||||
var m_color : Color = Color.RED
|
||||
var m_timer : float = 0.0
|
||||
|
||||
func _init(t, src, pos, col):
|
||||
m_time = t
|
||||
m_source = src
|
||||
m_position = pos
|
||||
m_color = col
|
||||
|
||||
var m_lines = []
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
pass
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta):
|
||||
for line in m_lines:
|
||||
line.m_timer += delta
|
||||
var t = min(1.0, line.m_timer / line.m_time)
|
||||
line.m_color = Color(1, 0, 0, 1.0 - t)
|
||||
|
||||
m_lines = m_lines.filter(func (x): return x.m_timer < x.m_time)
|
||||
queue_redraw()
|
||||
|
||||
func add_line(pos: Vector2, duration: float):
|
||||
var src = Vector2(randf_range(0, 800), 0)
|
||||
m_lines.push_back(Line.new(duration, src, pos, Color.RED))
|
||||
|
||||
func _draw():
|
||||
for line in m_lines:
|
||||
draw_line(line.m_source, line.m_position, line.m_color, 3)
|
||||
|
||||
|
||||
|
|
@ -6,6 +6,10 @@ var process_state = null
|
|||
var m_death_timer = 0.0
|
||||
var m_death_time = 2.0
|
||||
|
||||
var m_strike_time = 1.0
|
||||
var m_strike_timer = 0.0
|
||||
var m_strikes = []
|
||||
|
||||
func _ready():
|
||||
for bear in get_tree().get_nodes_in_group('bears'):
|
||||
bear.m_target = $Player
|
||||
|
@ -22,6 +26,21 @@ func process(delta):
|
|||
if is_outside(actor) and actor.is_normal():
|
||||
actor.to_falling()
|
||||
|
||||
if m_strike_timer >= m_strike_time:
|
||||
var all = $TileMap.get_used_cells(0)
|
||||
all.shuffle()
|
||||
var ground = null
|
||||
for t in all:
|
||||
var data = $TileMap.get_cell_tile_data(0, t)
|
||||
if data.get_custom_data('type') == 'ground':
|
||||
ground = t
|
||||
break
|
||||
self.add_broken_ground(ground, 1, 0.8)
|
||||
$Strikes.add_line(to_global($TileMap.map_to_local(ground)), 0.15)
|
||||
m_strike_timer = 0.0
|
||||
m_strike_time = randf() * 5.0
|
||||
|
||||
m_strike_timer += delta
|
||||
if m_broken_timer >= m_broken_time:
|
||||
var k = 0
|
||||
var N = 2
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
[gd_scene load_steps=4 format=3 uid="uid://ccjenj1vqgosm"]
|
||||
[gd_scene load_steps=5 format=3 uid="uid://ccjenj1vqgosm"]
|
||||
|
||||
[ext_resource type="Script" path="res://Sandbox/sandbox.gd" id="1_e3dom"]
|
||||
[ext_resource type="TileSet" uid="uid://c7xunhoxuo3ha" path="res://Sandbox/tile_set.tres" id="1_veo4i"]
|
||||
[ext_resource type="PackedScene" uid="uid://dhjnilcj5mvou" path="res://Player/player.tscn" id="2_yd1wa"]
|
||||
[ext_resource type="Script" path="res://Sandbox/Strikes.gd" id="4_fpagp"]
|
||||
|
||||
[node name="Sandbox" type="Node2D"]
|
||||
script = ExtResource("1_e3dom")
|
||||
|
@ -17,6 +18,9 @@ position = Vector2(654, 409)
|
|||
|
||||
[node name="Bears" type="Node" parent="."]
|
||||
|
||||
[node name="Strikes" type="Node2D" parent="."]
|
||||
script = ExtResource("4_fpagp")
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="."]
|
||||
|
||||
[node name="ColorRect" type="ColorRect" parent="CanvasLayer"]
|
||||
|
|
Loading…
Reference in New Issue