Comunidad de diseño web y desarrollo en internet online

variable con hitTest

Citar            
MensajeEscrito el 14 Nov 2005 11:40 pm
Tengo una variable iniciada a 0, en un onEnterFrame la aumento en una unidad cada vez que un hitTest es true, pero a pesar de que el hitTest es a una coordenada concreta xy (un punto nada mas) parece que hitTest es true varias veces, y la variable aumenta demasiadas veces, cuando solo debería aumentar una vez. Creo que el hitTest se produce cada vez que una zona distinta del mc intersecciona el punto especificado, no estoy segura. ¿Qué hago para que sólo aumente una vez por cada vez que hitTest es true?
Perdón por haberme puesto tan pesada con el tema del ángulo, me avergüenzo, pero sinceramente no tenía ni idea de cómo solucionarlo, de por dónde empezar. De aquí en adelante sólo haré preguntas muy concretas sobre el código.

Por jota

48 de clabLevel



 

msie
Citar            
MensajeEscrito el 15 Nov 2005 01:29 am
Mira, segun creo entender lo ke dices y lo ke tienes hecho, creo que lo ke te sucede es lo siguiente:

Tienes el incremento de la variable dentro de un onEnterFrame, este evento se ejecuta a la misma velocidad que se ejecuta tu pelicula frames/segundos, quiere decir que seria algo como que cada vez que se ejecute un frame nuevo de tu pelicula se ejecutara de = manera todo el codigo dentro del onEnterFrame, esto creo ya debes saberlo, ahora en el caso del hitTest, este sera true desde que interceptes los clips en cuestion hasta tanto no los separes, quiere decir esto que si por ejemplo tu peli se ejecuta a 1 frame/segundo (y esto es ipotetico para que se entienda mejor), y mantienes los clips interceptados durante 10 segundos, tu variable se incrementara en 10, ya que para cada una de las 10 veces que se ejecuto el codigo, el hitTest sera true......, espero entiendas lo ke te e explicado.

Te podria aconsejar algo como esto por ejemplo:

Código :

var a:Number = 0;
var b:Boolean = false;
_root.onEnterFrame = function() {
   this.unClip._x = _xmouse;
   this.unClip._y = _ymouse;
   if (this.unClip.hitTest(this.otroClip)) {
      if (!b) {
         trace(++a);
      }
      b = true;
   }
   else {
      b = false;
   }
};


Como podras comprobar esto solo incrementa la variable a en uno en cada vez que se intercepten los clips.

S@lu2s, espero haberte entendido y ayudado.

Por pcreide

25 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 15 Nov 2005 10:35 am
Gracias :)

Por jota

48 de clabLevel



 

msie

 

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