Войти на сайт

Авторизация, ждите ...
×
  • Страница:
  • 1
  • ...
  • 4
  • 5
  • 6
  • 7
  • 8

ТЕМА: Дневник разработчика YuryOl

Дневник разработчика YuryOl 5 дн. 2 ч. назад #106480

  • Paranoid
  • Paranoid аватар
  • Вне сайта
  • Бог Светлого
  • Сообщений: 683
  • Спасибо получено: 340
Да можно извернуться, но я все равно считаю перспективу мейкера не очень удачной для кого-то высокого.

Давай делай уже скорее, хочу свою зельду на мв слепить.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: yuryol

Дневник разработчика YuryOl 3 дн. 22 ч. назад #106503

  • yuryol
  • yuryol аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1042
  • Спасибо получено: 1513
  • 1 место в ГотвУчительОратор3 место ГотвКомпозитор2 место
Как поклоннику "Эквилибриума" и боевых сцена в "матрице" (хотя сам фильм не люблю) всегда хотелось добавить динамичности и гибкости в перестрелки в своей АБС.

например [ Нажмите, чтобы развернуть ]


Поэтому многое пытаюсь сделать именно для маневренности героя и динамичности боев

Фиксация направления

Наверное самое легкое что можно придумать, так как такая возможность есть в самом мукере, а значит просто привяжем это к кнопке.
if (Input.isTriggered('capslock')) {
     $gamePlayer._directionFix = !$gamePlayer._directionFix;
}

Блокирование движения

Задача капельку сложнее. Тут нам надо самим добавить свойство, которое позволяет героя поворачиваться не двигаясь. Назовем его isBlockMove
if (Input.isTriggered('v')) {
     $gamePlayer.isBlockMove = !$gamePlayer.isBlockMove;
}

Ну а теперь в стандартной функции moveStraight делаем проверку включено ли это свойство.

1) если нет - позволяем ему (this) идти в заданном напарвлении (d)
Game_Character.prototype.moveStraight.call(this, d)

2) если же свойство есть - разрешаем ему только повернуться
this.setDirection(d)
var YuryolMoveStraight = Game_Player.prototype.moveStraight;
    Game_Player.prototype.moveStraight= function(d) {
        YuryolMoveStraight.call(this);
        ($gamePlayer.isBlockMove) ? this.setDirection(d) : Game_Character.prototype.moveStraight.call(this, d);
    };

Отход назад

Нам надо чтоб герой при нажатии на кнопку резко отсупил допустим на 2 клетки назад. Эта задачка еще сложнее.

1) в основном из-за вымученной функции moveEvent из этого поста: тык

2) Здесь нам понадобится немного иная блокировка - блокируем вообще все движения героя. Для этого создадим новое свойство block и функции для его включения/выключения:
 Game_Player.prototype.disableBlock = function() { 
        this.block = false;
    };
    Game_Player.prototype.enableBlock = function() { 
        this.block = true; 
    };

3) Лезем в функцию Game_Player.prototype.canMove и добавляем в условие проверку включен ли наш "блок")
if ($gameMap.isEventRunning() || $gameMessage.isBusy() || $gamePlayer.block) {
            return false;
        }

4) Конечно же ускорение должно делать героя быстрее. поэтому прибавляем герою скорость на две единицы
$gamePlayer._moveSpeed = $gamePlayer._moveSpeed+2;

5) Итого сама функция ускорения,где
n - количество шагов,на которые пробежит герой
13 - код для ROUTE_MOVE_BACKWARD, т.е. для движения героя назад
Scene_Map.prototype.boost = function(n) {
        $gamePlayer.enableBlock();
        $gamePlayer._moveSpeed = $gamePlayer._moveSpeed+2;
        $gameMap.moveEvent(0, 13, n);
    };

6) Не забываем отключить блокировку движения. Добавляем в moveEvent следующую строчку. Она добавляет в маршрут героя скрипт (код 45) для отключения блока - parameters: ["$gamePlayer.disableBlock();"]
route.list[amount] = {code: 45, parameters: ["$gamePlayer.disableBlock();"], indent: null};

Альтернативное оружие

Об этом завтра, спать хочу :(
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: Dmy, DK, Cabbit, Doctor_Bug, Varvararara, NeKotZima

Дневник разработчика YuryOl 3 дн. 13 ч. назад #106504

  • Paranoid
  • Paranoid аватар
  • Вне сайта
  • Бог Светлого
  • Сообщений: 683
  • Спасибо получено: 340
Никогда не понимал этой темы с фиксацией направления стрельбы. Еще во времена нес уже были твинстик шутеры, хоть на них и нужно было с двух контроллеров играть. Но сейчас-то кнопок хватает. Так что почему бы недобавить твинстик управление? Назначить кнопками стрельбы wasd и все, это всяко удобнее чем лок/анлок направления для игрока.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: yuryol, Noxmils

Дневник разработчика YuryOl 3 дн. 11 ч. назад #106505

  • yuryol
  • yuryol аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1042
  • Спасибо получено: 1513
  • 1 место в ГотвУчительОратор3 место ГотвКомпозитор2 место
Paranoid пишет:
Никогда не понимал этой темы с фиксацией направления стрельбы. Еще во времена нес уже были твинстик шутеры, хоть на них и нужно было с двух контроллеров играть. Но сейчас-то кнопок хватает. Так что почему бы недобавить твинстик управление? Назначить кнопками стрельбы wasd и все, это всяко удобнее чем лок/анлок направления для игрока.

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

Дневник разработчика YuryOl 3 дн. 10 ч. назад #106506

  • Paranoid
  • Paranoid аватар
  • Вне сайта
  • Бог Светлого
  • Сообщений: 683
  • Спасибо получено: 340
Ну опция такой стрельбы была бы замечательна.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: yuryol

Дневник разработчика YuryOl 3 дн. 7 ч. назад #106512

  • yuryol
  • yuryol аватар
  • Вне сайта
  • Архитектор Миров
  • Сообщений: 1042
  • Спасибо получено: 1513
  • 1 место в ГотвУчительОратор3 место ГотвКомпозитор2 место
Блок-схема

Сделал подобие блок-схемы для плагина АБС.

1) код уже довольно внушительный, по блок-схеме легче ориентироваться в функциях

2) позволяет оценить архитектуру плагина. Как видно на схеме - структура иерархична, и при этом между собой подобия "модулей" не слишком связаны, что облегчает работу с плагином.Также внутри "модулей" связь тоже не слишком сильная, в отличии от предыдущих версий плагина, когда чтобы добавить например бумеранг приходилось лезть в функций 6, чтобы ничего не сломать

3) другими цветами помечены функции сторонних плагинов:
- желтым - плагин Пещерного TileSwap
- серым - плагин Амфилохия EventFactory

4) блок-схема отнюдь неполная, здесь только основные функции (около 70ти). На данный момент функций около ста

5) Основа боевой системы:
- проверка нажатия клавиш YuryolInput, после которых и запускается действие героя.
- проверка столкновений collision.
- худ YuryolHud.

6) Описание каждой из функций пока не сделано

Для увеличения нажать правой кнопкой, затем "открыть в другой вкладке"

Последнее редактирование: 3 дн. 7 ч. назад от yuryol.
Администратор запретил публиковать записи гостям.
За этот пост поблагодарили: idavollr, DK, NeKotZima
  • Страница:
  • 1
  • ...
  • 4
  • 5
  • 6
  • 7
  • 8
Время создания страницы: 0.327 секунд