Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Движок для квеста PART II=) (http://www.flasher.ru/forum/showthread.php?t=76149)

Crash512 27.02.2006 20:37

Движок для квеста PART II=)
 
Вложений: 1
Итак, с движком мне здесь помочь отказались, пришлось думать самому=))

Напомню, речь идёт об обхождении персонажем препятствий.

Начнём с того, что программист я пока бездарный, поэтому не смог врубиться ни в рекурсию, ни в волновой алгоритм (тем более, я так понял, он здорово тормозит флэшку). Пришлось придумывать что-то своё.

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

Мне, в принципе, нравиться то, что получилось. Так как расчёт пути происходит по щелчку мыши (далее персонаж просто пройдёт по полученным координатам), тормоза от скрипта сведены к минимуму (на моём Celeron 2.0 GHz всего 0.2-0.4 секунды после щелчка мыши до начала движения).

Вот то, что получилось. Я уже столько раз его тестил, что мог что-нить пропустить.

Подскажите пожалуйста недостатки данного движка. Может есть более актуальные варианты решения проблемы?..

Crash512 27.02.2006 23:54

Блин, и никому нечего сказать?..

Crash512 27.02.2006 23:57

Вложений: 1
Я тут его чуть-чуть подредактировал...

Psycho Tiger 28.02.2006 09:48

Да есть.
например, можно сдлеать чтобы персонаж када тыкался в стенку смотрел, куда ему нада идти (ниже выше, левее правее) и "тыкаясь в стенку" двигаясь по координате х или у, но при этом как только появится возможность сделать шаг в к более близкой точке (нужной точки) - сделать этот шаг

Crash512 28.02.2006 16:39

Цитата:

Сообщение от Psycho Tiger
Да есть.
например, можно сдлеать чтобы персонаж када тыкался в стенку смотрел, куда ему нада идти (ниже выше, левее правее) и "тыкаясь в стенку" двигаясь по координате х или у, но при этом как только появится возможность сделать шаг в к более близкой точке (нужной точки) - сделать этот шаг

Тормоза будут сильные (я думаю). В моём варианте весь путь просчитывается по щелчку, а потом персонаж двигается... Прикинь, если тонна скрипта будет просчитываться перед каждым фтыканием в стенку??

Kyber Anton 28.02.2006 23:58

Тормозов не будет. На моём 750 Duron'е , по крайней мере, нет.

Crash512 01.03.2006 00:04

Kyber Anton, а скрипт не можешь примерно подсказать?.. Или исходник?..

Psycho Tiger 01.03.2006 11:56

Алгоитм:
Если слева стена и мне надо налево:
Если надо вверх - иди вверх
Если надо вниз - иди вниз
Если слева нет стены и надо налево то иди налево

Чот типа такого
Слух, а ты 1 часть игры писал? где надо выпить пиво, закусмть тараканом и смыстя в унитазе?

Crash512 01.03.2006 12:20

Я вообще отписал и отрисовал всю игру... Просто началось это 4 года назад, мне было ещё 15, и в программировании я шарил туго... А сейчас поступил на 220100, и грызу гранит науки...=)))

Crash512 01.03.2006 12:21

Цитата:

Сообщение от Psycho Tiger
Алгоитм:
Если слева стена и мне надо налево:
Если надо вверх - иди вверх
Если надо вниз - иди вниз
Если слева нет стены и надо налево то иди налево

Чот типа такого
Слух, а ты 1 часть игры писал? где надо выпить пиво, закусмть тараканом и смыстя в унитазе?

А если нет вариантов "слева стена"? Если все препятствия имеют неправильную форму??

Mordman 01.03.2006 15:42

Самое простое создать массив точек с координатами.
Почитай про графы и построение кратчайшего пути в графе


Часовой пояс GMT +4, время: 03:12.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.