Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.07.2010, 20:38
KipSyS вне форума Посмотреть профиль Отправить личное сообщение для KipSyS Найти все сообщения от KipSyS
  № 1  
Ответить с цитированием
KipSyS

Регистрация: Jul 2010
Сообщений: 14
По умолчанию Многократный аттачинг мувиклипов, каждый из которых вел себя по своему

Как генерировать объекты из библиотеки(проиндексированы по образу astЧИСЛО), придать каждому случайное местоположение на карте(Диапазоны от y=-2500 до y=2900 и x=-585 до х=1410), дать каждому астеройду случайную характеристику скорости, направления, скорости поворота, после всего проверить на сталкновение с каким либо другим объектом.
Пытался с помощью attachMovie, сгенерировал, но заставить двигать не могу. duplicateMovieClip вообще ничего не создает.

Добавлено через 1 час 47 минут
Генерацию и движение по опоределенной траектории сделал, как теперь заставить двигаться объект рандомно?


Последний раз редактировалось KipSyS; 06.07.2010 в 21:46.
Старый 06.07.2010, 23:33
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 2  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
setInterval , onEnterFrame, setTimeout, Math.random. Если вам о чем либо говорят эти слова, то вы справитесь

Старый 07.07.2010, 01:03
KirAmp вне форума Посмотреть профиль Найти все сообщения от KirAmp
  № 3  
Ответить с цитированием
KirAmp
Banned
[+4 10.07.10]
[+1.4 10.08.10]
[+1 20.08.10]

Регистрация: Jul 2009
Адрес: Саратов
Сообщений: 229
Отправить сообщение для KirAmp с помощью ICQ
KipSyS
Пишите рандомы на пересенные для скорости угла и прочего.
Код AS1/AS2:
Math.random(i);
/*
где i - максимальное значение рандома, минимальное - 0
Можно написать так: */
Math.random(i) + n  // где n - минимальное значение рандома, а i+n максимальное

Старый 07.07.2010, 09:53
KipSyS вне форума Посмотреть профиль Отправить личное сообщение для KipSyS Найти все сообщения от KipSyS
  № 4  
Ответить с цитированием
KipSyS

Регистрация: Jul 2010
Сообщений: 14
Все выше нужное сделал(хм)..Теперь, осталась действительно трудная часть-генерировать врагов, задать им рандомное положение...это мы умеем, но вот как реализовать нормальное поведение?Нужно чтобы кораблики летили на определенной зоне, и если между нами расстояние меньше определенного, то он летит ко мне и останавливается в случайном месте, начинает вести стрельбу(это самый простой вариант ai), а как сделать чтобы он не стоял на месте, а тоже моневрировал?

Добавлено через 32 минуты
Еще одна проблема. Неправильно на меня поворачивается противник. Смотрит немного не туда
Скачать файл neoSpace.zip


Последний раз редактировалось KipSyS; 07.07.2010 в 10:02.
Старый 07.07.2010, 11:47
KirAmp вне форума Посмотреть профиль Найти все сообщения от KirAmp
  № 5  
Ответить с цитированием
KirAmp
Banned
[+4 10.07.10]
[+1.4 10.08.10]
[+1 20.08.10]

Регистрация: Jul 2009
Адрес: Саратов
Сообщений: 229
Отправить сообщение для KirAmp с помощью ICQ
Чтобы соблюсти растояние между ними, можно в рандому использовать *

Старый 07.07.2010, 12:58
KipSyS вне форума Посмотреть профиль Отправить личное сообщение для KipSyS Найти все сообщения от KipSyS
  № 6  
Ответить с цитированием
KipSyS

Регистрация: Jul 2010
Сообщений: 14
Цитата:
Сообщение от KirAmp Посмотреть сообщение
Чтобы соблюсти растояние между ними, можно в рандому использовать *
Это я понял..Но такой AI будет тупой, нужно экшена в игру добавить, чтобы кораюлики на месте не стояли, а маниврировали...Вообще что почитать посоветуете, именно по реализации АИ? Уверен, ведь что то есть

Добавлено через 33 секунды
Вопрос про глюк с разворотом актуален

Старый 07.07.2010, 14:32
KirAmp вне форума Посмотреть профиль Найти все сообщения от KirAmp
  № 7  
Ответить с цитированием
KirAmp
Banned
[+4 10.07.10]
[+1.4 10.08.10]
[+1 20.08.10]

Регистрация: Jul 2009
Адрес: Саратов
Сообщений: 229
Отправить сообщение для KirAmp с помощью ICQ
KipSyS
Если вы знаете основы C# или C++ , то есть масса литературы по созданию AI. Берите любую, теория примерно одинаковая

Старый 08.07.2010, 08:59
NoCD вне форума Посмотреть профиль Отправить личное сообщение для NoCD Найти все сообщения от NoCD
  № 8  
Ответить с цитированием
NoCD
 
Аватар для NoCD

Регистрация: Jan 2006
Адрес: Novosibirsk
Сообщений: 353
Если вы хотите получить рандомное движение, то просто пусть враг генерирует на расстоянии от себя например в 200 пикселов любую точку _x,_y и движется к ней.

Что бы враг смог уклоняться от выстрелов игрока, просто нужно контролировать выстрелы игрока и направление выстрела, если выстрел был произведен в сторону врага, то этот враг рандомно движется в том или ином направлении от пули(например влево или вправо от пули). Что бы была вероятность попадания по врагу, можно замедлить реакцию рандомно. Тоесть враг узнал, что игрок стреляет по нему, рандомно вычисляем время реакции.

Если цель игры: уничтожить всех врагов, то пусть все враги движутся к игроку. Враг берет координаты игрока, сохраняет их в себе и движется по этим координатам. Через определенное время (например 5 секунд), обновить координаты. Если расстояние в пределах выидимости игрока, то враг нападает на игрока напрямую.

Если задача игры: выжить среди других игроков(ИИ), то пусть враги проверяют расстояние до близжайшего врага, вступают в бой, маневрируют.

Алгоритм обычно строится от глобального к частному.
Вот примитивный вариант ИИ:
не все пункты идут по порядку.

1. Вычисление позиций других врагов (заносим во внутренний массив текущего игрока)
2. Вычисляем слабого\сильного врага, его расстояние, в режиме боя он или нет.
3. Цель определена, движемся к ней.
4. Цель достигнута, вступаем в режим боя.
5. Стреляем по врагу и маневрируем если по нам стреляют.
6. Если нападают двое и шанс выжить минимален, то покинуть поле боя.
7. и т.д.

На счет литературы по ИИ могу посоветовать "Шампандар. Искусственный интеллект в компьютерных играх"
Зачем вам C# или с++ для создания ИИ? Главное знать алгоритмы построения ИИ, а не определенный язык программирования.


Последний раз редактировалось NoCD; 08.07.2010 в 09:16.
Старый 08.07.2010, 12:11
KipSyS вне форума Посмотреть профиль Отправить личное сообщение для KipSyS Найти все сообщения от KipSyS
  № 9  
Ответить с цитированием
KipSyS

Регистрация: Jul 2010
Сообщений: 14
Оу...Полезный пост, все наглядно объяснили и книжку в придачу =)
Спасибо =)

Создать новую тему Ответ Часовой пояс GMT +4, время: 03:43.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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