Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.11.2013, 23:51
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 11  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Вот кстати о вращении, может что-то лучше придумаете
Спасибо! Пока в закладки

Старый 07.11.2013, 00:24
Ioangum вне форума Посмотреть профиль Отправить личное сообщение для Ioangum Найти все сообщения от Ioangum
  № 12  
Ответить с цитированием
Ioangum

Регистрация: Aug 2013
Адрес: Москва
Сообщений: 59
Спасибо за ответы! Но я, видимо, плохо описал интересующий вопрос. Вот пример: есть 20 ведёр (дырявое, целое, ржавое и ещё куча всяких). Поведение у них одинаковое, одно в другое не переходит. Соответственно это всё реализовано как один класс Vedro (мувик с 20 кадрами). И при создании объета просто переходим на соответствующий кадр. Вот меня и интересует: когда такой объект будет добавлен, он будет постоянно занимать в памяти все 20 вёдер или в памяти находится только вызванное ведро? И как лучше сделать в таком случае?

Старый 07.11.2013, 00:39
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 13  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
var _дырявое1:Ведро = new Ведро(_дыряваяBitmapData);
__________________
Reality.getBounds(this);

Старый 07.11.2013, 00:45
Ioangum вне форума Посмотреть профиль Отправить личное сообщение для Ioangum Найти все сообщения от Ioangum
  № 14  
Ответить с цитированием
Ioangum

Регистрация: Aug 2013
Адрес: Москва
Сообщений: 59
А если графика векторная нужна?

Старый 07.11.2013, 00:58
Anton Riot вне форума Посмотреть профиль Отправить личное сообщение для Anton Riot Посетить домашнюю страницу Anton Riot Найти все сообщения от Anton Riot
  № 15  
Ответить с цитированием
Anton Riot

Регистрация: Sep 2008
Адрес: Москва
Сообщений: 291
Отправить сообщение для Anton Riot с помощью ICQ
Кадры для анимации. Если нужно одно изображение - создавайте одно изображение. Растр - Bitmap. Вектор - Shape или снимок в битмапу. Будет переиспользоваться - кэшируйте. Это путь на светлую сторону.

Старый 07.11.2013, 12:30
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 16  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Сообщение от Akopalipsis Посмотреть сообщение
А как Вы делаете?
Как-то так.

Добавлено через 7 минут
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Вот кстати о вращении, может что-то лучше придумаете
Wolsh, а с матрицей не проще было бы?
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 07.11.2013, 13:42
Akopalipsis вне форума Посмотреть профиль Найти все сообщения от Akopalipsis
  № 17  
Ответить с цитированием
Akopalipsis
Banned
[+4 24.02.14]
[+4 07.11.13]
[+ 13.03.14]

Регистрация: Mar 2013
Сообщений: 1,864
Цитата:
Как-то так.
Спасибо! Как только закончу скалирование без матриц, обязательно попробую с ней.

Добавлено через 7 минут
Цитата:
Wolsh, а с матрицей не проще было бы?
Мне тоже интересно, есть ли что то, что могло бы склонить в пользу того или иного подхода?

Старый 07.11.2013, 15:52
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 18  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Не знаю. Я не очень дружу с матрицами))) И не люблю их создавать почем зря. Поэтому стибрил код alatara в копилку и как-нибудь помедитирую.
Моя крутилка не была ачивкой для портфолио, я вроде как чью-то проблему решал на коленке, и мне нужно было просто понимать чего я пишу, а не добиться оптимизации)) Поэтому и "может что-то лучше придумаете".
__________________
Reality.getBounds(this);

Старый 07.11.2013, 17:55
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 19  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Цитата:
Сообщение от Wolsh Посмотреть сообщение
Поэтому стибрил код alatara в копилку и как-нибудь помедитирую.
Ты в той теме тоже участвовал.
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 10.11.2013, 19:55
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 20  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Кстати, Wolsh, вот твоя функция в переложении на матрицы:
Код AS3:
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;
}
Или так, с меньшим количеством тригонометрических вычислений:
Код AS3:
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.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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