Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Как проигнорировать пустую область мувика? (http://www.flasher.ru/forum/showthread.php?t=116384)

xAnToNYx 29.09.2008 02:58

Как проигнорировать пустую область мувика?
 
Делаю hitTest двух мувиков...
Допустим оба они предсталяют собой закрашенные овалы.
Однако во флеш областью мувика (при которой фиксируется hitTest) являются не сами овалы, а прямоугольник, описывающий содержимое данного мувика.

Есть ли какой-то способ проигнорировать пустой фон мувиков, чтоб hitTest фиксировался при прикосновении непосредственно самих овалов? :o

DarkLight 29.09.2008 03:21

Варианты решения:
1) отрисовывать мувики в битмапы и использовать BitmapData.hitTest
2) если мувики - геометрические формы, математически описать столкновение в зависимости от положения и угла поворота, и проверять эти условия

xAnToNYx 29.09.2008 03:51

А можно первый пункт поподробнее?
С БитмапДатой я не знаком.
Как отрисовать мувики в битмапы?

На самом деле мои мувики представляют из себя следующее:
1-ый - Линия, соединяющая определенную точку на экране с курсором (изначально линия является единичным квадратом, но его длинна и угол поворота динамически меняются програмой).
2-ой - просто мувик содержащий какую-либо фигуру.

Когда пользователь передвигает крусор и линия пересекает эту фигуру, должно происходить какое-либо действие...

xAnToNYx 29.09.2008 16:34

Что, никто не может помочь?(

iNils 29.09.2008 16:50

Пользователь xAnToNYx получает устное предупреждение за "пустое" сообщение.

artics 03.11.2008 00:12

там есть функция hittest для битмапа, я щя тод думаю над етой проблемой.......... есть коекакие идеи, но пока................

АндрейЛ 04.11.2008 14:29

А можно заставить комп сделать мноооооого точек в линии и каждую проверять на hitTest с фигурой. Но в этом случае могут появиться тормоза.
Примерно так:
Код:

n=25 // кол-во точек
//x0,y0 - начало линии
//x1,y1 - конец линии (можно заменить _xmouse, _ymouse)
//obj - фигура на сцене
_root.onEnterFrame=function(){
 for(i=0;i<n;i++){
  x=(x1-x0)/25*i
  y=(y1-y0)/25*i
  if(obj.hitTest(x,y,true)){
  //линия дотрагивается
  }
 }
}


flazher 16.11.2008 16:18

http://flasher.ru/forum/attachment.p...8&d=1163182585


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

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