Comunidad de diseño web y desarrollo en internet online

Problemas (muy gordos) con hitTest

Citar            
MensajeEscrito el 01 May 2009 12:48 am
Bueno, soy un novato en esto del flash asi que puede que todo lo que les plantee este mal y no tenga logica :lol:

Os explico:
(Uso Macromedia Flash Profesional 8)

Lo que quiero conseguir es que un movie clip, donde dentro hay un boton con este codigo:

on (press) {
this.startDrag ()
}

al tocarse con otro boton te lleve al fotograma 2, lo intento con este codigo pero no hay manera:

if (boton1.hitTest(boton2)) {
gotoAndStop (2)
}

Pero al arrastrarlo y tocarse no ocurre nada, ¿Que hago mal? ¿Que hago para arreglarlo?

Gracias por adelantado.

Por _Vash_

19 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 May 2009 03:04 am
pon el if en un onEnterFrame

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 01 May 2009 08:00 am
¿Como deberia quedar el codigo? ¿Asi? (porque si es asi no me funciona):

this.onEnterFrame = function(){
if (aaa.hitTest(bbb))
{
gotoAndStop (2)
}
}

Por _Vash_

19 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 May 2009 08:45 am

_Vash_ escribió:

¿Como deberia quedar el codigo? ¿Asi? (porque si es asi no me funciona):

this.onEnterFrame = function(){
if (aaa.hitTest(bbb))
{
gotoAndStop (2)
}
}


Perdon aaa=boton1 bbb=boton2

Sorry ^^

Por _Vash_

19 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 May 2009 01:07 pm
He subido a youtube lo que hago, habr si asi me podeis ayudar. Gracias de nuevo.


Por _Vash_

19 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 May 2009 03:55 pm
creo que lo haces un tanto raro
crea dos movieclips
ponles de nombre cur y test respectivamente

y agrega este codigo al fotograma (no a un objeto)

Código ActionScript :

cur.onMouseMove = function () {
   this._x = _xmouse;
   this._y = _ymouse;
   if(this.hitTest(_root.test)){
                        trace("touche");
                        }
}

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 01 May 2009 07:32 pm
Muchas gracias ^^

¿Y si quiero que un objeto llamado miClip con este codigo que al tocar el objeto test vaya al fotograma 2? ¿Como lo hago?

onEnterFrame = function ()
{
if (Key.isDown(39))
{
miClip._rotation = 10;
if (miClip._x < 515)
{
miClip._x = miClip._x + 3;
}
else
{
miClip._rotation = 0;
} // end if
}
else if (Key.isDown(37))
{
miClip._rotation = -10;
if (miClip._x > 30)
{
miClip._x = miClip._x - 3;
}
else
{
miClip._rotation = 0;
} // end if
}
else
{
miClip._rotation = 0;
} // end if
};

De nuevo gracias ^^

Por _Vash_

19 de clabLevel



 

firefox
Citar            
MensajeEscrito el 01 May 2009 07:35 pm
es irrelevante no?

Código ActionScript :

if(miClip.hitTest(_root.test)){ 
                        trace("touche"); 
                        }

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 02 May 2009 10:52 am
No debo de poner delante un On enter frame o algo parecido?? por que no me funciona...

Grabo lo que hago y lo subo a youtube, ¿Ok?

Por _Vash_

19 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 May 2009 01:05 pm
Bueno aqui esta el video de lo que hago


Sorry pero todavia soy un n00b ^^

Por _Vash_

19 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 May 2009 04:12 pm
antes de cerrar el onEnterFrame (el ultimo } )

Código ActionScript :

    cur._x = _xmouse; 
   cur._y = _ymouse; 
   if(cur.hitTest(_root.miClip)){ 
                        trace("touche"); 
                        } 

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 03 May 2009 09:25 pm
Te estoy eternamente agradecido por todo ^^

Al final he utilizado este codigo:

cur.onEnterFrame = function(){
if(cur.hitTest(_root.miClip)){
trace("touche");
} }

Muchiiiisiiiimas gracias ^^

Por _Vash_

19 de clabLevel



 

firefox
Citar            
MensajeEscrito el 03 May 2009 10:16 pm
lo mejor seria que usaras el onMouseMove
como en el ejemplo qeu te puse antes:

Código ActionScript :

cur.onMouseMove = function () { 
   this._x = _xmouse; 
   this._y = _ymouse; 
   if(this.hitTest(_root.test)){ 
                        trace("touche"); 
                        } 
} 


asi solo cuando el mouse se mueva el movieclip cur se cambiara de lugar a donde este el mouse y cuando el mouse no este moviendose no se haran peticiones para ver si cur esta tocando o no a test
fijate en la salida qeu dejan los dos codigos y veras que con onEnterFrame te manda 12 respuestas por segundo mientras que onMouseMove solo cuando se requiere

Por tribak

Claber

2448 de clabLevel

6 tutoriales

Genero:Masculino   Héroes

Fotógrafo o algo

firefox
Citar            
MensajeEscrito el 04 May 2009 07:03 am
Tienes razón ^^ Lo que pasa es que quiero que el cur sea estatico.

Gracias por el interés ^^

Por _Vash_

19 de clabLevel



 

firefox

 

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