Anuncios Google

Duda: Como poner enemigos en diferentes niveles (Luadev)(Solucionado)

Tengo una duda:

¿Como puedo poner las variables de varias imagenes de diferentes niveles en diferentes posiciones y con diferentes numeros de enemigos? :S

EDITO:

Haber quiero que en el nivel 1 por ejemplo hayan 2 enemigos y esten situados en unas coordenadas que yo elija.

En el nivel dos quiero poner 7 enemigos en diferenes coordenadas.

 

Y asi con todos los niveles

 

Como lo hago??

 

Salu2 y Gracias

 


Risa Dos años en SCENEBETA Risa

Click aquí para ver la Entrada de Bitácora.


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Dioni0396

Bucles for.

Bucles for, estudiatelos a fondo o si no el codigo se te hara interminable.

Imagen de Nevado0

pues con tablas.... enemigos

pues con tablas....

enemigos = {}
for i = 1,20 do
enemigos[i] = {img= image.load("enemigo"..i..".png"), x=0 , y = 0}
end
 
function niveles (enemigo)
for a = 1,enemigo do
enemigos[a]:blit(10*a+20)
end
 
end
 
while true do
controls.read()
niveles(2)
screen.flip()
end

Creo que eso asi te tiene que funcionar, pero ya luego ajustas tu la x y la y a tu gusto, donde kieras que aparezcan.


 Click en la imagen si kieres un avatar o una firma tan espectacular como los mios =P.

Psp 2001 Gen d3 + Memory stick 4 gb

Ps3 Fat 60GB + CFW Rebug 3.55 + Disco duro externo 250 GB+ Multiman

Imagen de barney77

Un pequeño error, en la

Un pequeño error, en la función niveles, en el for, recuerda que image.blit recibe un objeto de imagen, y no de tabla, entonces es enemigos[a].img:blit.

Y en el primer for, yo lo hago así.

enemigos={}
for i=1,20 do
table.insert(enemigos,{img=image.load(...),x=CoordenadaX,y=CoordenadaY,h=enemigos[i].img:height,w=enemigos[i].img:width})
end

perdón por escribirlo así pero esque debo irme xD.

Imagen de Dioni0396

Off topic

Ya eres coder, guay.

Imagen de Nevado0

si ya me di cuenta que me

si ya me di cuenta que me falto el img xD pero abajo ya ta el code corregido =D

Imagen de Nevado0

Hay un error en las

Hay un error en las cordenadas de la funcion , te lo pongo bien aki:

enemigos = {}
for i = 1,20 do
enemigos[i] = {img= image.load("enemigo"..i..".png"), x=0 , y = 0}
end
 
function niveles (enemigo)
for a = 1,enemigo do
enemigos[a].img:blit(480-(10*a+20),272-( 10*a+10) )
end
 
end
 
while true do
controls.read()
niveles(2)
screen.flip()
end

ahora si =P.


 Click en la imagen si kieres un avatar o una firma tan espectacular como los mios =P.

Psp 2001 Gen d3 + Memory stick 4 gb

Ps3 Fat 60GB + CFW Rebug 3.55 + Disco duro externo 250 GB+ Multiman

Imagen de jorge_97

By Jorge_97

Ok pero me he dado cuenta que es eimposible hacerlo automatizado... Porque tu ahi dices que a cada enemigo se le sume 10 y 20 en las coordenadas pero si yo quiero mostrarlo en otra que no sea esa?? es decir una que yo concrete...

 

Un saludo

 

Muchas gracias por tomarse su tiempo conmigo !!

 

:D


Risa Dos años en SCENEBETA Risa

Click aquí para ver la Entrada de Bitácora.

Imagen de Nevado0

Mmm pues en vez de esa

Mmm pues en vez de esa funcion puedes poner esta:

enemigos = {}
for i = 1,20 do
enemigos[i] = {img= image.load("enemigo"..i..".png"), x=0 , y = 0}
end
 
function enemigos(cantidad,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6)--puedes poner la cantidad de numeros que quieras de x y de y.
for a = 1,cantidad do
enemigos[a].img:blit(x..a,y..a)
end
end
--Creo que esto te tendria que funcionar.
 
--te explico como usar la funcion aki:
while true do 
controls.read()
if nivel == 1 then enemigos(3,10,100,20,200,100,20)-- 3=cantidad, 10=x1,100=y1 y asi con todos los enemigos que quieras...
end
screen.flip()
end

Y todo sea por ayudar no? xD

PD: Siempre se puede automatizar todo ! =D


 Click en la imagen si kieres un avatar o una firma tan espectacular como los mios =P.

Psp 2001 Gen d3 + Memory stick 4 gb

Ps3 Fat 60GB + CFW Rebug 3.55 + Disco duro externo 250 GB+ Multiman

Imagen de barney77

Pero, si hace eso, las X e Y

Pero, si hace eso, las X e Y del enemigo quedarian en cero, entonces, haslo así:

function enemigos(cantidad,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6)--puedes poner la cantidad de numeros que quieras de x y de y.
for a = 1,cantidad do
enemigos[a].x,enemigos[a].y=x..a,y..a
enemigos[a].img:blit(enemigo[a].x,enemigo[a].y); -- Como ya actualizamos las cordenadas de cada enemigo, las bliteamos en las mismas ;).
end
end

Saludos :b.

Imagen de jorge_97

By Jorge_97

Bufff me estais liando entre todos xDDD...

Creo que intentare hacerlo a mi manera pero combinandolo un poco con vuestros codes esos...

 

Salu2


Risa Dos años en SCENEBETA Risa

Click aquí para ver la Entrada de Bitácora.

Imagen de barney77

Mejor te dejo todo el code ya

Mejor te dejo todo el code ya "bien":

enemigos={}
for i=1,20 do
table.inser(enemigos,{img=image.load("Imagenes/enemigo"..i..".png"),x=nil,y=nil,h=enemigos[i].img:height(),w=enemigos[i].img:widht()})
end
 
function coordenadasEnemigos(cantidad,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6)--puedes poner la cantidad de numeros que quieras de x y de y.
for a = 1,cantidad do
enemigos[a].x,enemigos[a].y=x..a,y..a
enemigos[a].img:blit(enemigo[a].x,enemigo[a].y); -- Como ya actualizamos las cordenadas de cada enemigo, las bliteamos en las mismas ;).
end
end

Esas son las funciones que te dejo nevado, así me parece es la mejor manera, es facil de llamarlas, ya sabes como(si tienes duda, dime).

Imagen de Dioni0396

Practicando

con el Full HTML, eh?

Imagen de jorge_97

By Jorge_97

Muchisimas gracias a los dos... Sin vosotros y esta comunidad no se que seria de mi programacion xDDD

Imagen de barney77

De nada, ya sabes cualquier

De nada, ya sabes cualquier duda, aquí estamos ;).

 

Imagen de jorge_97

By Jorge_97

Jjajajaj okay ya lo entiendo!!!

...

 

Gracias

 

Tema solucionado

Imagen de Nevado0

Me alegro =D. De nada pa eso

Me alegro =D.

De nada pa eso estamos xD

Imagen de jorge_97

By Jorge_97

Bueno pues este tema se merece ya la etiqueta de.

 

TEMA SOLUCIONADO

 

Salu2 y gracias

Imagen de jorge_97

By Jorge_97

No hay ninguna otra forma...

 

Como no se:

 

if nivel==1 then enemigo1:blit(coordenadas) end
 
 
--No se algo como eso??


Risa Dos años en SCENEBETA Risa

Click aquí para ver la Entrada de Bitácora.

Imagen de Nevado0

Poder, se puede hacer asi,

Poder, se puede hacer asi, pero es muy "manual" te recomiendo que le automatizes un poco el trabajo a luaDEV xD Es mas facil de entender y consume menos ram... no se para mi es mejor mi manera...


 Click en la imagen si kieres un avatar o una firma tan espectacular como los mios =P.

Psp 2001 Gen d3 + Memory stick 4 gb

Ps3 Fat 60GB + CFW Rebug 3.55 + Disco duro externo 250 GB+ Multiman

Imagen de jorge_97

By Jorge_97

Es que no la entiendo del todo... xDDD

Imagen de Nevado0

