
Структуры данных были созданы еще в GameMaker 6, а то и раньше, для замещения стандартных массивов (array). На компьютерах структуры явно выигрывает в скорости; в яваскриптах особой разницы нет - всё равно прорисовка берет больше ресурсов - , но всё-таки они удобнее и функциональнее.
Существует 6 видов структур данных:
- ds_queue
- ds_priority_queue
- ds_stack
- ds_list
- ds_map
- ds_grid

Тоже очередь, но уже у каждой ячейки данных есть и приоритет.
С нашим "магазином" это выглядит так: стоит человек десять в очереди, и тут в магазин заходит Владимир Владимирович. Ясен пень, мы его пропустим вперёд :) вот, теперь он купит сосиски быстрее всех. Но вдруг входит Жириновский :D Мы его тоже пропустим вперёд, но ему придется подождать своих сосисок, ведь впереди него Путин ;)
Только вот на магазине отрицательный приоритет не покажешь :)
Ds_stackDs_stack - это очередь наоборот. Здесь добавленная ячейка будет изъята первой.
Сам я этой структурой не пользуюсь, поэтому про применеие ничего не могу сказать.
Ds_listМоя самая любимая структура! Лист или список - это одномерный массив данных, из которого можно в произвольном порядке извлекать данные или добавлять значения в произвольное место в структуре. Также есть автоматическая сортировка, перемешивание, определение количества ячеек с данными.
Применение списков очень широко. Без них нельзя было бы выбрать неограниченное количество юнитов в стратегиях (starcraft), стало бы затруднительно управлять большим количеством ресурсов.
Ds_gridГоворя проще, ds_grid - это таблица. Без структур данных таблицу можно сделать и в виде двумерного массива, но эта структура несомненно удобнее, т.к.:
- Можно одной строчкой кода заполнить нужный участок ячеек нужным значением, причем не только прямоугольной, но и круглой формы.
- Можно получать минимальное или максимальное значение в указанном регионе или получать сумму значений.
- Также при желании можно увеличить или уменьшить структуру, И
- ли определить ее размер,
- А еще скопировать участок значений,
- И т.п.
Ds_grid может применяться для генерации карт или более производительной проверки столкновений для крупных уровней с большим количеством столкновений.
Также в сочетании с ds_map можно реализовать гибкий по возможностям инвентарь.
Ds_mapDs_map по своей структуре больше напоминает *.ini файл. Это тоже список, но у каждой записи есть свой ярлычок с названием.
Так можно хранить настройки игры или параметры предметов в инвентаре. Ds_map может хранить и одно значение, и несколько десятков. У каждого ярлыка тоже может быть несколько значений.
Например:

Есть кинжал. У него:
- Минимальная сила удара - 2
- Максимальная сила удара - 5
И все.
А вот священный меч:
- Минимальная сила удара - 20
- Максимальная сила удара - 50
- Здоровье - +50
- Бонус - крит х5
- Бонус % - 10
И еще 10 параметров.
Так же можно указывать заклинания (и даже случайным образом генерировать их во время игры).
А еще делать постепенную прокачку юнитов или зданий нелинейным способом.
В общем, много чего можно сделать :) Здесь я указал наиболее частые способы использования.
В играх же могут применяться все виды структур данных. Можно их вкладывать друг в друга, создавая более сложные конструкции.
Любую структуру данных можно сохранить в виде обычной строки, понятной только для гейм мейкера :) .
... title="images" />
прочно вошёл в ... Flash. Новое предложение
действительно заманчиво, но ...

HTML5 прочно вошёл в нашу жизнь и изменил способы добавления аудио и видео на сайт .В месте пришли две новых особенности, теги <audio> и <video> . Теперь больше нет нужды прибегать к помощи Flash. Новое предложение HTML5 действительно заманчиво, но достаточно вступительных слов. Давайте посмотрим что делают теги <audio> и <video>. <audio> Имя тега говорит [...]
Перевод крайне ценной статьи «Responsive Web ...
+ развернуть текст сохранённая копия
Хабы: Веб-разработка, Веб-дизайн, CSS
Перевод крайне ценной статьи «Responsive Web Design Techniques, Tools and Design Strategies» популярного интернет-издания для разработчиков Smashing Magazine.
Еще в январе мы опубликовали статью об адаптивном дизайне «Responsive Web Design: What It Is and How To Use It» (Адаптивный веб-дизайн: Что это такое и как им пользоваться). Адаптивный веб-дизайн продолжает привлекать к себе много внимания, но, учитывая, насколько он отличается от традиционных методов разработки сайтов, он может показаться заоблачно сложным для тех дизайнеров и разработчиков, которые его не пробовали.
По этой причине мы составили обзор ресурсов, полезных при создании адаптивных сайтов. В обзор вошли подробные руководства, подходы, инструменты, статьи, содержащие практические советы, необходимые для создания вашего собственного адаптивного сайта.
Техники Responsive web design
1. CSS Transitions and Media Queries
CSS Transitions и Media Queries
Elliot Jay Stocks подробно рассказывает о методе сочетания CSS Media Queries и CSS transitions. Основная идея в следующем: разрабатывая адаптивный сайт с помощью Media Queries, вы постоянно изменяете ширину вашего браузера, чтобы посмотреть, как сайт ведет себя при этом. Но каждый раз, когда отрабатывает один из ваших Media Queries, виден жесткий переход между стилями (первый, например, для десктопов, второй — для планшетов). Почему бы не использовать CSS transitions для сглаживания этих жестких переходов с помощью анимации?

Читать дальше →
Тэги: css, css3, design, html, html5, media, query, responsive, web, адаптивный, веб-дизайн, веб-разработка, вёрстка, дизайн, разметка
Элемент audio из HTML5
2012-04-15 22:25:57
... элемент video из HTML5 пришло время разобрать ...
+ развернуть текст сохранённая копия
Вслед за заметкой про элемент video из HTML5 пришло время разобрать элемент audio, который уже вполне сносно поддерживается в современных браузерах. Пример HTML разметки <audio controls="controls"> <source src="google_chrome_only.mp3"/> <source src="firefox_opera_chromium_chrome.ogg"/> </audio> Поддерживаемые форматы В заметке про video-элемент мне сделали резонное … подробнее →
Тэги: audio, chrome, firefox, html5, opera, запись
Немного об iOS и HTML5
2012-04-15 18:42:55
... маленьким FAQ по HTML5 и некоторым фичам ...
+ развернуть текст сохранённая копия
Вообще написанное мной сейчас может пригодится в любой ситуации. А для кого-то, возможно, вообще будет просто маленьким FAQ по HTML5 и некоторым фичам браузеров. Итак, описываю ситуацию. Дано: одноклассник — не идиот; ноутбук — сгорел HDD; выделенный интернет + настроенный роутер; iPod Touch 4G; время — продолжаться такое может долго в силу многих обстоятельств. Найти: [...]
Тэги: chromium, firefox, flash, html5, ios, ipod, linux, touch, ubuntu, window, админские, гайды, интересный, ликбез, рассказ, справка