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

xcho_ 27.04.2006 21:55

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

Код:

for (i=1;i<=100;i++){
_root[i].onRollOver = roll;
}

roll = function():Void{trace(this._name);}

где твои мувики будут иметь инстантимена 1,2,3,4 и т.д. до 100 )))

iNils 27.04.2006 22:04

Данную задачу надо более детально описать.
Если нужно озватить часть объектов (и каких?) то это одно, а если все-все, то можно так:
Код:

MovieClip.prototype.onRollOver = function () {
        trace (this);
};

или так :)
Код:

MovieClip.prototype.onMouseMove = function () {
        if (this.hitTest (_root._xmouse, _root._ymouse) and this != _root) {
                trace (this);
        }
};


digid 27.04.2006 22:19

Вот мне подсказали код.
_root.onMouseMove = function() {
for(var i in this){
if(typeof(this[i])=="movieclip")
if(this[i].hitTest(this._xmouse,this._ymouse,true))
trace("mouse over "+this[i]);
}
}
Дело в том что он объекты читает и выдает имя. Но неполучается обратиться к подгружаемым объектам из swf файла.
а мне нужно обратиться именно к ним.
Подскажите что делать. Зарание спасибо.

iNils 27.04.2006 22:24

К подгружаемым? Это с помощью loadMovie?

digid 27.04.2006 22:36

Это вот так.

mcLoader.addListener(l);
_root.createEmptyMovieClip("region", 2);
var mc1 = _root["region"];
mcLoader.loadClip("map/region.swf", mc1);

var mcLoader = new MovieClipLoader();
var l = {};
l.onLoadInit = function(mc1) {;}

Дело в том, что он видет только общий клип region

iNils 27.04.2006 22:40

Тэгами code кто пользоваться будет?

Ну так. Код что тебе дали обходит только рутовые клипы.
Смени в
Код:

_root.onMouseMove = function() {
_root на то что нужно.

Ноябрь 29.04.2006 02:30

Цитата:

Сообщение от Kyber Anton
Я просто сторонник писАть весь код в одном кадре, а тут он по всей сцене разбежится.

вот знаете.. это будет лично мое имхо, и может оно связано с тем, что у меня мало опыта, но помоему в кадре нужно писать код, только тогда, когда иного выхода нет.. в мувике есть (к примеру) замечательная on(enterFrame), т.е все что я напишу в скобках произойдет молниеносно, а на кадре не так, на кадре все постепенно.
например создать мувик и перемещать в одном кадре нельзя, т.к он будет все время создаваться, значит в одном создаем, а в другом двигаем, и поехало все через рефреш..
но, опять же, может у меня просто мало опыта..

Jokey 29.04.2006 14:49

А мне нравится такой способ:
Код:

startDrag (_root.pointer,true);
pointer.onEnterFrame=function () {
  name=this._droptarget;
}

И нигде не надо больше ничё писать, а мувикам можно и имен не давать, но только нельзя будет drag использовать (хотя можно извернуться):D


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

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