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

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

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

Регистрация: Nov 2010
Сообщений: 434
По умолчанию Как проверить пересечение мувиклипов

Есть обьект который можно перетаскивать, ещё есть кривая. Задача состоит в том чтобы узнать когда этот обьект пересекается с кривой. делаю через hitTestObject. Но возникла проблема, кривая(мувиклип) имеет прямоугольную область

Старый 19.03.2011, 21:48
DZHETIGAPA вне форума Посмотреть профиль Отправить личное сообщение для DZHETIGAPA Найти все сообщения от DZHETIGAPA
  № 2  
Ответить с цитированием
DZHETIGAPA
[+3 18.04.11]

Регистрация: Dec 2010
Сообщений: 342
Загонять в БитмэпДату и проверять hitTest()

Старый 19.03.2011, 22:50
ЗлОй ПрОграММер вне форума Посмотреть профиль Отправить личное сообщение для ЗлОй ПрОграММер Найти все сообщения от ЗлОй ПрОграММер
  № 3  
Ответить с цитированием
ЗлОй ПрОграММер

Регистрация: Nov 2010
Сообщений: 434
а другого способа нет ?

Старый 19.03.2011, 22:58
DZHETIGAPA вне форума Посмотреть профиль Отправить личное сообщение для DZHETIGAPA Найти все сообщения от DZHETIGAPA
  № 4  
Ответить с цитированием
DZHETIGAPA
[+3 18.04.11]

Регистрация: Dec 2010
Сообщений: 342
Есть гугл+мозги!

Ты б этот способ попробовал. или он тебе чем-то не нрав?

Старый 19.03.2011, 23:27
ЗлОй ПрОграММер вне форума Посмотреть профиль Отправить личное сообщение для ЗлОй ПрОграММер Найти все сообщения от ЗлОй ПрОграММер
  № 5  
Ответить с цитированием
ЗлОй ПрОграММер

Регистрация: Nov 2010
Сообщений: 434
да искал я, ток стоищего не нашёл нечего, ладно попробую пока через БитмэпДату

Добавлено через 13 часов 37 минут
Пробую сделать пересечение
рисую два мувиклипа к ним пишу классы Class1, Class2 они идентичны
вот пример кода из Class1
Код AS3:
package  {
 
	import flash.display.MovieClip;
	import flash.display.BitmapData;
	import flash.geom.Matrix;
	import flash.geom.Point;
	import flash.events.Event;
 
	public class Class1 extends MovieClip {
 
		public var bitmap: BitmapData;
 
		public function Class1() {
			bitmap = new BitmapData(this.width, this.height, true);
			bitmap.draw(this, new Matrix(1, 0, 0, 1, this.x, this.y));
		}
 
	}
 
}
В главном классе я проверяю пересечение этих мувиклипов
Код AS3:
package  {
 
	import flash.display.MovieClip;
	import flash.geom.Point;
	import flash.geom.Matrix;
	import flash.display.BitmapData;
	import flash.events.Event;
 
 
	public class Main extends MovieClip {
 
		public var a: Class1 = new Class1();
		public var b: Class2 = new Class2();
 
		public function Main() {
			a.x = 100;
			a.y = 100;
			addChild(a);
			b.x = 400;
			b.y = 100;
			addChild(b);			
			if(a.bitmap.hitTest(new Point(), 255, b.bitmap, new Point(), 255))
			{
				trace("Пересекаются");
			}
			else 
			{
				trace("Не пересекаются");
			}
 
		}
 
	}
 
}
Но почему то всегда получается что они пересекаются даже если находятся на большом расстоянии друг от друга
в чём тут ошибка ?

Добавлено через 14 часов 20 минут
вот урок по которому я делаю http://coolisee.com/2010/04/27/opred...avilnoj-formy/

Добавлено через 17 часов 36 минут
всё исправил, всё работает. Но возник ещё вопрос BitmapData очень много оперативы жрёт
например если задать такую облать
Код AS3:
bitmap = new BitmapData(2000, 2000, true);
можно как нито решить эту проблему ? кто знает отпишитесь


Последний раз редактировалось ЗлОй ПрОграММер; 20.03.2011 в 13:05.
Создать новую тему Ответ Часовой пояс GMT +4, время: 23:25.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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