[GAME] Penguin PUSH [En Desarollo]

Proyectos en Desarrollo.
Post Reply
User avatar
CicTec
Posts: 16590
Joined: Thu Jul 31, 2008 10:18 pm

Re: [GAME]: PUSH 0.84 Beta - Version extendida de "Pingu y No"

Post by CicTec »

simulatorone wrote: --------------------------------Fallo del sonido, 2 a 4 jugadores y Out_region----------------
Lo que si hay un fallo cuando jugamos con mas jugadores, 2 a 4. que son los sonidos del juego.
No suenan cuando tenemos ventanas divididas!

No se como hacer que los processos que estan en pantalla, los que se vean, en diferentes regiones de scroll, me diga Out_region(id,region) que esta dentro de la pantalla y reproduzca el sonido.

podria ser un fallo de Out_Region + la combinacion de Scrolls.

Incluso usando esta manera:

Code: Select all

from R=0 to 4;//Analiza regiones 0,1,2,3,4
  if(not out_region(id,R));//DEBERIA FUNCIONAR!!!
    <sonido>
  end
end
No me funciona :?:

Los processos que estan en el scroll, No tienen asignado ninguna REgion, esta por defecto Region=0;
Podria ser esta la causa??
El juego de momento no esta disponible para la baja, mas tarde probar nuevamente.
Sobre los fallos, el sonido depende, puede no sonar para varias razones, lo de la region claro, si no asignas al proceso en su variable region el numero de region, siempre se vera en la 0 (pantalla).
User avatar
SimulatorOne
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona
Contact:

Re: [GAME]: PUSH 0.84 Beta - Version extendida de "Pingu y No"

Post by SimulatorOne »

pero como?

como es posible asignar las 4 regiones?? en todos los procesos? solo es un variable local, y solo puedes poner 1 numero.

Si estan en el mismo scroll!
los procesos estan como ctype=c_scoll;

yo solo intento que suene los sonidos si esta visible en pantalla, esten en la region que este.

region=0 pantalla completa o modo 1 jugador, este funciona solo si jugamos con 1 solo jugador.
region=1 = Jugador 1, si se juegan con mas de 1 jugador(2,3,4)
region=2 = jugador 2
region=3 = jugador 3
region=4 = jugador 4

es un bug, que intento solucionarlo desde que cree el sistema multijugador.
User avatar
CicTec
Posts: 16590
Joined: Thu Jul 31, 2008 10:18 pm

Re: [GAME]: PUSH 0.84 Beta - Version extendida de "Pingu y No"

Post by CicTec »

simulatorone wrote:pero como?

como es posible asignar las 4 regiones?? en todos los procesos? solo es un variable local, y solo puedes poner 1 numero.

Si estan en el mismo scroll!
los procesos estan como ctype=c_scoll;

yo solo intento que suene los sonidos si esta visible en pantalla, esten en la region que este.

region=0 pantalla completa o modo 1 jugador, este funciona solo si jugamos con 1 solo jugador.
region=1 = Jugador 1, si se juegan con mas de 1 jugador(2,3,4)
region=2 = jugador 2
region=3 = jugador 3
region=4 = jugador 4

es un bug, que intento solucionarlo desde que cree el sistema multijugador.
A ver, es solo el jugador que debe estar en una region o tambien otros procesos ?
User avatar
SimulatorOne
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona
Contact:

Re: [GAME]: PUSH 0.84 Beta - Version extendida de "Pingu y No"

Post by SimulatorOne »

se usan 4 scroll, que comparten el mismo mapa, y todos los processos llamados como: ctype=c_scoll;

LAs camaras del juego, las 4, se enfocan cada jugador.

y las 4 regiones definidas en cada scroll correspondiente. 1,2,3,4
la region 0 es la pantalla normal

scroll = 0 Jugador=1 Region=1
scroll = 1 Jugador=2 Region=2
scroll = 2 Jugador=3 Region=3
scroll = 3 Jugador=4 Region=4

Todos los processos que estan en el mundo scroll, se ven,colisionan y todo eso.
Los enemigos y el resto de cosas que no son jugador, no tienen ninguna camara de seguimiento, pero si interactuan en el mismo scroll que todos los jugadores.

Las ventanas y regiones, son solo para la camara asignada en cada jugador.

