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

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

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

Регистрация: Sep 2008
Сообщений: 102
Всем привет. Созрел тут вопросик. Поиск не дал решений.
Вообщем...Мне нужно, чтоб линия(динамическое рисование) столкивалась с объектом(мувиклип) и происходило действие (в данном случее объет изчезает). Странно то, то с простым хитТестом линия взаимодействует, но взаимодействует как полный объект, то есть как 4-х угольник. А мне нужно, чтоб взаимодействовала как линия, нужно сложное столкновение. Вообщем посмотрите, вроде код правильный, только не хочет работать. С обычными мувиками все работает, а в данном случае исключение почему-то. Помогите пожалуйста, кто может.

Вот сам файл.

Нету ни у кого вариантов ?
Вложения
Тип файла: rar Рисование.rar (6.0 Кб, 113 просмотров)


Последний раз редактировалось iNils; 04.12.2008 в 02:37.
Старый 09.12.2008, 19:01
sersir вне форума Посмотреть профиль Отправить личное сообщение для sersir Найти все сообщения от sersir
  № 2  
Ответить с цитированием
sersir
 
Аватар для sersir

Регистрация: Sep 2008
Сообщений: 102
Разве такой сложный пример ? Ну хотя бы объясните с какой стороны подойти. Просто как я понимаю, тут совсем другая схема столкновений, хитТестом не получится. Походу прийдется через математические функции решать.

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

Регистрация: Jun 2008
Адрес: курский вокзал
Сообщений: 1,114
В Вашем случа можно просто проверить,_xmouse и _ymouse на пересечение границ квадратика,и все
__________________
Я просто добрый шутник.

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

Регистрация: Sep 2008
Сообщений: 102
Да если бы всё было так легко =) Это самый простой пример. Просто у меня в игре будет не один клип, а много =) И нужно, чтоб когда мувики попадали под линию, то они удалялись.

Добавлено через 18 часов 58 минут
Код AS1/AS2:
_root.onEnterFrame=function(){
	//if(_root.koly.hitTest(_root.enemy)){
		//_root.enemy._visible=0;
	//}
	_root.createEmptyMovieClip("koly",this.getNextHighestDepth());
	_root.koly.lineStyle(2,0xff0000,100);
	_root.koly.moveTo(_root.player._x,_root.player._y);
	with(_root.koly){
	if (_root.enemy.hitTest(getBounds(_root).xMin, _y, true)) {
				_root.enemy._visible=0;
			}
			if (_root.enemy.hitTest(getBounds(_root).xMax, _y, true)) {
				_root.enemy._visible=0;
			}
			if (_root.enemy.hitTest(_x, getBounds(_root).yMin, true)) {
				_root.enemy._visible=0;
			}
			if (_root.enemy.hitTest(_x, getBounds(_root).yMax,true)) {
				_root.enemy._visible=0;
			}
	}
}
_root.onMouseDown=function(){
	_root.koly.lineTo(_root._xmouse,_root._ymouse);
}
Вот сам код.

Добавлено через 48 часов 14 минут
Можете хотя бы сказать с какой стороны подходить =)


Последний раз редактировалось iNils; 14.12.2008 в 01:55.
Старый 14.12.2008, 00:10
sersir вне форума Посмотреть профиль Отправить личное сообщение для sersir Найти все сообщения от sersir
  № 5  
Ответить с цитированием
sersir
 
Аватар для sersir

Регистрация: Sep 2008
Сообщений: 102
Вопрос ещё открыт

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

Регистрация: Nov 2008
Адрес: Атланта
Сообщений: 1,271
sersir отредактируй свой код тегам code
__________________
Пока я жив, Вы горем обеспечены

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

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
как вариант смотреть не хитТест с мувиком линии а хитТест с точками траектории:
Код AS1/AS2:
_root.createEmptyMovieClip("koly",this.getNextHighestDepth());
koly.lineStyle(2,0xff0000,100);
 
_root.onMouseDown = function() {
	koly.moveTo(player._x,player._y);
	koly.lineTo(_xmouse,_ymouse);
	if (enemy._visible) {
		var dx = (_xmouse-player._x)/100;//100-к примеру, зависит от условий задачи
		var dy = (_ymouse-player._y)/100;
 
		for (var i:Number = 0; i<100; i++) {
			var x = player._x+i*dx;
			var y = player._y+i*dy;
			if (enemy.hitTest(x, y)) {
				enemy._visible = false;
				return;
			}
		}
	}
};

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

Регистрация: Sep 2008
Сообщений: 102
silin, cпасибо тебе большое, все отлично работает ! =)

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

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

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


 


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


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