LWJGL Mehrfachselektion

hammet

himekishi
Hallo liebe Tutorialer :D

also ich habe angefangen mit LWJGL zu arbeiten. Nun habe ich verschiedene Entitäten auf meiner Oberfläche platziert.
Bis jetzt habe ich eine Einzelselektion realisiert, sprich, wenn ich auf eine Entity klicke, wird diese selektiert. Jetzt stehe ich vor der Herrausfordung eine Mehrfachselektion zu realisieren, wie sie euch bestimmt von den meisten Strategiespielen bekannt ist.
Mein Problem dabei ist, dass ich keine Idee habe, wie ich es anstellen soll, die Bewegung bei geklickter Maustaste zu ermitteln.

Hat jemand von euch damit vielleicht Erfahrungen gemacht?
 
Hallo,

zuerst erzeugst Du Dir einen Mausrahmen, wie in Windows und zwar als Rechtecke in alle vier Himmelsrichtungen. Anschließend gibst Du jeder Entität ein umschließendes Rechteck in der Größe der Entität. Jetzt wo du mindestens zwei Rechtecke hast, musst Du nur noch überprüfen, ob die Rechtecke der Entitäten in dem Rechteck deines Mausrahmens liegen. Das kannst Du z.B. mit sowas wie mouseBox.contains(Entity.boundingBox) erzielen.

Ich weiß ja nicht wie du deine Entitäten verwaltest und ob du nur Unikate an Entitäten hast, aber für sämtliche Listen sollte das gut funktionieren.

Vielleicht hilft Dir das weiter, allerdings muss ich sagen, dass ich aus deiner Frage nicht erschließen konnte, ob du etwas 2- oder 3-dimensionales machst.
 

Neue Beiträge

Zurück