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

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

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

Регистрация: Mar 2010
Сообщений: 45
По умолчанию не получается плавного (сглаженного) движения спрайта с использованием copyPixel

Собственно сабж. Примерный алгоритм построения игровой графики такой:

Используется двойная буферизация описанная здесь - http://www.makeyourgame.org.ua/flexfighters/part01.php

В флэшку встраивается графика

Код AS3:
    [Embed(source="../media/sisi.png")]
    public static var BrownPlane:Class;
    public static var BrownPlaneGraphics:GraphicsResource = new GraphicsResource(new BrownPlane());
И с этого ресурса делается копия в BitmapData для скорости обработки. у нас есть игровой объект и у него отдельное поле "bitmap" которое хранит его картинку.

Теперь самое главное, есть главный Canvas на graphics которого отрисовывается наш спрайт. Отрисовывается вот так:

Код AS1/AS2:
 
db.copyPixels(graphics.bitmap, graphics.bitmap.rect, position, graphics.bitmapAlpha, new Point(0, 0), true);
где:

db - собственно graphics игровой области
graphics.bitmap - ссылка на BitmapData содержащий спрайт

Уважаемые знатоки, внимание, вопрос!
Как "включить" режим сглаживания объекта, сделать вывод по дробным координатам?
Потому как сейчас он при выводе просто округляет координаты до ближайшего целого. не связано ли это с тем, что используется "низкоуровневая" операция copyPixels которая тупо копирует пиксель-в-пиксель и про сглаживание вообще ничего и слыхом не слыхивала? Это значит что smoothing надо реализовывать самому?

А вот и пример - http://2nets.ru/a1.swf

слева вверху реальные координаты объекта (женская грудь) взятые из его свойства position ну и дерганье я думаю вы сами видите


Последний раз редактировалось Alex_YAROST_22; 18.03.2010 в 17:07.
Создать новую тему   Часовой пояс GMT +4, время: 10:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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