Skip to content

Instantly share code, notes, and snippets.

@Irwin1985
Created April 10, 2023 21:45
Show Gist options
  • Save Irwin1985/e96fb07e7d601bcb177fed0bd5989fb0 to your computer and use it in GitHub Desktop.
Save Irwin1985/e96fb07e7d601bcb177fed0bd5989fb0 to your computer and use it in GitHub Desktop.
# ===================================================== #
# Diccionario con todas las texturas clasificadas
# por color (black, red, blue).
# ===================================================== #
var ducks_list: Dictionary = {
"black": {
"diagonal":
[
preload("res://assets/sprites/ducks/fly-diagonal-black-1.png"),
preload("res://assets/sprites/ducks/fly-diagonal-black-2.png"),
preload("res://assets/sprites/ducks/fly-diagonal-black-3.png")
],
"horizontal":
[
preload("res://assets/sprites/ducks/fly-horizontal-black-1.png"),
preload("res://assets/sprites/ducks/fly-horizontal-black-2.png"),
preload("res://assets/sprites/ducks/fly-horizontal-black-3.png")
],
"vertical":
[
preload("res://assets/sprites/ducks/fly-vertical-black-1.png"),
preload("res://assets/sprites/ducks/fly-vertical-black-2.png"),
preload("res://assets/sprites/ducks/fly-vertical-black-3.png")
],
"shot":
[preload("res://assets/sprites/ducks/die-black-1.png")],
"die":
[
preload("res://assets/sprites/ducks/die-black-2.png"),
preload("res://assets/sprites/ducks/die-black-3.png")
],
},
"red": {
"diagonal":
[
preload("res://assets/sprites/ducks/fly-diagonal-red-1.png"),
preload("res://assets/sprites/ducks/fly-diagonal-red-2.png"),
preload("res://assets/sprites/ducks/fly-diagonal-red-3.png")
],
"horizontal":
[
preload("res://assets/sprites/ducks/fly-horizontal-red-1.png"),
preload("res://assets/sprites/ducks/fly-horizontal-red-2.png"),
preload("res://assets/sprites/ducks/fly-horizontal-red-3.png")
],
"vertical":
[
preload("res://assets/sprites/ducks/fly-vertical-red-1.png"),
preload("res://assets/sprites/ducks/fly-vertical-red-2.png"),
preload("res://assets/sprites/ducks/fly-vertical-red-3.png")
],
"shot":
[preload("res://assets/sprites/ducks/die-red-1.png")],
"die":
[
preload("res://assets/sprites/ducks/die-red-2.png"),
preload("res://assets/sprites/ducks/die-red-3.png")
],
},
"blue": {
"diagonal":
[
preload("res://assets/sprites/ducks/fly-diagonal-blue-1.png"),
preload("res://assets/sprites/ducks/fly-diagonal-blue-2.png"),
preload("res://assets/sprites/ducks/fly-diagonal-blue-3.png")
],
"horizontal":
[
preload("res://assets/sprites/ducks/fly-horizontal-blue-1.png"),
preload("res://assets/sprites/ducks/fly-horizontal-blue-2.png"),
preload("res://assets/sprites/ducks/fly-horizontal-blue-3.png")
],
"vertical":
[
preload("res://assets/sprites/ducks/fly-vertical-blue-1.png"),
preload("res://assets/sprites/ducks/fly-vertical-blue-2.png"),
preload("res://assets/sprites/ducks/fly-vertical-blue-3.png")
],
"shot":
[preload("res://assets/sprites/ducks/die-blue-1.png")],
"die":
[
preload("res://assets/sprites/ducks/die-blue-2.png"),
preload("res://assets/sprites/ducks/die-blue-3.png")
],
}
}
# ===================================================== #
# Cambiar todas las animaciones del AnimatedSprite2D
# por código dependiendo del colorl. (Escena Duck.tscn)
# ===================================================== #
func create_duck(color: String):
var animations: Dictionary = Globals.ducks_list[color]
for key in animations.keys():
for i in len(animations[key]):
$AnimatedSprite2D.sprite_frames.set_frame(key, i, animations[key][i], 1.0)
# ===================================================== #
# Hacer una prueba para ver si todo funciona bien.
# En la misma escena en función _ready() por ejemplo.
# ===================================================== #
func _ready() -> void:
create_duck("black")
# DEBUG - QUITAR EN PRODUCCIÓN
randomize()
var animations: Array = ["diagonal", "die", "horizontal", "shot", "vertical"]
while true:
$AnimatedSprite2D.play(animations[randi() % 5])
await get_tree().create_timer(1.0).timeout
# DEBUG - QUITAR EN PRODUCCIÓN
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment