Форум 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=107251)

akeman 28.01.2008 20:36

Ширина спрайта.
 
Такой, хм, простой вопрос.

Создаю спрайт. Добавляю в него битмап шириной, допустим, 50px.
Спрашиваю ширину спрайта. Как и ожидается 50px.

Сдвигаю битмап вправо внутри(!) спрайта.
Код:

bitmap.x=100;
Сдвигается.

Спрашиваю ширину спрайта.
Ожидаю получить 150px. Но она 50px!
В то время как его верхний левый угол все еще лежит в 0.

Глупо, но я не врубаюсь. Разъясните, пжста, по-возможности.

etc 28.01.2008 22:33

А с чего вы взяли, что некоторая точка, взятая за начало координат клипа, как-то влияет на его ширину?

akeman 28.01.2008 23:45

Я предположил, что ширина спрайта расчитывается как расстояние
от самой левой его точки до самой правой границы одного из его внутренних элементов.
(при данном граничном условии)

Т.к.
Код:


sprite.x = 0; // Предполагаю, относительно stage.
bitmap.x = 100; //Предполагаю, относительно sprite'a.
bitmap.width = 50;

то, как показалось логичным, ширина спрайта должна была составить 150px.

Или отступ bitmapa'a (bitmap.x) расчитывается не относительно спрайта, в который он вложен?
Тогда как расчитать отступ именно внутри него?:(

etc 29.01.2008 01:17

Ширина спрайта равна ширине прямоугольника, в который вписываются все дети этого спрайта.
Отступы и проч. — методы getBounds, getRect.

akeman 29.01.2008 01:42

ясно. спасибо.

почему-то я был уверен, что отступы тоже засчитываются.
Вроде элемента со стилями (margin-left,top..), вставленного в таблицу в HTML.

Выходит, что
Код:

bitmap.x=100;
задает отступ относительно главной сцены.

Думаю, можно закрывать.

etc 29.01.2008 01:49

Флеш — это все-таки нечто большее, чем html :)
Насчет «относительно сцены» вы явно ошибаетесь, это относительно родителя, а не сцены. В общем случае утверждение относительно сцены неверно.
Закрывать, так закрывать. Клозед.


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

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