¿esto se puede?

Started by Futu-block, February 15, 2011, 09:37:32 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Futu-block

[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]

panreyes

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

Futu-block

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]??

panreyes

Vale cierto, no había caído en que realmente sólo quieres que vaya en una dirección a la vez.

Futu-block

bien, creia que no se podia...

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

karma++ :D

SplinterGU

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.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2