![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
![]() |
|
|||||
|
Регистрация: Aug 2013
Адрес: Москва
Сообщений: 59
|
Спасибо за ответы! Но я, видимо, плохо описал интересующий вопрос. Вот пример: есть 20 ведёр (дырявое, целое, ржавое и ещё куча всяких). Поведение у них одинаковое, одно в другое не переходит. Соответственно это всё реализовано как один класс Vedro (мувик с 20 кадрами). И при создании объета просто переходим на соответствующий кадр. Вот меня и интересует: когда такой объект будет добавлен, он будет постоянно занимать в памяти все 20 вёдер или в памяти находится только вызванное ведро? И как лучше сделать в таком случае?
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
var _дырявое1:Ведро = new Ведро(_дыряваяBitmapData);
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Aug 2013
Адрес: Москва
Сообщений: 59
|
А если графика векторная нужна?
|
|
|||||
|
Кадры для анимации. Если нужно одно изображение - создавайте одно изображение. Растр - Bitmap. Вектор - Shape или снимок в битмапу. Будет переиспользоваться - кэшируйте. Это путь на светлую сторону.
|
|
|||||
|
Как-то так.
Добавлено через 7 минут Цитата:
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
|
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
Добавлено через 7 минут Цитата:
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Не знаю. Я не очень дружу с матрицами))) И не люблю их создавать почем зря. Поэтому стибрил код alatara в копилку и как-нибудь помедитирую.
Моя крутилка не была ачивкой для портфолио, я вроде как чью-то проблему решал на коленке, и мне нужно было просто понимать чего я пишу, а не добиться оптимизации)) Поэтому и "может что-то лучше придумаете".
__________________
Reality.getBounds(this); |
|
|||||
|
Кстати, Wolsh, вот твоя функция в переложении на матрицы:
private static const TO_RADIAN:Number = Math.PI / 180; private function rotateAroundPoint(target:DisplayObject, point:Point, angle:Number):void { var orig:Matrix = target.transform.matrix; var targetAngle:Number = Math.acos(orig.a); orig.translate(-point.x, -point.y); orig.rotate(-targetAngle); orig.translate(point.x, point.y); var matrix:Matrix = new Matrix(); matrix.translate(orig.tx - point.x, orig.ty - point.y); matrix.rotate(targetAngle + angle * TO_RADIAN); matrix.translate(point.x, point.y); target.transform.matrix = matrix; } private static const TO_RADIAN:Number = Math.PI / 180; private var _rotation:Matrix = new Matrix(); private function rotateAroundPoint(target:DisplayObject, point:Point, angle:Number):void { var orig:Matrix = target.transform.matrix; orig.translate(-point.x, -point.y); _rotation.setTo(orig.a, orig.c, orig.b, orig.d, 0, 0); orig.concat(_rotation); orig.translate(point.x, point.y); _rotation.setTo(_rotation.a, _rotation.c, _rotation.b, _rotation.d, 0, 0); var matrix:Matrix = new Matrix(); matrix.translate(orig.tx - point.x, orig.ty - point.y); matrix.concat(_rotation); matrix.rotate(angle * TO_RADIAN); matrix.translate(point.x, point.y); target.transform.matrix = matrix; }
__________________
משיח לא בא משיח גם לא מטלפן |
![]() |
![]() |
Часовой пояс GMT +4, время: 08:12. |
|
|
« Предыдущая тема | Следующая тема » |
|
|