Comunidad de diseño web y desarrollo en internet online

Aplicar 1 Funcion a varios movieclips AS3

Citar            
MensajeEscrito el 26 Nov 2009 12:24 pm
Hola, tengo problemas para llamar varios movieclips en una sola funcion, lo que tengo es solo para un movieclip que se llama sm_mc pero la gracia es aplicarlo a varios movieclips sin importar si es una secuencia osea sm1_mc, sm2_mc, etc
el codigo corresponde a un objeto que persigue el mouse :lol:

import fl.transitions.Tween;
import fl.transitions.easing.*;
import flash.display.Stage;


var speed:Number=5;
sm_mc.addEventListener(Event.ENTER_FRAME, loop);
//sm2_mc.addEventListener(Event.ENTER_FRAME, loop); -> eso es lo que quiero para que se repita esa funcion

function loop(e:Event):void {
var yDistance:Number=mouseY-sm_mc.y; //como remplazo para queno sea sm_mc.y?
var xDistance:Number=mouseX-sm_mc.x;
sm_mc.x -= (sm_mc.x - mouseX) / speed;
sm_mc.y -= (sm_mc.y - mouseY) / speed; var radian:Number=Math.atan2(yDistance,xDistance);
sm_mc.rotation=radian*180/Math.PI;

}


GRACIAS :D

Por christianleyva

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Nov 2009 12:37 pm
Cambia la función loop así:

Código ActionScript :

function loop(e:Event):void {
var mc:MovieClip = e.target as MovieClip
var yDistance:Number=mouseY-mc.y; //como remplazo para queno sea sm_mc.y?
var xDistance:Number=mouseX-mc.x;
mc.x -= (mc.x - mouseX) / speed;
mc.y -= (mc.y - mouseY) / speed; 
var radian:Number=Math.atan2(yDistance,xDistance);
mc.rotation=radian*180/Math.PI;
}


Básicamente reemplazas el nombre de instancia por la referencia a quien genera el evento onEnterFrame

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Nov 2009 03:40 pm
gracias, si funciona :o

otra pregunta, si quiero agregar una referencia para tener diferentes velocidades *var speed que debo agregar?

:oops:

Por christianleyva

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Nov 2009 04:01 pm
Asignale la variable a la instancia, ej

miMC.speed = 15

Usala en la función desde el target

mc.x -= (mc.x - mouseX) / mc.speed;

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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