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

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

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

Регистрация: Jul 2008
Сообщений: 42
По умолчанию Скролинг картинки

Доброе время суток. Возникла следующая ситуация. В программе используется скролинг картинки. При скролинге используется маска и изменяются координаты картинки. Картинка подгружаются в мувик. По нажатию на кнопку другой мувик начинает движение по картинке, его координаты изменятся на очень маленькую величину(0.2/0.1/0.05). Это делается для того чтобы движение было плавным. Причем, при движении, мувик движущегося объекта должен быть в центре области, и поэтому изменяются координаты картинки. Все равботает но есть один очень нежелательный минус. Почему то координаты картинки изменяются слишком дискретно, как бы на целый пиксель, а не его десятую часть. Как можно это исправить, ну или какие можно использовать альтернативные способы скролинга?

Старый 26.11.2009, 13:45
dsQuadro вне форума Посмотреть профиль Отправить личное сообщение для dsQuadro Посетить домашнюю страницу dsQuadro Найти все сообщения от dsQuadro
  № 2  
Ответить с цитированием
dsQuadro
 
Аватар для dsQuadro

Регистрация: Feb 2008
Адрес: Москва
Сообщений: 238
Отправить сообщение для dsQuadro с помощью ICQ
координаты обьектов имеют какоето сильное округление... точно не помню какое... если надо постепенное смещение без погрешностей, то лучше координаты хранить в отдельных переменных и с ними проводить расчеты а потом их применять к обьекту...
Код AS3:
var dx:Number = 0.21456;
var _x:Number = 500;
_x += dx;
object.x = _x;
както так... при этом будет меньше погрешность, но если движение будет не по вертикали или горизонтали то всеравно обьект будит ступеньками двигаться... но хоть придет в заданную точку...

Старый 26.11.2009, 13:58
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 3  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
картинке нужно добавить сглаживание

Старый 26.11.2009, 19:32
SamFR вне форума Посмотреть профиль Отправить личное сообщение для SamFR Посетить домашнюю страницу SamFR Найти все сообщения от SamFR
  № 4  
Ответить с цитированием
SamFR

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Попробуйте это:
Код AS3:
yourBitmap.pixelSnapping = PixelSnapping.NEVER;
Добавлено через 1 минуту
Цитата:
Сообщение от fljot Посмотреть сообщение
картинке нужно добавить сглаживание
Сглаживание тут не при чём, оно используется при масштабировании, а не при перемещении.

Добавлено через 8 минут
Цитата:
Сообщение от dsQuadro Посмотреть сообщение
координаты обьектов имеют какоето сильное округление... точно не помню какое...
Насколько я помню, дробная часть до десятитысячных включительно отбрасывается, а тысячные округляются до сотых. Но этого обычно достаточно для плавного движения, всё равно меньшее изменение мы заметить не в состоянии (вернее, наш монитор не в состоянии его отрисовать =). Только у наследников UIComponent кодинаты, если мне не изменяет память, округляются до целого. Так что дело, скорее всего, в Bitmap.pixelSnapping, значение по умолчанию которого заставляет картинку (если она не масштабирована, не повёрнута и не скошена) отрисовываться с округлением до ближайшего пиксела, несмотря на то, что координаты хранятся как дробные.


Последний раз редактировалось SamFR; 26.11.2009 в 19:48.
Старый 26.11.2009, 20:09
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 5  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
может здесь найдется решение
__________________
Поймай яблоко 2!

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

Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
Вот, и я к тому же пришёл. Ставим
Код AS3:
bmp.scaleX = bmp.scaleY = 0.99;
bmp.smoothing = true;
bmp.pixelSnapping = PixelSnapping.NEVER; //я бы всё-таки не оставлял значение "auto"
и картинка перемещается плавно.

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

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

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


 


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


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