Mostrando entradas con la etiqueta GDScript. Mostrar todas las entradas
Mostrando entradas con la etiqueta GDScript. Mostrar todas las entradas

lunes, 9 de diciembre de 2024

GDScript, para Godot 4.3, andar y dar dos golpes zarpazos diferentes, presionando, ESPACIO tecla y ALT tecla;

 




extends Node3D




var animacion_actual = "ANDASOLO"#ANIMACION CONTINUA Y FIJA DE CAMINAR


func _ready():

$AnimationPlayer.play("ANDASOLO")#ANIMACION CONTINUA Y FIJA

pass # Replace with function body.


func _physics_process(delta):


# Agacharse


if Input.is_action_just_pressed("ui_accept"):#TECLA ESPACIO AL PRESIONAR GOLPEA


if animacion_actual != "MakeHuman default skeleton|ATCA":


$AnimationPlayer.play("MakeHuman default skeleton|ATCA")


animacion_actual = "MakeHuman default skeleton|ATCA"


if Input.is_action_just_released("ui_accept"):#TECLA ESPACIO AL SOLTAR VUELVE ANIMACION ANDAR


if animacion_actual != "MakeHuman default skeleton|ANDASOLO":


$AnimationPlayer.play("MakeHuman default skeleton|ANDASOLO")


animacion_actual = "MakeHuman default skeleton|ANDASOLO"

if Input.is_action_just_pressed("RETUERCE"):#TECLA ALT AL PRESIONAR DA ZARPAZO


if animacion_actual != "MakeHuman default skeleton|GIRACABEZAYZARPAZO":


$AnimationPlayer.play("MakeHuman default skeleton|GIRACABEZAYZARPAZO")


animacion_actual = "MakeHuman default skeleton|GIRACABEZAYZARPAZO"



if Input.is_action_just_released("RETUERCE"):#TECLA ALT AL SOLTAR VUELVE A CAMINAR NORMAL


if animacion_actual != "MakeHuman default skeleton|ANDASOLO":


$AnimationPlayer.play("MakeHuman default skeleton|ANDASOLO")


animacion_actual = "MakeHuman default skeleton|ANDASOLO"

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

Explicación: en este GDScript e conseguido hacer las animaciones de andar y de golpear de dos formas diferentes , y que de forma fluida y coherente den movimiento al personaje, la animación de andar es continua al presionar tecla espacio da un zarpazo, la misma tecla al soltarla el personaje vuelve a  andar y de la misma forma al presionar tecla alt el personaje da otro tipo de movimiento de ataque diferente y al soltar tecla alt vuelve a la animación de andar con normalidad......


las teclas alt y espacio estan en el mapa de entrada de godot4.3 con el nombre de ATACA y de RETUERCE.....

son animaciones echas a mano, me gusta hacerlas yo aun son torpes pero estoy completamente seguro que con mas tiempo y practicas tendran mas calidad y seran mas personales y estilisticas....


musica del video de https://creativecommons.org/licenses/by/4.0/

domingo, 8 de diciembre de 2024

GDScript, personaje animado anda presiono espacio ataca suelto espacio sigue andando;

 extends Node3D




var animacion_actual = "ANDASOLO"


func _ready():

$AnimationPlayer.play("ANDASOLO")

pass # Replace with function body.


func _physics_process(delta):


# Agacharse


if Input.is_action_just_pressed("ui_accept"):


if animacion_actual != "MakeHuman default skeleton|ATCA":


$AnimationPlayer.play("MakeHuman default skeleton|ATCA")


animacion_actual = "MakeHuman default skeleton|ATCA"


if Input.is_action_just_released("ui_accept"):


if animacion_actual != "MakeHuman default skeleton|ANDASOLO":


$AnimationPlayer.play("MakeHuman default skeleton|ANDASOLO")


animacion_actual = "MakeHuman default skeleton|ANDASOLO"

domingo, 21 de julio de 2024

GDScript, decremento del numero 24 al 0 tanto para label como para label3d;

 extends Label3D


var tiempo_restante = 24 # Número inicial


func _ready():

# Actualiza el Label con el tiempo restante inicial

text = str(int(tiempo_restante))


func _process(delta: float):

# Decrementa el tiempo restante cada segundo

tiempo_restante -= delta


# Actualiza el Label con el tiempo restante actualizado

if tiempo_restante >= 0:

text = str(int(tiempo_restante))

else:

text = "Tiempo terminado"




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

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


extends Label




var tiempo_restante = 24 # Número inicial


func _ready():

# Actualiza el Label con el tiempo restante inicial

text = str(int(tiempo_restante))


func _process(delta: float):

# Decrementa el tiempo restante cada segundo

tiempo_restante -= delta


# Actualiza el Label con el tiempo restante actualizado

if tiempo_restante >= 0:

text = str(int(tiempo_restante))

else:

text = "Tiempo terminado"










martes, 7 de mayo de 2024

GDScript, produce disparos con el mouse, rafagas de disparos girando la rueda del mouse; todo rafagas;para disparos de 1 en 1, solamente presionar 1-----if event.button_index == 1 and event.pressed :;

 extends Area3D


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


func _ready():


pass # Replace with function body.



func _input(event):



if event is InputEventMouseButton:


#if event.button_index == 1:

#if event.button_index == 1 and event.pressed == false:

var bullet = Bullet.instantiate()



add_child(bullet)


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

para disparos de 1 en 1, sin rafaga, sin que salgan 2 disparos al presionar 1 y soltar 1, solamente presionar 1---------------if event.button_index == 1 and event.pressed :

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

extends Area3D


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


func _ready():


pass # Replace with function body.



func _input(event):



if event is InputEventMouseButton:


if event.button_index == 1 and event.pressed :

#event.button_index == MOUSE_BUTTON_LEFT and event.pressed:

var bullet = Bullet.instantiate()



add_child(bullet)


------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
al soltar la presion de la tecla del mouse....
--------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------
extends Area3D

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

func _ready():

pass # Replace with function body.


func _input(event):


if event is InputEventMouseButton:

#if event.button_index == 1 and event.pressed :#AL,PRESIONAR
if event.button_index == 1 and not event.pressed :#AL SOLTAR
#event.button_index == MOUSE_BUTTON_LEFT and event.pressed:
var bullet = Bullet.instantiate()


add_child(bullet)