Added parallax graphics, second terrain for veggies, start of custom player graphics, collectible coins.
This commit is contained in:
1 parent
f916237426
commit
d6e7ea87f8
33 files changed
+716
-3
No files matched your search
@@ -0,0 +1,7 @@
|
||||
class_name Coin extends Area2D
|
||||
signal coinCollectedSignal(body,coin)
|
||||
|
||||
func _on_body_entered(body: Node2D) -> void:
|
||||
if body is Player:
|
||||
print("Coin hit")
|
||||
coinCollectedSignal.emit(body,self)
|
||||
@@ -0,0 +1 @@
|
||||
uid://b0yv2ybgsexuo
|
||||
+13
-2
@@ -6,6 +6,7 @@ signal teleportTriggerSignal(body)
|
||||
var numberOfCrates = 2
|
||||
var timeAvailable = 50
|
||||
var timer = Timer.new()
|
||||
var totalCoinsCollected = 0
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready() -> void:
|
||||
@@ -31,8 +32,9 @@ func _process(delta: float) -> void:
|
||||
func _on_trigger(body: Variant, trigger: Variant, intent: String) -> void:
|
||||
print("Game controller knows trigger fired")
|
||||
match intent:
|
||||
"destroy":
|
||||
destroySignal.emit(body)
|
||||
"destroy":
|
||||
if body is RigidBody2D:
|
||||
destroySignal.emit(body)
|
||||
"fan":
|
||||
fanTriggerSignal.emit(body,Vector2(0,-1)*100*9)
|
||||
print("fan effect")
|
||||
@@ -40,12 +42,21 @@ func _on_trigger(body: Variant, trigger: Variant, intent: String) -> void:
|
||||
print("teleport effect")
|
||||
teleportTriggerSignal.emit(body)
|
||||
|
||||
func coinCollected(body,coin) -> void:
|
||||
print("GC knows coin collected")
|
||||
totalCoinsCollected += 1
|
||||
destroySignal.emit(coin)
|
||||
|
||||
func crateTotal(numOfCrates):
|
||||
numberOfCrates = numOfCrates
|
||||
print("Game controller knows about crates - there are: " + str(numOfCrates))
|
||||
if numberOfCrates == 0:
|
||||
print("WINNER!!!")
|
||||
get_tree().reload_current_scene()
|
||||
|
||||
func coinTotal(totalAmount) -> void:
|
||||
print("GC knows total coins: "+str(totalAmount))
|
||||
|
||||
|
||||
func bulletDamage(body, _bullet) -> void:
|
||||
if body.is_in_group("shootable"):
|
||||
|
||||
@@ -2,6 +2,8 @@ extends Node2D
|
||||
@onready var game: GameController = $".."
|
||||
@onready var crates: Node2D = $"../Crates"
|
||||
@onready var player: Player = $"../Player"
|
||||
@onready var coin: Coin = $"../Coins/Coin"
|
||||
@onready var coins: Node2D = $"../Coins"
|
||||
|
||||
var bullet = preload("res://scenes/bullet.tscn")
|
||||
var bulletArray:Array[Bullet] = []
|
||||
@@ -16,6 +18,8 @@ func _ready() -> void:
|
||||
game.destroySignal.connect(destroy)
|
||||
game.fanTriggerSignal.connect(pushTarget)
|
||||
game.teleportTriggerSignal.connect(teleportTarget)
|
||||
# signals from pickups
|
||||
coin.coinCollectedSignal.connect(game.coinCollected)
|
||||
buildLevel()
|
||||
|
||||
# Called every frame. 'delta' is the elapsed time since the previous frame.
|
||||
@@ -24,6 +28,7 @@ func _process(delta: float) -> void:
|
||||
|
||||
func buildLevel() -> void:
|
||||
updateCrates()
|
||||
updateCoins()
|
||||
|
||||
func updateCrates() -> void:
|
||||
var totalCrates = 0
|
||||
@@ -34,6 +39,14 @@ func updateCrates() -> void:
|
||||
obj.tree_exited.connect(updateCrates)
|
||||
totalCrates += 1
|
||||
game.crateTotal(totalCrates)
|
||||
|
||||
func updateCoins() -> void:
|
||||
var totalCoins = 0
|
||||
if coins:
|
||||
for obj in coins.get_children():
|
||||
if obj is Coin:
|
||||
totalCoins += 1
|
||||
game.coinTotal(totalCoins)
|
||||
|
||||
func pushTarget(body,pushDirection) -> void:
|
||||
if body is RigidBody2D:
|
||||
|
||||
Reference in new issue
Block a user