domingo, 27 de octubre de 2024

Ejemplo para que un Label ascienda y descienda alternativamente en la pantalla del videojuego en GDScript;

 extends Label


var velocidad_y = 0.48

var velocidad_x = 0.73

var direccion_y = 1  # 1: hacia abajo, -1: hacia arriba

var direccion_x = 1  # 1: hacia la derecha, -1: hacia la izquierda


func _process(delta: float) -> void:

# Mueve el Label en la dirección actual

position.y += velocidad_y * direccion_y

position.x += velocidad_x * direccion_x


# Verifica si ha llegado a un límite y cambia la dirección

if position.y >= get_viewport().size.y - get_rect().size.y or position.y <= 0:

direccion_y *= -1

if position.x >= get_viewport().size.x - get_rect().size.x or position.x <= 0:

direccion_x *= -1

Ejemplo de rotacion de 90 grados y a la inversa de -90 grados con GDScript;

 extends Camera3D


var target_rotation = PI / 2  # Ángulo de rotación objetivo (90 grados en radianes)

var current_rotation = 0.0

var rotation_speed = 0.1  # Ajusta esta variable para cambiar la velocidad de rotación

var is_rotating_forward = true  # Indica si la rotación es en sentido horario (true) o antihorario (false)


func _process(delta: float) -> void:

if is_rotating_forward:

if current_rotation < target_rotation:

rotate_y(delta * rotation_speed)

current_rotation += delta * rotation_speed

if current_rotation >= target_rotation:

current_rotation = target_rotation

is_rotating_forward = false  # Cambiar dirección de rotación

else:

if current_rotation > -target_rotation:

rotate_y(-delta * rotation_speed)

current_rotation -= delta * rotation_speed

if current_rotation <= -target_rotation:

current_rotation = -target_rotation

is_rotating_forward = true  # Cambiar dirección de rotación

Ejemplo de rotacion con GDScript a 90 grados lentamente;

 extends Camera3D


var target_rotation = PI / 2  # Ángulo de rotación objetivo (90 grados en radianes)

var current_rotation = 0.0

var rotation_speed = 0.1  # Ajusta esta variable para cambiar la velocidad de rotación


func _process(delta: float) -> void:

if current_rotation < target_rotation:

rotate_y(delta * rotation_speed)

current_rotation += delta * rotation_speed

if current_rotation >= target_rotation:

current_rotation = target_rotation

else:

rotation.y = target_rotation


Ejemplo de rotacion de 180 grados lentamente; con GDScript;

 extends Camera3D


var target_rotation = PI  # Ángulo de rotación objetivo (180 grados en radianes)

var current_rotation = 0.0

var rotation_speed = 0.3  # Ajusta esta variable para cambiar la velocidad de rotación


func _process(delta: float) -> void:

if current_rotation < target_rotation:

rotate_y(delta * rotation_speed)

current_rotation += delta * rotation_speed

if current_rotation >= target_rotation:

current_rotation = target_rotation

else:

rotation.y = target_rotation


Ejemplo de una rotacion de 180 grados mediante GDScript;

 extends Camera3D


var target_rotation = PI  # Ángulo de rotación objetivo (180 grados en radianes)

var current_rotation = 0.0


func _process(delta: float) -> void:

if current_rotation < target_rotation:

rotate_y(delta * PI)

current_rotation += delta * PI

if current_rotation >= target_rotation:

current_rotation = target_rotation

else:

rotation.y = target_rotation

sábado, 26 de octubre de 2024

GDScript ejemplo de codigo de animacion, al presionar "s" se para animacion al presionar "w" reanura animacion;

 extends Node3D


var animation_speed = 1.0

var animation_playing = true


func _ready():

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


func _process(delta):

# Control de la velocidad de la animación

if Input.is_action_pressed("andaradelante"):

animation_speed = 2.0

animation_playing = true  # Asegurarse de que la animación esté en reproducción

$AnimationPlayer.play()

else:

animation_speed = 1.0


# Detener la animación al presionar "S"

if Input.is_action_just_pressed("detenerse"):

animation_playing = false

$AnimationPlayer.stop()


GDScript ejemplo de codigo de animacion; al presionar "s" se para la animacion;

extends Node3D

var animation_speed = 1.0
var animation_playing = true

func _ready():
$AnimationPlayer.play("MakeHuman default skeleton|CAMINANTE")

func _process(delta):
# Control de la velocidad de la animación
if Input.is_action_pressed("andaradelante"):
animation_speed = 2.0
else:
animation_speed = 1.0

# Detener o reanudar la animación
if Input.is_action_just_pressed("detenerse"):
animation_playing = not animation_playing
if animation_playing:
$AnimationPlayer.play()
$AnimationPlayer.speed = animation_speed
else:
$AnimationPlayer.stop()