Bennu Game Development

Foros en Español => Mesa de Ayuda => Topic started by: Futu-block on February 15, 2011, 09:37:32 AM

Title: ¿esto se puede?
Post by: Futu-block on February 15, 2011, 09:37:32 AM
[code language="bennu"]
if (key(_right)) pulsa = 1; else pula = 0; end
if (key(_left)) pulsa = 2; end
if (key(_up)) pulsa = 3; end
if (key(_down)) pulsa = 4; end[/code]

¿es correcto?
creo que no del todo

o habria que poner:
[code language="bennu"]
if (!(key(_rigth)) and !(key(_left)) and !(key(_up)) and !(key(_down)))
    pulsa = 0;
end[/code]
Title: Re: ¿esto se puede?
Post by: panreyes on February 15, 2011, 09:40:10 AM
Una solución sería esto:

pulsa=0;
if (key(_right)) pulsa = 1; elseif(key(_left)) pulsa = 2; end
if (key(_up)) pulsa = 3; elseif(key(_down)) pulsa = 4; end
Title: Re: ¿esto se puede?
Post by: Futu-block on February 15, 2011, 11:09:09 AM
Y por que no:
[code language="bennu"]
pulsa=0;
if (key(_right)) pulsa = 1; elseif(key(_left)) pulsa = 2; elseif(key(_up)) pulsa = 3; elseif(key(_down)) pulsa = 4;end[/code]??
Title: Re: ¿esto se puede?
Post by: panreyes on February 15, 2011, 11:13:16 AM
Vale cierto, no había caído en que realmente sólo quieres que vaya en una dirección a la vez.
Title: Re: ¿esto se puede?
Post by: Futu-block on February 15, 2011, 11:17:19 AM
bien, creia que no se podia...

está bien lo de querer una direccion a la vez, para eso es el elsif??

karma++ :D
Title: Re: ¿esto se puede?
Post by: SplinterGU on February 15, 2011, 01:56:39 PM
Quote from: Futublock on February 15, 2011, 09:37:32 AM
[code language="bennu"]
if (key(_right)) pulsa = 1; else pula = 0; end
if (key(_left)) pulsa = 2; end
if (key(_up)) pulsa = 3; end
if (key(_down)) pulsa = 4; end[/code]

¿es correcto?
creo que no del todo

o habria que poner:
[code language="bennu"]
if (!(key(_rigth)) and !(key(_left)) and !(key(_up)) and !(key(_down)))
    pulsa = 0;
end[/code]

se puede claro, pero tanto asi como en el caso de los elseif si tenes todas las teclas pulsadas solo vas a a obtener una de ellas (siempre la misma) segun el orden de los elseif o segun el if... si bien es valido no es muy elegante.
en todo caso lo ideal seria que tome la ultima pulsada, no la ultima o primera condicion segun el caso.