terça-feira, 12 de agosto de 2025

Código GODOT



















extends Node2D

# Coloque no topo do script do mapa
const VAMPIRO_SCENE = preload("res://vampiro_comum.tscn")
# Mude o caminho para o local real do seu arquivo vampiro.tscn
func spawn_vampiro():
	# 1. Instancia a cena
	var novo_vampiro = VAMPIRO_SCENE.instantiate()

	# 2. Encontra o ponto de spawn
	var ponto_de_spawn = $PontoDeSpawnVampiro 
	# (Se seu Marker2D estiver diretamente sob o nó raiz do mapa)

	# 3. Define a posição do novo vampiro com base no ponto de spawn
	novo_vampiro.global_position = ponto_de_spawn.global_position

	# 4. Adiciona o novo vampiro à cena do mapa
	add_child(novo_vampiro)
func _ready():
	spawn_vampiro()
	# Se você tiver lógica de jogo para chamar, chame de lá.






extends CharacterBody2D

# Velocidade de movimento (ajuste conforme o necessário)
var VELOCIDADE = 100.0

# Referência ao nó AnimatedSprite2D
@onready var animacao = $AnimatedSprite2D

func _physics_process(delta):
	# 1. Definir o vetor de movimento
	# Como você quer que ele mova APENAS para baixo, o vetor é (0, 1)
	var direcao = Vector2(0, 1) # (eixo X, eixo Y)

	# 2. Calcular a velocidade de movimento
	velocity = direcao * VELOCIDADE

	# 3. Mover o corpo do personagem
	move_and_slide()

	# 4. Atualizar a animação
	atualizar_animacao(direcao)


func atualizar_animacao(direcao_movimento):
	# Direção (0, 1) significa que o vampiro está indo para baixo.
	if direcao_movimento.y > 0:
		# Se você definiu uma animação chamada "down" no AnimatedSprite2D
		animacao.play("down") 
	else:
		# Se ele não estiver se movendo, você pode querer tocar uma animação de "idle"
		animacao.stop()







extends Node2D

# Certifique-se de que este caminho está correto
const VAMPIRO_SCENE = preload("res://vampiro_comum.tscn")

# Adicione uma referência ao seu Timer (o nó que você criou)
# O nome deve ser o nome exato do nó Timer.
@onready var spawn_timer = $SpawnTimer 

func spawn_vampiro():
	# 1. Instancia a cena
	var novo_vampiro = VAMPIRO_SCENE.instantiate()

	# 2. Encontra o ponto de spawn
	# Se tiver um Marker2D chamado PontoDeSpawnVampiro
	var ponto_de_spawn = $PontoDeSpawnVampiro 

	# 3. Define a posição do novo vampiro
	novo_vampiro.global_position = ponto_de_spawn.global_position

	# 4. Adiciona o novo vampiro à cena do mapa
	add_child(novo_vampiro)

func _ready():
	# Remova a chamada direta a spawn_vampiro() daqui!
	# Apenas conecte o sinal.

	# Conecta o sinal 'timeout' do Timer à função 'spawn_vampiro'.
	spawn_timer.timeout.connect(spawn_vampiro)
	
	# Se você DESMARCOU 'Autostart' no passo 2, chame 'start()' aqui:
	# spawn_timer.start()



0 comentários:

Postar um comentário