Foros del Web » Creando para Internet » Flash y Actionscript »

cambiar el valor en una funcion

Estas en el tema de cambiar el valor en una funcion en el foro de Flash y Actionscript en Foros del Web. Hola , tengo hecho un juego para un parcial de la facu y quiero hacer un cambio cuando "pasas de nivel" a todo esto el ...
  #1 (permalink)  
Antiguo 04/08/2010, 19:21
 
Fecha de Ingreso: agosto-2010
Mensajes: 7
Antigüedad: 14 años, 3 meses
Puntos: 0
cambiar el valor en una funcion

Hola , tengo hecho un juego para un parcial de la facu y quiero hacer un cambio cuando "pasas de nivel"

a todo esto el paso de nivel es que se activa un movieclip que dice level dos
y no cambia nada, yo solo quisiera que solamente cambie un valor que determina la velocidad del rival asi se incrementa cuando pasas al nivel 2

pero veo que no encuentro bien la forma para hacerlo porque trato con un if
y no da resultados, da un resultado raro se cambia antes y se cambia por mucho

dejo el codigo por una ayuda

Código:
function crearID():void{
   var enemigo:Cayendo=new Cayendo()
   enemigo.y=-50;
   enemigo.x=Math.random()*stage.stageWidth;
   enemigo.addEventListener(Event.ENTER_FRAME,dropEnemy);
   addChild(enemigo);
}

function dropEnemy(e:Event):void{
   var mc:Cayendo=Cayendo(e.target);
//SOLO ESTA LINEA QUE SIGUE ES A LA QUE QUIERO ALTERARLE SU VALOR  CUANDO PASE "CIERTA" COSA
   mc.y+=10 
//ESA LINEA DEFINE LA VELOCIDAD DE DESCENSO DE LO QUE CAE QUE TENES QUE ATRAPAR
   if(mc.hitTestObject(agarrador)){
      atrapadas(mc);
   }else if(mc.y>stage.stageHeight){
      erradas(mc);
/*ESTO ES LO QUE QUISE HACER, SIN EXITO
   if(atrapadasText.text=="50"){
         mc.y+=60
   }*/
   
}
function atrapadas(mc:Cayendo):void{
   mc.removeEventListener(Event.ENTER_FRAME,dropEnemy);
   removeChild(mc);
   atrapadasText.text=String(Number(atrapadasText.text)+1);
   if(atrapadasText.text=="50"){
      nivel2.gotoAndPlay(1);
   }
}
function erradas(mc:Cayendo):void{
   mc.removeEventListener(Event.ENTER_FRAME,dropEnemy);
   removeChild(mc);
   erradasText.text=String(Number(erradasText.text)+1);
   if(erradasText.text=="5"){
      gameOver();
}
}

function gameOver():void{
   score=Number(atrapadasText.text);
   removeChild(agarrador);
   clearInterval(crearIDenemigo);
   removeChild(atrapadasText);
   removeChild(erradasText);
   while(numChildren>0){
   getChildAt(0).removeEventListener(Event.ENTER_FRAME,dropEnemy);
   removeChildAt(0);
   }
   stage.removeEventListener(KeyboardEvent.KEY_DOWN, presionoTecla);
   stage.removeEventListener(KeyboardEvent.KEY_UP, sueltoTecla);
   stage.removeEventListener(Event.ENTER_FRAME , mover);
   gotoAndStop("game over");
   Mouse.show();
}
iniciarJuego();
porque atrapadasText.text, es lo que va apareciendo en pantalla depende cuantas moscas atrapas

Perdon no explique, el juego es de una rana que se mueve en X y va atrapando moscas que caen
yo realmente no se arreglar esto y lo malo es que tengo un plazo de entrega que se me acerca cada vez mas :/
  #2 (permalink)  
Antiguo 06/08/2010, 20:33
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: cambiar el valor en una funcion

hola
as2 o as3?

bueno,pues se me ocurren varios modos, pero el que tal vez me parece más fácil es este
en la función atrapadas veo que esta este if
Código actionscript:
Ver original
  1. if(atrapadasText.text=="50"){
  2.       nivel2.gotoAndPlay(1);
  3.    }
y veo también que recibe el mc como parámetro, entonces en este if es donde
si entra al if, aumentaría la posición del movieclip como esta en dropEnemy, quedando así
Código actionscript:
Ver original
  1. if(atrapadasText.text=="50"){
  2.       mc.y+=10;
  3.       nivel2.gotoAndPlay(1);
  4.    }
y quitaría lo que no esta funcionando de dropEnemy
comentas
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: funcion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:22.