Ik ben bezig met het animeren van een object in js. Dit object heeft verschillende methods, bijvoorbeeld om een sprite door te schuiven, een stapje naar rechts te doen etc. Alle animatie moet gebeuren aan de hand van een timer in het object (er komt ook maar 1 object, maar dat terzijde).
Nu moet het object verschillende acties uit gaan voeren die bestaan uit deel acties, die moeten worden uitgevoerd tot aan een bepaalde voorwaarde is voldaan (ene bepaald aantal clockticks of een bepaalde positie bereikt ofzo). De opzet is globaal als volgt
in die step function moet ie dus de deelfuncties gaan uitvoeren die op dat moment gedaan moeten worden en als ie daar mee klaar is overspringen op andere deel functies.
Nu zit ik me een beetje af te vragen hoe ik dit het beste kan vormgeven, zelf zat ik te denken aan iets wat dus functies in een queue zet (dat moet nog wel lukken) en dan ook een check functie meegeeft ofzo, iets als:
hier voeg ik dus functies toe in een queue, vergezeld van functies die moeten checken of de boel klaar is met de deelactie. Voor verschillende acties heb ik dus verschillende van deze methods.
Is dit een handige aanpak? of is het nodeloos ingewikkeld? misschien dat mensen die hier al eens mee gespeeld hebben (clay, crisp?
) eens een visie over geven?
Nu moet het object verschillende acties uit gaan voeren die bestaan uit deel acties, die moeten worden uitgevoerd tot aan een bepaalde voorwaarde is voldaan (ene bepaald aantal clockticks of een bepaalde positie bereikt ofzo). De opzet is globaal als volgt
JavaScript:
1
2
3
4
5
6
7
8
9
10
| Sprite.prototype.run = function() { var self = this; this.running = setInterval(function(){ self.step(); },self.speed); } Sprite.prototype.step = function() { // doe vanalles; } |
in die step function moet ie dus de deelfuncties gaan uitvoeren die op dat moment gedaan moeten worden en als ie daar mee klaar is overspringen op andere deel functies.
Nu zit ik me een beetje af te vragen hoe ik dit het beste kan vormgeven, zelf zat ik te denken aan iets wat dus functies in een queue zet (dat moet nog wel lukken) en dan ook een check functie meegeeft ofzo, iets als:
JavaScript:
1
2
3
4
5
6
7
8
9
10
| Sprite.prototype.een_actie = function() { this.addToQueue( function(){this.moveBy(10,0); this.fadeBy(0.5);}, function(){return this.x >= 100} ) this.addToQueue( function(){this.moveBy(-10,0);}, function(){return this.elapsed = 4} ) } |
hier voeg ik dus functies toe in een queue, vergezeld van functies die moeten checken of de boel klaar is met de deelactie. Voor verschillende acties heb ik dus verschillende van deze methods.
Is dit een handige aanpak? of is het nodeloos ingewikkeld? misschien dat mensen die hier al eens mee gespeeld hebben (clay, crisp?