PDA

Volledige versie bekijken : Hoe laat ik een MC de muis volgen?


loepie92
%Europe/Berlin %574 %2006, 13:46
Hoi,

ik heb een vraagje over hoe je een mc de muis kan laten volgen, maar dat hij wel dezelfde y waarde houd. Dus dat hij alleen naar links of rechts beweegt niet omhoog en omlaag..
Kan iemand me helpen? Alvast bedankt :)

Finesky
%Europe/Berlin %597 %2006, 14:19
var iMuis = setInterval(muis, 1);
function muis() {
jouVolger._x = _xmouse;
}


En dit is eigenlijk voor het AS gedeelte he;).

loepie92
%Europe/Berlin %609 %2006, 14:36
Dankjewel, alleen hij doet het niet bij mij, ik heb jouVolger verandert in de instance name en hij geeft geen foutmeldingen. Maar de MC blijft gewoon staan...

theFlashWizard
%Europe/Berlin %688 %2006, 16:32
ik zou het zo doen:
jouVolger.onMouseMove = function(){
this._x = _xmouse;
this._y = _ymouse;
updateAfterEvent();
}

Dauntless
%Europe/Berlin %692 %2006, 16:37
Dit hoort niet thuis in Algemene Vragen! *Verplaatst*

Emveedee
%Europe/Berlin %747 %2006, 17:56
ik zou het zo doen:
jouVolger.onMouseMove = function(){
this._x = _xmouse;
this._y = _ymouse;
updateAfterEvent();
}


Als je nou eens zn post had gelezen dan zag je dat ie alleen de _x wil veranderen.


jouwVoler.onMouseMove = function(){
this._x = _xmouse;
updateAfterEvent();
}

Jordy
%Europe/Berlin %750 %2006, 18:00
Kijk in mijn signature evt. kleine aanpassing en je hebt wat je wilt ;)

edit:
Als je nou eens zn post had gelezen dan zag je dat ie alleen de _x wil veranderen.


ietsje minder fel mag ook wel ;)

Emveedee
%Europe/Berlin %764 %2006, 18:20
Was niet aanvallend bedoeld ;)

Jordy
%Europe/Berlin %775 %2006, 18:36
Was niet aanvallend bedoeld ;)
hehe :)

loepie92
%Europe/Berlin %863 %2006, 20:43
Oke bedankt Flash Wizard, ook al heb je me vraag niet helemaal goed gelezen ;).

Erwinzzz
%Europe/Berlin %615 %2006, 14:46
Volgens mij kan het simpeler...


onClipEvent(enterFrame){
this._x = _root._xmouse;
}


En dan kan je er eventueel nog een effectje aangeven dat hij wat minder schokkig maar soepeler verloopt:


onClipEvent(enterFrame){
this._x += (_root._xmouse-this._x)/3;
}

Roenes
%Europe/Berlin %617 %2006, 14:48
Dat kan wel erwin, maar een onMouseMove is de beste keuze aangezien die alleen wordt uitgevoerd als je de muis beweegt en dat is precies wat je wil bereiken. Een onEnterFrame loopt constant en dus ook als de muis niets doet. Dat is onnodig cpu verbruik :)

Erwinzzz
%Europe/Berlin %619 %2006, 14:52
Dat kan wel erwin, maar een onMouseMove is de beste keuze aangezien die alleen wordt uitgevoerd als je de muis beweegt en dat is precies wat je wil bereiken. Een onEnterFrame loopt constant en dus ook als de muis niets doet. Dat is onnodig cpu verbruik :)

ok agree, maar in dit geval zal het verschil wel te verwaarlozen zijn.. pas als je er meer mee gaat doen zal je het pas beginnen te merken denk ik..

Dauntless
%Europe/Berlin %625 %2006, 15:00
Ook gebruik je dan beter de onEnterFrame methode (die zet je op een frame). En waarom is onEnterFrame = function beter dan onClipEvent(enterFrame) ?
You must avoid attaching ActionScript code to objects (such as button or movie clip instances) in a FLA file, even in simple or prototype applications. Attaching code to an object means that you select a movie clip, component, or button instance, open the ActionScript editor (the Actions panel or Script window), and add ActionScript code by using the on() or onClipEvent() handler functions.

This practice is strongly discouraged for the following reasons:

* ActionScript code that is attached to objects is difficult to locate, and the FLA files are difficult to edit.
* ActionScript code that is attached to objects is difficult to debug.
* ActionScript code that is written on a timeline or in classes is more elegant and easier to build upon.
* ActionScript code that is attached to objects encourages poor coding style.
* ActionScript code that is attached to objects forces students and readers to learn additional syntax as well as different coding styles that are often poor and limited.
* Users typically have to relearn how to write functions and so on, on a timeline at a later date.

Bron ([url="http://www.macromedia.com/devnet/flash/articles/as_bestpractices_04.html)

Roenes
%Europe/Berlin %652 %2006, 15:38
ok agree, maar in dit geval zal het verschil wel te verwaarlozen zijn.. pas als je er meer mee gaat doen zal je het pas beginnen te merken denk ik..Klopt, voor dit is het verschil te verwaarlozen. Maar je kan er beter al vroeg rekening mee houden dan dat je later eventueel de boel moet aanpassen :)