¿Como se hace para que cuando el sprite o personaje que movemos pase del limite de pantalla (480 pixeles) la pantalla avance y el sprite no desaparezca en pantalla aunque se pueda controlar?
No se porque me sale: Error: arma.lua:41: function arguments expected near 'function'
Este script "arma.lua" tiene la misma estructura que otros scripts de mi juego y en cambio no me dan errores.
--imagenes misil1 = Image.load("SFX/Player/balas.png") misil2 = Image.load("SFX/Player/balas.png") misil3 = Image.load("SFX/Player/balas.png") misil4 = Image.load("SFX/Player/balas.png") misil5 = Image.load("SFX/Player/balas.png") misil6 = Image.load("SFX/Player/balas.png") --sonidos System.oaenable() recargar = Sound.load("recargar.wav",false) disparar = Sound.load("disparar.wav",false) --variables bala = {} bala[1] = {x=S[1].x+2,y=S[1].y,cargadores=4,balas=150} spriteb = misil1 pasosdb = 0 pasosib = 0 tiempo1 = Timer.new() tiempo1:start() tiempo3 = Timer.new() tiempo3:start ---funciones function nada() tiempoactual22234 = tiempo3:time() if tiempoactual22234 > 1000 then bala[1].x = bala[1].x + 20 pasosdb = pasosdb + 1 end end function sprtbderecha() tiempoActual222222 = tiempo1:time() if pasosdb >= 0 and pasosdb < 10 and tiempoActual222222 < 1000 then spriteb=misil1 end if pasosdb >= 1 and pasosdb < 2 and tiempoActual222222 < 2000 then spriteb=misil2 end if pasosdb >= 2 and pasosdb < 3 and tiempoActual222222 < 3000 then spriteb=misil3 end if pasosdb >= 3 and pasosdb < 4 tiempoActual222222 < 4000 then spriteb=misil4 end if pasosdb >= 4 and pasosdb < 5 and tiempoActual222222 < 5000 then spriteb=misil5 end if pasosdb >= 5 and pasosdb < 6 and tiempoActual222222 < 6000 then spriteb=misil6 end if pasosdb >= 6 then paosdb = 0 end end function gastar() bala[1].balas = bala[1].balas - 3 if bala[1].balas < 0 then bala[1].cargadores = bala[1].cargadores - 1 bala[1].balas = bala[1].balas + 150 end end
exate un ojo a mi motor RPG
Puedes mover el personajillo y la pantalla te sigue automáticamente. Echale un ojo al código. Busca en aportes de usuarios Motor RPG. Saludos men!
Actualmente desarrollando nuestra web y UXCode : http://www.gcrew.es
Te recomiendo..
Este homebrew, se llama RPG Demo v6, yo tenía la v4 & v5 porque me gustaban más pero la v6 según el autor contiene como más optimizado el código.
Este al mover arriba de la pantalla el mapa va moviendose poco a poco, super bueno y ese homebrew muestra el potencial de LuaHM.
El unico problema es que veo que está en LuaHMv2, solo sería adaptarlo o solamente estudiar las funciones del mapa.
Espero que te funcione. Saludos.
PD: Si ese no te funciona prueba con las versiones v4 & v5.
Hazme la pregunta que quieras ANONIMAMENTE desde aquí.
Sabes
¿Sabes porque da error de "attempt to index field '?" al relacionar una variable con otra?
field
se refiere al campo, y este no existe. ejemplo z[l].x si l es 24 pero se supone solo llega a 3, o en infobala de i donde i es un valor fuera del total de campos. entonces el campo no existe, o .x no existe, algo asi...creo
GuinXell aprender mas...
Gracias
Gracias, aunque va a ser complicado porque utiliza tiles que va imprimiendo en coordenadas x diferentes para imitar un fondo.
bien
cuando on objeto siempre es visible en pantalla, llamese personaje, este solo deve estar limitado a moverse en x rango
if perosanej.x<0 then
personaje.x=0
end
if perosanej.x>480 then
personaje.x=480
end
y cuando quieres que su fondo se mueva tambien segun la posision del personaje,
primero cuantos fondos hay, es decir 480+480+480, o de arriba abjao, 272+272, etc...
supongamos solo hay dos de izquierda a derecha.
fondo[1].img = imagen1
fondo[2].img = imagen2
fondo[1].x = 0
fondo[1].y = 0
fondo[2].x = 0
fondo[2].y = 0
--
if fondo[1].x < -480 then
fondo[1].x = 480
end
if fondo[2].x < -480 then
fondo[2].x = 480
end
if fondo[1].x > 480 then
fondo[1].x = -480
end
if fondo[2].x > 480 then
fondo[1].x = -480
end
if perosanej.x<0 then
personaje.x=0
fondo[1].x = fondo[1].x + 1
fondo[1].x = fondo[1].x + 1
end
if perosanej.x>480 then
personaje.x=480
fondo[1].x = fondo[1].x - 1
fondo[2].x = fondo[2].x - 1
end
luedo le das screen:blit de tus imagenes
------------------
si fueran mas de 2 imagenes o todo un paisaje o mundo, emplea un bucle
para ahorrar velocidad, recortalas antes de visualizar.
y para ahorrar memoria suponiendo sea todo un mundo..(mas de 10 imagenes de fondo), recarga la imagen que corresponda, segun en que imagen estes, 1+1 cada que avance 480 o 1-1 cada de disminuya 480, asi sabras en que imagen de fondo estas, y la recargas.
es algo simple, pero funciona.
GuinXell aprender mas...
Lua
Ahora me da un error referente a function.
para eso
te tienes que crear una funcion, lo primero, que quieres, que cuando llegue al limite 480, empieze el personaje en 0 y cambie de mapa no?, eso es facil, pero embargo quieres que cuando se acerque el personaje a la esquina el mapa se vaya moviendo, eso es mas dificil...
salu2
No
No. Lo que quiero es que cuando el personaje llegue a 480 no siga avanzando como si fuera un fantasma, sino que avance pero que tambien avance el fondo, asi no desaparece el personaje de la pantalla.