42 lines
689 B
GDScript
42 lines
689 B
GDScript
extends Node2D
|
|
|
|
export var sprite_texture : Texture
|
|
export var type := "bonus" setget , get_type
|
|
export var scroll_speed = 9
|
|
|
|
onready var sprite = $Sprite
|
|
onready var notifier = $notifier
|
|
|
|
|
|
func _ready():
|
|
sprite.texture = sprite_texture
|
|
notifier.connect("screen_exited", self, "_on_screen_exited")
|
|
|
|
|
|
func _on_screen_exited():
|
|
queue_free()
|
|
|
|
|
|
func _physics_process(delta):
|
|
move()
|
|
|
|
|
|
func get_type():
|
|
return type
|
|
|
|
|
|
func move():
|
|
self.position.x -= scroll_speed
|
|
|
|
|
|
func pickup():
|
|
queue_free()
|
|
|
|
|
|
func _on_Area2D_body_entered(body: Node) -> void:
|
|
if body.has_method("bonus") and body.has_method("hit"):
|
|
pickup()
|
|
if type == "bonus":
|
|
body.bonus()
|
|
elif type == "malus":
|
|
body.hit()
|