Worms effet en pseudo-3d. prototype.worm()

Soyez le premier à donner votre avis sur cette source.

Vue 5 958 fois - Téléchargée 1 151 fois

Description

bon, G visité un site d'un mec qui fait des trucs super en 3d, et G vu cette effet, mais sans sources.
alors je l'ai recréé.
et puis, yen a marre qu'il y ai que alcys qui fasse des maths ici!
je m'y met moi aussi! nananere!

C du prototype, donc orienté objet flash MX.

Source / Exemple :


MovieClip.prototype.worm = function() {
	this.max = 100;
	this.delay = Math.random()*2000+1000;
	this.time = getTimer();
	for (i=1; this.max>=i; i++) {
		this.duplicateMovieClip(i, i);
		_root[i].yv = 0;
		_root[i].xv = 0;
		_root[i].F = 0.900000;
		_root[i].xspeed = 0;
		_root[i].yspeed = 0;
		_root[i].movieH = 400;
		_root[i].movieW = 550;
		_root[i].xpos = _root[i].movieW/2;
		_root[i].ypos = _root[i].movieH/2;
		_root[i]._height = 30-i/this.max*17;
		_root[i]._width = 30-i/this.max*17;
		_root[i]._alpha = i;
		_root[i].itv = setInterval(function (i) {
			_root[i].tempx = _root[i].xpos;
			_root[i].tempy = _root[i].ypos;
			_root[i].xspeed = (_root[i].xspeed-(_root[i].xpos-(-1*_root.newX[i]+275))/(i/30+20))*_root[i].F;
			_root[i].yspeed = (_root[i].yspeed-(_root[i].ypos-(-1*_root.newY[i]+200))/(i/30+20))*_root[i].F;
			_root[i].xpos = _root[i].xpos+_root[i].xspeed;
			_root[i].ypos = _root[i].ypos+_root[i].yspeed;
			_root[i]._x = _root[i].xpos;
			_root[i]._y = _root[i].ypos;
			_root[i].yspeed = _root[i].ypos-_root[i].tempy;
			_root[i].xspeed = _root[i].xpos-_root[i].tempx;
		}, 75, i);
		if (this._name == "ball") {
			this._visible = 0;
			stop();
		}
	}
	itv = setInterval(function (max, delay, time) {
		if (time+delay<getTimer()) {
			delay = Math.random()*800+450;
			time = getTimer();
			newX = new Array();
			newY = new Array();
			rr = (Math.random()-0.500000)*3;
			rrr = Math.random()*20+5;
			mr = Math.random()*20+5;
			mr2 = Math.random()*20+5;
			for (i=1; max>=i; i++) {
				R = (i/max+0.300000)*2*3.141593;
				R2 = R*rr;
				newX[i] = Math.sin(R2)*Math.sin(i/rrr+mr)*100;
				newY[i] = Math.cos(R2)*Math.sin(i/rrr+mr2)*70;
			}
		}
	}, 1000, this.max, this.delay, this.time);
};

Conclusion :


creez un rond ou autre forme simple, [F8]>movieclip, puis donnez lui le nom d'instance "ball".
et hop!
le petit code magique dans un onClipEvent(load) ou direct dans le _root, et voila! :p
_root.ball.worm();

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
155
Date d'inscription
mardi 7 août 2001
Statut
Membre
Dernière intervention
30 janvier 2008

Wow je trouve que Kimpire rules ! C'est trop beau tous ses sites!
Messages postés
1258
Date d'inscription
mercredi 21 mars 2001
Statut
Membre
Dernière intervention
21 juin 2009
2
ouai, ma V5 est totalement inspiré de who's we :p
mais ya deja 2 semaines que who's we nouveau est là!
Messages postés
38
Date d'inscription
lundi 17 mars 2003
Statut
Membre
Dernière intervention
16 février 2004

Perso, ce Tahailandais de tout ce que G pu voir aussi est le meilleur...
Sinon G une news qui est sympa aussi, Le site du Who's We nouveau est arrivé!!!
http://www.WhosWeStudios.com/
Je post ça ici, car je viens de me le faire bookmarker, qu'on vient de parler de teknik suprem' & que j'ai trouvé que BlackWizzard s'était inspiré de leurs Teknik (Who's We Team) pour sa v5 (BlackWizzard: ce n'est pas une kritik de pompage bien au contraire je n'attend de nous que des créations comme les leurs...)
Ma Sélection dans TheVault:
Infinium Labs
Trendax (Exceptionnel)
Kimpire
& pour ceux qui découvre: Who's We v1.o
Messages postés
1511
Date d'inscription
samedi 8 décembre 2001
Statut
Modérateur
Dernière intervention
11 juin 2009

Ce 3D-engine là, tu peux le trouver sur flashkit... Mais il en a un autre qu'il donne et qui est particulierement bien fait l'un des lplus beau que je n'ai jamais vu, avec celui de flashcomponents!
Messages postés
769
Date d'inscription
samedi 28 décembre 2002
Statut
Membre
Dernière intervention
17 mai 2004

meuh c genial mais ya un probleme kan meme : la partie qui semble plus grosse est dans le fond; ca devrait pas etre l'inverse?
Afficher les 17 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.