Представляю вашему вниманию перевод главы «Chapter 2 - Everyday bytes» (PDF) из книги «What can you do with bytes ?»
В предыдущей главе мы рассмотрели важные концепции управления двоичными данными в Flash Player. Настало время использовать эти концепции на практике в реальных проектах. Мы увидим как с помощью нашего лучшего друга - API класса ByteArray можно осуществлять внедрение двоичных ресурсов, управление звуком, парсинг SWF и т.д. - все то, что было недоступно прежде в ActionScript.
Мы продолжим наше путешествие в ByteArray, рассматривая различные примеры его применения, с которыми вы можете сталкиваться каждый день во время работы с Flash.
Содержание:
- Копирование объектов
- Сериализация/десериализация пользовательских объектов
- Внедрение ресурсов
- Внедрение байтов
- Прогрессивная загрузка изображений
- Компрессия/декомпрессия данных
- Генерация файлов изображений (PNG или JPEG)
- Сохранение двоичного потока с помощью удаленного сервера
- Сохранение двоичного потока локально
- Генерация PDF
- От байтов к звуку
- Парсинг двоичных данных (на примере SWF)
Показаны сообщения с ярлыком переводы. Показать все сообщения
Показаны сообщения с ярлыком переводы. Показать все сообщения
четверг, 17 марта 2011 г.
среда, 9 февраля 2011 г.
Скроллинг плиточного мира.
Представляю вашему вниманию перевод серии статей «Tutorial: N-way tile-based blit fine scrolling in AS3».
Мы обсудим теорию и практику скроллинга блитированной битмапдаты в любом направлении.
Мы обсудим теорию и практику скроллинга блитированной битмапдаты в любом направлении.
суббота, 27 ноября 2010 г.
Первые биты
Представляю вашему вниманию перевод главы «Chapter 1 - The first bits» из несуществующей пока книги «What can you do with bytes ?»
воскресенье, 12 сентября 2010 г.
Основы работы с классом Bitmap
Представляю вашему вниманию перевод серии статей по основам работы с классом Bitmap. Мы научимся анимировать, масштабировать и поворачивать изображения, хранящееся в экземпляра класса Bitmap.
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/09/12/part9.swf, 200, 200[/SWF]
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/09/12/part9.swf, 200, 200[/SWF]
четверг, 26 августа 2010 г.
Соглашения по написанию кода
Представляю вашему вниманию перевод Flex SDK coding conventions and best practices. Здесь соглашения по написанию кода и лучшие практики.
По известному закону ближе к концу перевода наткнулся на уже готовый перевод на русский, но решил все-таки выложить, т.к.:
- получилось не так уж и плохо;
- хуже от этого не будет :)
По известному закону ближе к концу перевода наткнулся на уже готовый перевод на русский, но решил все-таки выложить, т.к.:
- получилось не так уж и плохо;
- хуже от этого не будет :)
пятница, 20 августа 2010 г.
Машина состояний
Представляю вашему вниманию перевод статьи «Finite State Machines». Сегодня поговорим о конечных машинах состояний (finite state mashine). На русском языке более распространено название «конечные автоматы». Машина состояний это основа искусственного интеллекта (AI) большинства игр, особенно RPG, платформеров, RTS.
Что это такое и для чего нужно?
Машина состояний может использоваться, чтобы определить поведение игрового объекта, которое основывается на определенных условиях. По сути, она дает иллюзию разумности этого объекта. Кодирование машины состояний – это простой вопрос. Существуют многочисленные реализации машины состояний и понятно, что единственно правильного решения нет.
Что это такое и для чего нужно?
Машина состояний может использоваться, чтобы определить поведение игрового объекта, которое основывается на определенных условиях. По сути, она дает иллюзию разумности этого объекта. Кодирование машины состояний – это простой вопрос. Существуют многочисленные реализации машины состояний и понятно, что единственно правильного решения нет.
суббота, 14 августа 2010 г.
Очистка блитированного холста путем удаления только изменившихся частей (использование карты повреждений)
Сегодня поговорим о методах обновления экрана и сравним эти методы.
Это перевод статьи Tutorial: Clearing a blit canvas by erasing only the portions that have changed (using damage maps or a dirty rect).
Это перевод статьи Tutorial: Clearing a blit canvas by erasing only the portions that have changed (using damage maps or a dirty rect).
четверг, 12 августа 2010 г.
Создание оптимизированного игрового цикла
Представляю вашему вниманию перевод руководства «Creating an Optimized AS3 Game Timer Loop».
Сегодня мы создадим оптимизированный игровой цикл. Этот цикл я начал делать в моем предыдущем туториале, теперь самое время его оптимизировать. Мы добавим к нему три улучшения. Во-первых, мы будем просто блокировать холст прежде, чем будем использовать метод copyPixels() и разблокировать когда все операции блитирования будут завершены. Второе, мы реализуем таймер, учитывающий бездействие игры (например, вследствие загрузки процессора). Третье, мы будем обновлять игровое содержимое не в каждом кадре, а только когда произойдет его изменение.
Сегодня мы создадим оптимизированный игровой цикл. Этот цикл я начал делать в моем предыдущем туториале, теперь самое время его оптимизировать. Мы добавим к нему три улучшения. Во-первых, мы будем просто блокировать холст прежде, чем будем использовать метод copyPixels() и разблокировать когда все операции блитирования будут завершены. Второе, мы реализуем таймер, учитывающий бездействие игры (например, вследствие загрузки процессора). Третье, мы будем обновлять игровое содержимое не в каждом кадре, а только когда произойдет его изменение.
суббота, 31 июля 2010 г.
Создание игры “Asteroids”
Представляю вашему вниманию перевод серии туториалов Tutorial: Using Flash CS3 and Actionscript 3 to create Atari 7800 Asteroids
В этой серии туториалов мы познакомимся с технологиями, применяемыми для создания простой игры «Asteroids». Игра будет относительно простой, а технологии относительно продвинутыми. Мы исследуем следующие методы оптимизации:
- Предрасчет и хранение значений углов поворота и смещений относительно осей х и у в массиве (таким образом, мы избежим вычислений в рантайме).
- Кэширование анимации вращения спрайтов в массиве экземпляров класса BitmapData.
- Использование одного отображаемого объекта для блитирования в него (копирования битового массива) всех графических объектов, которые находятся на экране.
Вот подобие того, что должно получиться
В этой серии туториалов мы познакомимся с технологиями, применяемыми для создания простой игры «Asteroids». Игра будет относительно простой, а технологии относительно продвинутыми. Мы исследуем следующие методы оптимизации:
- Предрасчет и хранение значений углов поворота и смещений относительно осей х и у в массиве (таким образом, мы избежим вычислений в рантайме).
- Кэширование анимации вращения спрайтов в массиве экземпляров класса BitmapData.
- Использование одного отображаемого объекта для блитирования в него (копирования битового массива) всех графических объектов, которые находятся на экране.
Вот подобие того, что должно получиться
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/07/31/7800asteroids4.swf, 400, 400[/SWF]
воскресенье, 25 июля 2010 г.
Анимация листов с тайлами (sprite sheets)
Здравствуйте, представляю вашему вниманию перевод статьи How to Blit an animation from a tile sheet embedded at compile time
Речь пойдет об анимации с использованием листов с тайлами.
Такой лист
даст подобную анимацию
Речь пойдет об анимации с использованием листов с тайлами.
Такой лист
даст подобную анимацию
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/07/25/animation.swf, 70, 400[/SWF]
среда, 7 июля 2010 г.
Интегрирование Верле (Rag doll physics)
Представляю вашему вниманию очередной вольный перевод главы из книги AdvancED ActionScript 3.0 Animation, автор Keith Peters.
Сегодня речь пойдет об интегрировании Верле, которое используется для программирования rag doll систем во многих физических движках.
С его помощью можно делать такие безделушки:
Сегодня речь пойдет об интегрировании Верле, которое используется для программирования rag doll систем во многих физических движках.
С его помощью можно делать такие безделушки:
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/07/07/Hinge.swf, 400, 400[/SWF]
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/07/07/TestVerle.swf, 400, 400[/SWF]
четверг, 3 июня 2010 г.
Изометрическая проекция
Представляю вашему вниманию очередной вольный перевод главы из книги AdvancED ActionScript 3.0 Animation, автор Keith Peters.
Сегодня речь пойдет об изометрической проекции.
Вот кое-что из того чему мы сегодня научимся
Сегодня речь пойдет об изометрической проекции.
Вот кое-что из того чему мы сегодня научимся
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/06/03/iso/GraphicTest.swf, 600, 400[/SWF]
Кликайте по узлам сетки, чтобы построить в них домики
пятница, 21 мая 2010 г.
Поиск пути (pathfinding)
Представляю вашему вниманию очередной вольный перевод главы из книги AdvancED ActionScript 3.0 Animation, автор Keith Peters.
На этот раз речь пойдет о поиске пути между двумя произвольными точками.
Вот кое-что из того чему мы сегодня научимся
На этот раз речь пойдет о поиске пути между двумя произвольными точками.
Вот кое-что из того чему мы сегодня научимся
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/05/21/pathfinding/Game.swf, 600, 600[/SWF]
Кликайте по узлам сетки, чтобы персонаж нашел к ним путь
вторник, 27 апреля 2010 г.
Управление поведениями (Steering behaviors). Часть 3.
Продолжение перевода Управление поведениями (Steering behaviors). Часть 2.
Теперь посмотрим на реализацию сложных поведений, начнем с поведения избегание препятствий (object avoidance).
Теперь посмотрим на реализацию сложных поведений, начнем с поведения избегание препятствий (object avoidance).
Управление поведениями (Steering behaviors). Часть 2.
Продолжение перевода Управление поведениями (Steering behaviors). Часть 1.
Теперь посмотрим на реализацию различных поведений, начнем с поиска (seek). Каждое из поведений будет определено в своем методе класса SteeredVehicle. Некоторые из поведений потребуют добавления новых свойств класса или дополнительных методов для своей реализации, мы их рассмотрим по мере необходимости.
Теперь посмотрим на реализацию различных поведений, начнем с поиска (seek). Каждое из поведений будет определено в своем методе класса SteeredVehicle. Некоторые из поведений потребуют добавления новых свойств класса или дополнительных методов для своей реализации, мы их рассмотрим по мере необходимости.
Управление поведениями (Steering behaviors). Часть 1.
Представляю вашему вниманию очередной вольный перевод одной из глав книги AdvancED ActionScript 3.0 Animation, автор Keith Peters.
Речь пойдет об управлении поведениями объектов (steering behaviors).
Вот кое-что из того, что мы научимся делать после изучения всех частей сабжа
поведение поиск (seek) - перемещайте указатель мыши над роликом, чтобы объект начал его поиск
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/04/27/steering_behaviors/SeekTest.swf, 550, 400[/SWF]
поведение следование по маршруту (path following) - щелкайте по ролику, чтобы задать точки маршрута
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/04/27/steering_behaviors/PathTest.swf, 550, 400[/SWF]
поведение скапливание (flocking)
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/04/27/steering_behaviors/FlockTest.swf, 550, 400[/SWF]
Речь пойдет об управлении поведениями объектов (steering behaviors).
Вот кое-что из того, что мы научимся делать после изучения всех частей сабжа
поведение поиск (seek) - перемещайте указатель мыши над роликом, чтобы объект начал его поиск
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/04/27/steering_behaviors/SeekTest.swf, 550, 400[/SWF]
поведение следование по маршруту (path following) - щелкайте по ролику, чтобы задать точки маршрута
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/04/27/steering_behaviors/PathTest.swf, 550, 400[/SWF]
поведение скапливание (flocking)
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/04/27/steering_behaviors/FlockTest.swf, 550, 400[/SWF]
Тестирование и тюнинг сетки
Продолжение перевода Определение столкновений множества объектов. Теперь мы поговорим о преимуществах применения сетки для определения столкновений перед обычным методом перебора. Для этого проведем несколько тестов, а также посмотрим на применение сетки для движущихся объектов.
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/04/27/hit_testing_with_a_large_number_of_objects/GridCollision2.swf, 600, 400[/SWF]
[SWF]http://coolisee.com/wordpress/wp-content/uploads/2010/04/27/hit_testing_with_a_large_number_of_objects/GridCollision2.swf, 600, 400[/SWF]
Определение столкновений множества объектов
Представляю вашему вниманию вольный перевод главы из книги AdvancED ActionScript 3.0 Animation, автор Keith Peters.
Речь пойдет об определении столкновений для большого количества объектов. Определение столкновений может использоваться при разработке игр, программировании систем частиц и т.д.
Речь пойдет об определении столкновений для большого количества объектов. Определение столкновений может использоваться при разработке игр, программировании систем частиц и т.д.
понедельник, 26 апреля 2010 г.
Определение столкновений объектов неправильной формы
Представляю вашему вниманию вольный перевод раздела «Hit Testing Irregularly Shaped Objects» из книги AdvancED ActionScript 3.0 Animation, автор Keith Peters.
Сегодня речь пойдет об определении столкновений объектов неправильной формы.
Например таких:

Сегодня речь пойдет об определении столкновений объектов неправильной формы.
Например таких:

Подписаться на:
Сообщения (Atom)