Bueno en otro tema que cree hace unos meses perguntando de como hacer para que un Clip de película persiga al cursor del mouse y cuando colisione salte a otro fotograma:
Bueno gracias al usuario Hernán que me hizo el código de AS 2 para lo que yo necesitaba, lo pude agregar a mi SWF que estoy haciendo, pero se me presentaron problemas y el problema principal es el siguiente:
Éste es el código Completo:
Código ActionScript :
var velocidad:Number = 50; // Velocidad del misil, a más grande el número más lento. var radio_explosion:Number = 2; // Que tan cerca estará el misil antes del boom // Función para calcular el ángulo en que debe apuntar la "trompa" del misil function calcAngle(x1:Number, x2:Number, y1:Number, y2:Number):Number { var x3 = x2-x1; var y3 = y2-y1; if (x3 == 0) { return (Math.atan2(y3, x3)*(180/Math.PI))-90; } else { return Math.atan2(y3, x3)*(180/Math.PI); } } // Función para calcular que tan cerca esta el misil function calcDistance(x1:Number, x2:Number, y1:Number, y2:Number):Number { var x3 = x2-x1; var y3 = y2-y1; return Math.sqrt(x3*x3+y3*y3); } // Función de que hara cuando este demasiado cerca, el "BOOM" function boom():Void { angulo.text = "BOOM!!!"; distancia.text = "BOOM!!!"; } // Función que mueve literalmente el misil function moverMisil():Void { // Calculamos el ángulo y le sumamos 90° (Para corregir un problema de cuadrantes que tiene Flash) var angle:Number = calcAngle(misil._x, _root._xmouse, misil._y, _root._ymouse)+90; // Rotamos el misil misil._rotation = angle; // Movemo el misil con una función de easing casera misil._x += (_root._xmouse-misil._x)/velocidad; misil._y += (_root._ymouse-misil._y)/velocidad; // Calculamos que tan cerca tenemos el misil var dist:Number = calcDistance(misil._x, _root._xmouse, misil._y, _root._ymouse); // Informamos los valores angulo.text = "Angulación: "+Math.round(angle)+"°"; distancia.text = "Distancia: "+Math.round((dist-(misil._width/2))); // Determinamos si el mismo esta demasiado cerca, agregando el desplazamiento del centro a la puntal del misil y el radio de explosión determinado if ((dist-(misil._width/2))<=radio_explosion) { boom(); } } // Activamos el código id = setInterval(moverMisil, 0);
éste es el resultado de a lo que yo me refería que deseaba hacer cuando cree el otro tema que les dije:
Bueno éste código se tiene que poner en el primer fotograma y luego abajo crear una capa para dibujar el cohete o en éste caso el triángulo Rojo del ejemplo de arriba...
Y éste se me fue complicando al agregarlo en mi SWF entonces mi pregunta es:
¿Cómo tengo que modificar éste código AS 2 para que en vez de que esté puesto en un fotograma se pueda poner en el mismo Clip de Pelicula (o sea el triángulo Rojo del SWF de arriba) y que siga funcionando de la misma forma?
Por que lo intenté hacer y me dá error, ¿como podría hacer eso?
Por favor lo necesito urgente !!!
Gracias, saludos