Frage

Ich glaube, ich mit einem Beispiel veranschaulichen werden: In dieses Spiel 2D-Formen sind in der Lage mit der Maus zu ziehen und was Sie zeichnen ist auf dem Bildschirm in Echtzeit gerendert. Ich will wissen, was die besten Möglichkeiten, um diese Art zu machen, von Zeichnung Hardware-Beschleunigung verwendet (OpenGL). Ich hatte zwei Ideen:

  • Erstellen Sie eine Bildschirm-Größe Textur beim Zeichnen begonnen wird, diese aktualisieren, wenn Zeichnen und blitten diese auf den Bildschirm
  • eine Reihe von Liniensegmenten Erstellen der Zeichnung darzustellen, und machen diese entweder Linien oder dünne Polygone

Gibt es noch andere Ideen? Welche dieser Methoden ist wahrscheinlich am besten sein / effizienteste / am einfachsten? Alle Vorschläge sind willkommen.

War es hilfreich?

Lösung

Ich liebe Kreide Physik (Musik bringt mich jedes Mal). Großes Spiel!

Aber zurück zu dem Punkt ... Er hat Bürste Sprites erstellt, die Sie mit der Maus Position folgen. Er hat ein paar Bürsten geschaffen, die für eine kleine Variation berücksichtigen. Sobald die Maus nach unten geht, stelle ich mir er diese Sprites auf eine Datenstruktur hinzufügt und diese Struktur durch seine Zeichnung und Kollisionsfunktionen eine Schleife durch das Senden. knallend aus damit den Echtzeiteffekt. Er ist mit Simple Directmedia Layer-Bibliothek, die ich zwei Daumen nach oben geben.

Andere Tipps

Ich bin mir ziemlich sicher, dass die zweite Idee ist der Weg zu gehen.

Erste Option, wenn der Spieler rein freihändig zieht (und nicht als Linien), und was sie ziehen muss nicht animiert werden.

Zweite Option, wenn es animiert wird oder ist in erster Linie Linien. Wenn Sie dies tun wählen, scheint es, wie Sie dünnen Polygone statt reguläre Linien zeichnen müssen jede Art von interessantem Blick zu erhalten (wie in der Kreide Beispiel).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top