Pues es facililla... dime que

Pues es facililla... dime que no entiendes.

Imagen de jorge_97

By Jorge_97

Te lo pongo con comentarios:      --

 

--Bien esto crea 20 enemigos pero no entiendo porque pones la i a la derecha de ("enemigo"
 
enemigos = {}
for i = 1,20 do
enemigos[i] = {img= image.load("enemigo"..i..".png"), x=0 , y = 0}
end
 
--Aqui que se pondria al lado de niveles se pondria Enemigo o enemigos?
function niveles (enemigo)
for a = 1,enemigo do
enemigos[a]:blit(10*a+20)
end
 
end
 
while true do
controls.read()
niveles(2) --Porque pones 2?? Se que son 2 enemigos pero no entiendo porque funciona asi...
screen.flip()
end

 

Gracias

 

 


Risa Dos años en SCENEBETA Risa

Click aquí para ver la Entrada de Bitácora.

Imagen de Dioni0396

i es una variable del bucle for

el bucle for ira aumentando en 1 a cada pasada, por eso marca una i para que a cada pasada, cargue una imagen en este caso.

se pondria enemigos, se equivoco al escribir.

pone 2 pues ni idea, nevado porque pones 2? A! Si, es por el bucle y las variables... etc.....

Imagen de Nevado0

Aver, no, no me equivoque al

Aver, no, no me equivoque al escribir, porque si no daria error en loop in gettable, pongo enemigo en vez de enemigos porque da igual como se llame al parametro de la funcion: como si kiero poner function niveles(asdasghaipf) eso no influye en nada.

pues porque pongo 2? pues si es lo mas sencillo del mundo, leed bien la funcion y os dareis cuenta que si yo al llamar a la funcion su parametro lo sustituyo por un 2, el nombre del parametro pasa directamente a llamarse 2.

A lo de que porque pongo ..i..".png" Creo que dioni lo explico bien.


 Click en la imagen si kieres un avatar o una firma tan espectacular como los mios =P.

Psp 2001 Gen d3 + Memory stick 4 gb

Ps3 Fat 60GB + CFW Rebug 3.55 + Disco duro externo 250 GB+ Multiman

Imagen de jorge_97

By Jorge_97

Ok xDDD!!

Imagen de Nevado0

respecto a lo que me pusiste

respecto a lo que me pusiste antes, podrias hacer esto para llamar a la funcion :

for w = 1,20 do -- habra 20 niveles...
if nivel == w then niveles(w*w/2+1) -- De esta manera habra una cantidad moderada de enemigos respecto al nivel en el que te encuentre.
end -- Finalizamos el if
end -- Finalizamos el for

eso creo que lo entiende todo el mundo vamos xD


 Click en la imagen si kieres un avatar o una firma tan espectacular como los mios =P.

Psp 2001 Gen d3 + Memory stick 4 gb

Ps3 Fat 60GB + CFW Rebug 3.55 + Disco duro externo 250 GB+ Multiman

Imagen de jorge_97

By Jorge_97

Si con "Todo el mundo" te refieres tambien a mi... si lo entiendo xddd tan NooB ya no soy eso que quede claro...

 

Salu2 (Te he respondido arriba; en otro comentario tuyo)


Risa Dos años en SCENEBETA Risa

Click aquí para ver la Entrada de Bitácora.

Imagen de jorge_97

By Jorge_97

Ok pues a re-re-re pasar xDDD

 

Salu2 y gracias...

Imagen de Vic1717

...

Puedes usar un script por nivel.

 

Imagen de jorge_97

By Jorge_97

Ok pero necesito:

 

 

 

Salu2

Imagen de NauTiluS1

no entendi nada de lo que

no entendi nada de lo que dijiste la verda

pero las variables las puedes usar siempre aunque no la hasyas declarado en otro dofile


Follow me twitter nautilus1_jmccu!!
Sony, ya a nadie le interesa tus UMD si alguien compra una psp es por nosotros los coders. Madura y has un FW que haga la diferencia y anime a las personas en comprar un PSP

Imagen de jorge_97

By Jorge_97

Pues voy a editar el tema...

 

Es que mis dudas son extrañas xDDD...

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.