hola buenas noches necesito ayuda con este codigo no puedo hacer que el cubo blanco cuando salte ensima del cubo verde salte como si estubiera en el suelo porfavor ayudaaaaaaaaaaaa. y grasias alos q puedan ayudarme y los q no puendan....?
ACA LES DEJO EL CODIGO PRUEBENLO EN EL EMULADOR DE LUA PARA PC O EN EL PSP 3000 QUE ES EL Q TENGO O EN CUALQUIER PSP ADIOS....?
--Creamos los Colores.
verde=Color.new(0,255,0)
blanco = Color.new(255,255,255)--Creamos el suelo.
suelo = Image.createEmpty(480,10)
suelo:clear(verde)--Creamos el bloque.
bloque1 = Image.createEmpty(32,32)
bloque1:clear(verde)
personaje1 = Image.createEmpty(32,32)
personaje1:clear(blanco)--Definicion de variables.
personajeAltura =32
personajeAnchura =32--Array del bloque, con sus tres elementos.
Bloque ={}
Bloque[1]={ x =100, y =200, Altura = bloque1:height(), Anchura = bloque1:width()}
Bloque[2]={ x =300, y =200, Altura = bloque1:height(), Anchura = bloque1:width()}
Bloque[3]={ x =200, y =200, Altura = bloque1:height(), Anchura = bloque1:width()}--Array del personaje.
personaje ={ x =50, y =50}
personaje.x =10
personaje.y =20
personaje.w =50
personaje.h =20
personaje.gravedad =230
personaje.y =230
personaje.x =50
personaje.velocidadSalto =10
personaje.estadoSalto ="suelo"
personaje.salto ="suelo"--Bucle principalwhiletruedo
pad = Controls.read()
screen:clear()if personaje.x >=480then---Codigo a realizar---
personaje.x = personaje.x - 480endif personaje.x <= - 40then---Codigo a realizar---
personaje.x = personaje.x + 480endif personaje.y >=272then---Codigo a realizar---
personaje.y = personaje.y - 270endif personaje.y <=0then---Codigo a realizar---
personaje.y = personaje.y - 0endif pad:left()then
personaje.x = personaje.x - 2endif pad:right()then
personaje.x = personaje.x + 2endif pad:cross()and personaje.estadoSalto =="suelo"then
personaje.estadoSalto ="saltando"endif personaje.estadoSalto =="saltando"then
personaje.velocidadSalto = personaje.velocidadSalto - 0.5
personaje.gravedad = personaje.gravedad - personaje.velocidadSalto
endif personaje.velocidadSalto <0then
personaje.estadoSalto ="cayendo"endif personaje.gravedad <230and personaje.estadoSalto =="cayendo"then
personaje.velocidadSalto = personaje.velocidadSalto + 0.5
personaje.gravedad = personaje.gravedad + personaje.velocidadSalto
endif personaje.gravedad ==230then
personaje.velocidadSalto =10
personaje.estadoSalto ="suelo"endif personaje.gravedad >230then personaje.gravedad =230end
personaje.y = personaje.gravedad
screen:blit(personaje.x,personaje.y,personaje1)
screen:clear()
screen:blit(0,263,suelo)
screen:print(10,10,"X: "..personaje.x.." Y: "..personaje.y,verde)
screen:print(10,20,"estadoSalto: "..personaje.estadoSalto,verde)--Funcion que comprueba si se produce alguna colisión.function comprobarColision(object)if(personaje.x + personajeAnchura > object.x)and(personaje.x < object.x + object.Anchura)and(personaje.y + personajeAltura > object.y)and(personaje.y < object.y + object.Altura)then
personaje.x = oldx
personaje.y = oldy
endend--Comprobamos si hay colisión para cada bloque.
comprobarColision(Bloque[1])
comprobarColision(Bloque[2])
comprobarColision(Bloque[3])--Muestra el personaje en pantalla.
screen:blit(personaje.x,personaje.y,personaje1)-- Variables que almacenan la posicion del personaje al comienzo de cada bucle.
oldx = personaje.x
oldy = personaje.y
--Muestra los tres bloques en pantalla.for a =1,3do
screen:blit(Bloque[a].x,Bloque[a].y,bloque1)end
screen.waitVblankStart()
screen.flip()end
hola gracias por ayudarme a limpiar mi codigo pero no e podido hacer que el personaje salte como en el suelo osea q brinque ala misma distacia q en el suelo.
Aca les dejo el codigo remodelado.
--Creamos los Colores.
verde=Color.new(0,255,0)
blanco = Color.new(255,255,255)--Creamos el suelo.
suelo = Image.createEmpty(480,10)
suelo:clear(verde)--Creamos el bloque.
bloque1 = Image.createEmpty(32,32)
bloque1:clear(verde)
personaje1 = Image.createEmpty(32,32)
personaje1:clear(blanco)--Definicion de variables.
personajeAltura =32
personajeAnchura =32--Array del bloque, con sus tres elementos.
Bloque ={}
Bloque[1]={ x =100, y =200, Altura = bloque1:height(), Anchura = bloque1:width()}
Bloque[2]={ x =300, y =200, Altura = bloque1:height(), Anchura = bloque1:width()}
Bloque[3]={ x =200, y =200, Altura = bloque1:height(), Anchura = bloque1:width()}--Array del personaje.
personaje ={}
personaje.gravedad =230
personaje.y =0
personaje.x =50
personaje.velocidadSalto =10
personaje.estadoSalto ="suelo"--Bucle principalwhiletruedo
pad = Controls.read()
screen:clear()if personaje.x >=480then---Codigo a realizar---
personaje.x = personaje.x - 480endif personaje.x <= - 40then---Codigo a realizar---
personaje.x = personaje.x + 480endif personaje.y >=272then---Codigo a realizar---
personaje.y = personaje.y - 270endif personaje.y <=0then---Codigo a realizar---
personaje.y = personaje.y - 0endif pad:left()then
personaje.x = personaje.x - 2endif pad:right()then
personaje.x = personaje.x + 2endif pad:cross()and personaje.estadoSalto =="suelo"then
personaje.estadoSalto ="saltando"endif personaje.estadoSalto =="saltando"then
personaje.velocidadSalto = personaje.velocidadSalto - 0.5
personaje.gravedad = personaje.gravedad - personaje.velocidadSalto
endif personaje.velocidadSalto <0then
personaje.estadoSalto ="cayendo"endif personaje.gravedad <230and personaje.estadoSalto =="cayendo"then
personaje.velocidadSalto = personaje.velocidadSalto + 0.5
personaje.gravedad = personaje.gravedad + personaje.velocidadSalto
endif personaje.gravedad ==230then
personaje.velocidadSalto =10
personaje.estadoSalto ="suelo"endif personaje.gravedad >230then personaje.gravedad =230end
personaje.y = personaje.gravedad
screen:blit(personaje.x,personaje.y,personaje1)
screen:blit(0,263,suelo)
screen:print(10,10,"X: "..personaje.x.." Y: "..personaje.y,verde)
screen:print(10,20,"estadoSalto: "..personaje.estadoSalto,verde)--Funcion que comprueba si se produce alguna colisión.function comprobarColision(object)if(personaje.x + personajeAnchura > object.x)and(personaje.x < object.x + object.Anchura)and(personaje.y + personajeAltura > object.y)and(personaje.y < object.y + object.Altura)then
personaje.x = oldx
personaje.y = oldy
endend--Comprobamos si hay colisión para cada bloque.
comprobarColision(Bloque[1])
comprobarColision(Bloque[2])
comprobarColision(Bloque[3])-- Variables que almacenan la posicion del personaje al comienzo de cada bucle.
oldx = personaje.x
oldy = personaje.y
--Muestra los tres bloques en pantalla.for a =1,3do
screen:blit(Bloque[a].x,Bloque[a].y,bloque1)end
screen.waitVblankStart()
screen.flip()end
es que el personaje.gravedad debe ser el mismo numero que personaje.y
Te voy a dar el code, pero aprendetelo bien:
--Creamos los Colores.
verde=Color.new(0,255,0)
blanco = Color.new(255,255,255)--Creamos el suelo.
suelo= Image.createEmpty(480,10)
suelo:clear(verde)--Creamos el bloque.
bloque1= Image.createEmpty(32,32)
bloque1:clear(verde)
personaje1 = Image.createEmpty(32,32)
personaje1:clear(blanco)--Definicion de variables.
personajeAltura=32
personajeAnchura =32--Array del bloque, con sus tres elementos.
Bloque={}
Bloque[1]={ x =100, y =200, Altura = bloque1:height(), Anchura = bloque1:width()}
Bloque[2]={ x =300, y =200, Altura = bloque1:height(), Anchura = bloque1:width()}
Bloque[3]={ x =200, y =200, Altura = bloque1:height(), Anchura = bloque1:width()}--Array del personaje.
personaje={}
personaje.gravedad=230
personaje.y=230
personaje.x=50
personaje.velocidadSalto=10
personaje.estadoSalto="suelo"--Bucle principal
whiletruedo
pad = Controls.read()
screen:clear()if personaje.x>=480 then ---Codigo a realizar---
personaje.x= personaje.x-480
end
if personaje.x<=-40 then ---Codigo a realizar---
personaje.x= personaje.x+480
end
if personaje.y>=272 then ---Codigo a realizar---
personaje.y= personaje.y-270
end
if personaje.y<=0 then ---Codigo a realizar---
personaje.y= personaje.y-0
end
if pad:left() then
personaje.x= personaje.x-2
end
if pad:right() then
personaje.x= personaje.x+2
end
if pad:cross() and personaje.estadoSalto=="suelo" then
personaje.estadoSalto="saltando"
end
if personaje.estadoSalto=="saltando" then
personaje.velocidadSalto= personaje.velocidadSalto-0.5
personaje.gravedad= personaje.gravedad- personaje.velocidadSalto
end
if personaje.velocidadSalto<0 then
personaje.estadoSalto="cayendo"
end
if personaje.gravedad<230 and personaje.estadoSalto=="cayendo" then
personaje.velocidadSalto= personaje.velocidadSalto+0.5
personaje.gravedad= personaje.gravedad+ personaje.velocidadSalto
end
if personaje.gravedad==230 then
personaje.velocidadSalto=10
personaje.estadoSalto="suelo"
end
if personaje.gravedad>230 then personaje.gravedad=230 end
personaje.y= personaje.gravedad
screen:blit(personaje.x,personaje.y,personaje1)
screen:blit(0,263,suelo)
screen:print(10,10,"X: "..personaje.x.." Y: "..personaje.y,verde)
screen:print(10,20,"estadoSalto: "..personaje.estadoSalto,verde)--Funcion que comprueba si se produce alguna colisión.
function comprobarColision(object)if(personaje.x+ personajeAnchura > object.x) and (personaje.x< object.x+ object.Anchura) and (personaje.y+ personajeAltura > object.y) and (personaje.y< object.y+ object.Altura) then
personaje.x= oldx
personaje.y= oldy
end
end
--Comprobamos si hay colisión para cada bloque.
comprobarColision(Bloque[1])
comprobarColision(Bloque[2])
comprobarColision(Bloque[3])-- Variables que almacenan la posicion del personaje al comienzo de cada bucle.
oldx= personaje.x
oldy = personaje.y--Muestra los tres bloques en pantalla.
for a =1,3do
screen:blit(Bloque[a].x,Bloque[a].y,bloque1)
end
screen.waitVblankStart()
screen.flip()
end
No se si estara correcto, por favor compruebalo ya que no uso LuaHM
hola grasias portu ayuda telo agradesco, pero no puedo saber si funciona porque no puedo hacer que el persnaje se quede en cima del bloque verde porfavor ayudame soy novato y ademas me falta muchoooooooooooooo por aprender
podrías empezar por lo fácil, primero haciendo que se mueva un personaje, luego haciendo que salte, luego que se mueva mientras salte... etc.. hasta que tengas tu juego funcionando con todo lo que quieres.
Y dioni, si vas a dar code, explica que hace línea por línea, o mejor no des code y deja que aprenda, que bastantes dudas resueltas hay, el resto es imaginación del programador.
porque los defino de la siguiente manera y no me sale
yo creo que como los estoy definiendo esta mal hono se que hacer
supongamos que quiero crear un reproductor de musica pero deve tener un explorador de archivos
entonces comienso acrear el xplorador pero no puedo pasar de definir los comandos
--creo una variable que defina el codigo
directorio = System.currentDirectory()
bueno hay me quede en definirlo
ayuda porfavor selo agradesere de corazon lo necesito para avansar en programacion lua y disculpen tanta preguntadera pero quiero aprender para colaborar ala scenabeta psp gracias
Pero a que lua tu buscas hacer el homebrew? en Lua DeV oh Lua HM?? En avanzada en Lua DeV cambian los comandos si quieres puedes ver la documentacion(lo cual no tengo en mano en este momento pero algun otro te lo puede pasar)
Te agradesco tu ayuda me as facilitado la vida a por sierto como puedo definir las funciones de lua para psp como las funciones del systema y disculpa las molestias pero lo nesecito para mi homebrew
en los tutoriales que leiste no vienen ese tipo de cosas porque indirectamente ya te dicen como hacer todo, solo es cuestion de analizar lo que tienes y manejarlo a tu conveniencia.
tu dices que quieres que la camara siga tu personage, entonses tu personage debe ser un objeto, un "objeto" se define con un array de esta manera:
objeto ={}
suponiendo que tengas tu objeto, ahora necesitas darle sus caracteristicas, puedes hacerlo de dos maneras:
---- Manera 1
objeto ={x =10, y =20, w =50, h =20}---- Manera 2
objeto ={}
objeto.x=10
objeto.y=20
objeto.w=50
objeto.h=20
de la manera 1 te ahorras mas lineas, pero hay gente que le gusta manejar el segundo metodo
bueno ahora que ya tienes tu objeto (esto ya debiste de haverlo visto en los tutoriales), es hora de manejarlo
tus herramientas son estas:
objeto que elaboraste
conocimiento de las dimenciones de la pantalla del PSP (480 x 272)
solo tienes que hacer que la cuando el objeto llege al limite de la pantalla realize cierta funcion( para saver que el objeto lego a la orilla es muy facil, supongo que lo sabes pero aún asi lo redactaré)
if objeto.x >=480then---Codigo a realizar--- endif objeto.x <=0then---Codigo a realizar--- endif objeto.y >=272then---Codigo a realizar--- endif objeto.y <=0then---Codigo a realizar--- end
en cada objeto tenemos los ejes de localisacion (generalmente llamados por X e Y) con estos nos guiaremos para controlas la posicion del objeto en la pantalla
ahora, para lo que creo que quieres puedes usar un fondo, y cuando el objeto toque el borde de lapantalla podrás mover el fondo en direccion opuesta, para hacer el efecto de que el objeto se desplaza y la pantalla lo sigue.
en todos los tutoriales bienen herramientas muy utiles, que aunqe no te digan como hacer cada cosa, puedes usarlas para crear tu propio metodo, de eso se trata la programacion (de crear xD)
Tomando como referencia el ejemplo de zerozelta, no tendrás ningún inconveniente :), ya que los if's, la forma de definir los arrays, el uso de coordenadas, entre otras cosas, son iguales en ambos Lua's(HH y DEV).
ayuda con este codigo de lua
hola buenas noches necesito ayuda con este codigo no puedo hacer que el cubo blanco cuando salte ensima del cubo verde salte como si estubiera en el suelo porfavor ayudaaaaaaaaaaaa. y grasias alos q puedan ayudarme y los q no puendan....?
ACA LES DEJO EL CODIGO PRUEBENLO EN EL EMULADOR DE LUA PARA PC O EN EL PSP 3000 QUE ES EL Q TENGO O EN CUALQUIER PSP ADIOS....?
luis
Aqui tu error
Estas especificando 3 veces la X y la Y y por eso personaje.gravedad no funciona.
ayuda con este codigo de lua
hola gracias por ayudarme a limpiar mi codigo pero no e podido hacer que el personaje salte como en el suelo osea q brinque ala misma distacia q en el suelo.
Aca les dejo el codigo remodelado.
luis
El problema
es que el personaje.gravedad debe ser el mismo numero que personaje.y
Te voy a dar el code, pero aprendetelo bien:
No se si estara correcto, por favor compruebalo ya que no uso LuaHM
ayuda con este codigo de lua
hola grasias portu ayuda telo agradesco, pero no puedo saber si funciona porque no puedo hacer que el persnaje se quede en cima del bloque verde porfavor ayudame soy novato y ademas me falta muchoooooooooooooo por aprender
Grasias portu ayuda de nuevo............
luis
entonces...
podrías empezar por lo fácil, primero haciendo que se mueva un personaje, luego haciendo que salte, luego que se mueva mientras salte... etc.. hasta que tengas tu juego funcionando con todo lo que quieres.
Y dioni, si vas a dar code, explica que hace línea por línea, o mejor no des code y deja que aprenda, que bastantes dudas resueltas hay, el resto es imaginación del programador.
PSP FAT [5.00 M33-6] [6.60 ME] [Hard Moded] / Nintendo Wii [4.1U] [cIOS Hermes] [D2X cIOS] / iPhone 3G [4.2.1] [BB 05.13.04] [redsn0w] / iPod Touch 4 [6.1] [evasi0n]
07/05/10: Tuve el placer de llamarle con todo derecho "N00B" a molotovi xDDD
Recuerda: Sé el intérprete -_-
grasias por tu colaboracion
grasias alos que me ayudaron y alos que no
ya entendi todo
programacion lua player HM
hola necesito ayuda con esto, como hacer para crear una colicion entre un personaje y un bloque
LuaPlayerHM
hola lo siento lo que quise decir es como definir los comandos de LuaPlayerHM por ejemplo
System.currentDirectory()
System.listDirectory()
System.createDirectory()
System.removeDirectory()
System.removeFile()
porque los defino de la siguiente manera y no me sale
yo creo que como los estoy definiendo esta mal hono se que hacer
supongamos que quiero crear un reproductor de musica pero deve tener un explorador de archivos
entonces comienso acrear el xplorador pero no puedo pasar de definir los comandos
--creo una variable que defina el codigo
directorio = System.currentDirectory()
bueno hay me quede en definirlo
ayuda porfavor selo agradesere de corazon lo necesito para avansar en programacion lua y disculpen tanta preguntadera pero quiero aprender para colaborar ala scenabeta psp gracias
luis
Pero a que lua tu buscas
Pero a que lua tu buscas hacer el homebrew? en Lua DeV oh Lua HM??
En avanzada en Lua DeV cambian los comandos si quieres puedes ver la documentacion(lo cual no tengo en mano en este momento pero algun otro te lo puede pasar)
ODIO ser Bipolar... ME ENCANTA!! D:
Twitter Facebook WebPage
Sobre el scrool 2D dejé un
Sobre el scrool 2D dejé un tutorial "[TUTORIAl] Scrool 2D"
grasias porla ayuda
Te agradesco tu ayuda me as facilitado la vida a por sierto como puedo definir las funciones de lua para psp como las funciones del systema y disculpa las molestias pero lo nesecito para mi homebrew
luis
Funciones del sistema, mm...
Funciones del sistema, mm... en que lua estas programando? y que tipo de funciones necesitas?.
en los tutoriales que leiste
en los tutoriales que leiste no vienen ese tipo de cosas porque indirectamente ya te dicen como hacer todo, solo es cuestion de analizar lo que tienes y manejarlo a tu conveniencia.
tu dices que quieres que la camara siga tu personage, entonses tu personage debe ser un objeto, un "objeto" se define con un array de esta manera:
objeto = {}
suponiendo que tengas tu objeto, ahora necesitas darle sus caracteristicas, puedes hacerlo de dos maneras:
de la manera 1 te ahorras mas lineas, pero hay gente que le gusta manejar el segundo metodo
bueno ahora que ya tienes tu objeto (esto ya debiste de haverlo visto en los tutoriales), es hora de manejarlo
tus herramientas son estas:
solo tienes que hacer que la cuando el objeto llege al limite de la pantalla realize cierta funcion( para saver que el objeto lego a la orilla es muy facil, supongo que lo sabes pero aún asi lo redactaré)
en cada objeto tenemos los ejes de localisacion (generalmente llamados por X e Y) con estos nos guiaremos para controlas la posicion del objeto en la pantalla
ahora, para lo que creo que quieres puedes usar un fondo, y cuando el objeto toque el borde de lapantalla podrás mover el fondo en direccion opuesta, para hacer el efecto de que el objeto se desplaza y la pantalla lo sigue.
en todos los tutoriales bienen herramientas muy utiles, que aunqe no te digan como hacer cada cosa, puedes usarlas para crear tu propio metodo, de eso se trata la programacion (de crear xD)
espero te sirva de algo saludos
ayuda lua playerHM
hola loque necesito es hacer un homebrew que use las funciones del systema en luaplayerHM
Tomando como referencia el
Tomando como referencia el ejemplo de zerozelta, no tendrás ningún inconveniente :), ya que los if's, la forma de definir los arrays, el uso de coordenadas, entre otras cosas, son iguales en ambos Lua's(HH y DEV).