La classe TextField permet d'ajouter du texte dans une application Flash, zone de texte ou zone de saisie. Mais lorsqu'on souhaite utiliser beaucoup d'occurrence de celle-ci, et des les animer, il se peut que les performances en prennent un gros coup. Pour optimiser tout ceci, il suffit de passer par la classe Bitmap.
La classe Bitmap permet, quand à elle, de représenter des objets d'affichage. Elle va donc nous permettre de transformer nos textes en images. Voici comment faire :
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.text.TextField;
var monTexte : TextField = new TextField();
monTexte.text = "Hello World";
monTexte.autosize = flash.text.TextFieldAutoSize.LEFT;
var bmp : BitmapData = new BitmapData(monTexte.width, monTexte.height);
bmp.draw(monTexte);
var bitmap : Bitmap = new Bitmap(bmp);
addChild(bitmap);
Une petite optimisation qui peut vraiment être utile lors du développement de grosses applications utilisant beaucoup de zone de texte.
Lire la suite >>
Dans ce tutoriel, nous allons voir comment développer une classe permettant de créer une fenêtre disposant d'un bouton de fermeture et du système de Drag and Drop.
La partie graphique
Pour commencer, notre classe a besoin de plusieurs paramètres, tel
que son parent, sa couleur, ou encore son contenu.
Voici la signature de notre classe :
public function PopUp(_parent:Stage, _color:uint, content:MovieClip):void
Dans le constructeur, nous instancions les différentes parties de notre fenêtre, puis nous dessinons le cadre et l'entête.
Lire la suite >>
Le Flash Player 10 intègre une nouvelle fonctionnalité particulièrement intéressante.
En effet, nous pouvons modifier
le curseur de la souris en utilisant la propriété
cursor de la classe
flash.ui.Mouse.
Pour ce faire, nous devons lui attribuer une des constantes de la classe
flash.ui.MouseCursor :
- MouseCursor.AUTO : l'état par défaut
- MouseCursor.ARROW : le curseur représentant la flèche
- MouseCursor.BUTTON : le curseur en forme de main appuyant sur un bouton
- MouseCursor.HAND : le curseur en forme de main réalisant un glissement
- MouseCursor.IBEAM : le curseur en I de sélection de texte
Voici un petit exemple :
import flash.ui.Mouse;
import flash.ui.MouseCursor;
Mouse.cursor = MouseCursor.HAND;
L'utilisation de cette classe simplifie le changement de curseur à l'exécution, ce qui permet une meilleure intégration et utilisation de votre application par les utilisateurs qui retrouverons le confort d'utilisation de leur système.
Lire la suite >>
Dans ce tutoriel, nous allons voir comment créer une classe réutilisable pour faire une scrollbar horizontale. Elle permettra de déplacer un contenu dynamique (texte, image, ...).
Aspect visuel : la classe graphics
Comme nous souhaitons avoir une classe entièrement réutilisable, il nous faut pouvoir ajouter des éléments graphiques indépendamment du projet en cours. Pour cela, nous allons utiliser la classe graphics qui va nous permettre de dessiner les composants.
Pour cela, nous avons besoin de plusieurs paramètres : la largeur et la hauteur de notre scrollbar. Ces deux valeurs seront des attributs de notre classe. Voici notre fonction qui s'occupe de dessiner :
private function draw():void {
var bg : Shape = new Shape();
bg.graphics.beginFill(_bgColor);
bg.graphics.lineStyle(0x000000);
bg.graphics.drawRect(0, 0, _largeur, _hauteur);
bg.graphics.endFill();
addChild(bg);
}
Et maintenant celle qui dessine le scroller (élément qui nous permet de déplacer le contenu) :
private function drawScroller():void {
// petite vérification, pour ne pas dessiner de scroller s'il n'y en a pas besoin
if (_scrollContent.height > _hauteur) {
var coeff : Number = _scrollContent.height / _hauteur;
var tmp_scroll_height : Number = _hauteur / coeff; // pour verif que le scroller n'est pas trop petit
if (tmp_scroll_height < 20) tmp_scroll_height = 20;
_scroller = new Sprite();
_scroller.graphics.beginFill(0x000000);
// on dessine notre rectangle avec un petit décalage
_scroller.graphics.drawRect(2, 2, _largeur - 4, tmp_scroll_height);
_scroller.graphics.endFill();
_scroller.addEventListener(MouseEvent.MOUSE_DOWN, dragOn);
_scrollContent.parent.stage.addEventListener(MouseEvent.MOUSE_UP, dragOff);
addChild(_scroller);
_scroller.buttonMode = true;
// rectangle qui correspond à la trajectoire du scroller
rect_scroller = new Rectangle(0, 0, 0, _hauteur - _scroller.height - 4);
}
}
Lire la suite >>
Voici quelques bonnes pratiques nécessaire à adopter lors de développement d'application en ActionScript3.
Tout d'abord, il est nécessaire de toujours typer ses variables afin d'optimiser les performances et garantir une meilleure gestion des erreurs à la compilation et à l'exécution. Par exemple, préférer
var i : int = 0;
à
var i = 0;
Par contre, si une variable peut contenir n'importe quel type de données, nous pouvons utilisez le type *.
Lorsque vous utilisez une boucle, il est préférable de passer par une variable de référence, pour éviter que la machine virtuelle ne réévalue la longueur à chaque itération. Exemple :
Lire la suite >>