Volledige versie bekijken : scope probleem?
Laiverd
%Europe/Berlin %798 %2005, 19:09
In een class heb ik de volgende private functies
private function followMouse (clip)
{
__timer.follow = setInterval (moveTip, 10, clip );
}
private function moveTip (clip, x, y)
{
var x = _xmouse - (_baseDistance + _pointerWidth)
var y = _ymouse - (_pointerHeight + __textHeight)
clip._x = x;
clip._y = y;
updateAfterEvent ();
}
Probleem is dat de instance properties _baseDistance, _pointerWidth, _pointerHeight en __textHeight undefined zijn binnen moveTip(). Als ik ze trace binnen followMouse() hebben ze echter gewoon een waarde. Vraag is, hoe vind ik de waarden van die properties terug in de scope van moveTip().
Het liefst zonder Delegate ;)
Tnx.
John
Dauntless
%Europe/Berlin %805 %2005, 19:20
Je moet setInterval anders gebruiken:
setInterval(this, "moveTip");
Alleen nog even opzoeken hoe je dan daar parameters aan meegeeft ('t kan zijn dat dat hetzelfde is, maar 't kan ook zijn dat dat niet gaat... )
//EDIT
En waarom zonder Delegate? :D
//EDIT 2
setInterval(this, "moveTip", 10, clip);
Laiverd
%Europe/Berlin %807 %2005, 19:22
Dat was het volgens mij (moet het nog even uitvogelen hoor ;) ) . Waarom niet de Delegate: simpel: ik ben lui en ga me nu niet meer verdiepen in dingen die in AS3.0 overbodig zijn ;)
Tnx Dauntless.
John
EDIT: even gecheckt en het werkt perfect. Had het al eens eerder gezien, maar gewoon helemaal vergeten. Nogmaals dank. Hieronder voor de volledigheid nog even het hele verhaal
private function followMouse (clip)
{
__timer.follow = setInterval (this, "moveTip", 10, clip );
}
private function moveTip (clip, x, y)
{
var x = _xmouse - (_baseDistance + _pointerWidth)
var y = _ymouse - (_pointerHeight + __textHeight)
clip._x = x;
clip._y = y;
updateAfterEvent ();
}
Dauntless
%Europe/Berlin %808 %2005, 19:23
Ben er zeker van dat dat het antwoord is hoor :).
Is het niet meer nodig in AS 3.0 dan? Waarom niet? :# (artikel ?)...
Laiverd
%Europe/Berlin %810 %2005, 19:27
http://labs.macromedia.com/wiki/index.php/ActionScript_3:overview#Delegation
John
Roenes
%Europe/Berlin %812 %2005, 19:30
Is het niet meer nodig in AS 3.0 dan? Waarom niet? :# (artikel ?)...Die bestaat in AS3 niet eens meer. Ik was em al aan het zoeken, maar Narie vertelde mij dat die niet meer bestond. Waarom dit ook alweer is, weet ik niet precies. Maar volgens mij heeft het ermee te maken dat bijna alles op de EventDispatcher is gebaseerd en bijna alle classes event based werken. Dus gewoon door met die events te werken, blijf je binnen dezelfde class en heb je dat scope probleem niet meer..
Zoiets was het volgens mij :)
//Edit
Damn, laiverd is me voor ;)
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.