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

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

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

Регистрация: Mar 2004
Адрес: Питер
Сообщений: 1
Question Как програмно вычитать центр и край объекта?

Есть отрывок кода для клипа (например, гоняющяя по экрану машинка):
Код:
if (_y<0)
 {
 	ySpeed = 0;  	
 }
Если машина врезается в край экрана (где нарисована стенка), то она по идеи должна останавливаться ТОЧНО тогда, когда её капот, дверь, или любая точка столкнётся с бордюром. Т. е. надо, чтобы условие было не на центр, а на край машины (длину экрана мы как будто не знаем, длину машины тоже).
Пробовал разные условия, но машина или тормозит раньше бордюра или вылетает за него. Если же "наехать" на бордюр (стенку) не прямо, а полубоком, то расстояние уменьшается или увеличивается.
Пробовал даже
Код:
 
_y - Math.sqrt((_height*_height)+(_width*_width))/2;
.
Может тут стоит использовать hit_test? Можно ли без него обойтись?
__________________
Я есть не то, что я есть,
А есть то, что я не есть.

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

Регистрация: Aug 2001
Сообщений: 4,121
нужна комбинация хиттеста с провекой координат. ведь при большой скорости можно пролететь насквозь и так и не столкнуться.

в любом случае проверять координаты/хиттест надо ПЕРЕД тем как двигать машину. например, можно двигать невидимый клип, схематично повторяющий контуры машины, и делать все вычисления относительно него. а саму видимую машинку только перемещать куда надо по результатам вычисления в текущем кадре.

Старый 01.04.2004, 00:30
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 3  
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
Nox Noсtis а могбы новичкам показать на примере свою идею .
как програмно контролировать перемещение прямоугольника с проверкой границ обьекта взаимодействия , границ экрана.
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники


Последний раз редактировалось D12; 01.04.2004 в 00:32.
Старый 01.04.2004, 09:31
nuran вне форума Посмотреть профиль Отправить личное сообщение для nuran Найти все сообщения от nuran
  № 4  
nuran

Регистрация: Apr 2003
Адрес: DC
Сообщений: 4,489
Это долго и нудно делать, я думаю ответа не будет ...
__________________
flash/flex/unity

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

Регистрация: Aug 2001
Сообщений: 4,121
Цитата:
Оригинал написал(а) D12
могбы
я сильно похож на мать Терезу ? :)

сейчас нет времени совсем.
надо сергвизарда и айлавЪю покликать :)


Последний раз редактировалось Nox Noctis; 01.04.2004 в 10:49.
Старый 01.04.2004, 22:10
D12 вне форума Посмотреть профиль Отправить личное сообщение для D12 Найти все сообщения от D12
  № 6  
D12
меценат
 
Аватар для D12

блогер
Регистрация: Jan 2004
Адрес: D
Сообщений: 1,592
Записей в блоге: 2
Спасибо. Я вас тоже люблю.
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники

Старый 01.04.2004, 23:56
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Цитата:
но машина или тормозит раньше бордюра или вылетает за него.
можно в условие остановки вставить коррекцию координат:
if (Math.abs(_y)<val)
{
ySpeed = 0;
_y=0;
}
Цитата:
ТОЧНО тогда, когда её капот, дверь, или любая точка столкнётся с бордюром.
тут на все это добро можно навесить маяки (точки) и проверять их пресечение


Последний раз редактировалось silin; 02.04.2004 в 00:00.
Старый 02.04.2004, 04:49
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 8  
sergwizard
 
Аватар для sergwizard

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
Ага, а я похож на мать Терезу, да? Особенно в профиль.
Дело тут даже не в клипах-маячках, - задача усложняется тем, что плеер среды разработки и собственно сам плеер по-разному обрабатывают такие параметры, как Stage.width и Stage.height (это четко видно в представленном примере). Я тут поковырялся-поковырялся, результатом не удовлетворился, и решил, что лучше я пойду помогать бедным зулусам, беженцам и рахитичным детишкам.
Но поработать в этом направлении можно. Кто следующий на роль мамы Терезы?
Вложения
Тип файла: zip 4profile.zip (6.4 Кб, 322 просмотров)
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Старый 02.04.2004, 18:54
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 9  
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
что бы не быть голословным
к тому что уже говорил: Nox прав, что бы не пролететь насквозь, надо проверять всю длину предстоящего шага, тока не обязательно для этого заводить фантомный мувик, можно и тестовыми точками в самом обойтись
зы: насчет Stage.width: можно проверять выход за границу мувика( рамки) и не заморачиваться на Stage
Вложения
Тип файла: zip car.zip (8.0 Кб, 294 просмотров)


Последний раз редактировалось silin; 02.04.2004 в 18:57.
Старый 02.04.2004, 20:06
sergwizard вне форума Посмотреть профиль Отправить личное сообщение для sergwizard Посетить домашнюю страницу sergwizard Найти все сообщения от sergwizard
  № 10  
sergwizard
 
Аватар для sergwizard

Регистрация: Jan 2002
Адрес: СПб-Denver-Лермонтов
Сообщений: 1,525
2Silin Твой вариант хорош, хотя в нем есть свои недостатки (ты недаром сделал машинку dragable с помощью мышки, - иначе застревает). Да и столкновение у тебя происходит с жестко установленными границами.
А мне было интересна именно эта фраза: "длину экрана мы как будто не знаем, длину машины тоже.". На ней я, как раз, и зациклился.
А, не зная длину (вообще, размеры) машины, довольно проблематично выставить контрольные точки.
__________________
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

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

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

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


 


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


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