J'essaie de définir la largeur/hauteur d'un objet FlexSprite dans ActionScript, mais cela ne semble pas fonctionner du tout. Je suis toujours une recrue quand il s'agit d'ActionScript et je ne comprends pas pourquoi je ne peux pas définir les dimensions de cet objet. Je sais que je pourrais utiliser un UIComponent mais j'ai besoin de quelque chose de plus léger puisque je vais en ajouter des centaines.impossible de définir la largeur/hauteur sur FlexSprite
public class MyComp extends UIComponent
{
public function MyComp()
{
super();
}
private var _sprite:FlexSprite;
private var _button:Button;
override protected function createChildren():void {
if (!_sprite) {
_sprite = new FlexSprite();
_sprite.width = 200;
_sprite.height = 200;
addChild(_sprite);
}
if (!_button) {
_button = new Button();
_button.label = "Click me";
_button.width = 150;
_button.height = 40;
addChild(_button);
}
super.createChildren();
}
override protected function measure():void {
measuredHeight = measuredMinHeight = 200;
measuredWidth = measuredMinWidth = 200;
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth,unscaledHeight);
trace('dimz of _sprite', _sprite.width, _sprite.height);
_sprite.width = 100; // doesn't work either
trace('dimz of _sprite again', _sprite.width, _sprite.height);
trace('dimz of _button', _button.width, _button.height);
}
}
La sortie que je reçois est:
dimz of _sprite 0 0
dimz of _sprite again 0 0
dimz of _button 150 40
je prévois d'ajouter d'autres objets à l'intérieur du FlexSprite et je dois définir explicitement et leurs dimensions, donc je vraiment besoin de savoir comment faire .
Votre premier point a fait la différence, j'ai ajouté un UITextField à l'intérieur du FlexSprite et cela a fonctionné, merci. – batzkoo