martes, 19 de marzo de 2024

Scripts para Godot 4.2 que instancia una sola vez; por mouse y por temporizador ; y repetitivamente;

 extends Area3D


var Bullet = preload("res://ESCENAS/player.tscn")

var has_fired = false


func _ready():

pass


func _input(event):

if event is InputEventMouseButton && !has_fired:

if event.button_index == 1:

var bullet = Bullet.instantiate()

add_child(bullet)

has_fired = true


----------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------

El de abajo instancia cada vez que se presiona boton del mouse

------------------------------------------------------------------------------------------------

extends Area3D


var Bullet = preload("res://ESCENAS/player.tscn")


func _ready():


pass # Replace with function body.



func _input(event):


if event is InputEventMouseButton:


if event.button_index == 1:


var bullet = Bullet.instantiate()



add_child(bullet)

--------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------
instancia ahora por tiempo a los 2 segundos transcurridos  constantemente
-------------------------------------------------------------------------------------------------------

extends Area3D

var Bullet = preload("res://ESCENAS/player.tscn")

func _ready():
# Iniciar un temporizador
$Timer.start(2.0)

#func _on_Timer_timeout():
# Instanciar la bala después de 2 segundos
#var bullet = Bullet.instantiate()
#add_child(bullet)


func _on_timer_timeout():
var bullet = Bullet.instantiate()
add_child(bullet)
------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------
Instancia una sola vez por tiempo al pasar 2 segundos
-------------------------------------------------------------------------------------------------------------------

extends Area3D

var Bullet = preload("res://ESCENAS/player.tscn")

var has_fired = false

func _ready():
# Iniciar un temporizador
$Timer.start(2.0)

#func _on_Timer_timeout():
# Instanciar la bala después de 2 segundos
#var bullet = Bullet.instantiate()
#add_child(bullet)


func _on_timer_timeout():
if not has_fired:
var bullet = Bullet.instantiate()
add_child(bullet)
has_fired = true


No hay comentarios:

Publicar un comentario