Strategiespiel: Regionen für Kollisionserkennung



  • Optimizer schrieb:

    Schon klar, aber wie speicherst du pro Objekt mehrere Kennungen? Ach so, du hast in jedem Objekt ein Array oder wie?
    Wie sind denn so deine Erfahrungen, lohnt es sich die Karte in Regionen aufzuteilen? Wieviele Einheiten konnte es in deinem Spiel maximal gleichzeitig geben?

    Also, zuerst muss ich mal sagen das ich das ganze auf Grundlage der MFC entwickelt habe - Damit hatte ich die Klasse CObArray zur Verfügung die eigentlich die ganze "Einheiten-Verwaltung" so einfach macht.
    Innerhalb des "Regionen-Objekts" sieht das etwa so aus, das es genau ein Objekt des Typs "CObArray" gibt. Dieses Objekt bekommt jeweils die Adresse des Sprite-Objekts zugewiesen dessen Einheit sich in der Region befindet.

    /Pseudo

    Sprite* pEinheit = new Sprite;
    
    ...
    
    // Einheit betritt neue Region
    
    pAlteRegion->pEinheiten.Remove(pEinheit);
    pNeueRegion->pEinheiten.Add(pEinheit);
    
    ... usw
    

    Es werden also nur Adressen unter den Regionen-Objekten ausgetauscht.
    Aber da du höchstwahrscheinlich kein MFC nutzen wirst musst du dir diese Organisation selbst schaffen. Darum sagte ich das mit dem Array und den ID's
    Man könnte dann (das ist natürlich nicht so schick wie mit dem Pointer-Array 😃 ) immer Index-Werte der Einheiten-Arrays tauschen.



  • Stimmt, ein Pointer-Array wäre sicherlich sinnvoller...


  • Mod

    willkommen back bundeswehr mensch, ist schon ne neue version online? 🙂

    rapso->greets();



  • Nein, aber ich hoffe heute noch 🙂

    Ein paar Probleme muss ich noch lösen.


Anmelden zum Antworten