snake gaming
This commit is contained in:
parent
737128614a
commit
f0f173ee06
7 changed files with 83 additions and 9 deletions
|
|
@ -1,21 +1,39 @@
|
|||
extends Node2D
|
||||
|
||||
@export var segements_holder : Node2D
|
||||
var segements : Array[snake_segment]
|
||||
@export var SNAKE_SPEED : float = 0.2
|
||||
@export var snake_line : Line2D
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
#segements = get_children() as Array[snake_segment]
|
||||
segements.assign(get_children())
|
||||
segements.assign(segements_holder.get_children())
|
||||
for i in segements.size():
|
||||
if i == 0:
|
||||
segements[i].is_head = true
|
||||
else:
|
||||
segements[i].next_segment = segements[i-1]
|
||||
segements[i].snake_speed = SNAKE_SPEED
|
||||
segements[i].z_index = 100-i
|
||||
#segements[i].z_index = 100-i
|
||||
activate_segment(0)
|
||||
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
func _process(delta: float) -> void:
|
||||
redraw_line()
|
||||
pass
|
||||
|
||||
func activate_segment(act_segment : int):
|
||||
for i in segements.size():
|
||||
if act_segment == i:
|
||||
segements[i].become_real()
|
||||
|
||||
else:
|
||||
segements[i].become_fake()
|
||||
|
||||
|
||||
func redraw_line():
|
||||
snake_line.clear_points()
|
||||
for segment in segements:
|
||||
snake_line.add_point(segment.global_position)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue