Comunidad de diseño web y desarrollo en internet online

problema cambio fotograma en juego

Citar            
MensajeEscrito el 20 Ene 2011 08:10 pm
Vamos a ver, estoy haciendo un comecocos, y lo tengo casi hecho a falta de que cuando tenga un numero de puntos o de vidas se me salte a la pantalla de creditos, y no se como hacerlo.

Aqui esta el personaje principal:

Código ActionScript :

this.onEnterFrame = function() {
   stop();
   switch (Key.getCode()) {
      case Key.UP:
      if (!this.fondo.hitTest(this.bola._x,this.bola._y-27,true)){
         this.bola._y = this.bola._y - 1
      }
         break;
      case Key.DOWN:
      if (!this.fondo.hitTest(this.bola._x,this.bola._y+27,true)){
         this.bola._y = this.bola._y + 1
      }
         break;
      case Key.RIGHT:
      if (!this.fondo.hitTest(this.bola._x+19,this.bola._y,true)){
         this.bola._x = this.bola._x + 1
      }
         break;
      case Key.LEFT:
      if (!this.fondo.hitTest(this.bola._x-19,this.bola._y,true)){
         this.bola._x = this.bola._x - 1
      }
         break;
     }
}
Aqui el personaje se mueve ,todo bien
En esta es la comida:

Código ActionScript :

xdirec=1;
ydirec=0;
margen=20;
this.onEnterFrame=function(){
   this._x=this._x + xdirec;
   this._y=this._y + ydirec;
   if((this._parent.fondo.hitTest(this._x-margen,this._y,true) || this._parent.fondo.hitTest(this._x+margen,this._y,true)) && xdirec!=0){
      if(this._parent.fondo.hitTest(this._x,this._y-margen,true)){
         ydirec=1;
         xdirec=0;
      }else if(this._parent.fondo.hitTest(this._x,this._y+margen,true)){
         ydirec=-1;
         xdirec=0;
      }else{
         valor=Math.floor(Math.random()*2+1);
         if(valor==1){
            ydirec=1;
            xdirec=0;
         }else{
            ydirec=-1;
            xdirec=0;
         }
      }
   }
   this._x=this._x + xdirec;
   this._y=this._y + ydirec;
   
   if((this._parent.fondo.hitTest(this._x,this._y-margen,true) || this._parent.fondo.hitTest(this._x,this._y+margen,true)) && ydirec!=0){
      if(this._parent.fondo.hitTest(this._x-margen,true)){
         xdirec=1;
         ydirec=0;
      }else if(this._parent.fondo.hitTest(this._x+margen,true)){
         xdirec=-1;
         ydirec=0;
      }else{
         valor=Math.floor(Math.random()*2+1);
         if(valor==1){
            xdirec=1;
            ydirec=0;
         }else{
            xdirec=-1;
            ydirec=0;
         }
      }
   }   
   if(this.hitTest(this._parent.bola)){
      this._parent.puntos ++;
      this._x=417
      this._y=104   
   }   
}
La comida,cada vez que choca con el personaje, me sube un punto.
Y los malos:

Código ActionScript :

xdirec=1;
ydirec=0;
margen=20;
stop();
this.onEnterFrame=function(){
   this._x=this._x + xdirec;
   this._y=this._y + ydirec;
   if((this._parent.fondo.hitTest(this._x-margen,this._y,true) || this._parent.fondo.hitTest(this._x+margen,this._y,true)) && xdirec!=0){
      if(this._parent.fondo.hitTest(this._x,this._y-margen,true)){
         ydirec=1;
         xdirec=0;
      }else if(this._parent.fondo.hitTest(this._x,this._y+margen,true)){
         ydirec=-1;
         xdirec=0;
      }else{
         valor=Math.floor(Math.random()*2+1);
         if(valor==1){
            ydirec=1;
            xdirec=0;
         }else{
            ydirec=-1;
            xdirec=0;
         }
      }
   }
   this._x=this._x + xdirec;
   this._y=this._y + ydirec;
   
   if((this._parent.fondo.hitTest(this._x,this._y-margen,true) || this._parent.fondo.hitTest(this._x,this._y+margen,true)) && ydirec!=0){
      if(this._parent.fondo.hitTest(this._x-margen,true)){
         xdirec=1;
         ydirec=0;
      }else if(this._parent.fondo.hitTest(this._x+margen,true)){
         xdirec=-1;
         ydirec=0;
      }else{
         valor=Math.floor(Math.random()*2+1);
         if(valor==1){
            xdirec=1;
            ydirec=0;
         }else{
            xdirec=-1;
            ydirec=0;
         }
      }
   }   
   if(this.hitTest(this._parent.bola)){
      this._parent.vidas --
      this._parent.bola._x=58.6
      this._parent.bola._y=100.4
   }
}
Que cada vez que me tocan me resta una vida.
Asi que si alguien puede decirme como puedo hacerlo para que al llegar p.e. a 100 puntos me salte a otro fotograma, le estaria agradecido.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 21 Ene 2011 03:21 pm
En el onEnterframe del personaje, chequea la variable puntos, si es 100, cambias de fotograma.
Tip: intenta unificar los onEnterFrame en uno solo, sino el rendimiento de tu juego irá a menos, y la legibilidad del código también

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 21 Ene 2011 06:46 pm
Gracias Jorge, aunque al final despues de tanto buscar, era tan sencillo como esto

Código ActionScript :

onClipEvent (load)
{
       this._parent.puntos= 0;
      this._parent.vidas=4;
}
onClipEvent (enterFrame)
{
if (this._parent.puntos > 5) {
      this._parent.gotoAndStop(1);
         
}
{
if (this._parent.vidas < 0) {
      this._parent.gotoAndStop(1);}
}
}
Y asi puedo pasar al fotograma que quiera,cuando llegue(en este caso a 5 puntos) y tambien cuando me quiten las 4 vidas.
Gracias otra vez.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox
Citar            
MensajeEscrito el 21 Ene 2011 06:48 pm

moloco escribió:

Gracias Jorge, aunque al final despues de tanto buscar, era tan sencillo como esto

Código ActionScript :

onClipEvent (enterFrame)
{
if (this._parent.puntos > 5) {
      this._parent.gotoAndStop(1);
         
}
{
if (this._parent.vidas < 0) {
      this._parent.gotoAndStop(1);}
}
}
Y asi puedo pasar al fotograma que quiera,cuando llegue(en este caso a 5 puntos) y tambien cuando me quiten las 4 vidas.
Gracias otra vez.

Por CLAnonimo

Claber

600 de clabLevel

5 tutoriales
1 articulo

 

Este es un usuario anónimo genérico para las cuentas borradas o perdidas.

firefox

 

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