Skip to content

Pauze knop maken werkt niet #19

@bartvanderwal

Description

@bartvanderwal

Pauzeren in het spel werkt praktisch gezien niet.
Hieronder een verdere uitleg, met ook oplossingsrichting.

De GameEngine klasse heeft pauseGame() en resumeGame() methodes. Alleen praktisch gezien zijn deze niet te gebruiken. Want typisch wil je op basis van keypressed het spel pauzeren en ook weer onpauzer. Het eerste lukt nog wel, maar het tweede niet, want op het moment dat je vanuit een keypressed het spel op pauze zet kun je vervolgens geen toetseninput meer binnen omdat de GameThread dan op pause staat, en de keyPressed methode uit GameObjects allen op deze thread draaien.

Het is logischer om op centraal niveau de pauzeknop af te handelen; dus buiten de gamethread. Een togglePaused methode is dan logischer, dan twee aparte methoden (zonder isPaused property en/of getter/methode op de GameEngine zou je deze elders moeten gaan bijhouden i.p.v. op de GameEngine wat ook onwenselijk is.

De pauzeknop is dan wel in te stellen via een GameEngine.setPauseButton(int key) button, maar heeft een logische default, namelijk de p toets (kleine letter of grote letter).

Andere toetsen dan de pauzeknop forward de keyPressed methode dan nog steeds naar alle klassen die `IKeyInputz implementeren, zoals al het geval is.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions