PDA

Просмотр полной версии : Вписать мувик из библиотеки в рамочку


mikhailk
30.12.2010, 17:56
В библиотеке лежат мувики, мне надо их вытащить на сцену и положить в квадратики 50х50 с рамочкой. Нюанс в том, что у них у всех точки привязки в разных местах. У кого-то в центре, у кого-то в левом верхнем углу, у кого-то внизу посередине. Поэтому, задавая им после ресайза одни и те же x/y относительно квадратика, в который я их кладу, получается, что они торчат в разные стороны довольно непредсказуемо.

Я подозреваю, что это как-то банально решается?

Tails
30.12.2010, 18:00
Поместить в каждый мувик переменную, хранящую на сколько его точка привязки смещена. Соотвественно при загрузке этого мувика в квадрат, к его кординатам прибавлять эту самую переменную.

mikhailk
30.12.2010, 18:14
не вариант ))
мне нужно придумать, как их кушать в любом виде

пока я вижу только такое решение - положить в некий спрайт квадратик 50х50, а потом положить туда же отресайзенный мувик. В результате спрайт-оболочку раздует и по характеру раздутия можно будет сделать вывод о смещении вкладываемого мувика относительно квадратика. По идее, потребуется две попытки на каждую размерность.

udaaff
30.12.2010, 18:28
getBounds() в помощь.

mikhailk
30.12.2010, 18:59
да, это практически то, что нужно
отдает, правда, в истинных параметрах мувика, даже если он отскалирован, но дальше уже разобраться можно

etc
30.12.2010, 23:22
да, это практически то, что нужно
отдает, правда, в истинных параметрах мувика, даже если он отскалирован, но дальше уже разобраться можно

Это смотря в каких координатах.

mikhailk
31.12.2010, 00:14
Берем мувик 200х160, задаем ему scale 0.25, кладем в спрайт и смотрим getBounds мувика относительно спрайта. Получаем размеры 200х160, хотя реально он 50х40.

dimarik
31.12.2010, 02:23
getBounds() в помощь.

Это если дизайнеры красиво уложили контент в мувик. Иначе, задача решается совсем нетривиально. Но решается в любом случае.

etc
31.12.2010, 12:29
Берем мувик 200х160, задаем ему scale 0.25, кладем в спрайт и смотрим getBounds мувика относительно спрайта. Получаем размеры 200х160, хотя реально он 50х40.

Что-то вы не так делаете, значит. У меня getBounds всегда работал с учетом scale.

mikhailk
31.12.2010, 13:37
да, действительно ))
когда собрал примерчик отдельно - все именно так.