Programmation ActionScript/Applications
ActionScript |
Sommaire |
Modifier ce modèle |
Quelques exemples en ActionScript 2
modifierEn ActionScript 2 le code est partout codé en procédural dans les actions de flash.
// on crée un objet textfield greet, depth 0, position (0,0), width 100, height 100
createTextField("greet", 0, 0, 0, 100, 100);
greet.text = "Hello, world"; // on donne le texte helloworld à l'objet greet
Il existe une exception lorsque l'on fait une classe externe comme ici :
//Ce code doit être écrit dans un fichier séparé nommé Greeter.as
class com.example.Greeter extends MovieClip
{
public function Greeter()
{
var txtHello:TextField = this.createTextField("txtHello", 0, 0, 0, 100, 100);
txtHello.text = "Hello, world";
}
}
Quelques exemples en ActionScript 3
modifierEn ActionScript 3, le code objet est inclus dans des fichiers séparés .as. De plus, tout ce qui n'est pas dans les actions du timeline est orienté objet, c'est à dire que le corps du code doit être inclus dans un package et une classe.
Dans les actions, on peut coder en procédural comme en ActionScript 2.
Exemple 1
modifierDans cet exemple on affiche un cercle sur la scène.
package {
import flash.display.Sprite;
public class CercleRempli extends Sprite {
function CercleRempli():void {
var cercle:Sprite = new Sprite(); // on cree le nouveau cercle
cercle.graphics.beginFill(0xFF0000); // on commence le remplissage de la forme
cercle.graphics.drawCircle(50, 50, 30); // on dessine le cercle
cercle.graphics.endFill(); // on fini le remplissage
addChild(cercle); // on ajoute le cercle sur la scene
}
}
}
Exemple 2
modifierDans cet exemple on réalise une messageBox.
package {
import flash.display.Sprite;
import flash.text.TextField;
public class MessageBox extends Sprite {
function MessageBox():void {
var msgbox:Sprite = new Sprite();
// on dessine le rectangle
msgbox.graphics.beginFill(0xFFFFFF); // en blanc
msgbox.graphics.drawRect(0,0,300,20); // x, y, width, height
msgbox.graphics.endFill();
// on dessine un bord noir
msgbox.graphics.lineStyle(2, 0x000000, 100); // epaisseur, couleur, opacité
msgbox.graphics.drawRect(0,0,300,20); // x, y, width, height
var textfield:TextField = new TextField();
textfield.text = "Bonjour à vous!";
// on les ajoute à la scène
addChild(msgbox);
addChild(textfield);
}
}
}