PDA

Volledige versie bekijken : Stop muis volgen


figo84
%Europe/Berlin %126 %2005, 04:01
hey,

Ik heb een probleem met deze menu... URL

http://www.xs4all.nl/~makgul/frank/main.swf

Op de Stage is er een vierkant(goed kijken want et is zwart en de bgcolor ook donker) van 10*10 die beweegt met behulp van dit script :

onClipEvent (enterFrame)
{
_x = _x + (_parent._xmouse - _x) / 30;
_y = _y + (_parent._ymouse - _y) / 30;
}

en zodra het vierkantje de muis heeft bereikt zul je opvallen dat ie opengaat... wat mij niet lukt is dat als het open is dat het NIET meer de muis volgt zodat je de menu rustig kunt gebruiken... en om de open menu heen is er een button die ervoor zorgt dat de menu weer dichtklapt... iemand enige idee ??

thnx voor et lezen

Dauntless
%Europe/Berlin %280 %2005, 07:43
Zet eens heel je AS online (dus ook het AS om het menutje te openen).

Ik zou het zo doen:


var speed:Number = 30;
mc.onEnterFrame = oEF;
function oEF(){
if(!this.hitTest(_parent._xmouse, _parent._ymouse, true))
{
this._x = this._x + (_parent._xmouse -this._x) / speed;
this._y = this._y + (_parent._ymouse - this._y) / speed;

}
}

Oef iets dergelijks.

figo84
%Europe/Berlin %693 %2005, 17:39
Dauntless thnx maar je script doet et niet om de menu te laten bewegen... en de script om de menu te openen is gewoon

on (rollOver) {
this.play();
}

het zit opzich heel simpel in elkaar enige wat me nie tlukt is om hem te stoppen met bewegen zodra ie open is en zodra ie dichtklapt weer verder beweegt

Dauntless
%Europe/Berlin %694 %2005, 17:40
Je kan het ook gewoon in een var bijhouden hé... if(canMove){ //acties om te easen} en bij de rollOver van het vierkantje zet je dan ook bij 'canMove = false' en bij het sluiten van je menu terug canMove = true.

figo84
%Europe/Berlin %698 %2005, 17:46
aan zoiets zat ik ook te denken of een function en die function killen als et open is ??

Dauntless
%Europe/Berlin %701 %2005, 17:50
Het is echt niet mooi om code op buttons te zetten, maar als je dat liever hebt:


onClipEvent(load)
{
this.menuIsOpen = false;
}
onClipEvent (enterFrame)
{
if(!menuIsOpen) {
_x = _x + (_parent._xmouse - _x) / 30;
_y = _y + (_parent._ymouse - _y) / 30;
}
}
onClipEvent(rollOver)
{
this.play();
this.menuIsOpen = true;
}

En bij de rollOver van je omliggende button moet je menuIsOpen op false zetten.