![]() |
Примитивный АI, преследование главного героя
Есть главный герой, есть монстры (вид сверху), нужно сделать так что бы монстры постепенно шли к главному герою и были к нему всегда лицом. Вообщем вот как я это сделал:
Код на фрейме Код:
//Вызываем функцию создания монстров.Код:
stop();Код:
stop();1) Когда герой стоит на месте то монстры нормально двигаются к нему, когда герой начинает двигаться то монстры творят что-то странное, или начинают ходить кругами или дрыгаться в разных направлениях. 2) Если поставить высокую скорость монстрам то при прриближении к герою они дрыгаются, но ооканчательно (до атакующей позиции), приблизиться не могут 3) Если кол-во монстров на экране приблежается к 20 то игра начинает тормазить, при 100 монстрах пришлось жать CTRL+ALT+DEL Вообщем что я не так сделал и как это исправить. |
а покажи сам примерчик..
|
Полный исходник весит боллее 10мб, так что я вырезал весь код о котором речи не идет и заменил картинки схематичными кружечками. Вот
|
"Вложение не указана(о) или не существует. Если вы уверены, что использовали правильную ссылку, свяжитесь с администрацией"
|
Поправил, но через интерфейс форума выложить не получилось, так что качайте от сюда
|
пользуйся
setInterval(anim, 10); и function anim() { } это ускорит выполнение + храни весь код в одном кадре не муви клипа. в блоке №2 у тебя анг в градусах, а sin и cos работают с радианами. Для удобства работай с радианами, а в градусы переводи только для поворота самого мувика. |
ааа помню у меня тоже дергалось...
вроде, если не подводит память, округляй числа.. ;) |
Цитата:
Попробывал Цитата:
Цитата:
|
Цитата:
PS Если ты их партиями собираешься выпускать, то тогда никаких проблем с количеством быть не должно. |
Цитата:
|
Crimsonland и АленШутор -- это игры на flash?
|
Поставь 30 кадров в секунду у мувика ! :D
|
Не знаю поможет тебе это или нет, но я сейчас занимался падающими цветами. Примитивная по сути флешка: дублируем мув и задаем ему движение. Но когда количество цветочков переваливает за 150 весь комп начинает жутко тормозить, загрузка ЦП чуть ли на максимуме а флеш съедает 200 метров оперативки... Так вот по ходу тут все от компа зависит. Я уверен, что если твою флеху на гиге+ оперативки, 3 ГГц и 512 видяхе протестить то ничего дергаться не будет...
И кстати, Eric, fps здесь не при чем... Если кто нить посоветует что делать было б очень здорово... |
Цитата:
|
замени
Код:
this.xmov = bot_speed*Math.cos(ang);Код:
this.xmov = bot_speed*Math.cos(ang*Math.PI/180); |
Цитата:
|
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Профи, подумайте, давайте решим проблему!!! |
Посмотрел я твой исходник - не тормозит, даже когда ставишь 100 монстров.
Попробуй мой код. Если не будет тормозить - юзай:) Код:
//массив для 100 монстров |
Цитата:
Твой код, хоть аккуратние и красивей моего, но результат то же заменил рисование треугольников подгрузкой клипа монстра из библиотеки и все опять начало тупить (((((, не ужели компилятор flash'a, такой не совершенный !?!?! |
А ты попробуй использовать растровые картинки. Может они будут быстрее отображаться, чем твои сложные и красивые объекты:)
|
Да не в скрипте и не в картинках дело, имхо. Есть флешка - падение снега. Скрипт довольно простой, но как только мы делаем 100+ снежинок (нарисованы тоже элементарно) и водим курсором по флехе все жутко тормозит... чем больше объектов тем больше лагов. Пока я думаю, что это бреш флеша. Видимо он не идеален и не может обрабатывать такое количество объектов без тормозов... Но это только предположения. Хотелось бы найти подтверждение или опровержение моего предположения. Если хотите могу выложить скрипт, исходник или свф или все вместе...
|
Цитата:
|
Optimist, +1, ждем может какой мего мозг додумается!! 6-)
|
Вложений: 1
Цитата:
А по поводу, что они будут быстрее отображаться, я тут сделал небольшой тест. См. присоединенный архив! Там две флешки и их исходник. Эти флешки абсолютно одинаковые, за исключением того, что в одной из них монстры растровые, а в другой - векторные. Так вот: В версии с растровыми монстрами у меня fps показывает 30 кадров, а с векторными только 9 (quality->high)! Результат на лицо:) |
Цитата:
|
Цитата:
|
Вложений: 1
как применять - вставляешь в мувик gif или png картинки (они поддерживают прозрачность) и все!
|
Ясно, спасибо буду пробовать.
|
| Часовой пояс GMT +4, время: 02:39. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.