Yuryol

АБС. Враги из нескольких, мать их, клеток

Оценить эту запись
И в текущей, и в старой версии враги были размером только 1*1 клетку. И если для столкновения с другими событиями и героем подходил плагин [URL="http://cavescripts.blogspot.com/2015/10/cavemans-event-tuning.html"]Caveman's event tuning [MV][/URL] , то коллизии пуль с врагами пришлось писать самому

[B][SIZE=5]Где и как [/SIZE][/B]

Где и как указать "размер события? В подобных плагинах обычно пишут комментарий на странице, поэтому тут вопросов не было. А вот над "как" пришлось подумать

У того же Пещерного чтобы сделать врага 2*2 надо написать в комменте (для примера один из параметров опустим):
[php][bbox|0|1|0|1][/php]
Я нубопрограммист, поэтому не очень понимаю зачем всё это писать в квадратные скобки, а потом регулярками выуживать данные? Ну и главное - до изучения регулярок я никак не доберусь.
Поэтому сделал проще:
[php]b0101[/php]

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

[B]1) Проверка тот ли это коммент:[/B]

У пещерного:
[php]
if (comment.indexOf("[bbox") >= 0)[/php]
У меня:
[php]
if (comment[0] == 'b')
[/php]

[B]2) Присваиваем свойствам объекта данные из коммента:[/B]

У пещерного:
[php]
var re = /\[[Bb][Bb][Oo][Xx]\|(.+?)\|(.+?)\|(.+?)\|(.+?)\|(.+?)\]/;
var match = re.exec(comment);
this._xSub = Number(match[2]);
this._xAdd = Number(match[3]);
this._ySub = Number(match[4]);
this._yAdd = Number(match[5]);
[/php]
У меня:
[php]
this._xSub = Number(comment[2]);
this._xAdd = Number(comment[3]);
this._ySub = Number(comment[4]);
this._yAdd = Number(comment[5]);
[/php]

[B][SIZE=5]Разные коллизии столкновений и урона при попадании пули[/SIZE][/B]

Некоторые могут возразить: "теперь придется для задания коллизий писать два коммента, а не один, если б ты сделал в точности как у Пещерного.

Это так. Но зато теперь коллизии столкновений и урона при попадании пули можно делать разными.

К примеру, можно создать циклопа размером 3*5, который будет топтать тебя когда ты стоишь у него на пути. Но при этом чтоб убить его надо стрельнуть только в клеточку где у него глаз, а не в весь прямоугольник 3*5

[B][SIZE=5]Направление[/SIZE][/B]

Враги часто одного размера спереди и другого сбоку. К примеру пчела из моей игры если смотрит вперед, то размером 1*3, т.е. по высоте она больше чем по ширине. А вот когда поворачивается боком, то ее тело вытянуто по оси X и размер становится равным 4*2.

Поэтому решено добавить размер события в зависимости от направления. Например, чтобы сделать пчелу размером указанным выше, необходимо будет написать комментарий
[php]b0002-2201[/php]
, где первые 4 цифры - размер когда пчела смотрит вверх или вниз. Вторые 4 цифры - смотрит вбок

[B][SIZE=5]ИТОГ:[/SIZE][/B]

Теперь их можно делать и большего размера! Отлично подойдет для боссов, работает как для недвижимых событий, так и для событий с маршрутом

[SIZE=5][B]Гифки[/B][/SIZE]

Коллизии врага когда событие смотрит вперед
[URL="http://ipic.su/img/img7/fs/08.1539283822.gif"]посмотреть гифку[/URL]

И когда пчелка боком
[URL="http://ipic.su/img/img7/fs/09.1539283828.gif"]посмотреть гифку[/URL]

Отправить "АБС. Враги из нескольких, мать их, клеток" в Digg Отправить "АБС. Враги из нескольких, мать их, клеток" в del.icio.us Отправить "АБС. Враги из нескольких, мать их, клеток" в StumbleUpon Отправить "АБС. Враги из нескольких, мать их, клеток" в Google Отправить "АБС. Враги из нескольких, мать их, клеток" в VKontakte Отправить "АБС. Враги из нескольких, мать их, клеток" в Facebook

Обновлено 14.10.2018 в 02:08 Yuryol

Метки: Нет Добавить / редактировать метки
Категории
Без категории

Комментарии