Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

André Morelli

Movimento de movieclip aleatório

Recommended Posts

Olá pessoal, preciso de uma luz!!!!

 

Tenho um movieclip e preciso que ele tenha movimentos aleatórios, achei um AS que faz isso, mas o meu movieclip (no caso, é uma borboleta batendo as asasa) não roda o conteúdo. Deu pra entender?

 

Já achei algumas coisas aqui, mas nada funcionou.

 

O código que usei é esse abaixo, e o instance do mc é duplicatemc.


onClipEvent (load) {
	sin0 = 0;
	sin1 = 0.0175;
	sin2 = 0.0349;
	sin3 = 0.0523;
	sin4 = 0.0698;
	sin5 = 0.0872;
	sin6 = 0.1045;
	sin7 = 0.1219;
	sin8 = 0.1392;
	sin9 = 0.1564;
	sin10 = 0.1736;
	sin11 = 0.1908;
	sin12 = 0.2079;
	sin13 = 0.225;
	sin14 = 0.2419;
	sin15 = 0.2588;
	sin16 = 0.2756;
	sin17 = 0.2924;
	sin18 = 0.309;
	sin19 = 0.3256;
	sin20 = 0.342;
	sin21 = 0.3584;
	sin22 = 0.3746;
	sin23 = 0.3907;
	sin24 = 0.4067;
	sin25 = 0.4226;
	sin26 = 0.4384;
	sin27 = 0.454;
	sin28 = 0.4695;
	sin29 = 0.4848;
	sin30 = 0.5;
	sin31 = 0.515;
	sin32 = 0.5299;
	sin33 = 0.5446;
	sin34 = 0.5592;
	sin35 = 0.5736;
	sin36 = 0.5878;
	sin37 = 0.6018;
	sin38 = 0.6157;
	sin39 = 0.6293;
	sin40 = 0.6428;
	sin41 = 0.6561;
	sin42 = 0.6691;
	sin43 = 0.682;
	sin44 = 0.6947;
	sin45 = 0.7071;
	sin46 = 0.7193;
	sin47 = 0.7314;
	sin48 = 0.7431;
	sin49 = 0.7547;
	sin50 = 0.766;
	sin51 = 0.7771;
	sin52 = 0.788;
	sin53 = 0.7986;
	sin54 = 0.809;
	sin55 = 0.8192;
	sin56 = 0.829;
	sin57 = 0.8387;
	sin58 = 0.848;
	sin59 = 0.8572;
	sin60 = 0.866;
	sin61 = 0.8746;
	sin62 = 0.8829;
	sin63 = 0.891;
	sin64 = 0.8988;
	sin65 = 0.9063;
	sin66 = 0.9135;
	sin67 = 0.4067;
	sin68 = 0.9272;
	sin69 = 0.9336;
	sin70 = 0.9397;
	sin71 = 0.9455;
	sin72 = 0.9511;
	sin73 = 0.9563;
	sin74 = 0.9613;
	sin75 = 0.9659;
	sin76 = 0.9703;
	sin77 = 0.9744;
	sin78 = 0.9781;
	sin79 = 0.9816;
	sin80 = 0.9848;
	sin81 = 0.9877;
	sin82 = 0.9903;
	sin83 = 0.9925;
	sin84 = 0.9945;
	sin85 = 0.9962;
	sin86 = 0.9976;
	sin87 = 0.9986;
	sin88 = 0.9994;
	sin89 = 0.9998;
	sin90 = 1;
	function sine(angle) {
		theta = int(angle);
		if (theta>360) {
			theta = theta-(int(theta/360)*360);
		}
		if (theta<=360 and theta>=270) {
			sin = this["sin" + (90-(theta-270))]*-1;
		} else if (theta<270 and theta>=180) {
			sin = this["sin" add (theta-180)]*-1;
		} else if (theta<180 and theta>90) {
			sin = this["sin" +(180-theta)];
		} else {
			sin = this["sin" + (theta)];
		}
		return sin;
	}
	oldx = _root.duplicatemc._x;
	oldy = _root.duplicatemc._y;
	_root.duplicatemc._visible = 0;
	i = 32;
	clusternum = 1;
	right = 550;
	left = 450;
	totalnum = 1;
	totalobjects = 10;
	for (i=1; i<(totalobjects+2); i++) {
		set("oldx"+i, random(right));
		set("oldy"+i, random(left));
	}
}
onClipEvent (enterFrame) {
	for (cluster=1; cluster<(totalobjects+1); cluster++) {
		sine(this["oldy"+cluster]*2+i);
		set("oldx"+cluster, this["oldx"+cluster]+(10*sin));
		sine(this["oldx"+cluster]+i);
		set("oldy"+cluster, this["oldy"+cluster]+(10*sin));
		duplicateMovieClip("_root.duplicatemc", "mov"+cluster+"_"+clusternum, clusternum+(cluster*100000));
		setProperty(_root["mov" add cluster add "_" add clusternum], _x, this["oldx"+cluster]);
		setProperty(_root["mov" add cluster add "_" add clusternum], _y, this["oldy"+cluster]);
		i += 2;
		if (i>360) {
			i = 2;
		}
		clusternum += 1;
		if (clusternum>totalnum) {
			clusternum = 1;
		}
		if (this["oldx" + cluster]<0) {
			set("oldx" + cluster, this["oldx" + cluster]+right);
		}
		if (this["oldx" + cluster]>right) {
			set("oldx" + cluster, this["oldx" + cluster]-right);
		}
		if (this["oldy" + cluster]<0) {
			set("oldy" + cluster, this["oldy" + cluster]+left);
		}
		if (this["oldy" + cluster]>left) {
			set("oldy" add cluster, this["oldy" + cluster]-left);
		}
	}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

centroX = Math.random()*Stage.width;
 centroY = Math.random()*Stage.height;
 alcance = 100;
 xveloc = .01;
 yveloc = .03;
 anguloX = 45;
 anguloY = 90;
 onEnterFrame = function () {
     suaborboleta._x = centroX+Math.sin(anguloX)*alcance;
     suaborboleta._y = centroY+Math.sin(anguloY)*alcance;
     anguloX += xveloc;
     anguloY += yveloc;
 };

altere os valores e veja a borboletinha "pirando"...

 

 

(99,9% baseado no "original" postado aqui mesmo...)

http://forum.imaster...leatorio-de-mc/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.