mercredi 30 septembre 2009

AS3 : Appliquer une police ou font à un ou plusieurs textes

On veut créer une variable police qui sera appliqué pour plusieurs texte.
Ca permet de changer rapidement de police sans avoir à sélectionner tous les textes à modifier.

//création d'un style Arial  12 noir

var style_Arial12Noir=new TextFormat();
style_Arial12Noir.color=0x000000; //000000 définit la couleur RVB, ici noir
style_Arial12Noir.font="Arial"; // police choisit
style_Arial12Noir.size=12; // taille de la font
style_Arial12Noir.align = TextFormatAlign.LEFT; // alignement du texte, left par défaut
Pour l'appliquer à un texte dynamique :
txt_survol.setTextFormat(style_Arial12Noir);

Attention! Il faut remplir le texte avant d'appliquer votre police. On aura un code du type :
txt_survol.text="=> L'est trop bien ce code, il déchire sa race! <=  ";
txt_survol.setTextFormat(style_Arial12Noir);
 Le code qui s'affichera sera donc :
=> L'est trop bien ce code, il déchire sa race! <=

AS3 : Lien / URL

Pour créer un lien sur Flash, on utilise le code suivant :

var seq01ent01:URLRequest = new URLRequest( "seq01ent01.html" );
navigateToURL ( seq01ent01 );
seq01ent01 est un nom de variable quelconque.
Cela renvoie à la page seq01ent01.html qui se trouvera dans le même dossier que celui de votre animation flash.

AS3 : Régler un cadre selon la longueur du texte

On veut un cadre entourant le texte dynamique.
On créé un rectangle de type clip "cadre_txt_survol", qu'on place sur un calque en dessous de celui qui contiendra le texte dynamique "txt_survol".

cadre_txt_survol.width=txt_survol.length*6;

Le cadre prendra la longueur du texte en s'appuyant sur le nombre de caractère du texte.
On multiplie ce nombre par 6 (taille de la police pour Arial 12).
Car une lettre ne fait pas un pixel!
C'est assez approximatif... Mais ça marche.

Si vous avez d'autres idées, je suis à votre écoute! :)

lundi 28 septembre 2009

html : Créer une frame horizontale

Créer une page html avec une frame, c'est à dire une colonne horizontale en haut pour y contenir, une bannière par exemple. Et un cadre en bas qui change grâce au name





Noter qu'on n'utilise pas de balise body , car elles sont remplacées par la balise frameset  et /frameset

mardi 22 septembre 2009

Erreur d'affichage de scrollbar AS3

Si avec le code de gestion d'ascenseur (ici), on a un erreur d'affichage de scrollbar, c'est que quelque part on a demandé une fois de plus l'affichage de ce scroll bar


vendredi 18 septembre 2009

AS3 : Afficher une image en fondu

Grâce à un bouton nommé btn, on va afficher une image (clip nommé yeti)  en fondu, en jouant avec son alpha. Cela affiche une image progressivement dans le temps.

// on créé un timer avec en paramètre le délai en Millisecondes
// puis le nombre de fois où il sera exécuté
var chrono:Timer = new Timer( 200,20 );


// on place une écoute de clic sur le bouton
btn.addEventListener(MouseEvent.CLICK,alphaAsc);

function alphaAsc(evt:Event){
    yeti.alpha = 0; // image initiale invisible
    chrono.start(); // top départ!
}

chrono.addEventListener( TimerEvent.TIMER, onAlpha );
function onAlpha( pEvt:TimerEvent ):void {
 yeti.alpha += 0.05; // l'alpha augmente
}

ArgumentError: Error #2025

ArgumentError: Error #2025: Le DisplayObject indiqué doit être un enfant de l'appelant.

Pour trouver l'origine d'une erreur, il faut commencer par mettre votre code en commentaire et le passer en code petit à petit.

C'est ainsi que ceci posait problème. question_txt est un textField...

question_txt.height=270;
Ce bout de code a été déplacé hors de la function et ça marche! Plus d'erreur! :)

jeudi 17 septembre 2009

Flash CS4 : Liens utiles

Utilisation d’ADOBE® FLASH® CS4 PROFESSIONAL
http://help.adobe.com/fr_FR/Flash/10.0_UsingFlash/flash_cs4_help.pdf

ScrollBar Ascenseur et texte AS3

Placer un scroll bar dynamiquement, qui suit la taille du TextField.
Le scroll se place automatiquement sur la droite du champ texte.
mon_txt est un TextField dynamique, multiligne.
lescroll est un composant qu'on peut trouver dans fenetre>composant (ou Ctrl+F7 pour les fénéants-intelligent, sur Adobe Flash CS3 Professionnal).
La bordure du texte s'affiche si le texte n'a pas besoin de scrollBar (ascenseur en Français).

mon_txt.height=270;
lescroll.height=mon_txt.height; // taille du scroll suit le texte
lescroll.x=mon_txt.x+mon_txt.width-1; //placement du scroll

//gestion de la taille de l'ascenseur selon la taille du texte de la question
if(mon_txt.textHeight< mon_txt.height){
lescroll.visible=false;
mon_txt.border=false;
}
else{
lescroll.visible=true;
mon_txt.border=true;
}

mercredi 16 septembre 2009

AS3 : arrondir un nombre

Pour arrondir un nombre à 2 chiffres après la virgule :

var nombre:Number=101.99214;
trace("nombre "+nombre);
nombre=nombre*100;
trace("nombre*100 "+nombre);
nombre=Math.round(nombre);
trace("Math.round(nombre*100) " +nombre);
nombre=nombre/100;
trace("(Math.round(nombre*100))/100 "+nombre);


(Math.round(nombre*100))/100 "+nombre cette formule permet d'avoir 2 décimales.
Le code ci dessus affichera :

nombre 101.99214
nombre*100 10199.214
Math.round(nombre*100) 10199
(Math.round(nombre*100))/100 101.99

AS3 : remplacer des caractères par autre chose

split(" ") permet de remplacer des caractères par une virgule si join est pas définie.

var montxt:String = "A*B*C ";
trace(montxt.split("*")); // affiche A,B,C

var machaine:String = "A*B*C*D"
machaine= machaine.split("*").join("");
trace(machaine); // affiche ABCD

Ouverture du Blog

Bonjour,

Ce blog a été conçu dans le but de rassembler mes bouts de programmation, afin que je puisse les retrouver facilement. Ce blog est ouvert au public.
Il traitera en premier lieu de l'Action Script 2 et 3 et du Flash, ainsi que tous les autres langages de programmation sur lesquels je vais travailler.
Vos remarques et encouragements sont naturellement les bienvenus! :)

Bonne visite.