Pour arrondir un chiffre, Flash nous propose la fonction MathRound. Mais cette méthode ne permet pas de conserver des chiffres après la virgule.
Pour contourner ce problème, nous allons faire un peu de math.
Pour arrondir avec deux chiffres après la virgule, il suffit de multiplier le chiffre à arrondir par 100.
On applique alors le Math round qui va déclencher l'arrondi puis diviser le tout par 100 pour repasser les deux chiffres après la virgule.
La formule en question : arrondi=(Math.round(nombre*100))/100
Mais un bon exemple permet souvent de mieux comprendre ce genre de chose :
nombre : 100,434567
nombre*100= 10043,4567
arrondi = 10043
arrondi/100=100,43
Attention, cette méthode ne permet pas de faire un arrondi précis puisque l'arrondi se fait toujours à la borne basse.
Nous aborderons plus tard une fonction plus compliquée pour éviter ce problème.
Par Nicoeum
1
-
Recommander
Pour tracer une ligne tout en actions script :
(code à placer sur une frame dans cet exemple)
Créons d'abord un movie clip vide :
_root.createEmptyMovieClip("ligne",1);
// ligne : nom du movie clip
// 1 : profondeur
Définissons le style de la ligne
ligne.lineStyle (1, 0x00FF00, 100);
// ligne : nom du movie clip
// 1 : taille de la ligne
// 0x00FF00 : Couleur de la ligne
// 100 : alpha (transparence)
Traçons la ligne :
ligne.moveTo( x1,y1);
// moveTo: Définit le point de départ du tracé
// x1: abscisse de départ
// y1 : ordonnée de départ
ligne.lineTo( x2, y2);
// lineTo: Définit le point d'arrivé et la commande pour tracer le trait
// x2: abscisse d'arrivée
// y2: ordonnée d'arrivée
Voilà, vous savez tracer une ligne. Cela vous offre plein de possibilités pour des tracés multiples ou la création de graphique.
Je vous laisse le code complet au cas où :
_root.createEmptyMovieClip("ligne",1);
ligne.lineStyle (1, 0x00FF00, 100);
ligne.moveTo( x1,y1);
ligne.lineTo( x2, y2);
Par Nicoeum
2
-
Recommander
On m'a récemment fourni une vidéo où je devais ajouter de l'interactivité lors de certain passage dans mon interface flash. Amateur de Flash's forum, j'avais entendu parler des cuepoint (s) et je me suis dit que c'était le truc idéal pour pouvoir identifier précisément des points d'entrée et de sortie dans mon flv.
Pas très pratiques à utiliser, très mal documentés, le cuepoint m'a pourri la journée.
OK, je suis pas un champion en ActionScript mais là, faut pas pousser.
Au passage, si vous souhaitez en savoir plus, la seul ressource française est sur le blog de JP
Quand à moi, j'ai trouvé une solution qui me semble bien pratique pour éviter (dans mon cas ) cette galère.
Je crée une fonction qui va mettre dans une variable le temps actuel de la vidéo
J'associe à cette fonction des actions relatives au temps
On fait tourner cette fonction en boucle avec un setInterval
timer=function(){
temps=mavideo.playheadTime; // ici, je met dans la variable "temps" la position actuelle de ma tête de lecture
if (temps >= 10 && temps <= 85){
trace("action entre ces deux moment");
}
}
setInterval (timer,1);
Attention, cette méthode est imprécise à quelques centièmes de secondes près et le temps est en secondes ...
C'est peut-être du bricolage par certains côté mais il ya vraiment un côté pratique.
N"hesitez pas à me proposer une simplification du code ou une amélioration
Par Nicoeum
3
-
Recommander
Note : pour maitriser cette partie, je vous recommande de lire l'article sur le composant alerte dans la partie ... composants
// définition de la fonction d'alerte
bip=function(messages){
import mx.controls.Alert
Alert.show(messages, "Alerte", Alert.OK);}
On place alors un écouteur qui va surveiller la pression de la touche qui nous interesse (ici la virgule qui a le code 188 ) :
monEcouteur = new Object ();
monEcouteur.onKeyDown = function ()
{
if (Key.getCode () == 188)
{
// Declenche l'alerte en embarquant le message
_root.bip ("Utilisez le point comme séparateur à la place de la virgule");
}
};
Key.addListener (monEcouteur);
Par Nicoeum
0
-
Recommander
Vous est-il arrivé d'être obligé de répeter certaines actions de nombreuses fois pour un grand nombre d'instances sur votre animation. Par exemple, redimensionner de nombreux clip à taille identique.
L'opération peut-être fastidieuse si vous devez à chaque fois executer plusieurs actions.Pour éviter cela, il y a les commandes.
Faites une fois l'opération complète.
Ouvrez le panneau historique : Fenêtre>Autre Panneau>Historique
Séléctionnez les actions que vous venez de réaliser et cliquez sur le bouton en forme de disquette.
Un panneau s'ouvre : saisissez le nom de votre commande et cliquez sur OK
Votre commande est désormais disponnible dans l'onglet "Commandes".
Des applications bien plus complexes peuvent-êtres réalisés à partir de l'outil commandes. Ce sera l'occasion de prochains articles
Par Nicoeum
0
-
Recommander
C'est dimanche, alors on fait vite ;-)
Toujours sur l'excellent Media Box, plein de classes AS2 pour fairte plein de choses !!! En tout cas, moi, ça vient de me donner plein d'idées !!!!
Ca se passe içi
Par Nicoeum
0
-
Recommander
Une librairie d'action script téléchargeable ici
Le tout est en AS2 mais le site propose aussi une version AS1
Voici une liste des possibilités qu'elle propose :
Animation :
AnimationCore Parallel Sequence Animation Timeline Move MoveOnQuadCurve
MoveOnCubicCurve MoveOnCurve MoveOnPath Rotation Scale Alpha Skew
ColorTransform ColorBrightness ColorNegative ColorDodge MaskMoveFX MaskScaleFX
Glow GradientGlow Bevel GradientBevel DropShadow Blur BlurDuplicate Shake Trail
Blink Volume
Dessin :
SuperShape Shape Drawer ShapeComposite Line DashLine QuadCurve CubicCurve
Curve Arc Ellipse Rectangle RoundRectangle Poly Burst Spiral Star Gear
Par Nicoeum
0
-
Recommander
Flash permet de créer des sauvegardes sur l'ordinateur de votre visiteur.
C'est comme un cookie, ça ressemble à un cookie mais ce n'est pas un cookie.
Ce qu'il faut savoir :
A la différence d'un cookie, un SharedObject n'est pas sauvegardé dans les temporaires internet mais
dans un dossier spécifique.
Ce fichier a une extension " .sol " et se trouve dans un des sous répertoires du Flash Player (le chemin précis dépend de votre OS et de votre configuration).
Sa taille de base est au maximum de 100Ko ce qui vous laisse largement de quoi faire en terme de variables. Si vous souhaitez un espace plus important, une boite de dialogue s'ouvrira pour en demander l'autorisation lors de la consultation du swf (image de droite).
Vous ne pouvez pas faire communiquer plusieurs swf entre eux au moyen d'un Objet Partagé (le petite nom français des S.O.) ... pour cela, il faut utiliser les connexions locales.
La suite et les codes d'utilisation demain ...
Par Nicoeum
0
-
Recommander
Commentaires