Comunidad de diseño web y desarrollo en internet online

PROBLEMA COLISION CLIPS

Citar            
MensajeEscrito el 12 Ene 2009 02:22 pm
Un saludo a todos los integrantes del foro.

Tengo un pequeño problema con una función que quiero realizar. Digamos que poseo un clip llamado "player" el cual posee otro clip "area_item". Por otro lado he creado un clip llamado "bloque2", dentro de éste, hay otro con el nombre "area_bloque_2". El código encargado de detectar la colisión es bien simple:


Código :

CÓDIGO situado en la línea principal del clip "area_bloque"//

function bloque1() {
   if (this.hitTest(_root.player.area_item)) {
      _root.player._x = 300
   }
}
this.onEnterFrame = bloque1;



Funciona perfectamente pero he estado intentando realizar otra acción, es decir, al entrar ambos clips en contacto, el valor _x de "player" debe ser el mismo que el de "bloque2". Más fácil aún, crear el típico efecto de pared impidiendo que pueda seguir desplazándose el personaje que maneja el jugador.

Se me ocurrió poner:


Código :

function bloque1() {
   if (this.hitTest(_root.player.area_item)) {
      _root.player._x == this._x
   }
}
this.onEnterFrame = bloque1;



Pero no ocurre nada, así que me gustaría que me ayudarais con la línea de código que necesito.


Atentamente, FABRIC.

Por FABRIC

6 de clabLevel



 

opera
Citar            
MensajeEscrito el 12 Ene 2009 06:09 pm
Hola Fabric :) , solo mirando un momento el codigo note este error:

Código ActionScript :

_root.player._x == this._x

El signo de doble igual (==) que estas usando ahi es para comparar!, para asignar un valor pon un (y solo uno) signo de igual y para comparar pones dos. :) :)

Por puga

44 de clabLevel



Genero:Masculino  

En un computador, muy muy lejano...

firefox
Citar            
MensajeEscrito el 13 Ene 2009 01:01 pm
Disculpa pero me confundí al escribir el código en el post, no ví la opción editar y no pude cambiarlo.

He usado tan solo un signo ( = ) y no me realiza ninguna acción.

Código :

function bloque1() {
   if (this.hitTest(_root.player.area_item)) {
      _root.player._x = this._x
   }
}
this.onEnterFrame = bloque1;

Por FABRIC

6 de clabLevel



 

opera
Citar            
MensajeEscrito el 13 Ene 2009 04:32 pm
pues probar en vez de poner

Código ActionScript :

     
      _root.player._x = this._x

poner

Código ActionScript :

      _root.player._x = this._parent._x

saludos

pd:aguante rage

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 15 Ene 2009 09:39 pm
Mil gracias ironeric23. Puse la modificación que me indicaste y todo va perfecto.

P.D.: Vivan los Rage Against The Machine! JEJEJE Veo que compartimos gustos musicales. ^^

Por FABRIC

6 de clabLevel



 

opera
Citar            
MensajeEscrito el 16 Ene 2009 12:41 pm
jja si
per los hdp no creo que vengan a argentina :(
aunque que se reunieron ya es bueno

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla

 

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