WIP > STRIKE WAR 8BITS
Shoot'EM UP with Copter
made by DcyD3 + IA (I learn XD)
uploaded by DcyD3
added:
updated:

- CLICK TO PLAY -
2
V2.0 some new gx ! (boat texture not correct for me) + intro + explode (to sprite update). Problem with collision between mget and sprite (not working) ??? I try to understand why where because when who !
If someone know please light me (in easy way please). It's your game !!!!! Enjoy +++ to do add scoring & life + (sound + music > here i don't understand how that work sorry)
Comments
![]() yoconoob
|
me gusto el juego por cierto el helicóptero tiene vida porque ya me chocaron como 100 y tantos aviones que ni muero por lo menos es una gran ventaja jeje
|
![]() yoconoob
|
me lo explico una ia como funciona no se si te sirva de algo:En Lua estándar no existen las funciones mget() ni spr() de forma nativa (suelen ser del motor que utilices), pero la lógica para resolver la colisión y la textura/sprite funciona exactamente igual.
Aquí tienes cómo solucionar tu problema en Lua: 1. El problema con mget en Lua Si tu función mget(x, y) consulta una tabla/matriz del mapa, el error común suele ser uno de estos tres: A) Pasar píxeles en lugar de índices del mapa Si tu barco está en la posición x = 100, y = 50 en la pantalla, pero tu mapa es una cuadrícula donde cada casilla mide 16x16 píxeles, debes convertir la posición antes de llamar a mget: Lua -- Suponiendo que cada casilla mide 16 píxeles local tamano_casilla = 16 -- Math.floor redondea hacia abajo para obtener el índice del mapa local tile_x = math.floor(jugador.x / tamano_casilla) + 1 local tile_y = math.floor(jugador.y / tamano_casilla) + 1 if mget(tile_x, tile_y) ~= 0 then -- ¡Hay colisión! end (Nota: En Lua las tablas/arrays empiezan en el índice 1, no en 0, a menos que la librería que uses use indexación desde 0). B) Revisar solo un punto (el centro o la esquina) Si solo revisas el punto superior izquierdo de tu barco, el resto del barco atravesará las paredes. Revisa las 4 esquinas de la caja del barco: Lua function hay_colision(x, y, ancho, alto) local x1 = math.floor(x / 16) + 1 local y1 = math.floor(y / 16) + 1 local x2 = math.floor((x + ancho - 1) / 16) + 1 local y2 = math.floor((y + alto - 1) / 16) + 1 -- Si alguna de las 4 esquinas toca una casilla sólida (por ej. tile tipo 1) if mget(x1, y1) == 1 or mget(x2, y1) == 1 or mget(x1, y2) == 1 or mget(x2, y2) == 1 then return true end return false end 2. Textura/Sprite del barco no correcta Si la textura o el sprite de tu barco no se ve bien, suele ser por dos motivos en Lua: Cuadrante o Quad incorrecto: Si estás usando una hoja de sprites (spritesheet), asegúrate de que las coordenadas x, y, ancho, alto que cortan la imagen del barco sean las correctas. Punto de origen (Center/Pivot): Si el barco rota pero se deforma o gira sobre la esquina en lugar del centro, necesitas ajustar el punto de origen de dibujado al centro del sprite (ancho/2, alto/2). 3. Puntuación, Vidas y Efectos Para llevar el control básico de tu juego en Lua: Lua -- Variables del jugador local jugador = { x = 100, y = 100, vidas = 3, puntos = 0 } function sumar_puntos(cantidad) jugador.puntos = jugador.puntos + cantidad end function recibir_daño() jugador.vidas = jugador.vidas - 1 if jugador.vidas <= 0 then -- ¡Explosión / Game Over! end end |
![]() yoconoob
|
es lo maxcimo que explico porque yo busco la informacion por ia no se si ya lo isistes pero es lo minimo que puedo aser solo se de spr cordenadas y movimientos vasicos el resto de mi trabajo es utilizando solo en codigo la ia no es que sea lo mas grandioso pero es lo unico que puedo aser ademas maximo los sprites los ago tampoco quiero que todo mi trabajo sea ia
|
![]() yoconoob
|
abeses debes buscar la informacion para lograrlo
|
![]() yoconoob
|
bueno es todo lo que puedo ayudar
|
![]() yoconoob
|
de nada
|
![]() yoconoob
|
de paso si esta informacion no lo entendistes mejor usa gemini ese si ayuda por lo menos mas que chat gpt o copilot xd
|
![]() yoconoob
|
xdxdxdxdxdxdxdxdxdxdxdxdxdxd
|
