PDA

Просмотр полной версии : Как изменить курсор при ...


FreeRider
02.02.2004, 04:41
Итак, вот в чём проблемка...
Я хочу, чтобы при наведении на кнопку (adress) "родной" курсор мыши исчезал и появлялся клип (cursor), а при убирании возвращался старый...
Я понимаю, что для cursor мона написать
onClipEvent (load) {
Mouse.hide();
this.startDrag(true);
}
но не знаю как привязать к adress... (hitTest?) А может лучше написать сценарий для adress? :confused:

Штрек
02.02.2004, 05:55
Кнопку в мувик, а для него написать:
MovieClip.prototype.kursor = function() {
this.onRollOver = function() {
Mouse.hide();
_root.attachMovie("cursor", "cursor", 99);
_root.cursor._x = _root._xmouse;
_root.cursor._y = _root._ymouse;
this.onEnterFrame = function() {
_root.cursor._x = _root._xmouse;
_root.cursor._y = _root._ymouse;
};
};
this.onRollOut = function() {
Mouse.show();
_root.cursor.removeMovieClip();
delete this.onEnterFrame;
};
};
mc.kursor();//mc - мувик с кнопкой
//cursor - Identifier для мувика/курсор/, при Linkage/библиотека/

Штрек
02.02.2004, 06:03
Глянь....

FreeRider
02.02.2004, 16:18
Yeah! Спасибо блин большое! Теперь всё круто.... во всяком случае пока ...круто

Gas
23.06.2004, 20:08
а вот еще вопрос, а как изменить курсор над текстовым полем imput?

Елё
23.06.2004, 20:58
Те типа искал? ;-)

Ну а что тебе мешает поместить текстовое поле в мувик и сделать как описано выше?

Gas
23.06.2004, 20:59
а ты то сам порбывал так сделать?

Gas
23.06.2004, 21:06
:mad: мол. чел, и них*** не работает-с!!!!!!!!

Елё
23.06.2004, 21:11
Ну естественно не пробовал ;-)
Это же тебе надо

Вот если ты скажешь, что ты попробовал и у тебя не получилось, вопрос станет интересным, и я с ним поковыряюсь

Gas
23.06.2004, 21:16
:) попробывал - не работает!!!!!!!!

Елё
23.06.2004, 22:10
Да уж... Извращаемся в полный рост

Держи:

var obj = new Object();
obj.th = this;
obj.onMouseDown = function()
{
delete this.th.onPress;
}
obj.onMouseUp = function()
{
this.th.onPress = function() {};

}
obj.onMouseMove = function()
{

if(this.th.hitTest(_root._xmouse, _root._ymouse, false))
{
Mouse.hide();
_root.cursor._visible = true;
}
else
{
Mouse.show();
_root.cursor._visible = false;
}
_root.cursor._x = _root._xmouse;
_root.cursor._y = _root._ymouse;

}

Mouse.addListener(obj);
this.onPress = function() {};
_root.attachMovie("cursor", "cursor", 99);

sergwizard
24.06.2004, 00:03
Вах, как красиво!
Конечно такое:
this.onMouseMove = function(){
if(mc.hitTest(_xmouse,_ymouse)){
Mouse.hide();
this.attachMovie("cursor","cursor",99);
cursor._x = _xmouse;
cursor._y = _ymouse;
}else{
Mouse.show();
cursor.removeMovieClip();
}
}
тоже работает, но не так корректно и красиво, как код Елё. Классно!

silin
24.06.2004, 00:36
позвольте тоже поучаствовать
как обойтись без мувика:
Mouse.addListener(tf);//tf - текстовое поле
tf.onMouseMove=function(){
with(this){
if(_xmouse>0 && _ymouse>0 && _xmouse<_width && _ymouse<_height)
_parent.attachMovie("cursor","cursor",99,{_x:_parent._xmouse,_y:_parent._ymouse});
else _parent.cursor.removeMovieClip();
}
}

