+183.33
52 читателя, 99 топиков

Проверка на IFrame

После того как «поработал» с «товарищами» из «Cоциал аффилейтс» решил задуматься над проблемой загрузки флешки из вражеских ифреймов ибо сайтлок должен быть сайтлоком.

проверить адрес где лежит ифрейм можно так: ExternalInterface.call(«eval», «document.referrer»);
но если флеха запущена не из ифрейма то сей код ничего полезного не вернёт.
значит сначала проверяем на ExternalInterface.call(«eval», «window.top.location.hostname») и уж если это не сработало, то скорее всего у нас ифрейм и нужно смотреть «document.referrer».

надеюсь пригодится =)
зы есть у кого мысли по этому поводу? может я что упустил или это всё вообще бред?

StatisticFrame [monitoring fps & memory]


Для учета и контроля fps и используемой приложением памяти, был написан набор классов StatisticFrame. С его помощью можно наблюдать изменения параметров при различных ситуациях и нагрузках.
Читать дальше →
  • +9

Какой цикл быстрее?



Какой цикл быстрее?

Проверим…
Читать дальше →
  • +3

Пространство для звука

Лирика
Часто в 2D играх не заморачиваются над объёмным звуком. И зря. Когда звук имеет своё место, то игра начинает выглядеть совершенно по другому. В ней начинает чувствоваться объём. Вот ракета взорвалась где-то слева, вот справа слышны шаги врага. И это уже не обязательно видеть, вы это слышите. А если звучащее событие происходит где-то за экраном вы можете планировать свои действия в зависимости от звуков. Это очень здорого. Как этого добиться?
Читать дальше →

Обновление Cirrus (ранее Stratus)

Первое нововведение — это передача ключа разработчика в качестве второго параметра, а не через URI, что делает ключ более защищенным.

Пример:

var nc:NetConnection = new NetConnection();
nc.connect("rtmfp://p2p.rtmfp.net", "000000000000000000000000-000000000000");

Второе — передача напрямую сообщений клиенту. Рекомендуется использовать данную передачу всего несколько раз, т.к. при данном методе происходит большая нагрузка чем при использовании P2P.

Пример:

// on sender peerID 9876 sending to peerID 1234
nc.call("relay", null, "1234", "INVITE");

// on receiver peerID 1234, this callback happens
nc.client.onRelay("9876", "INVITE");


Оригинал — http://blog.z-13.ru/2011/01/update-cirrus/
Более подробно — http://forums.adobe.com/thread/780788?tstart=0
  • +2

Как засунуть 2 мб в 300 кб и немного уменьшить головную боль

Всем привет.

Этот пост провисел в черновиках два или три месяца. Я всё ждал, когда же я причешу скрипт, который я в нем упоминаю. В общем я пришел к выводу, что скрипт я причесывать не буду за ненадобностью, и так работает :-)

Я компилирую игры с помощью Flex SDK, использую растровую графику. Она, как известно занимает много места, особенно в формате PNG, т.к. он не поддерживает сжатие с потерями. Но этот формат является фактически единственным выбором, если нужны картинки с альфа-каналом. Мой выход из этой ситуации, и именно об этом этот пост, сохранить картинку как два JPEG файла, с цветовой информацией и с альфаканалом. Причем альфаканал можно сжать очень сильно — артефакты сжатия в альфаканале практически незаметны.

Кроме того, очень часто анимация попадает ко мне в виде кучи файлов с именами вида «0001.png», «0002.png» и так далее по числу кадров. Например Блендер выдает картинки именно так. Эмбедить все это в таком виде — просто морока, на каждый файл надо написать [embed] тэг, класс и что-нибудь еще. Гораздо проще и удобнее иметь один файл на анимацию и один раз его прописывать. Это к вопросу об уменьшении головной боли. И кстати и общий размер файлов также уменьшается, за счет заголовков, сжатия всего вместе, а не по отдельности и т.д.

В одном случае мне и правда удалось сжать 2 мб исходных файлов в 300 кб. А позже и того меньше, но это уже не задокументировано :-)
Читать дальше →

QuadTree для самых маленьких

Текст полностью переписан, чтобы стать лучше :-)

Я сделал свою реализацию quadtree и желаю поделиться ей с народом. Оказалось, что это простая штука, которую несложно сделать.

Демка: Посмотреть.
Исходники (на AS3): скачать.
(Обновлено 28/01/2011 — поправлены баги, улучшена демка)

Зачем вообще это нужно?
Quadtree — это структура данных позволяющая ответить на вопросы: какие из кучи прямоугольных объектов пересекаются с заданным прямоугольником, и какие из кучи прямоугольных объектов пересекаются между собой.
Читать дальше →