Spielfeld in Felder unterteilen



  • @Master_Max: np, trodzdem danke!!

    @Optimizer: So eine Art Strategiespiel



  • Ich glaube es ist besser, wenn du für jede Einheit speicherst, auf welchem Feld sie ist und nicht auf einem Feld speicherst, welche Einheit da drauf ist.

    Also du brauchst vorläufig eigentlich überhaupt kein Array für das Spielfeld. Die Einheiten-Objekte müssen halt ihre eigenen Koordinaten speichern.

    In meinem Spiel bewegen sich die Einheiten völlig frei von Feldern, deshalb hab ich dazu keinen Source. Aber so schwer ist das ja nicht. Viel Glück!



  • Optimizer schrieb:

    Ich glaube es ist besser, wenn du für jede Einheit speicherst, auf welchem Feld sie ist und nicht auf einem Feld speicherst, welche Einheit da drauf ist.

    Also du brauchst vorläufig eigentlich überhaupt kein Array für das Spielfeld. Die Einheiten-Objekte müssen halt ihre eigenen Koordinaten speichern.

    In meinem Spiel bewegen sich die Einheiten völlig frei von Feldern, deshalb hab ich dazu keinen Source. Aber so schwer ist das ja nicht. Viel Glück!

    hmmm.. kannst du mir da ma bitte bitte noch einen kleinen Denkanstoss geben? 😕



  • Aber wenns dann ums Zeichnen geht muss bei jedem Feld erst bei allen Objekten nachgefragt werden "Bist Du auf Feld 1,1 ?
    Bei 100 Objekten dauert das viel zulange und die Framerate sinkt in den Keller,
    also sollten sich alle Objekte in einem Extra Zeichen-Array eintragen, das geht schneller !



  • maty schrieb:

    Aber wenns dann ums Zeichnen geht muss bei jedem Feld erst bei allen Objekten nachgefragt werden "Bist Du auf Feld 1,1 ?
    Bei 100 Objekten dauert das viel zulange und die Framerate sinkt in den Keller,
    also sollten sich alle Objekte in einem Extra Zeichen-Array eintragen, das geht schneller !

    Völliger Kas. 🙂
    Da wird überhaupt nichts gefragt. Wieso sollte ich Fragen, ob ein Objekt auf einem bestimmten Feld ist?

    ZeichenpositionX = Einheit.feldX * 10;
    ZeichenpositionY = Einheit.feldY * 10;



  • versteh nicht was du meinst ...

    also zb. kennt jedes Objekt seine eigene Position die es zur Zeit hat:

    Object[1].position_x = 1;
    Object[1].position_y = 2;

    ...

    Object[100].position_x = 20;
    Object[100].position_y = 26;

    Wenn jetzt alle Felder gezeichnet werden sollen müsste ja bei Feld 1,1 bis zb. Feld 50,50 , bei jedem Feld nachgefragt werden welches Objekt darf ich da zeichnen. Also muß in einer Schleife geschaut werden wer zb. auf feld 10,10 steht.
    Woher soll die DrawSzene-Methode wissen was es zeichnen soll ... ?



  • es muss doch mindestens 25 mal die sec alle Felder neu gezeichnet werden ... denk ich mal ... ?



  • Was haben die Felder mit den Einheiten zu tun? Klar muss die Landschaft zuerst gezeichnet werden. Und nicht für die komplette Karte sondern nur für den sichtbaren Bildausschnitt.
    Und anschließend noch mal die Einheiten drauf rendern. Warum muss beim Zeichnen des Feldes abgefragt werden, ob da eine Einheit draufsteht...



  • nun ich habe eine Methode DrawSzene() die ständig die aktuelle Szene Hintergrund inkl. Sprites für jede Kachel zeichnet, angefangen bei Kachel 1,1 bis 50,50. die schaut einfach in das Zeichenarray und holt sich da die Bildkoordinaten fürs kopieren. (für Spiele in Civ 2 Art).
    Und das geht recht schnell !



  • ach so du zeichnest dann immer nur den Hintergrund und alle Objekte der Reihe nach drüber - mh geht natürlich auch 😉



  • Wie wäre es mit nachdenken?





  • Du kannst von mir aus auch drüber nachdenken, k.A. ob du 'ne Chance hast die Vorteile beider Methoden zu erkennen.



  • Na Dir werde ich in Deinen Gedankenwegen nicht folgen können ;o)

    Ich denke mir aber das wenn ich frage ob Du es erklärst nur sowas kommt wie:

    Denk nach.

    Ich würde gerne verstehen wieso Du die Antworten so gibst wie Du sie gibst. Wenn Dich jemand nach dem Weg fragt, sagst Du dann auch: Lies ne Strassenkarte ?

    Wofür ist Deiner Meinung nach ein Forum da ?

    (und das soll kein Flame sein oder so. Ich will Dich nur verstehen, soweit mir das in meiner kleinen Welt möglich ist )

    Jemanden auf google etc. zu verweise ist gut. Oftmals fehlen aber die Suchbegriffe die einem nicht einfallen. (Gerade wenn man etwas zum ersten mal macht weiß man nicht so recht wonach man suchen muß) Hier wäre es z.B. nett wenn Du mit Deiner erfahrung einen schubs geben kannst nach was man denn suchen kann.

    Wäre doch ein mittelweg in dem den Leuten weitergeholfen wird. (but teaching them research skills by example is teaching them to grow food for a lifetime). Mit Sätzen wie "Denk drüber nach" ist der Punkt aber nicht erfüllt. Da fehlt ein Schubs in die richtige richtung. 🙂



  • Du sollst nicht mir folgen. Die beiden sollten dem jeweils anderen Gedankengang folgen.



  • ja knuddlbaer, geb dir recht.
    Nachdem ich lesen musste wie hier geantwortet wird war mir die Lust hier noch was zu schreiben echt vergangen. Es gibt ja noch andere Foren wo ein anderer umgangston herrscht ... 😞


Anmelden zum Antworten