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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 21.10.2006, 20:33
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 14  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
Код:
class Tank extends MovieClip {
	static var list=[];
	function Tank(num:Number) {
		list.push(this);
	}
	function onClash(mc){
		trace("столкновение танк:"+_name+"/ ракета:"+ mc._name);
	}
}
Код:
class Raketa extends MovieClip {
	static var num:Number = 0;
	var par;
	function Raketa() {
		par = num++;
		onPress = startDrag;
		onRelease=stopDrag;
	}
	
	function onEnterFrame(){
		for(var i in Tank.list){
			if(hitTest(Tank.list[i])){
				Tank.list[i].onClash(this);
				break;
			}
		}
	}
}
Код:
for (var i = 0,level = 0; i<10; i++) {
	attachMovie("ra", "ra"+i, level++, {_x:i*50, _y:0});
	attachMovie("tank", "ta"+i, level++, {_x:i*50, _y:200});
}
поправь , у тебя в файле ракеты с танками под одинаковыми именами идут, но не в этом суть..
здесь, собственно, иллюстрация механизма в самом примитивном раскладе, все работает, но не эффективно, потому как каждой ракете приходится перебирать весь список танков..
если, например, положить танки в одтельный мувик, то проверять весь список придется только при хиттесте ракеты с этим общим мувиком..и т.д. и т.п. (сетка, структура, прочие уловки, о чем тебе и толкуют wvxvw, __etc,Sneg), но в этом случае существенный нюанс еще в соотношениях габаритов ( можно ли смотреть ту же ракету как точку, т.е. проверять хитТест с ее _x,_y), потому как такой подход требует hitTeat(x,y,true), а не hitTest(mc)..
нюансов много.., но смысл надеюсь ясен


Последний раз редактировалось silin; 21.10.2006 в 20:43.
Создать новую тему   Часовой пояс GMT +4, время: 21:24.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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