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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.11.2011, 23:14
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 1  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
По умолчанию субпиксельное движение спрайта-битмапа?

Столкнулся со странным поведением стандартного флеш-плеерного рендера.
Вот тут, на видео очень хорошо видно о чем речь. Это два простых спрайта с добавленным битмапом.
- левый спрайт движется с еле заметным вращением, движется очень плавно, без привязки к пикселям
- правый (с красной точкой) создан точно так же, но при движении не вращается, и при этом движется через пиксель (+1)

собсна вот такой вопрос, как заставить спрайт/битмап двигаться с такой же субпиксельной точностью и плавностью как левый спрайт но без вращения?

пс - решение-костыль в принципе на поверхности, но очень любопытен механизм и решение


Последний раз редактировалось ShockWave512; 09.11.2011 в 23:19.
Старый 09.11.2011, 23:31
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 2  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
поставить smoothing = true на экземпляр Bitmap

Старый 09.11.2011, 23:34
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 3  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
Цитата:
Сообщение от Nooob Посмотреть сообщение
поставить smoothing = true на экземпляр Bitmap
стоит
Код AS3:
var bm:Bitmap = new Bitmap(bd0,"auto",true);
bm.x = -(bm.width / 2);
bm.y = -(bm.height / 2);
bm.smoothing = true;
entity.addChild( bm );

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

Регистрация: Mar 2007
Сообщений: 319
тогда
Код AS3:
bm.transform.matrix3D = new Matrix3D();
или если на сцене то засунуть в спрайт и поставить "Export as Bitmap", не спрашивай почему незнаю. но работает.


Последний раз редактировалось Nooob; 09.11.2011 в 23:58.
Старый 10.11.2011, 00:08
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 5  
Ответить с цитированием
goodguy
Banned

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
У bitmap есть свойство pixelHinting
его нужно поставить на "never" тогда битмап не будет "приклеиваться" к пиксельной сетке.
Но это только при условии, что к объекту не применено никаких фильтров. Если есть хоть один фильтр, о нормальном движении можно забыть

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

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
ясно, спасибо
примерно понятно откуда ноги растут

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

Регистрация: Mar 2007
Сообщений: 319
"never" не работает, границы сглаживаются, внутренние пиксели "приклеиваются" к пиксельной сетке. в чём причина может быть?

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

блогер
Регистрация: Mar 2008
Адрес: Днепропетровск
Сообщений: 1,783
Записей в блоге: 3
А приём с незаметным увеличением-уменьшением битмапы с включенным сглаживанием пробовали?
Код AS3:
bm.scaleX=bm.scaleY=0.999;
bm.smooth=true;
И как подсказал товарищ Nooob, Matrix3D тоже должен помочь.


Последний раз редактировалось samana; 10.11.2011 в 12:11.
Старый 10.11.2011, 13:45
ShockWave512 вне форума Посмотреть профиль Отправить личное сообщение для ShockWave512 Посетить домашнюю страницу ShockWave512 Найти все сообщения от ShockWave512
  № 9  
Ответить с цитированием
ShockWave512

Регистрация: Dec 2007
Адрес: NA
Сообщений: 741
Отправить сообщение для ShockWave512 с помощью Skype™
ну дык Matrix3D сразу и помог
он же в дальнейшем будет заниматься масштабированием, раз такие пироги

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:39.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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