Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
dasp | Damn ! A Sublime Post-system !
27 mai 2004

[AS] Générateur de logo

Ouaip! Et plus précisemment générateur de logo du genre IBM.
J'ai donc nommé cette fonction ibmizer!

Voilà le code:

function ibmizer (cible:MovieClip, incrementX:Number, incrementY:Number, thickness:Number) {
//on initialise les variables
var overBefore:Boolean = false;
var overNow:Boolean = false;
//on récupère les limites de l'objet
var limites:Object = cible.getBounds (this);
//on créé un clip vide dans lequel on va dessiner
var logo = this.createEmptyMovieClip (cible._name + "_ibmized", this.getNextHighestDepth ());
//on spécifie les options de dessin
logo.lineStyle (thickness, 0x000000, 100);
for (var y = limites.yMin; y < limites.yMax; y += incrementY) {
for (var x = limites.xMin; x < limites.xMax + incrementX; x += incrementX) {
overBefore = overNow;
//on regarde si le pointeur est en contact avec le clip cible
overNow = cible.hitTest (x, y, true);
//si on change d'état...
if (overNow != overBefore) {
if (overNow) {
//..et qu'on est en contact: on stocke l'abscisse
memX = x;
} else {
//..et qu'on n'est plus en contact: on trace!
logo.moveTo (memX, y);
logo.lineTo (x, y);
}
}
}
}
//on décale le logo créé
logo._x -= incrementX / 2;
//on masque la cible
cible._visible = false;
//on renvoie une référence au logo créé
return logo;
}

Voici un petit exemple d'utilisation:

Le code associé:

ibmizer (yo, 1, 8, 5);

Les paramètres de la fonction sont:

  • le Clip ciblé
  • la précision horizontale
  • l'espacement vertical (entre chaque trait)
  • l'épaisseur de chaque trait

Elémentaire mon cher Watson!
Faites moi signe si vous notez des bugs!

Publicité
Publicité
Commentaires
Q
La voilà !<br /> http://www.hosting-hub.com/filedeposit/uploads/10082004/ibmizerDemo.zip<br /> <br /> <br /> Salut !
C
il est possible de trouver le fla, parceque je bug avec le pointage...
C
Je me réveil du mauvais pied tombe sur ce site et je suis émerveillé...par la POO et sa simplicité avec actionscript2 Merci !
Q
C'est bien cque jme disais!
B
Même moi j'le savais.<br /> Comment ça "Mytho"?<br /> Ah ouais, c'est vrai...
Publicité