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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > ActionScript

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 17.06.2004, 03:26
m-16 вне форума Посмотреть профиль Отправить личное сообщение для m-16 Найти все сообщения от m-16
  № 11  
m-16

Регистрация: Aug 2003
Сообщений: 16
А зачем делать лишних вычислений?
Код:
distanceX=Math.abs(this._x-_root.mc._x);
distanceY=Math.abs(this._y-_root.mc._y);
Вроде проще.
А потом
Код:
if (distanceX && distanceY < 150)
Только вот почему при таков вычислении дублируемые обекты зависят друг от друга? С прозрачными кружками они сами по себе ходили.

Старый 17.06.2004, 13:40
Мимоход вне форума Посмотреть профиль Отправить личное сообщение для Мимоход Найти все сообщения от Мимоход
  № 12  
Мимоход

Регистрация: Nov 2003
Адрес: Окрест
Сообщений: 69
Отправить сообщение для Мимоход с помощью ICQ
По поводу лишних вычислений- ты не прав, мой метод кривоват: если distanceX && distanceY ==150, то расстояние будет 150*(корень из 2), т.е. ок. 200
Дальше. Пишешь управляющую функцию, которая "рулит" врагами (например function vrag(name)). А в каждого врага вставляешь вызов функции:

onClipEvent (enterFrame) {vrag(vrag1);
}

где vrag1 - имя именно этого экземпляра. А в функции вместо имени пишешь переменную name, которая будет принимать переданные при вызове значения (vrag1, например)
__________________
Опять мимо?..

Старый 17.06.2004, 15:30
m-16 вне форума Посмотреть профиль Отправить личное сообщение для m-16 Найти все сообщения от m-16
  № 13  
m-16

Регистрация: Aug 2003
Сообщений: 16
Всем спасибо, действительно формула все на свои места поставила, теперь все двигаются независимо.
А для соприкосновения совсем маленьких объектов, т.е. пуль и врагов точно также делать, или для маленьких объектов другие способы?
И как лучше эту формулу записывать, чтобы меньше процессор загружала?
Сразу в таком виде
Код:
R = Math.sqrt( ( this._x - _root.igrok._x ) * ( this._x - _root.igrok._x ) + ( this._y - _root.igrok._y ) * ( this._y - _root.igrok._y ) );
Или создавать переменные: х1, х2, у1, у2 и после этого формулу, которую привел Nucer?
Код:
A ( x1 ; y1 ) и B ( x2 ; y2 ) вычисляется по формуле R = Math.sqrt( ( x1 - x2 ) * ( x1 - x2 ) + ( y1 - y2 ) * ( y1 - y2 ) );
Сранее спасибо

Старый 17.06.2004, 15:58
Елё вне форума Посмотреть профиль Отправить личное сообщение для Елё Посетить домашнюю страницу Елё Найти все сообщения от Елё
  № 14  
Елё
 
Аватар для Елё

Регистрация: Jun 2002
Адрес: Москва
Сообщений: 287
Отправить сообщение для Елё с помощью Skype™
Для того что бы процессор не загружался sqrt не обязательно делать...

Старый 17.06.2004, 16:04
Елё вне форума Посмотреть профиль Отправить личное сообщение для Елё Посетить домашнюю страницу Елё Найти все сообщения от Елё
  № 15  
Елё
 
Аватар для Елё

Регистрация: Jun 2002
Адрес: Москва
Сообщений: 287
Отправить сообщение для Елё с помощью Skype™
И конечно надо писать так
Код:
var x = this._x - _root.igrok._x;
var y = this._y - _root.igrok._y;
var dist = x*x+y*y;

Старый 17.06.2004, 16:07
Nucer вне форума Посмотреть профиль Отправить личное сообщение для Nucer Посетить домашнюю страницу Nucer Найти все сообщения от Nucer
  № 16  
Nucer
[++]
 
Аватар для Nucer

Регистрация: Jan 2003
Адрес: Москва
Сообщений: 839
Отправить сообщение для Nucer с помощью ICQ
Всё зависит от того, как тебе надо чтобы пуля попадала. Поконкретней опиши

Старый 17.06.2004, 18:32
m-16 вне форума Посмотреть профиль Отправить личное сообщение для m-16 Найти все сообщения от m-16
  № 17  
m-16

Регистрация: Aug 2003
Сообщений: 16
Есть враг(враги) он бегает за игроком и когда расстояние между ними меньше 150 аттачит каждые 0,5 сек пулю в сторону игрока. Игрок - обычный кружочек размером 15 (враг тоже 15) Пуля - прямоугольник 4на2.
Если пуля соприкасается со врагом, то происходит такое-то действие.
Хиттест все делает каряво. Пуля летит мимо, он все равно хиттестит её.

Старый 17.06.2004, 18:41
Nox Noctis вне форума Посмотреть профиль Отправить личное сообщение для Nox Noctis Посетить домашнюю страницу Nox Noctis Найти все сообщения от Nox Noctis
  № 18  
Nox Noctis
don't panic!
 
Аватар для Nox Noctis

Регистрация: Aug 2001
Сообщений: 4,121
Цитата:
Оригинал написал(а) m-16
Хиттест все делает каряво.
хиттест работает так как должен работать, коряво все делает кто-то другой :)

у хиттеста м.б. два или три аргумента. посмотри в хэлпе для какого случая какой вариант вызова нужен..

Старый 17.06.2004, 23:09
Usnul вне форума Посмотреть профиль Отправить личное сообщение для Usnul Посетить домашнюю страницу Usnul Найти все сообщения от Usnul
  № 19  
Usnul
 
Аватар для Usnul

Регистрация: Mar 2001
Адрес: во сне
Сообщений: 2,701
Отправить сообщение для Usnul с помощью ICQ
Гы-гы-гы =)
__________________
I'm only happy when it rains.
Waka Laka

Старый 17.06.2004, 23:34
m-16 вне форума Посмотреть профиль Отправить личное сообщение для m-16 Найти все сообщения от m-16
  № 20  
m-16

Регистрация: Aug 2003
Сообщений: 16
Всем весело, а про какой хэлп то идет речь?
Тот который F1 или еще какой?

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

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

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


 


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


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