lunes, 10 de marzo de 2025

Sobre usar musica sin derechos de autor para desarrollos de videojuegos; "CCO";

👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇

 Es muy complicado hacer musica si ser musico, algo se puede hacer si a base de ritmos y combinaciones, pero es mas facil asesorarse sobre archivos musicales libres de derechos de autor, asi que consulte a la IA y me resumio sobre "CCO".


En resumen:

  • Si ves "CC0", puedes usar la música sin preocupaciones.
  • No necesitas pedir permiso ni dar atribución.
  • Disfruta de la libertad de usar la música en tus videojuegos y otros proyectos.

Por lo cual, si ves claramente "CCO" junto al archivo, puedes usarlo sin ningun problema.


Es bueno tenerlo en cuenta, es muy facil meter la pata, asi que ya sabeis......"CCO" es una buena opcion.

☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝☝

domingo, 9 de marzo de 2025

Con Godot 4.4. GDScript que sencillo un giro fluido en eje "y";

 extends MeshInstance3D


func _process(delta: float) -> void:

rotate_y(0.0007)

pass

Como se hacen enemigos persiguiendo a player en Godot 4.4;

 GDScript Godot 4.4 se pone al enemigo:

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

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

extends CharacterBody3D


const SPEED = 7.0

const ACCELERATION = 5.5 # Ajusta este valor para la velocidad de respuesta deseada

@onready var navAgent = $NavigationAgent3D

@onready var target = $"../Player"


func _physics_process(delta: float) -> void:

# Añadir gravedad.

if not is_on_floor():

velocity += get_gravity() * delta


if target: # Verifica si el objetivo existe

_update_target_position() # Actualiza la posición del objetivo primero


var currentLocation = global_transform.origin

var nextLocation = navAgent.get_next_path_position()

var nextVelocity = (nextLocation - currentLocation).normalized() * SPEED


velocity = velocity.move_toward(nextVelocity, ACCELERATION * delta) # Usa delta para suavizar la aceleración

move_and_slide()

else:

print("El objetivo (jugador) no existe.")


func _update_target_position():

if target:

navAgent.target_position = target.global_transform.origin

else:

print("El objetivo (jugador) no existe. No se puede actualizar la posición del NavigationAgent.")

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

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

Un complemento sobre restar puntos vidas al player; cuando le toca el enemigo resta 1 punto en cada choque entrada en su area3d, y al llegar a 0 puntos sale escena de Game over, escribo Game Hover, tengo problemas de ortografia, pero los GDScript son perfectos, cualquier duda o aclaracion hoy en dia es sencillisima de resolver , solo teneis que copiar los GDScript y pegarlos en la IA de vuestro navegador  o IA que utiliceis, y corregira cualquier minimo fallo , Hoy en dia aunque no sepas programar la IA te lo acaba de resolver todo y ayuda a aprender.

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

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

extends Area3D


var score = 10


func _ready():

pass


func _on_area_entered(area: Area3D) -> void:

$LabelRESTA.text = str(score)

score -= 1


if score < 0:

get_tree().change_scene_to_file("res://ESCENA DE PERDER/PIERDES.tscn")



func _on_timer_timeout() -> void:

pass # Replace with function body.

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

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

Aqui GDScript para sumar puntos cuando enemigo pasa por los aros aros de un color premio de ese color aros de otro color premio de otro color, al sumar una determinada cantidad de puntos.......

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

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

extends Area3D


var score = 1


func _ready():

pass


func _on_area_entered(area: Area3D) -> void:

$Label.text = str(score)

score += 1


if score > 10:

get_tree().change_scene_to_file("res://TIAS EN PELOTAS -2-/Thriller Part 3.tscn")



func _on_timer_timeout() -> void:

pass # Replace with function body.

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

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

En unos dias el juego estara en Itch.io de ¡¡forma gratuita para su descarga.!!....desde este enlace https://perico415.itch.io/

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

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





Un complemento de juego un GDScript a los 4 segundos del game over retorna al comienzo del juego.

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

extends Node3D


var timer = Timer.new()


func _ready() -> void:

add_child(timer)

timer.one_shot = true

timer.timeout.connect(_on_timer_timeout)

timer.start(4) # Inicia el temporizador de 3 segundos


func _on_timer_timeout():

get_tree().change_scene_to_file("res://MAPnode_3d.tscn") # Cambia a la escena "MAPnode_3d.tscn"


func _process(delta: float) -> void:

pass


miércoles, 5 de marzo de 2025

GDScript para girar particulas 3d con Godot 4.4; ahora todo lo are con Godot 4.4; Adios Godot 4.3;

 extends CPUParticles3D


var rotation_speed : float = 2.0 # Velocidad de rotación en radianes por segundo


func _ready() -> void:

pass


func _process(delta: float) -> void:

rotate_y(rotation_speed * delta)


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

otro ejemplo ampliando en eje "x"

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

extends CPUParticles3D


var rotation_speed : float = 2.0 # Velocidad de rotación en radianes por segundo


func _ready() -> void:

pass


func _process(delta: float) -> void:

rotate_y(rotation_speed * delta)

rotate_x(rotation_speed * delta)


martes, 4 de marzo de 2025

GDScript de sumar puntos ; al conseguir 8 puntos cambia a otra escena; esta asu vez se borra y retorna a la primera pasados unos segundos;Godot 4.3;


 extends Area3D


var score = 1


func _ready():

pass


func _on_area_entered(area: Area3D) -> void:

$Label.text = str(score)

score += 1


if score > 8:

get_tree().change_scene_to_file("res://TIAS EN PELOTAS/Hip Hop Dancing AMARILLA.tscn")



func _on_timer_timeout() -> void:

pass # Replace with function body.

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

---------------------------------------------------------------------------------------------------------------------------- Estas 2 capturas de pantalla y GDScripts se complementan en un juego------------------------------------

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

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





GDScript que reproduce una animacion 3d de un nodo, durante 7 segundos; luego cambia a la escena principal;Godot 4.3;


 extends Node3D


var timer = Timer.new()


func _ready() -> void:

$AnimationPlayer.play("mixamo_com")

add_child(timer)

timer.one_shot = true

timer.timeout.connect(_on_timer_timeout)

timer.start(7) # Inicia el temporizador de 3 segundos


func _on_timer_timeout():

get_tree().change_scene_to_file("res://MAPnode_3d.tscn") # Cambia a la escena "MAPnode_3d.tscn"


func _process(delta: float) -> void:

pass

domingo, 2 de marzo de 2025

Enemigo persigue a player en godot 4.3; GDScript del enemigo y del player; y lo nodos y graficos correspondientes;


 extends CharacterBody3D


const SPEED = 5.0

const ACCELERATION = 1.0 # Ajusta este valor para la velocidad de respuesta deseada

@onready var navAgent = $NavigationAgent3D

@onready var target = $"../Player"


func _physics_process(delta: float) -> void:

# Añadir gravedad.

if not is_on_floor():

velocity += get_gravity() * delta


if target: # Verifica si el objetivo existe

_update_target_position() # Actualiza la posición del objetivo primero


var currentLocation = global_transform.origin

var nextLocation = navAgent.get_next_path_position()

var nextVelocity = (nextLocation - currentLocation).normalized() * SPEED


velocity = velocity.move_toward(nextVelocity, ACCELERATION * delta) # Usa delta para suavizar la aceleración

move_and_slide()

else:

print("El objetivo (jugador) no existe.")


func _update_target_position():

if target:

navAgent.target_position = target.global_transform.origin

else:

print("El objetivo (jugador) no existe. No se puede actualizar la posición del NavigationAgent.")

----------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------
Explicacion: el GDScript de encima es para poner al enemigo, es para Godot 4.3 en juego 3d, fijarse en la ilustracion en los nombres de los nodos y los graficos elementos del juego...... el GDScript  inferior es para mover al player.
--------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------
extends CharacterBody3D


const SPEED = 5.0
const JUMP_VELOCITY = 4.5


func _physics_process(delta: float) -> void:
# Add the gravity.
if not is_on_floor():
velocity += get_gravity() * delta

# Handle jump.
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
velocity.y = JUMP_VELOCITY

# Get the input direction and handle the movement/deceleration.
# As good practice, you should replace UI actions with custom gameplay actions.
var input_dir := Input.get_vector("ui_left", "ui_right", "ui_up", "ui_down")
var direction := (transform.basis * Vector3(input_dir.x, 0, input_dir.y)).normalized()
if direction:
velocity.x = direction.x * SPEED
velocity.z = direction.z * SPEED
else:
velocity.x = move_toward(velocity.x, 0, SPEED)
velocity.z = move_toward(velocity.z, 0, SPEED)

move_and_slide()