PDA

Volledige versie bekijken : custom cursor


jeroenvink
%Europe/Berlin %641 %2007, 15:23
Ik wil een custom mouse cursor, bijvoorbeeld een handje. Deze moet elke keer als er met de standaard cursor een handje verschijnt, aangeroepen worden. eigenlijk moet dus het standaard handje veranderen in mijn eigen.

het volgende script heb ik nu op mijn cursor:

onClipEvent (load) {
Mouse.hide();
startDrag(this, true);
}
onClipEvent(mouseMove){
updateAfterEvent();
}


hiermee veranderd mijn cursor in een handje, maar ook als het normaal een pijltje is.

Hoop dat mijn wens een beetje duidelijk is en dat iemand kan helpen:)


Gr.

Jeroen

robert pasta
%Europe/Berlin %661 %2007, 15:52
Volgens het boekje zou
Mouse.hide();
moeten werken.
Alleen staat daar (in dat boekje) de as op een aparte laag.

Wacht ik tik het even over:
Mouse.hide();
handje_mc.onEnterFrame = funcion(){
handje_mc._x = _xmouse;
handje_mc._y = _ymouse;
}

Dit dus op een aparte actions laag in het eerste frame zetten.
en handje_mc is dus een movieclip van je handje.

nou, ik hoop dat het werkt
(ik beschouw mezelf ook maar als een beginner ha ha)

jeroenvink
%Europe/Berlin %664 %2007, 15:56
Die staat er al in ;).

Het probleem is, dat ik niet altijd wanneer ik over een button ga de cursor wil aanroepen, maar dat deze automatisch aangeroepen word.

Doc
%Europe/Berlin %668 %2007, 16:03
Je wilt dus de cursor die je ziet als je over een knop heen gaat (dat is een handje) veranderen?
Dan moet je dat ook op de knop aangeven.

Plaats het plaatje wat je wilt gebruiken als cursor ergens op je stage en geef die als instance naam bijvoorbeeld mijnCursor. Daarbij heb je een knop bijvoorbeeld eeemm.. knop heet:

mijnCursor._visible = false;

knop.onRollOver = function()
{
Mouse.hide();
mijnCursor._visible = true;
startDrag(mijnCursor, true);
}

knop.onRollOut = function()
{
Mouse.show();
mijnCursor._visible = false;
stopDrag();
}

<edit>
ik zie nu jullie posts, kijk maar ff of je hier dan nog wat aan hebt ;)
</edit>

jeroenvink
%Europe/Berlin %695 %2007, 16:41
tot zover lukt het allemaal prima, ik wil iets als:

onEnterFrame = function():Void {
if (standaardcursor == "handje"){
Mouse.hide();
mijnCursor._visible = true;
startDrag(mijnCursor, true);
} else {
standaardcursor == standaardcursor;
}
}


zoiets:). was het maar zo makkelijk:P

Jan
%Europe/Berlin %092 %2007, 02:13
Het probleem is, dat ik niet altijd wanneer ik over een button ga de cursor wil aanroepen, maar dat deze automatisch aangeroepen word.
Je zou een aantal van de standaard events van de button class kunnen overriden.
Om te beginnen zou je het handje standaard kunnen wegnemen voor alle buttons:
Button.prototype.useHandCursor=false;
//Vanaf nu is het handje uitgeschakeld voor elke button die je maakt/hebt
En verder zou je iets gelijkaardigs kunnen doen met de onRollOver Event (evenals wat gerelateerde events):
Het script werkt, maar niet perfect en is misschien ook niet helemaal zoals het hoort.
Maar het brengt je misschien op ideeën of misschien kan iemand met wat meer kennis ter zake er iets fatsoenlijks van maken.
Button.prototype.onRollOver=function()
{
customCursor(true);
}
Button.prototype.onRollOut=Button.prototype.onRele aseOutside=Button.prototype.onDragOut=function()
{
customCursor(false);
}
//customCursor_mc is de instance name van de movieClip die je als custom cursor gebruikt
customCursor_mc._visible=false;
function customCursor(aan:Boolean)
{
if(aan)
{
Mouse.hide();
customCursor_mc._x=_xmouse;
customCursor_mc._y=_ymouse;
customCursor_mc._visible=true;
customCursor_mc.onMouseMove=function()
{
this._x=_xmouse;
this._y=_ymouse;
}
}
else
{
Mouse.show();
customCursor_mc._visible=false;
}

}

Groeten,
Jan

jeroenvink
%Europe/Berlin %391 %2007, 09:23
Super! dit brengt me een heel erg stuk verder, met dit script kan ik zeker wel aan de slag.

Dankje:)

Jeroen