Autor Tema: ¿esto se puede?  (Leído 1126 veces)

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2863
  • Karma: 34
  • Superviviente marciano
    • futublock
¿esto se puede?
« en: Febrero 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]

panreyes

  • Administrator
  • *****
  • Mensajes: 2235
  • Karma: 81
    • panreyes.com
Re: ¿esto se puede?
« Respuesta #1 en: Febrero 15, 2011, 09:40:10 am »
Una solución sería esto:
Código: [Seleccionar]
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

  • Hero Member
  • *****
  • Mensajes: 2863
  • Karma: 34
  • Superviviente marciano
    • futublock
Re: ¿esto se puede?
« Respuesta #2 en: Febrero 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]??

panreyes

  • Administrator
  • *****
  • Mensajes: 2235
  • Karma: 81
    • panreyes.com
Re: ¿esto se puede?
« Respuesta #3 en: Febrero 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.

Futu-block

  • Hero Member
  • *****
  • Mensajes: 2863
  • Karma: 34
  • Superviviente marciano
    • futublock
Re: ¿esto se puede?
« Respuesta #4 en: Febrero 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

SplinterGU

  • Hero Member
  • *****
  • Mensajes: 12890
  • Karma: 377
Re: ¿esto se puede?
« Respuesta #5 en: Febrero 15, 2011, 01:56:39 pm »
[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