y el problema esta en que, no se como usar el out_region(idjugador,objeto,enemigo // <Region:1,2,3,4>);
en regiones multiples y que se usan scroll.
User avatar
CicTec
Posts: 16590
Joined: Thu Jul 31, 2008 10:18 pm

Re: [GAME]: PUSH 0.84 Beta - Version extendida de "Pingu y No"

Post by CicTec »

En principio es simple, usa:

Code: Select all

out_region(id, region);
si la comprobacion la hace el proceso mismo, o:

Code: Select all

out_region(id_A, id_A.region);
Si quieres que el proceso B controle si el proceso A esta fuera de su region.
User avatar
SimulatorOne
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona
Contact:

Re: [GAME]: PUSH 0.84 Beta - Version extendida de "Pingu y No"

Post by SimulatorOne »

si,si

pero el variable local de region? estan a = 0

me comprobara si aparece en la region 0, que es toda la pantalla, pero no funciona :S
Eso solo funciona si se juega solo con 1 jugador, que usa la region 0 en el scroll.

en los scrolls multijugador estan asignados la regiones:1,2,3,4

no vale usar....??¿

from R=1 to 4;
if(not out_region(id,R));
<sonido>
end
end

Deberia funcionar...pero
yo ya lo e probado, y no me hace nada T^T

Lo unico que se me ocurre es como "forzar" la variable region en todos los objetos declarados como ctype=c_scoll.
repeat
if(idf=get_id(type jugador,enemigos,bloques...etc));
if(idf.ctype==c_scoll);
from R=1 to 4;
idf.region=R;
if(not out_region(idf,R));señal=true;break;end
end
end
end
until(not idf);
if(señal);<sonido>end
User avatar
GINO
Posts: 2823
Joined: Thu Jul 31, 2008 10:25 pm
Contact:

Re: [GAME]: PUSH 0.84 Beta - Version extendida de "Pingu y No"

Post by GINO »

simulatorone va a ser mejor que expliques con alguna imagen d elo que quieres hacer, pq no se entiende bien.
User avatar
SimulatorOne
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona
Contact:

Re: [GAME]: PUSH 0.84 Beta - Version extendida de "Pingu y No"

Post by SimulatorOne »

no lo entiendo, jamas me a pasado esto, con el megaupload, de que no se puede descargar...


Lo que yo quiero es simple.

4 scrolls
4 regiones ,asignados en cada scroll
4 jugadores con c_scoll; y camera
y un monton de processos. con c_scoll;

lo que quiero es, todo processo que tenga asignado ctype=c_scoll ...
y cuando ese proceso tenga que reproducir un sonido; que lo haga DENTRO de la region!! Si es visible ese proceso, que reproduzca el sonido.
este en la region de scroll que este. donde sea visible en la pantalla!
User avatar
GINO
Posts: 2823
Joined: Thu Jul 31, 2008 10:25 pm
Contact:

Re: [GAME]: PUSH 0.84 Beta - Version extendida de "Pingu y No"

Post by GINO »

Pues es simple, tienes q usar out_region() y ya esta.

Code: Select all

if (!out_region(id, region del scroll dd estoy))
    //reproduce sonido
end
Intenta acotar el bug en otro prg y postealo asi podemos mirar en detalle si es bug de gemix.

A no ser que lo que tengas es q el mismo proceso se muestre en los 4 scrolles, y que quieras q reproduzca solo si esta en alguno de esas regiones, osea si es visible en alguno de los scroles. Es eso?
En este caso lo que puedes hacer es simple, mirar las areas rectangulares a pelo, algo asi:

Code: Select all

//suponiendo q cada scroll es de 400x300px en una resolucion de 800x600px, por ejemplo
if ((x > scroll[0].x0 and x < scroll[0].x + 400 and y > scroll[0].y and y < scroll[0].y + 300) or
    (x > scroll[1].x0 and x < scroll[1].x + 400 and y > scroll[1].y and y < scroll[1].y + 300) or
    (x > scroll[2].x0 and x < scroll[2].x + 400 and y > scroll[2].y and y < scroll[2].y + 300) or
    (x > scroll[3].x0 and x < scroll[3].x + 400 and y > scroll[3].y and y < scroll[3].y + 300))
        //reproduce sonido
end
User avatar
SimulatorOne
Posts: 6626
Joined: Tue Nov 17, 2009 2:52 pm
Location: Barcelona
Contact:

Re: [GAME]: PUSH 0.84 Beta - Version extendida de "Pingu y No"

Post by SimulatorOne »

GINO wrote: A no ser que lo que tengas es q el mismo proceso se muestre en los 4 scrolles, y que quieras q reproduzca solo si esta en alguno de esas regiones, osea si es visible en alguno de los scroles. Es eso?
En este caso lo que puedes hacer es simple, mirar las areas rectangulares a pelo, algo asi:

Code: Select all

//suponiendo q cada scroll es de 400x300px en una resolucion de 800x600px, por ejemplo
if ((x > scroll[0].x0 and x < scroll[0].x + 400 and y > scroll[0].y and y < scroll[0].y + 300) or
    (x > scroll[1].x0 and x < scroll[1].x + 400 and y > scroll[1].y and y < scroll[1].y + 300) or
    (x > scroll[2].x0 and x < scroll[2].x + 400 and y > scroll[2].y and y < scroll[2].y + 300) or
    (x > scroll[3].x0 and x < scroll[3].x + 400 and y > scroll[3].y and y < scroll[3].y + 300))
        //reproduce sonido
end
Este si que me funciono!! funciona muy bien :)

Y usando el out_region. no me funciona bien :?: o ni funciona.

Adjunto el test_region con tu codigo.

Me permitido modificar los valores de tu codigo:

Code: Select all

 valido=false;
if ((x > scroll[0].x0 and x < scroll[0].x0 + 320 and y > scroll[0].y0 and y < scroll[0].y0 + 240) or
    (x > scroll[1].x0 and x < scroll[1].x0 + 320 and y > scroll[1].y0 and y < scroll[1].y0 + 240) or
    (x > scroll[2].x0 and x < scroll[2].x0 + 320 and y > scroll[2].y0 and y < scroll[2].y0 + 240) or
    (x > scroll[3].x0 and x < scroll[3].x0 + 320 and y > scroll[3].y0 and y < scroll[3].y0 + 240))
  valido=true;
end
De momento lo e solucionado usando tu codigo!
De momento en este test funciona muy bien :)
You do not have the required permissions to view the files attached to this post.
Post Reply

Return to “Proyectos WIP”