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

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Flash > Общие вопросы

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 21.05.2004, 08:07
XakЕr вне форума Посмотреть профиль Отправить личное сообщение для XakЕr Посетить домашнюю страницу XakЕr Найти все сообщения от XakЕr
  № 1  
XakЕr

Регистрация: Apr 2004
Адрес: Россия г.Воткинск
Сообщений: 26
По умолчанию Чё за фигня

При столкновении пули со стенками мапы я выгружаю мув пули,
получается какая-то БОРОДА :-)))))))))))))))))
Поправте плиз
Вложения
Тип файла: zip hittest.zip (8.3 Кб, 123 просмотров)
__________________
Учиться! Учиться! и еще раз Учиться! как завещал нам
дедушка ЛЕНИН

Старый 21.05.2004, 13:40
TTS вне форума Посмотреть профиль Отправить личное сообщение для TTS Найти все сообщения от TTS
  № 2  
TTS
 
Аватар для TTS

Регистрация: Jan 2002
Сообщений: 1,323
hitTest в том виде, в котором у тебя прописан, работает только с ограничивающими прямоугольниками (bounding box) мувиков. Вытащи танк за пределы лабиринта, и поймешь о чем речь. Смотри в хелпе про второй вариант hitTest.
Дальше, даже если мы правильно прописали hitTest, снаряд может перескочить стену - в одной точке он перед стеной, а в следующей - уже за стеной и hitTest оказывается в пролете. Поэтому надо проверять промежуточные точки.
И еще: нехорошо выгружать мувик, который прописан в таймлайне. В следующем кейфрейме он появится снова.
Короче, скрипт на ogon2 поменяй
Код:
onClipEvent(load){
	ds=10; // зависит от скорости снаряда и толщины стены
	oldpoint={ x: _x, y: _y };
	_parent.localToGlobal(oldpoint);
}

onClipEvent(enterFrame){
	point={ x: _x, y: _y };
	_parent.localToGlobal(point);
	dx=(point.x-oldpoint.x)/ds;
	dy=(point.y-oldpoint.y)/ds;
	for(i=1;i<=ds;i++, oldpoint.x+=dx, oldpoint.y+=dy){
		if(_root.walls.hitTest(oldpoint.x, oldpoint.y, true)){
			_parent.gotoAndStop(1);
		}
	}
}
__________________
ВКЛЮЧИ МОЗГИ!!!
Одноразовых граблей не бывает. На большинство из них уже кто-то наступал. (c) Dindin


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

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

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


 


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


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