Я пытаюсь изменить свой основной класс на размер окна браузера. Я слушаю сцену Event.RESIZE, обновляя мою ширину/высоту в соответствии с stageWidth/stageHeight и рисуя прямоугольник, чтобы показать, насколько он большой.Плагины флюидной вспышки
Когда я изменяю размер, он мигает между небольшим и большим размером каждый раз, когда срабатывает событие. Ширина и высота правильны в обоих случаях, но в «маленьком» корпусе все находится в маленькой коробке.
Big Size http://files.seanhess.net/questions/browserresizebig.png
Small Size http://files.seanhess.net/questions/browserresizesmall.png
Вот мой код
package
{
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.Event;
import flash.text.TextField;
public class main extends Sprite
{
public function main()
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
stage.addEventListener(Event.RESIZE, onResize);
var text:TextField = new TextField();
text.text = "Some Text";
addChild(text);
}
private function onResize(event:Event):void
{
this.width = stage.stageWidth;
this.height = stage.stageHeight;
trace("RESIZE " + width + " " + height);
this.graphics.clear();
this.graphics.beginFill(0x000000, 0.5);
this.graphics.drawRect(0, 0, this.width, this.height);
}
}
}
Что правильный способ сделать это? Что я делаю не так? Благодаря!
Это имеет смысл. Прошло много времени с тех пор, как я работал во flash (здесь гибкий парень). Ширина и высота действительно бесполезны без дополнительной помощи. Благодаря! –
В итоге я добавил переменную для хранения explicitWidth и explicitHeight. Затем я обновляю эту переменную, когда изменяются ширина и высота, а графики рисуются на основе переменной, а не «фактической» ширины/высоты. –