PDA

Volledige versie bekijken : Movieclip doet raar


yourivdsteen
%Europe/Berlin %799 %2009, 19:11
Ik probeer sneeuw te laten vallen,
eerst werkt alles goed maar na een tijdje begint alles te haperen...
Ik weet echt niet wat het probleem is. :S

Alvast bedankt.

Heliosjiee
%Europe/Berlin %833 %2009, 20:00
Ik heb niet naar de code gekeken, maar als ik het zo hoor lijkt me het meest voor de hand liggende probleem dat vlokken die uit het scherm zijn niet worden verwijderd. Hierdoor komt het geheugen vol te staan met vlokken waardoor ie er na een tijdje geen zin meer in heeft.

Dit kun je oplossen door vlokken die een y-waarde hoger als de hoogte van de stage hebben te verwijderen. Dit kan het vlok-object (of movieclip, of watdanook) zelf doen met een enterframe event listener:

in de vlok:


this.addEventListener(Event.ENTER_FRAME, onFrame);

function onFrame(e:Event):void {
if(this.y > stage.stageHeight) {
this.removeEventListener(Event.ENTER_FRAME, onFrame);
this.parent.removeChild(this);
}
}


Natuurlijk kun je ook een timer gebruiken om minder van je cpu te vereisen, maar dit zal werken.

tralala
%Europe/Berlin %856 %2009, 20:33
Je code lijkt ook heel erg raar. En links openen in een EnterFrame Eventhandler is ook niet zo'n schitterend idee. Ik denk dat je hier best een keuze maakt: ofwel genereer je je sneeuwvlokken volledig met actionscript, ofwel met motion tweening gaan werken.

Met scripting is het het gemakkelijkste als je 1 sneeuwvlok tekent met daaraan een klasse gekoppeld. In de constructor ervan plaats je een enterframe event. In de eventhandler van dat event verplaats je de sneeuwvlok (random) naar beneden (this.y+=verplaatsing;). Wanneer hij dan buiten het scherm is, moet je de eventlistener natuurlijk verwijderen (zie heliosjiee's post). Best daar ook het object zelf verwijderen met this.parent.removeChild(this).
Dan in je document class (of op je main timeline) met behulp van een timer sneeuwvlokjes genereren!

Ik weet uiteraard niet hoever je staat, misschien is motion tweening wel een snellere leercurve?