Comunidad de diseño web y desarrollo en internet online

disparar flechas a un target

Citar            
MensajeEscrito el 18 Jul 2008 04:29 am
encontre un modo mas facil para hacer mi recta con las fracciones, hice una recta, le puse cuadros invisibles //a los cuales se les arrastrara otro objeto.. para que se vuelvan visibles, asi soluciono lo de dividirla en x numero de partes
coloque mi pawel//mc que juega en todo el proyecto. e hice que este caminara hacia un lado a otro, ahora lo que intento hacer es que cuando pawel camine dispare "llaves" //ya que los mc que el niño tiene que arrastrar son cajas con cerrojos =) y que cuando le pegue al cerrojo correcto haga un punto en el score.... bueno por supuesto todo en planeacion jaja

ya tengo resuelto el pawel caminando y disparando pero el problema es que no logro que mi mc llave aparesca cuando pawel levante los brazos // despues solucionare que cuando hitTest cerrojo correcto score =+1

puse el siguiente codigo

Código :

onClipEvent (enterFrame) {
if (Key.isDown(Key.RIGHT)) { 
 _x +=  5; 
 legs.play(); 
} 
if (Key.isDown(Key.LEFT)) { 
  _x -= 5; 
legs.play(); 
}
if (Key.isDown(Key.UP)) {
   arms.play();//en esta linea es en donde tengo que agregar el disparo y aparicion y desaparicion de la llave..(bueno hasta aqui todo funciona muy bien) }
}


pero suponiendo que ya esta el resto del codigo =)

Código :

