Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Спрайт изменяется в размерах после установки как маска (http://www.flasher.ru/forum/showthread.php?t=167133)

Jin 2 08.09.2011 10:40

Спрайт изменяется в размерах после установки как маска
 
Когда вставляю спрайт-маску, вижу что он отлично совпадает по размерам
как только ставлю spr.mask = spr_mask, spr_mask сразу уменьшается.

goodguy 08.09.2011 11:28

Этого не может быть. Дело явно не в том, что он делается маской

Jin 2 08.09.2011 11:40

ну черт его, я убираю одну строчку и размеры вновь нормальные

wvxvw 08.09.2011 12:07

Наверное спрайт и маска находятся в разных системах координат, а когда вы его делаете маской, то его измерения переводятся в систему координат маскируемого клипа. parent у макски и маскируемого клипов один?

Jin 2 08.09.2011 12:44

сначала маска была внутри маскируемого
попробовал поставить один парент, ничего не изменилось

goodguy 08.09.2011 12:46

код в студию

Jin 2 08.09.2011 13:05

Код AS3:

window = new Sprite();
var inner:Sprite = new Sprite();               
var img:ImgWindow = new ImgWindow();
img.x = -15;
img.y = -20;
img.width = wwidth+30;
img.height = wheight+30;
window.addChild(img);
window.addChild(inner);
scPane = new ScrollPane(wwidth - 15, wheight - 37, content, scrolls);
var mask:ImgWinMask = new ImgWinMask();
window.addChild(mask);
inner.addChild(scPane);
addChild(window);
inner.mask = mask;
mask.x = -15;
mask.y = -20;
mask.width = wwidth+30;
mask.height = wheight + 30;

Добавлено через 6 минут
ImgWindow это рамка окна, нестандартной формы
ImgWinMask это центральная часть окна

goodguy 08.09.2011 14:28

Как создается сама маска? В ней есть заливка?

Jin 2 08.09.2011 15:01

Там фигура из заливки

Добавлено через 1 час 26 минут
видимо я не один такой
http://www.bigresource.com/FLASH-Mas...xqResuyso.html
http://www.kirupa.com/forum/showthre...ight-and-width

wvxvw 09.09.2011 15:50

Вообще-то, если так, то маску вообще никуда в дисплей лист добавлять не надо, я думал, что она просто уже добавлена.
Еще есть варианты - ScrollPane чего-нибудь делает с матрицей трансформации, либо проблема в том, что маска добавляется к объекту у которого размеры 0/0, и тогда scaleX / scaleY могут показывать чудеса, типа 0/0 или очень маленьких чисел.


Часовой пояс GMT +4, время: 09:49.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.