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

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

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

Регистрация: Sep 2008
Сообщений: 27
По умолчанию Движение пули в игре

Имеется такая проблемка. Пуля передвигается по сцене вот таким образом в обработчике ENTER_FRAME:
Код AS3:
                      private function move_bullet(e:Event):void{
			x += Math.cos(radians)*speed;
			y += Math.sin(radians)*speed;
		}
проблема в том что если установить скорость например 100 пикселей в секунду, то невозможно будет поймать столкновение пули с врагом, т.к. пуля просто появлятся в разных местах на расстоянии 100 пикселей.

А если поставить скорость 1 пиксель, то пуля соответственно двигается очень медленно.

как быть?

Старый 04.09.2011, 21:23
Vishapakahr вне форума Посмотреть профиль Отправить личное сообщение для Vishapakahr Найти все сообщения от Vishapakahr
  № 2  
Ответить с цитированием
Vishapakahr

Регистрация: Apr 2009
Адрес: Armenia , Yerevan
Сообщений: 145
какой у тебя фрайм рейт ? можно увеличить его , оставив скорость 1 или чуть больше но не 100.
__________________
Urartu is a neoHittite and ProtoArmenian kingdom !!

Старый 04.09.2011, 21:26
CrazyPHP вне форума Посмотреть профиль Отправить личное сообщение для CrazyPHP Найти все сообщения от CrazyPHP
  № 3  
Ответить с цитированием
CrazyPHP

Регистрация: Sep 2008
Сообщений: 27
Цитата:
какой у тебя фрайм рейт ? можно увеличить его , оставив скорость 1 или чуть больше но не 100.
фреймрейт стандартный 24, и им решать проблему не есть правильно. Если его повысить повысятся скоростя всех остальных объектов. А мне нужна только пуля. Расстояние передвижения пули тоже нужно оставить 1 пиксель, иначе не будет гарантирован отлов события соприкосновения с врагом.

Старый 04.09.2011, 21:32
derhab вне форума Посмотреть профиль Отправить личное сообщение для derhab Найти все сообщения от derhab
  № 4  
Ответить с цитированием
derhab
 
Аватар для derhab

Регистрация: Apr 2001
Адрес: Berlin
Сообщений: 1,862
Отправить сообщение для derhab с помощью ICQ Отправить сообщение для derhab с помощью Skype™
столкновение можно определять математически, не привязываясь к "физическому" телу пули. Есть объект-цель, есть вектор по которому пуля перемещается, надо найти пересечение... как-то так
__________________
freelance | Раздор

Старый 04.09.2011, 21:35
CrazyPHP вне форума Посмотреть профиль Отправить личное сообщение для CrazyPHP Найти все сообщения от CrazyPHP
  № 5  
Ответить с цитированием
CrazyPHP

Регистрация: Sep 2008
Сообщений: 27
Цитата:
столкновение можно определять математически, не привязываясь к "физическому" телу пули. Есть объект-цель, есть вектор по которому пуля перемещается, надо найти пересечение... как-то так
так враг же не один, пуля летит, в каждый тик определяется есть ли в точке где пуля какие либо объекты, если какойто из них враг, он умирает. Я не могу знать какой объект окажется на пути пули, они все движутся.

Старый 04.09.2011, 21:39
Bgg вне форума Посмотреть профиль Отправить личное сообщение для Bgg Найти все сообщения от Bgg
  № 6  
Ответить с цитированием
Bgg
 
Аватар для Bgg

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Пусть враг спрашивает у локации есть ли в его радиусе пуля, если есть, то помирает. Радиус - это минимальная площадь которую успевает пролететь пуля за кадр.

И не понятно что и как у вас вообще. Возможно необязательно попиксельно расчитывать пересечения объектов с пулями, а можно поедилть территорию на более крупные состовляющие.

Старый 04.09.2011, 21:54
saikspaik вне форума Посмотреть профиль Отправить личное сообщение для saikspaik Найти все сообщения от saikspaik
  № 7  
Ответить с цитированием
saikspaik

Регистрация: Nov 2009
Сообщений: 300
Цитата:
Сообщение от Bgg Посмотреть сообщение
Пусть враг спрашивает у локации есть ли в его радиусе пуля, если есть, то помирает. Радиус - это минимальная площадь которую успевает пролететь пуля за кадр.
Тогда будет засчитываться попадание когда пуля сбоку будет.

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

Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
Цитата:
Сообщение от saikspaik Посмотреть сообщение
Тогда будет засчитываться попадание когда пуля сбоку будет.
Не программу наведения спутника на орбиту марса пишет автор наверно уж. В WOW меч главного героя не попадает в тело npc иногда и ничего, npc покорно получает урон.

Старый 04.09.2011, 22:29
saikspaik вне форума Посмотреть профиль Отправить личное сообщение для saikspaik Найти все сообщения от saikspaik
  № 9  
Ответить с цитированием
saikspaik

Регистрация: Nov 2009
Сообщений: 300
Bgg, да не, ты наверное не понял, я вот что имею ввиду:

Пуля явно сбоку, и видно что во врага не попала.

Старый 05.09.2011, 00:08
CrazyPHP вне форума Посмотреть профиль Отправить личное сообщение для CrazyPHP Найти все сообщения от CrazyPHP
  № 10  
Ответить с цитированием
CrazyPHP

Регистрация: Sep 2008
Сообщений: 27
неужели нужно какойто костыль невнятный приделывать.. эххх..

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

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

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


 


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


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