...
if (Key.isDown(Key.UP) && llaveActive == false) { 
pawel.arms.play(); 
attachMovie("llave", "llaves", 8); 
pawel._x = spriteX; 
pawel._y = spriteY+50; 
llaveActive = true

eso fue lo que agrege dentro de la linea de pawel y no aparece nada, tambien intente con _root.llave //para que buscara el mc pero nada
alguien sabe que estoy haciendo mal y porque?

Por noentiendonada

92 de clabLevel



 

msie7
Citar            
MensajeEscrito el 18 Jul 2008 04:31 pm
Mira es mejor que utilizes un listener para capturar cuando se presione una tecla y no que tengas esa instrucción dentro de un onEnterFrame.

Aquí te pongo un ejemplo de código donde cada vez que presiones la tecla arriba se creará una nueva instancia del clip "llave" de la biblioteca y se le crea un onEnterFrame que describe una especie de parábola y cuando sobrepase la base del movie "pawel" entonces se desaparece, de aquí estoy seguro que aclararás muchas dudas.

Código :

var listener:Object = new Object();

listener.onKeyDown = function():Void{
   
   var highDepth:Number = _root.getNextHighestDepth();
   var incY:Number;
      
   if (Key.isDown(Key.UP)) {
      
      incY = 0;
      
      _root.pawel.arms.play();
      var llave:MovieClip = _root.attachMovie("llave", "llave" + highDepth, highDepth);
      
      llave._x = _root.pawel._x + _root.pawel._width;
      llave._y = _root.pawel._y;
      
      llave.onEnterFrame = function():Void{
         
         this._x += 20;
         this._y += incY;
         incY ++;
         
         if(this._y >= _root.pawel._y + _root.pawel._height){
            
            delete this.onEnterFrame;
            this.removeMovieClip();
            
         }
         
      }
      
   }
   
}

Key.addListener(listener);


Saludos espero que te ayude

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 21 Jul 2008 09:57 pm
hola he estado probando el codigo que me enseñaste, pero hay un error que no puedo decifrar ya que en la pantalla en el lado superior izquierdo aparece la palabra false y no avienta ninguna flecha, ni siquiera mueve los brazos... el escript lo puse en el frame del mc pawel... y tambien ya lo probe en el frame de la escena...

Por noentiendonada

92 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 Jul 2008 12:21 pm
Crea un documento en blanco con pawel nada más en la escena pega el código en el frame de la escena donde mismo se encuentra pawel, crea el clip en la biblioteca exportado para AS con nombre "llave" y me dices después.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 22 Jul 2008 10:41 pm
no.. ya hice lo que me pediste y no hace nada ni siquiera levanta los brazos =( y a eso le agregas que tampoco me sale el hitTest... ya no se que hacer? me hice bolas yo solita no he podido resolverlo.. y no le entiendo mucho a eso del listener...

Por noentiendonada

92 de clabLevel



 

msie7
Citar            
MensajeEscrito el 22 Jul 2008 11:59 pm
ya logre poner el mc llave como exportado a as, el problema es que no sale como lo pongo es decir aparece el recuadro del objeto pero no aparece el objeto.. y por otra parte ya que pongo el codigo en mi mc pawel y prueblo la pelicula el pawel ni siquiera mueve el brazo que eso era lo que antes hacia... ya probe con probar escena y publicar escena y con ninguno de los dos hace algo... y ya si abuso de tu confianza.. tambien quiero que la llave pegue en un cuadro especifico hice el codigo con hitTest pero tampoco funciona, como si ubiera demasiados as en la escena y uno no dejara funcionar al otro...
bueno este es el codigo del boton al que debe pegarle la llave..

Código :

onClipEvent (enterFrame) {
   if (this.hitTest(_root.llave)) {
      _root.mal += 1;
      _root.intento += 1;
      unloadMovie(this);
   }
}

yo no se si es que la escena tiene muchos as o si es que no los estoy poniendo en el lugar adecuado

Por noentiendonada

92 de clabLevel



 

msie7
Citar            
MensajeEscrito el 23 Jul 2008 08:50 am
Aquí te dejo un flash con lo que tengo hecho, recuerda que solo he hecho lo de disparar la flecha con la tecla arriba.

http://www.megaupload.com/?d=VXRF07DH

Si todavía no has resuelto esto como puedes estar pensando en otras cosas, vamos a primero por este problema.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 24 Jul 2008 03:26 am
amigos =) por fin (y despues de muchoooosss errores jeje) lo he logrado.. por lo pronto ya mi mc principal logra disparar llaves que era lo que queria.. aqui les va el as por si a alguien le hiciese falta

Código :

//---- variables ---- 
var steps:Number = 5; 
var spriteX:Number = 265; 
var spriteY:Number = 265; 
var speed:Number = 25; 
var llaveActive:Boolean = false;  
var i:Number = 0; 

//---- properties ---- 
pawel.swapDepths(10); 
//---- functions ---- 
function checkKeys() { 
if (Key.isDown(Key.RIGHT) && spriteX<510) { 
spriteX += steps; 
pawel.legs.play(); 
} else if (Key.isDown(Key.LEFT) && spriteX>40) { 
spriteX -= steps; 
pawel.legs.play(); 
} 
if (Key.isDown(Key.UP) && llaveActive == false) { 
pawel.arms.play(); 
attachMovie("llave", "llaves", 8); 
llaves._x = spriteX; 
llaves._y = spriteY-90; 
//arrowActive = true 
} 
} 
function updatePawel() { 
pawel._x = spriteX; 
pawel._y = spriteY; 
} 
function updatellave() { 
if (llaveActive == true) { 
llaves._y -= speed; 
} 
if (llaves._y<90) { 
llaveActive = false; 
removeMovieClip(llaves); 
} 
}
this.onEnterFrame = function() { 
checkKeys(); 
updatePawel(); 
updatellave(); 
};

por supuesto este es un codigo de un tutorial modificado y adaptado para lo que yo necesitaba pero por lo pronto el mc (pawel) es un muñeco que camina de izquierda a derecha y dispara flechas.. ahora me falta hacer que mi flecha dispare en el target correcto y que este de puntos o los quite... :evil: ahi si quieren darme ideas se los agradecere
// mil gracias a todos los que coperaron con sus ideas

Por noentiendonada

92 de clabLevel



 

msie7

 

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