1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
package
{
import flash.display.Shape;
import flash.display.Sprite;
import flash.events.Event;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
/**
* ...
* @author moi
*/
public class Main extends Sprite
{
private var myRect:Shape = new Shape();
private var oldw:Number; //taille initiale en largeur de stage
private var oldh:Number;//taille initiale en hauteur de stage
public function Main():void
{
if (stage)
init();
else
addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
stage.align = StageAlign.TOP_LEFT; //on aligne en haut à gauche
stage.scaleMode = StageScaleMode.NO_SCALE; // le contenu ne se redimensionne plus par étirement
stage.addEventListener(Event.RESIZE, ajustement); //écouteur de redimensionnement sur stage
oldw = stage.stageWidth;
oldh = stage.stageHeight;
with (myRect.graphics) //on dessine un rectangle comme objet
{
beginFill(0xff0000);
drawRect(0, 0, oldw / 2, oldh / 2);
}
addChild(myRect);
stage.dispatchEvent(new Event(Event.RESIZE)); //je déclenche manuellement la redim au lancement
}
private function ajustement(e:Event):void
{
var w:Number = stage.stageWidth; //nouvelle taille de stage
var h:Number = stage.stageHeight; //
myRect.x = w / 4; //repositionnment
myRect.y = h / 4;
myRect.scaleX = w / oldw; //redim manuelle de myRect
myRect.scaleY = h / oldh;
}
}
} |
Partager