Advertisement
Zunesha

Como fazer na Godot 4 para chamar uma numeral de um node baseada em um sorteio

Sep 29th, 2024 (edited)
270
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
GDScript 1.25 KB | Gaming | 0 0
  1. Como fazer na Godot 4 para chamar uma  numeral de um node baseada em um sorteio
  2.  
  3. 1 - No exemplo em questão eu tenho a referência do AnimationPlayer de 5 canhões da cena que estão devidamente numerados e quero que
  4. ele sorteie 3 números dentre 5 e quais números saírem serão os canhões que a serem ativado a animação play("atira")
  5.  
  6. @onready var cannon_1 = $Canhao_1/AnimationPlayer
  7. @onready var cannon_2 = $Canhao_2/AnimationPlayer
  8. @onready var cannon_3 = $Canhao_3/AnimationPlayer
  9. @onready var cannon_4 = $Canhao_4/AnimationPlayer
  10. @onready var cannon_5 = $Canhao_5/AnimationPlayer
  11.  
  12. var canhoes = [1,2,3,4,5]
  13.  
  14. func _ready() -> void:
  15.  
  16.     # Garante que o gerador de números aleatórios seja inicializado
  17.     randomize()
  18.     shoot_cannons()
  19.  
  20. func shoot_cannons() -> void:
  21.  
  22.     canhoes.shuffle()
  23.  
  24.     var canhao_sorteado_1 =  canhoes[0]
  25.     var canhao_sorteado_2 =  canhoes[1]
  26.     var canhao_sorteado_3 =  canhoes[2]
  27.    
  28.     var canhaos_sorteados = [canhao_sorteado_1,canhao_sorteado_2,canhao_sorteado_3]
  29.  
  30.     var cannons = [
  31.         cannon_1, cannon_2, cannon_3, cannon_4, cannon_5
  32.     ]
  33.  
  34.     for value in canhaos_sorteados:
  35.         # Subtrai 1 do valor para obter o índice correto
  36.         if value > 0 and value <= cannons.size():
  37.             cannons[value - 1].play("atira")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement