viernes, 15 de agosto de 2025

¡¡El pirata marchoso!!;

https://perico415.itch.io/
 

GDScript que produce disparo de un proyectil y que mantiene su curso independientemente de si giramos el cañon;

 extends Area3D


var Bullet = preload("res://BARCO ELEMENTOS TEXTURAS/CAÑONES/area_3dprollectil_cañon.tscn")

var fire_cooldown: float = 1.7

var can_fire: bool = true

var bullet_speed: float = 20.0

var fire_timer: Timer


func _ready() -> void:

fire_timer = Timer.new()

add_child(fire_timer)

fire_timer.wait_time = fire_cooldown

fire_timer.one_shot = true

fire_timer.timeout.connect(func(): can_fire = true)


func _process(delta: float) -> void:

if Input.is_action_pressed("DISPARACAÑON") and can_fire:

can_fire = false

instantiate_bullet()

fire_timer.start()


func instantiate_bullet() -> void:

var bullet = Bullet.instantiate()

bullet.global_transform = self.global_transform

# Comprobamos que el nodo es un RigidBody3D antes de aplicar el impulso.

if bullet is RigidBody3D:

bullet.apply_central_impulse(-self.global_transform.basis.z * bullet_speed)

else:

print("¡Error! La escena del proyectil no es un RigidBody3D y no puede recibir un impulso.")

get_tree().root.add_child(bullet)

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

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

Explicacion: este Area3d que produce el disparo de un proyectil es hijo de una base que gira presionando las teclas -z-x, tenia el problema que cuando giraba el cañon el proyectil disparado tambien giraba como si formase parte del mismo giro del cañon y este GDScript corrige el problema, asi cuando disparo el proyectil sigue su curso en linea recta y en la direccion hacia donde realice el disparo y no se desvia por muchos giros que aga despues de realizado el disparo.    

"DISPARACAÑON" es el nombre asociado ala tecla-c- que realiza el disparo, se dice mapa de entrada y se prepara antes de realizar cualquier GDScript, y se puede aprovechar para futuros juegos, se pueden aprovechar todos los recursos anteriores de los mapas de entrada para futuros juegos sin tener que partir de cero continuamente.

GDScript para que un MeshInstance3D gire en su eje -y- presionando teclas del pc -z-x-;

 extends MeshInstance3D


# Velocidad de rotación en radianes por segundo.

@export var rotation_speed: float = 1.0


func _process(delta: float) -> void:

# Por defecto, la dirección de rotación es 0 (está quieto).

var rotation_direction: float = 0.0


# Si se presiona la acción "giraz", gira en una dirección.

if Input.is_action_pressed("giraz"):

rotation_direction = 1.0


# Si se presiona la acción "girax", gira en la dirección opuesta.

elif Input.is_action_pressed("girax"):

rotation_direction = -1.0


# Aplica la rotación en el eje Y.

# Si ninguna tecla está presionada, rotation_direction será 0 y el objeto no girará.

rotate_y(rotation_speed * rotation_direction * delta)

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

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

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

Explicacion: en mi nuevo videojuego de piratas y bucaneros e puesto unos cañones a bordo que mediante la presion de las teclas -z-x- hacen un giro de lado a lado en su eje -y-, en Godot asigne esas teclas en su mapa de entrada con los nombres "giraz" y "girax"   este gdscript cumple mi deseo a la perfeccion,.

Estudio de un desarrollador indie;

 ¡¡QUE LOCURA!!

 ¡¡QUE LOCURA!!

 ¡¡QUE LOCURA!!

 ¡¡QUE LOCURA!!
En mi habitacion, tengo 2 pc de torre con el windows XP que funcionan perfectamente, y repaso maravillas como Medall of de Honor, Farcry, entre otros....tengo 2 portatiles 1 msi el otro hp portátil pavilion el msi con 64Gb de ram, el hp portátil pavilion con 16Gb de ram
.

Estos tienen discos duros ssd con puertos usb, los de torre con xp discos duros normales, tambien con usb, .

Mis desarrollos los ago con los portatiles que tienen instalado el windows 11, antes usaba Unity pero probe Godot y me pase a Godot 4.4. 
Me encanta Godot, el de ram de 16 lo uso ahora para ver cine, cada fin de semana a la tarde lo enchufo a un proyector que no llega a los 100 euros y veo peliculas a unas 100 pulgadas prollectadas en mi habitacion, fabuloso!! y me da ideas para desarrollar mis juegos, tambien tengo una coleccion de videojuegos impresionante, que solo funcionan en el windows xp, ahora si quieres jugar en pc tienes que ir a steam.
Tengo tambien unas luces led que no consumen nada de electricidad y dan ambiente a mi estudio, funcionan con mando a distancia¡¡¡¡¡ toma ya¡¡¡¡¡ y hacen colorines y buelven mi ropa fluorescente como si estubiera en la discoteque......
Y libros tengo libros desde comics del capitan trueno, ediciones antiguas de la marvel spiderman 4 fantasticos, versiones modernas en libro, libros sobre videojuegos, programacion, Unity, Blender, historia de videojuegos 1001 videjuegos que has de jugar antes de palmar,  unos tomos de RBA una coleccion muy interesante, y peliculas a puntapala en dvd, y de Star Trek.
Y un par de ventiladores que hace una calor brutal.

Y muy poco tiempo libre para todo.

No doy a basto con mis ideas y con todo lo que quiero hacer.....soy desarrollador indie pero e de trabajar con otras cosas para poder comer.....en fin.

Boy haciendo.