Comunidad de diseño web y desarrollo en internet online

Ayuda con condicion en as2

Citar            
MensajeEscrito el 17 Ago 2009 03:33 am
Hola estoy haciendo un juego en as2, la idea es que el personaje tiene que tomar un elemento (m) y llevarlo hasta otro (puerta) pero el cuento es que son varios y lo que quiero es condicionar que se tengan que poner en orden osea que el m2 se pueda poner cuando el m ya se halla colocado, me gustaria saber si me pueden ayudar :) Gracias!

Código :


stop()

heroe2._x=1025;
heroe2._y=625;
power= 5;


heroe2.onEnterFrame = function() {
   heroe2.gotoAndPlay(40);
}
     
if (Key.isDown(Key.LEFT)) {
   heroe2.gotoAndPlay(10)
   heroe2._x-= power;

   if (laberinto2.hitTest(heroe2._x, heroe2._y, true)) {
       heroe2._x +=power;
       }}
  
if (Key.isDown(Key.RIGHT)) {
    heroe2.gotoAndPlay(30)
    heroe2._x+= power;

    if (laberinto2.hitTest(heroe2._x, heroe2._y, true)) {
        heroe2._x -=power;    
        }}
   
if (Key.isDown(Key.UP)) {
    heroe2.gotoAndPlay(1)
    heroe2._y-=power;
          
if (laberinto2.hitTest(heroe2._x, heroe2._y, true)) {
    heroe2._y +=power;
    }}

if (Key.isDown(Key.DOWN)) {
    heroe2.gotoAndPlay(20)
             heroe2. _y+= power;
          
if (laberinto2.hitTest(heroe2._x, heroe2._y, true)) {
    heroe2._y -=power; 
}}
if (m.hitTest(heroe2._x, heroe2._y, true)) {
    m._x = heroe2._x;
    m._y = heroe2._y;
        
    if (puerta.hitTest (m._x, m._y, true)) {
       m._x = puerta._x;
       m._y = puerta._y;
}}
if (m2.hitTest(heroe2._x, heroe2._y, true)) {
   m2._x = heroe2._x;
   m2._y = heroe2._y;
         
   if (puerta2.hitTest (heroe2._x, heroe2._y, true)) {
      m2._x = puerta4._x;
      m2._y = puerta4._y;
       }

}
if (heroe2.hitTest(poder2._x, poder2._y, true)) {
   poder2._alpha=0;
   poder2.enabled=false
   power= 14;
}}


:oops: Gracias!

Por caromaru64

4 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Ago 2009 12:19 pm
No entiendo mucho la pregunta, pero igual dos comentarios:

- No veo que el Key.isDown esté dentro de ninguna función y listener, si esto fuera cierto, jamás se ejecutaría
- Si programando un juego te encuentras con una larga cadena de if, entonces tienes un problema de diseño. Si el juego no es muy complicado, quizás lo resuelvas apilando if ... pero si tiene cierta complicación llegarás a un punto imposible

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 17 Ago 2009 02:06 pm
Hola gracias por responder mira es un juego sencillo y hasta el momento funciona todo bien el cuento es que quiero que para ejecutar la accion de (m2):

Código :

if (m2.hitTest(heroe2._x, heroe2._y, true)) {
   m2._x = heroe2._x;
   m2._y = heroe2._y;
         
   if (puerta2.hitTest (heroe2._x, heroe2._y, true)) {
      m2._x = puerta4._x;
      m2._y = puerta4._y;
       }

}


primero se alla hecho la de (m):

Código :

if (m.hitTest(heroe2._x, heroe2._y, true)) {
    m._x = heroe2._x;
    m._y = heroe2._y;
        
    if (puerta.hitTest (m._x, m._y, true)) {
       m._x = puerta._x;
       m._y = puerta._y;
}}


de lo que se trata es que el personaje pueda colocar la m en la puerta, entonces primero se pone m en puerta y despues m2 en puerta 2, no se si me explico bien, muchas gracias!

Por caromaru64

4 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.