Просмотр полной версии : не меняется ширина и высота клипа
Создаю пустой клип, добавляю его на сцену, пытаюсь поменять размер - он не меняется. Вот код
package
{
public class Main extends Sprite
{
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
var pane: MovieClip = new MovieClip();
addChild(pane);
trace('W: ' + pane.width); // Пишет 0
pane.width = 200;
trace('W: ' + pane.width); // Снова пишет 0 !!!
}
}
}
В общем почему так происходит и как клипу размер задать?
а с чего он должен меняться-то? он же пустой.
ну потому что там к нему сбоку должен прилипнуть другой клип, растянувшись по высоте первого пустого, а потом первый пустой заполняется дочерними элементами. Выходит, если клип пустой то размер у него всегда нулевой? И расширить в виде пустого холста никак?
Ну это же логично))) Какие могут быть размеры и форма у Пустоты?
Когда ы контейнере есть какое-то содержимое, тогда у него есть размер в соответствии с этим содержимым.
Если очень хочется задать какие-то размеры, но оставить "пустым", можно закрасить его прозрачной заливкой.
private function init(e:Event = null):void
{
var pane: MovieClip = new MovieClip();
addChild(pane);
trace('W: ' + pane.width); // Пишет 0
pane.graphics.beginFill(0x000000, 0);
pane.graphics.drawRect(0, 0, 200, 100);
trace('W: ' + pane.width); // Пишет 200
}
он же пустой [x]. Как всегда (http://www.flasher.ru/forum/showthread.php?t=102663). Ничто не ново под луной.
Ну это же логично))) Какие могут быть размеры и форма у Пустоты?
Когда ы контейнере есть какое-то содержимое, тогда у него есть размер в соответствии с этим содержимым.
Если очень хочется задать какие-то размеры, но оставить "пустым", можно закрасить его прозрачной заливкой.
private function init(e:Event = null):void
{
var pane: MovieClip = new MovieClip();
addChild(pane);
trace('W: ' + pane.width); // Пишет 0
pane.graphics.beginFill(0x000000, 0);
pane.graphics.drawRect(0, 0, 200, 100);
trace('W: ' + pane.width); // Пишет 200
}
Спасибо, учту на будущее.
Вообще я понял, что я делал не так. Я думал размер клипа это размер холста, на котором можно рисовать. Но выходит, размер определяется границами дочерних элементов или графикой на этом клипе и меняется сам при добавлении новых элементов (и отрисовке графики, я надеюсь). И при изменении размеров самого клипа всё содержимое тоже масштабируется, а не обрезается/добавляется пустое место. Странная система, надеюсь с ней не возникает проблем. Ну да ладно, хоть понял как с ней работать.
Ничего странного. Если необходимо обрезать - используйте маски.
Маски не то, scrollRect вместо них есть у клипа. Уже пользую. Удобно, как раз видимо замена холста.
Маски не то, scrollRect вместо них есть у клипа. Уже пользую. Удобно, как раз видимо замена холста.
Маска не обязательно будет прямоугольной. Замены холста нет, т.к. нет самого понятия холста. Вы что-то придумываете.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.