Fausse 3d: tunnel avec fog par script (parametrable)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 296 fois - Téléchargée 27 fois

Contenu du snippet

j'ai matté dans le dernier code(r) (11/2003) une source d'un tunnel en openGL, avec fog, texture, etc...
le texturing via le script est possible (en trichant), mais vu le tps de calcul, c'est pas la peine d'y penser ;)

bref, voici un tunnel en 3d, qui bouge a la maniere de celui de code(r) mais celui ci est en flashMX, pas en openGL, mais il gere quand meme le brouillard ;)

ce sont des calculs 2d, uniquement de l'illusion...

si je trouve le tps et la motivation, je ferai le meme avec des calculs 3d, et rotations, via les matrices...

Source / Exemple :


function createTunnel(nPoint, nCircle, space, power, fogDensity, interval) {
	var center = new Object({x:300, y:300});
	var pi = Math.PI;
	var aCircle = new Array();
	var aCoord = new Array();
	var move_var = 0;
	_root.space = space;
	for (var k = 0; k<=nPoint; k++) {
		aCoord.push(new Object({x:Math.cos(2*k*pi/nPoint), y:Math.sin(2*k*pi/nPoint)}));
	}
	setInterval(function () {
		with (_root) {
			move_var++;
			clear();
			for (j=0; j<=nCircle; j++) {
				lineStyle(-1, 0x000000, (100/nCircle*j)-fogDensity);
				moveTo(center.x+Math.cos(((move_var+j)/power))*space+aCoord[0].x*j*space, center.y+Math.sin(((move_var+j)/power))*space+aCoord[0].y*j*space);
				for (var k = 0; k<=nPoint; k++) {
					lineTo(center.x+Math.cos(((move_var+j)/power))*space+aCoord[k].x*j*space, center.y+Math.sin(((move_var+j)/power))*space+aCoord[k].y*j*space);
				}
			}
			for (j=2; j<=nCircle; j++) {
				lineStyle(-1, 0x000000, (100/nCircle*(j-1))-fogDensity);
				for (var l = 1; l<=nPoint; l++) {
					moveTo(center.x+Math.cos(((move_var+j-1)/power))*space+aCoord[l].x*(j-1)*space, center.y+Math.sin(((move_var+j-1)/power))*space+aCoord[l].y*(j-1)*space);
					lineTo(center.x+Math.cos(((move_var+j)/power))*space+aCoord[l].x*j*space, center.y+Math.sin(((move_var+j)/power))*space+aCoord[l].y*j*space);
				}
			}
		}
	}, interval);
}

// application :
createTunnel(24, 12, 25, 3.5, 0, 50);

A voir également

Ajouter un commentaire Commentaires
Messages postés
1258
Date d'inscription
mercredi 21 mars 2001
Statut
Modérateur
Dernière intervention
21 juin 2009
2
Nouveau fichier flash, appui sur F9, colle le code dans la fenetre de script qui s'est ouverte, execute.
Messages postés
9
Date d'inscription
lundi 21 mars 2005
Statut
Membre
Dernière intervention
5 janvier 2008

Comment activer ce script svp?
Messages postés
1258
Date d'inscription
mercredi 21 mars 2001
Statut
Modérateur
Dernière intervention
21 juin 2009
2
:)
Messages postés
39
Date d'inscription
mardi 21 octobre 2003
Statut
Membre
Dernière intervention
6 avril 2006

Franchement, bien, voir trop bien.
Dommage que l'on arrive vraiment aux limites des possibilités de flash. L'utilisation du CPU est à son maximun.(100%).

BlackWizzard t'es le meilleur ;)
Messages postés
47
Date d'inscription
samedi 11 octobre 2003
Statut
Membre
Dernière intervention
10 décembre 2006

TROP TROP BEAU !! Good game
L'effet de brouillard est bien réalisé, j'aimerai voir des sources aussi belles que celle la :)

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.