![]() |
Следование за мышкой
Здравствуйте, Flasher'ы! Недавно узнал о проекте под названием Agar.io (http://agar.io/) и решил слепить что-то подобное...Но очень скоро по своей неопытности натолкнулся на интересную проблему - следование ГГ за мышкой. В AS 2.0 это вылядело примерно так: Код AS1/AS2:
И ещё - незнаю как сделать спавн еды для ГГ по всему полю Всё чего я добился: Код AS3:
|
Цитата:
Цитата:
|
Лучше псевдорандом )
|
Вложений: 1
Вот, как и просили - и AS 2, и в AS 3...
Жду ответов)) |
В agar.io не везде генерится еда, а кусками. Поэтому выбираем случайную точку на карте, и генерим относительно неё раз 100 в пределах 500-700 пикселей от точки во все стороны. И так несколько итераций.
|
Цитата:
|
Т.е. мы берём, допустим 4 точки на карте и относительно них прибаляем координаты и там спавним еду?
А, и ещё вопросик - как мне сделать подсчёт очков при съедании? Самая очевидная мысль, наверное - это создать переменную и с помощью if'а прибавлять по одному очку... Но вот как вывести это на экран? Заранее спасибо за ответы. Добавлено через 10 минут Ок, выкладываю весь код: Версия AS3: Код AS3:
Код AS1/AS2:
|
Код AS3:
|
Спасибо большое, пойду пробовать, только вот не понял, что делает
Цитата:
|
Цитата:
|
Ок...))
Извиняюсь, но тогда что делает Number? Добавлено через 8 минут Да, код работает отлично, но вот только мне нужно, чтобы шарик двигался за курсором, а не был прилеплен к нему... |
Number - это такой тип, который умеет содержать в себе дробные числа (0.1, 5.00351, 0.0013).
Добавлено через 8 минут Цитата:
Код AS3:
|
Ааа... Понял. Т.е. в первом варианте достаточно уменьшить скорость и он уже будет медленно тащится за курсором))
И да, последний код - это моё спасение. Спасибо за ответ, samana, и все, кто помог. Добавлено через 54 секунды Только вот со спавном не решили... |
Ну, попробуйте как вам сразу предложили, потом попробуйте, как я предложил.
Первый вариант выглядит так. Код AS3:
А если ещё хотите цвет генерировать, то лучше на лету рисовать. Код AS3:
|
Да, спасибо, всё работает отлично.
Последний вопрос - чтобы еда восполнялась, когда я её съедаю, надо добавить что-то типа такого? Код AS3:
|
После съедания просто добавляйте новый хавчик.
|
Кстати раз тут зашёл разговор об моделях поведения, никто не тыкнёт носом на ссылочку с использованием векторов и операций над ними для моделирования поведений: приследование, убегание, скопления и т.д. Был помню какой-то туториал, так не мог найти.
|
Возникла проблема с подсчётом очков:
Код AS3:
|
Цитата:
http://demiart.ru/forum/index.php?showtopic=125911 Добавлено через 1 минуту Код AS3:
|
Цитата:
|
1067: Неявное приведение значения типа Number к несоответствующему типу String.
|
Код AS3:
|
Исправил всё, стало считать но сколько-бы ни было еды на сцене, очки прибавляються только при столкновении с определённым кружком
Кидаю код(весь): Код AS3:
|
Код AS3:
|
Сделал вот-так, теперь еда исчезает, но стало по-адски лагать
Код AS3:
ArgumentError: Error #2025: Предоставленный DisplayObject должен быть дочерним элементом вызывающего объекта. at flash.display::DisplayObjectContainer/removeChild() at AgarIO3_fla::MainTimeline/update() |
Когда вы удаляете объект с экрана, вам так же нужно удалить его из массива, чтобы в следующий раз, удалённый объект уже не проверялся на столкновения.
|
Ок, только я незнаю как удалять из массива...
|
Тогда думаю есть над чем поэкспериментировать и узнать что-то новенькое ) http://help.adobe.com/ru_RU/FlashPla...t/3/Array.html
|
Спасибо
Нашёл там функцию splice(),а вот как пользоваться незнаю Даже святой гугл не помог... |
|
ZackMercury, а почему бы ссылку не дать человеку на справку? Как он по скрину ее найдет? )
|
dimarik, давали уже, давали.
Цитата:
|
Вложений: 1
Спасибо за ссылку - долго ломал голову, но задачу решил.
Решил сделать регенерацию еды, но не пашет: Код AS3:
|
| Часовой пояс GMT +4, время: 12:51. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.