Editer # 2 J'ai trouvé la solution, c'était plus simple que j'aurais pu l'espérer. Merci pour votre temps. =) (A répondu à ma propre question avec la solution complète)AS3: Redimensionner un sprite sans redimensionner son BitmapFill (ou son contenu d'ailleurs)?
Editer: Mes excuses que mon poste n'était pas assez transparent .. Je vais essayer de itérer pour un peu plus de clarté. Je ne cherche pas simplement à contenir des choses et à redimensionner le conteneur sans redimensionner le contenu. Je voudrais juste utiliser un MovieClip simple pour cela .. Mon principal objectif est l'utilisation de BitmapFill. J'essaye de faire une image de fond répétitive pour un récipient; jusqu'à présent, je suis capable de dessiner mon sprite BitmapFill à la taille que je veux. (Quelle est la hauteur de la scène), mais quand la scène est redimensionnée, je veux redimensionner mon conteneur, mais avoir mes conteneurs BitmapFill recadrer ou ajouter plus que la fenêtre est redimensionnée plus ou moins. Permettez-moi d'illustrer ce que je veux dire:
J'espère que cela efface toute confusion et aide à des réponses plus droites.
------- Original post:
J'ai simple sprite rectangle qui se remplit d'une image bitmap de la bibliothèque et un simple redimensionnement fonction de gestionnaire qui détecte lorsque la fenêtre a été redimensionnée . Ce que je voudrais faire est de faire redimensionner mon rectangle à la hauteur du stage.stageHeight en conservant son remplissage bitmap, mais ne pas redimensionner le remplissage bitmap ou des enfants dans l'image-objet. D'après ce que j'ai lu, c'est un peu délicat parce que le sprite se redimensionne par rapport à ce qu'il contient .. ou .. quelque chose comme ça .. Je ne sais vraiment plus ... J'ai vu un exemple où une personne a étendu la classe de sprite, mais je ne sais pas pourquoi ou comment ..
dans ma bibliothèque il y a une image appelée « pattern » et mon code ressemble à ceci:
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZE, resizeHandler, false, 0, true);
var bgData:pattern = new pattern(0,0);
var bg:Sprite = new Sprite();
bg.graphics.beginBitmapFill(bgData, null, true, false);
bg.graphics.drawRect(0, 0, 80, stage.stageHeight);
bg.graphics.endFill();
addChild(bg);
function resizeHandler(e:Event=null):void
{
trace("dimensions are: " + stage.stageWidth + " x " + stage.stageHeight);
bg.height = stage.stageHeight; //simply makes the fill resize also
}
+1 entré dans ce post pour écrire exactement la même chose :) – www0z0k