Har ændret lidt i din kode, så den bruger events & Delegates i stedet for det dersens kode direkte på movieclippet. ditClip_mc er det movieclip, der skal fløjte rundt.
Funktionaliteten for hittestesten kan du passende lægge ind i mouseOnMove-funktionen, men den har jeg altså ikke lavet. Koden er oven i købet testet (lidt løst i det). Det er for resten AS 2.0, så jeg håber, du kan bruge det.
----- stop();
import mx.utils.Delegate;
var thisRoot:MovieClip = this;
var mouseListener:Object = new Object(); Mouse.addListener(mouseListener);
Hvad er det for resten for en ramme, musen ikke må gå ud over. Er det Stage eller er det et movieclip af en eller anden art? Hvis jeg nu tilfældigvis skulle få lyst til at lave hittesten (Ja, vi har ikke så meget at lave i firmaet i dag her op til julen :-)
havde faktisk lavet den til stage allerede, men skulle jo lige høre. Det er ret simpelt :D
En lille ændring til mouseOnMove & en ny funktion følger. Hvis du vil have "noget andet" til at ske, når musen når kanten, kan du passende indsætte det der, hvor jeg har kommenteret:
function mouseOnMove():Void { if(hitTest(this)) { ditClip_mc._x += (this._xmouse-ditClip_mc._x)/5; ditClip_mc._y += (this._ymouse-ditClip_mc._y)/5; } // else { et eller andet } }
Du er nok nødt til at involvere noget getBounds(), hvis du skal kontrollere det fuldstændig. getBounds er en smule kompliceret, men den laver et objekt med en masse oplysninger, du kan bruge til at stoppe bevægelsen. Slå det evt. op i referencen i Flash.
jeg har desværre ikke mere tid til at hjælpe nu, men held & lykke med det.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.