Форум 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=109816)

Romz78 21.03.2008 11:55

хит тест на курсор
 
Код:

onClipEvent (mouseDown) {

if (this.hitTest( /:_xmouse, /:_ymouse, 1 )) {
trace("Ok");
}
}

Что я делаю нетак?.

и еще не дадите линк на материал по классам, хочу погрызть этот гранит.
желательно на русском.

divinus 21.03.2008 12:22

попробуй вот этот пример, на сцене должен лежать клип с instance именем "box".
Код:

box.onMouseMove  = function(){
        if(this.hitTest(_root._xmouse, _root._ymouse)){
                trace("навели на квадрат");
        }else{
                trace("вне квадрата");
        }
}

на второй вопрос сказать могу лишь, вы, как ни крути, уже работаете с классами ;) опишите конкретно что бы вы хотели узнать?

Romz78 21.03.2008 12:45

все хочу узнать как чего и с чем едят!

За скрипт спасибо.
а нельзя чтобы учитывалась форма объекта?

iNils 21.03.2008 12:55

Romz78, надо использовать кнопку http://www.flasher.ru/forum/images/r...ttons/edit.gif, а не создавать несколько сообщений подряд.

divinus 21.03.2008 14:13

Romz78, можно, но это уже свой класс писать надо... )
hitTest, округляет форму вашего объекта до прямоугольника. Можно попробовать делать вот так:
Код:

box.onMouseMove  = function(){
        if(this.hitTest(_root._xmouse, _root._ymouse, true)){
                trace("навели на квадрат");
        }else{
                trace("вне квадрата");
        }
}


iNils 21.03.2008 14:26

Форму объекта учитывает hitTest класса BitmapData.
Для этого нужно взять мувиклип и перевести его в битмап с помощью метода draw.

divinus 21.03.2008 14:33

iNils, ну, думается мне проводить операции с битмапдата только для того чтобы определить нажатие это слишком... )

iNils 21.03.2008 14:51

Я вопрос код не внимательно посмотрел, думал, что речь идет об хиттесте двух объектов.

divinus 21.03.2008 15:12

iNils, а кстати за ответ спасибо ;) как то раньше не задумывался над hitTest у битмапдата... )


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

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