Mehrere Objekte unter einem Rechteck picken?
Übersicht

![]() |
ApprauuuuBetreff: Mehrere Objekte unter einem Rechteck picken? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Ich schreibe momentan an einem 3d-Strategiespiel und frage mich grad wie ich es hinbekomme, dass alle einheiten angewählt werden, die unter einem rechteck sind, das man ziehen kann (wie esin solchen Spielen halt üblich ist ...) Das ist erst mal der Code, wo meine Einheiten gepickt werden... BlitzBasic: [AUSKLAPPEN] If druck = True And maus_y < 570 And hausbau = 0 Wie mache ich das dann, dass ich dann halt alles in nem Rechteck und nicht nur auf den Maus-Koordiantn gepickt wird??? Soll man das in ner Schleife machen oder wie? ![]() |
||
Arbeitsstand:
Umprogrammierung von LOL³Warriors und LOL³Fighters in Bmax... LOL³Fighters wird spielerisch noch mal ordentlich aufpoliert, um es Ligatauglich zu machen (zumindest für private Funligen von mir ^^) |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Hm, mal überlegen... *lalala*
Du könntest vielleicht an den vier Eckpunkten den Untergrund picken, daraus die Kartenkoordinaten berechnen und diese mit allen Einheiten vergleichen. Dann wählste halt alle aus, die sich in diesem Bereich befinden. Oder so. Oder Du berechnest keine Kartenkoordinaten und vergleichst die 3D-Positionen direkt. Du könntest natürlich auch noch die Grösse der 3D Einheiten mit einbeziehen in den Vergleich. Vielleicht sogar ein MeshIntersect mit einem entsprechend skalierten/positioniertem 2-Poli-Rechteck (oder nen Quader) für alle Einheiten testen, die möglicherweise im Selektierungsbereich liegen. Ja, hm, also das wären so spontan meine ersten Ideen dazu. ![]() Lieben Gruss, ~+ Ava +~ |
||
INpac |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
da gehste falsch ran: nicht picken sondern: benutze die project-Funktionen; ist die 2d-position eines 3d-objektes > mx und < mx + width und so weiter, liegt es in deinem rechteck
also x2d = projectedx() |
||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
du kannst durch ql:cameraproject() die 2dkoords der einheiten herausfinden. und ob 2dkoordinaten in einem 2drechteck liegen, sollte nicht so schwer zu bestimmen sein ![]() edit: hehe, inpac war schneller. aber es ist ja unser gemeinsames wissen ^^ |
||
MrKeks.net |
![]() |
Apprauuuu |
![]() Antworten mit Zitat ![]() |
---|---|---|
Klasse!
Danke sehr! Hab noch nicht so superviel Erfahrung mit B3d und kenne mich da halt noch nicht so supertoll aus -,- Aber jetzt steht meinem Spiel nichts mehr im Weg ![]() |
||
Arbeitsstand:
Umprogrammierung von LOL³Warriors und LOL³Fighters in Bmax... LOL³Fighters wird spielerisch noch mal ordentlich aufpoliert, um es Ligatauglich zu machen (zumindest für private Funligen von mir ^^) |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group