Просмотр полной версии : Ширина спрайта.
Такой, хм, простой вопрос.
Создаю спрайт. Добавляю в него битмап шириной, допустим, 50px.
Спрашиваю ширину спрайта. Как и ожидается 50px.
Сдвигаю битмап вправо внутри(!) спрайта.
bitmap.x=100; Сдвигается.
Спрашиваю ширину спрайта.
Ожидаю получить 150px. Но она 50px!
В то время как его верхний левый угол все еще лежит в 0.
Глупо, но я не врубаюсь. Разъясните, пжста, по-возможности.
А с чего вы взяли, что некоторая точка, взятая за начало координат клипа, как-то влияет на его ширину?
Я предположил, что ширина спрайта расчитывается как расстояние
от самой левой его точки до самой правой границы одного из его внутренних элементов.
(при данном граничном условии)
Т.к.
sprite.x = 0; // Предполагаю, относительно stage.
bitmap.x = 100; //Предполагаю, относительно sprite'a.
bitmap.width = 50;
то, как показалось логичным, ширина спрайта должна была составить 150px.
Или отступ bitmapa'a (bitmap.x) расчитывается не относительно спрайта, в который он вложен?
Тогда как расчитать отступ именно внутри него?:(
Ширина спрайта равна ширине прямоугольника, в который вписываются все дети этого спрайта.
Отступы и проч. — методы getBounds, getRect.
ясно. спасибо.
почему-то я был уверен, что отступы тоже засчитываются.
Вроде элемента со стилями (margin-left,top..), вставленного в таблицу в HTML.
Выходит, что bitmap.x=100; задает отступ относительно главной сцены.
Думаю, можно закрывать.
Флеш — это все-таки нечто большее, чем html :)
Насчет «относительно сцены» вы явно ошибаетесь, это относительно родителя, а не сцены. В общем случае утверждение относительно сцены неверно.
Закрывать, так закрывать. Клозед.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.