PDA

Volledige versie bekijken : Tween met AS controleren


Bzil
%Europe/Berlin %845 %2005, 20:16
Heb een mc die ik laat bewegen met AS met een ease

Nu wil ik een mc attachen op het moment dat de tween gedaan is.
Oftewel; kan ik controleren of die tween afgelopen is?

Op mc:
onClipEvent (load) {
this._x = 400;
xPos = 375;
this._y = 0;
yPos = 254;
}
onClipEvent (enterFrame) {
xMove = (xPos-_x)/2;
_x += xMove;
yMove = (yPos-_y)/3;
_y += yMove;
}

Nu heb ik het volgende onder een button (lege mc waar jpg ingeladen zit) die de beweging in gang zet:

this.onRelease = function(){
_root.mc_menu.xPos = 10;
if(_root.mc_menu.xPos eq 10) {
_root.placeHolder.attachMovie("mc_infoHl", "test", 1);
}
}

Zo is de xPos al meteen na drukken gelijk aan 10 terwijl de mc door de ease nog aan het bewegen is..
Weet iemand hoe ik kan controleren of ie ook echt 10 is?

theFlashWizard
%Europe/Berlin %858 %2005, 20:35
kijk eens naar het voorbeeld, hier check ik het om dan de onEnterFrame te verwijderen zodat die niet onnodig door gaat...

en ik heb et script op het frame.. das beter voor overzichtelijkheid en het terug vinden van je scripts

Vinc
%Europe/Berlin %863 %2005, 20:42
Je kan misschien proberen met tween(); te werken, zoek maar eens in dit forum naar de Ease en Scaling tutorials. Daarop zit een callback functie, om iets te laten doen zodra die klaar is.

Bzil
%Europe/Berlin %864 %2005, 20:44
Thanx! ga er zo naar kijken..

Bzil
%Europe/Berlin %873 %2005, 20:57
@theFlashWizard:
Ik gebruik nu jouw script, maar het gekke is dat ie niet op hele pixels lijkt te stoppen..
Als ik ease = 2 doe wel (pixelfont in mijn mc is scherp). Maar als ik bv ease = 5 doe is het font blurry als ie gestopt is..?

Het zit m volgens mij in het tweede stukje script:

function calcVer(a,b,m){
if(!m) m = 1
return Math.round((a-b)/m)*m
}

Flasher
%Europe/Berlin %879 %2005, 21:06
je moet aan het einde van de ease de _x instellen:

if(calcVer(this._x,end) == 0){
this._x = end;
delete this.onEnterFrame
}

Bzil
%Europe/Berlin %886 %2005, 21:16
Dat had ik ook gedaan:

end = 10
ease = 3
mc_menu.onEnterFrame = function(){
this._x += (end-this._x)/ease
if(calcVer(this._x,end) == 0){
delete this.onEnterFrame
_root.placeHolder.attachMovie("mc_infoHl", "test", 1);
}
}
function calcVer(a,b,m){
if(!m) m = 1
return Math.round((a-b)/m)*m
}

Flasher
%Europe/Berlin %892 %2005, 21:25
het gaat om de regel this._x = end; die zie ik bij jou niet staan

Bzil
%Europe/Berlin %896 %2005, 21:30
Oooh ké overheen gelezen... Het werkt nu, thanx!