Zanha
14.02.2007, 18:23
Я пробую сделать курсор, который, во-первых, при наведении на объект, меняет свой вид и во-вторых, сам объект выделяется. Всё, почти работает, но при медленном наведении на один объект,иногда подсвечиваются сразу два.
А мне хочется 100% адекватный курсор.
Полагаю, что в данном случае проще просмотреть
исходник. (http://http://www.flasher.ru/forum/attachment.php?attachmentid=16522&stc=1&d=1171462573)(10,7 Кб)
Для тех, кто предпочитает смотреть код:
strela.onEnterFrame = function() {
this._x = _xmouse;
this._y = _ymouse;
};
K.onEnterFrame = function() {
i = 1;
while (i == 1) {
i = 2;
if (strela.gran1.hitTest(Obekt1) || strela.gran2.hitTest(Obekt1) || strela.gran3.hitTest(Obekt1) || strela.gran4.hitTest(Obekt1)) {
strela.gotoAndStop(2);
// Меняет внешность курсора
Obekt1.vdlLamp.gotoAndPlay(2);
//Меняет внешность объекта
onMouseDown = function () {
Obekt1.play();
//При клике объект реагирует
};
break;
}
//Далее аналогичный алгоритм для 2-х остальных объектов
if (strela.gran1.hitTest(Obekt2) || strela.gran2.hitTest(Obekt2) || strela.gran3.hitTest(muzik) || strela.gran4.hitTest(Obekt2)) {
strela.gotoAndStop(2);
Obekt2.vdMaf.gotoAndStop(2);
onMouseDown = function () {
Obekt2.play();
};
break;
}
if (strela.gran1.hitTest(Obekt3) || strela.gran2.hitTest(Obekt3) || strela.gran3.hitTest(Obekt3) || strela.gran4.hitTest(Obekt3)) {
strela.gotoAndStop(2);
Obekt3.vdlKoshka.gotoAndStop(2);
onMouseDown = function () {
Obekt3.play();
};
break;
}
// Если курсор ничего не касается, то-
onMouseDown = function () {
};
Obekt2.vdMaf.gotoAndStop(1);
strela.gotoAndStop(1);
Obekt1.vdlLamp.gotoAndPlay(1);
Obekt3.vdlKoshka.gotoAndStop(1);
}
};
[iNils: Для оформления своего кода, надо использовать теги ]
А мне хочется 100% адекватный курсор.
Полагаю, что в данном случае проще просмотреть
исходник. (http://http://www.flasher.ru/forum/attachment.php?attachmentid=16522&stc=1&d=1171462573)(10,7 Кб)
Для тех, кто предпочитает смотреть код:
strela.onEnterFrame = function() {
this._x = _xmouse;
this._y = _ymouse;
};
K.onEnterFrame = function() {
i = 1;
while (i == 1) {
i = 2;
if (strela.gran1.hitTest(Obekt1) || strela.gran2.hitTest(Obekt1) || strela.gran3.hitTest(Obekt1) || strela.gran4.hitTest(Obekt1)) {
strela.gotoAndStop(2);
// Меняет внешность курсора
Obekt1.vdlLamp.gotoAndPlay(2);
//Меняет внешность объекта
onMouseDown = function () {
Obekt1.play();
//При клике объект реагирует
};
break;
}
//Далее аналогичный алгоритм для 2-х остальных объектов
if (strela.gran1.hitTest(Obekt2) || strela.gran2.hitTest(Obekt2) || strela.gran3.hitTest(muzik) || strela.gran4.hitTest(Obekt2)) {
strela.gotoAndStop(2);
Obekt2.vdMaf.gotoAndStop(2);
onMouseDown = function () {
Obekt2.play();
};
break;
}
if (strela.gran1.hitTest(Obekt3) || strela.gran2.hitTest(Obekt3) || strela.gran3.hitTest(Obekt3) || strela.gran4.hitTest(Obekt3)) {
strela.gotoAndStop(2);
Obekt3.vdlKoshka.gotoAndStop(2);
onMouseDown = function () {
Obekt3.play();
};
break;
}
// Если курсор ничего не касается, то-
onMouseDown = function () {
};
Obekt2.vdMaf.gotoAndStop(1);
strela.gotoAndStop(1);
Obekt1.vdlLamp.gotoAndPlay(1);
Obekt3.vdlKoshka.gotoAndStop(1);
}
};
[iNils: Для оформления своего кода, надо использовать теги ]