[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]
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
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]??
Vale cierto, no había caído en que realmente sólo quieres que vaya en una dirección a la vez.
bien, creia que no se podia...
está bien lo de querer una direccion a la vez, para eso es el elsif??
karma++ :D
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.