|
|
|||||
Я не в курсе, почему у вас прыгают иконки, но вот пара советов:
1) Не трогайте width и height. Для того, чтобы их не трогали сделали свойства scaleX, scaleY, которые можно легко ресетнуть Если надо попиксельно увеличивать, то Таким образом всегда можно получить настоящий размер мувика. 2) Для отладки визуального контента можете пользоваться graphics. Рисуем круг в нулевой координате родителя, и видим наверняка, где и относительно чего всё происходит. 3) Почему бы не воспользоваться Tween-библиотекой? Это сделает код гораздо проще.
__________________
There is no thing in this world that is not simple. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
чтобы не прыгали надо ставить иконки в контейнер так, чтобы их ЦЕНТР был в (0, 0) контейнера и растягивать потом контейнер а не иконку. То есть иконка внутри контейнера должна иметь координаты
__________________
Reality.getBounds(this); |
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
Цитата:
Что-то я туплю. В какой момент и куда это нужно вставлять? Это родительский класс должен перед добавлением каждой иконки такое проделывать или в самом классе иконки нужно конструктор с этого начать? |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Если у иконки есть свой класс, то замечательно, он уже контейнер? Значит КАРТИНКУ ставим в такие координаты, чтобы ее центр был в (0, 0).
Тут надо напомнить, что такое Спрайт. У него нет никакого физического смысла, только геометрический. Это просто система координат. И когда ты масштабируешь спрайт, ты растягиваешь или сжимаешь его систему координат. При этом его (0, 0) остается на месте относительно родительской системы координат, то есть точка (0, 0) никуда не сдвигается, но оси растягиваются или сжимаются. Если картинка будет установлена так как я сказал, она тоже не будет никуда смещаться, а только растягиваться или сжиматься, оставаясь своим центром в точке (0, 0).
__________________
Reality.getBounds(this); |
|
|||||
Цитата:
А в твоем примере ты просто заставляешь матрицы пересчитаться 5 раз
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Прошу прощения, это действительно так. Не знаю даже, откуда я это взял))0)0) Приснилось, чтоль.
Но всё равно советую пользоваться scaleX и scaleY, т.к. можно сбросить масштаб одной строчкой, не заводя никаких доп переменных вроде initialSize.
__________________
There is no thing in this world that is not simple. |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
поясните плз где там пятикратный пересчет матриц?
|
|
|||||
Когда ты обращаешься к width или height, scaleX/scaleY, пересчитываются матрицы трансформации.
Вот тут детальней, что это такое http://www.flasher.ru/forum/blog.php?b=703
__________________
There is no thing in this world that is not simple. |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
Цитата:
|
|
|||||
Ну, например, ты изменил scaleX, и хочешь узнать ширину мувика теперь. Дёргаешь width, он дёргает матрицу трансформации, которая изменилась при изменении scaleX, достаёт оттуда scaleX и умножает на изначальную ширину. И наоборот.
Вся инфа о трансформациях объектов хранится в таких матрицах. Цитата:
__________________
There is no thing in this world that is not simple. |
Часовой пояс GMT +4, время: 04:25. |
|
« Предыдущая тема | Следующая тема » |
|
|