Op dit moment ben ik bezig met mijn minor, en hiervoor ben ik een kleine Game Frameworkje aan het maken in JavaScript. Echter loop ik tegen het volgende probleem aan:
Stel ik heb 2 levels: "Level 1" en "Level 2". In "Level 1" bevinden zich een "Player" object en een "Enemy" object.
Het updaten en tekenen van deze objecten wordt per frame in deze volgorde uitgevoerd:
player.update()
enemy.update()
player.render()
enemy.render()
Stel nu dat in enemy.update() aan een voorwaarde wordt voldaan waardoor naar "Level 2" moet worden gegaan, waar laat ik dan de daadwerkelijke overgang plaatsvinden? Met andere woorden; als enemy.update() ervoor zorgt dat naar "Level 2" wordt gegaan, zouden player.render() en enemy.render() dan nog moeten worden uitgevoerd?
Als voorbeeld heb ik gekeken naar Phaser.io en daar wordt een overgang tussen 2 "levels" gescheduled en aan het begin van het volgende frame uitgevoerd:
"Level 1":
player.update()
enemy.update()
player.render()
enemy.render()
player.update()
enemy.update() > Schedule overgang naar "Level 2"
player.render()
enemy.render()
> Overgang vindt plaats
"Level 2":
...
Ook heb ik GameMaker als voorbeeld genomen, hier wordt een overgang meteen na de method uitgevoerd:
"Level 1":
player.update()
enemy.update()
player.render()
enemy.render()
player.update()
enemy.update() > Schedule overgang naar "Level 2"
> Overgang vindt plaats
"Level 2":
...
Mijn vraag is dus; wat is de beste plaats om van "level" te wisselen.
Ik hoop dat mijn vraag een beetje duidelijk is.
Alvast bedankt!