Created
April 10, 2023 21:45
-
-
Save Irwin1985/e96fb07e7d601bcb177fed0bd5989fb0 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# ===================================================== # | |
# 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