sergwizard
24.06.2004, 02:34
Да…, но в этом варианте присутствует тот же недостаток, что и в моем.

Gas
24.06.2004, 11:43
хм.... я вижу задал загадку....

вообщем то так - то ли лыжи не едут, толи я что то делаю не так...

короче над текстовым полем вида input курсор таки показываеться не тот что надо ... точнее тот что не надо!!!

если можно, для слабонервных, выложите хотя бы один работающий исходник!


примного благодарен заранее!!!

Gas
24.06.2004, 11:51
и еще, во избежании лишних вопросв, у меня мышка заменяеться файлом mouse котоый лежит на руте. заменяться он самым простым образом:
onClipEvent (mouseMove) {
_x=_root._xmouse;
_y=_root._ymouse;
updateAfterEvent();

Mouse.hide();
}

а когда мышка появляеться на область текстового поля она должна делать следующее:
_root.mouse.gotoAndStop("text")

сделано это, потому что у меня меняеться курсор при наведении на кнопку, при наведении на мыло ... и вот надо что бы менялся при наведениии на текстовое поле

sergwizard
24.06.2004, 15:40
Примерно так.

Gas
24.06.2004, 16:45
ну в принципе приблизительно то что надо , вот только меняеться над всем муви клипом где лежат инпутовые поля ..

Gas
24.06.2004, 16:52
но тут возникает вторая проблема : на всем остальном фильме перестает рабоать след код:

but.onRollOver = function () {
_root.mouse.gotoAndStop(1);
}

че делать?

Елё
24.06.2004, 17:15
Вставить каждый текст фиелд в пустой мувик или переопределять onPress только тогда когда курсор находится над тектовым полем

sergwizard
24.06.2004, 17:18
А кто тебе мешает сделать так?

silin
24.06.2004, 19:43
вариант

Елё
24.06.2004, 19:49
2 Silin
У меня в твоем варианте остается текстовый курсор
Я по этому и делал переоперделение onPress от которого перестает работать onRollOver над кнопками

silin
24.06.2004, 21:05
угу, назовем мой вариант 'дешевым'

sergwizard
24.06.2004, 21:50
Мне нравиться реакция Gas(a): только вопросы, и никакой похвалы или благодарности. :p

Елё
24.06.2004, 21:55
Для того чтобы узнавать, есть два способа: - задавать вопросы и пытаться самому на них ответить. Второй способ более продуктивный.
(S.Wizard)

Так что не за ради похвалы ;)

sergwizard
24.06.2004, 22:25
Мне не похвала, и не благодарность нужны, тем более, что в данном случае этого больше достоин ты. :) Мне нужна реакция, ответ на то, решена ли задача, поставленная спрашивающим? Или надо что-то другое?

Штрек
25.06.2004, 02:52
Оригинал написал(а) sergwizard
Мне не похвала, и не благодарность нужны, тем более, что в данном случае этого больше достоин ты. :) Мне нужна реакция, ответ на то, решена ли задача, поставленная спрашивающим? Или надо что-то другое?
Чему ты удивляешься?
В первый раз что ли?
Сколько тут выложено исходников без ответа и привета. ;)

sergwizard
25.06.2004, 04:17
Да нет, не в первый раз с таким сталкиваюсь. Но каждый раз удивляюсь на таких людей. :o
А ты что здесь делаешь? Иди во Флейм. Там народ уже стол для тебя накрыл. :)

Gas
25.06.2004, 13:16
товарисчи. сорри за долго молчаение, вы реально решилми мою проблму, за что вам большое человечесоке спасиибо!!!!!!!!!!!!!!!!!!!!!!!!! :D :D :D

elrogir
17.10.2007, 18:31
Штрек, спасибо огромное, очень помог твой код.:victory:

etc
17.10.2007, 23:57
Да уж, код трехлетней давности (как и тема, собственно).