Comunidad de diseño web y desarrollo en internet online

hitTestObject con variable

Citar            
MensajeEscrito el 14 Mar 2011 08:26 pm
Hola a todos,

Queria saber como usar una variable String que obtengo mediante e.target.name en
Clip1.hitTestObject(variable)
Colocando la variable me da error

Y al escribir
if (Clip1.hitTestObject(DisplayObject(e.target.name)))
me dice Error de conversión forzada

Mi intencion es detectar la colicion de varios clip al ser arrastrados con el mouse a otro clip
Para ello intento colocar su nombre de instancia al pinchar sobre el.
Gracias

Por zumimoraes

83 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 14 Mar 2011 09:07 pm
puedes hacer asi:

var mc:MovieClip = e.target as MovieClip
if (Clip1.hitTestObject(DisplayObject(mc)))trace(mc.name)

No es necesario hacerlo con el name, este lo puedes obtener después

Por el_putas

58 de clabLevel



 

chrome
Citar            
MensajeEscrito el 14 Mar 2011 11:05 pm
Hola Muchas gracias por la ayuda. Funciono muy bien, pero me sale error en Salida. El SWF funciona perfectamente, pero me saca este letrero.
TypeError: Error #2007: El valor del parámetro hitTestObject debe ser distinto de null.
at flash.display::DisplayObject/_hitTest()
at flash.display::DisplayObject/hitTestObject()
at Function/<anonymous>()
Este es el codigo, igual me estoy liando. Coloque una funcion dentro de otra ya que lo quise poner en ENTER_FRAME y me dio error.

Código ActionScript :

function checkHitArea(e:MouseEvent)
{
this.stage.addEventListener(Event.ENTER_FRAME,hubicarCentro);
   function hubicarCentro(event:Event)
   {
   var mc:MovieClip = e.target as MovieClip;
   if (hotspot_mc.hitTestObject(DisplayObject(mc)))
   {
   e.target.height += ((400) - e.target.height)/5;
   e.target.width += ((400) - e.target.width)/5;
   e.target.x += (( -280) - e.target.x)/5;
   e.target.y += ((220) - e.target.y)/5;
   e.target.rotation += ((0) - e.target.rotation)/5 ;
}
}
}
this.stage.addEventListener(MouseEvent.CLICK, checkHitArea);


Muchas gracias por la ayuda

Por zumimoraes

83 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 15 Mar 2011 10:40 am
Hola,

Queria contar que lo solucione poniendo una condicion if antes de la variable

Código ActionScript :

this.stage.addEventListener(MouseEvent.CLICK, checkHitArea);
function checkHitArea(e:MouseEvent)
{
this.stage.addEventListener(Event.ENTER_FRAME, hubicarCentro);
function hubicarCentro(event:Event)
{
var mc:MovieClip = e.target as MovieClip;
if (mc != null)
{
if (hotspot_mc.hitTestObject(DisplayObject(mc)))
         {
e.target.height += ((400) - e.target.height)/5;
e.target.width += ((400) - e.target.width)/5;
e.target.x += (( -280) - e.target.x)/5;
e.target.y += ((220) - e.target.y)/5;
e.target.rotation += ((0) - e.target.rotation)/5 ;
         }
      }
   }
}

y ya funciona sin sacarme el cartel de error
Gracias por la ayuda

Por zumimoraes

83 de clabLevel



Genero:Masculino  

msie7

 

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