Клиент

Стрелы в Flash

От временного безделья внедрили стрелы в Flash - теперь они видимые и летят куда надо. При проигрывания события "удаленная атака" вызываем функцию makeArrow. В функции четыре параметра - исходные координаты и цели.

В самой функции создается объект типа creature с типом -2, с анимацией передвижения. Количество шагов анимации (animate_num) зависит от расстояния (иначе каким не было расстояние - стрела летела одно и тоже время - и для выстрела в упор была очень замедленная анимация).

Тренеровочный зал

тренировочная тыквы, 7maze.ru, лабиринты зыби Итак это то место, где обменивают золотую монету на опыт. Изначально задумывалось изничтожение шаров, но наш дизайнер как бы спросил, а откуда (по истории) будут брать бесконечное число шаров?

Редизайн открытия сундука

Сделал редизайн сундука и окончательный функционал по взятию вещей, на сервере.
Также теперь выводится артефакты на экране в зависимости от общего количества, один арт - выводится по середине, если два - то по краям.

Код примитивный :)

if (num==1) {b=a;a=0;}
if (num==2) {c=b;b=0;}

Зато так более красивее, мне кажется

лабиринты зыби, сундук с артефактами, 7maze.ru

Сундуки с сокровищами

Начал реализовывать сбор вещей из сундуков, для начала нарисовал сундук в двух вариантах: закрытый и открытый
сундуки с сокровищами, открытый сундук, закрытый сундук, лабиринты зыби - 7maze.ru

Думаю как реализовывать сундуки, есть два варианта:

  • как объект
  • как существо
  • Карта


    Делаю глобальную "мировую" карту. Рисую в Flash, вообще конечно идею/графику мне подкинул Илля Варгатий , за что ему большое спасибо (жаль что контакт прервался).

    Думаю

    Все думаю насчет героя и аммуниции, спросил совета на форуме www.flasher.ru и вроде бы его получил :)
    Что не может не радовать, т.к. получил ответ на оба варианта моих задумок:
    1) грузить разными клипами и объединять их в один
    2) скрывать на клипе все сейчас не нужное(например в оружии меч, если выбран топор и тому подобного множество вещей)

    Косяки

    Когда начал делать арену, понял какой ужасный код получился и сколько в нем косяков и багов.

    Во-первых пришлось срочно добавить переменную очередности - чтоб клиент знал, кто сейчас ходит.
    Во-вторых у при получение данных о существе если это был игрок (id>10000) то второму игроку не передавалось его HP, а у меня было повязано на это условие - нет HP - не показывался персонаж (считалось что он уже умер)

    Но самый главный косяк и не продуманность была в getaction - получении и обработки команд с сервера.

    Задумался

    Пытался сделать уже веб реализацию арены, но вперся в то, что есть несколько статусов.

    Вернее как – для начала жмем по ссылке на арене – все хорошо, мы либо попадаем в заявку, либо создаем ее. Далее должен сработать редирект на лабиринт, либо все должно вернуться на вид арены (т.е. открытое двухуровневое меню на тот уровень).

    Муторно это т.к. теоретически это меню может быть в любом месте и запоминать параметры (а именно так передается сейчас пункт меню/подменю) муторно.

    Инвентарь. Заключительная часть

    В Flash передача оказалась (как и предполагалась) ерундовым делом:
    Кнопка, на кнопке onPress.
    on (press) {
    btn_apply._visible = false;
    var inv='';for(var i=0;i<_root.itemsList.length;i++) {
    var tmp = itemsList[i].id.toString(16);
    if (tmp.length<6) { var i=6-tmp.length; for(var j=0;j<i;j++) {tmp='0'+tmp;} }
    inv+=itemsList[i].place.toString(16)+tmp;
    }
    loadVariablesNum(_root.host+"/maze?action=set_inv&inv="+inv+"&sessionid="+_root.session,0);
    }

    Ну да в Flash'ку пришлось передавать host, ну думаю может и не надо.

    На стороне сервера :

    Инвентарь, продолжение

    инвентарь,7maze
    С инвентарем получилось как-то с одной стороны проще, а с другой - сложнее.
    Провозился в целом, а онлайн для подрузки описаний и параметров вещей и вовсе не потребовался.
    В Flash нарисовал картинку - силуэт человека и квадраты куда можно понавесить вещей (оригинально, правда? :).
    Создаю два массива:

    var itemsList = new Array;
    var nameList = new Array;
    RSS-материал