Entity-Mauskoordination

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Ana

Betreff: Entity-Mauskoordination

BeitragMo, Okt 26, 2009 0:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,
ich fürchte zwar, dass das schon gefragt worden ist finde aber keine passende Überschrift nach der ich suchen könnte also verzeiht mir wenn es schon einen threat dazu gibt.

Aber zu meinem Problem. Ich möchte Gebäude im laufenden Programm platzieren das klappt auch gut mit einem freundlichen Type und den koordinaten der Spielfigur als Startpunkt. Nun möchte ich aber zum einen das die Kamera ein Stück rauszoomt, aber weiß nicht wie ich anstellen soll, ein einfaches moveentity geht glaube ich nicht oder?
Aber mein hauptproblem ist die sache mit der Maus.Wie kann ich das Gebäude an der Maus bewegen ala x = mousex() : y = mousey() (so würde ich es in 2d lösen)? Ideal wäre es natürlich wenn es auch gleich den Höhenunterschied mit machen würde. Reicht da die Y koordinate mit einem permanenten abzug von 1 zu versehen und das terrain für Gebäude undurch lässig zu machen?

und als letztes gibt es in 3d auch entsprechende befehle für imageoverlap, damit erkannt wird das der Mauszeiger über der entity ist

Tankbuster

BeitragMo, Okt 26, 2009 1:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt doch die Picked-Befehle.


PickedX
PickedY
PickedZ
EntityPickMode

Damit solltest du etwas basteln können. Vorallem um Sachen auf einem terrain zu platzieren ist das perfekt.

So nach dem Motto:

Zitat:
PositionEntity entity,PickedX(),PickedY(),PickedZ()


Natürlich brauch dein Terrain den entsprechenden PickMode
Wink
Twitter
Download Jewel Snake!
Windows|Android

Noobody

BeitragMo, Okt 26, 2009 7:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicht zu vergessen natürlich CameraPick.

Bei deinem Kameraproblem sollte tatsächlich ein hochschieben per MoveEntity helfen; alternativ kannst du auch mit CameraZoom arbeiten.
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun

Ana

BeitragMo, Okt 26, 2009 11:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke erstmal für die antworten, allerdings versteh ich entitypickmode (klar hab ich die hilfe gelesen) nicht so wirklich.
wenn ich das richtig verstanden hab dann muss das ganze in verbindung mit entitypick gemacht werden, aber wie das dann weiter geht ...

in dem zusammenhang kann mir wer ein gutes tutorial empfehlen das den übergang von 2d zu 3d erklärt, oder noch schöner ein gutes buch? Ich steh auf ausführliche erklärungen, tuts sind mir meist nicht erschöpfend genug

Nicdel

BeitragMo, Okt 26, 2009 11:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Ganz einfach:

Alle Entitys die man auswählen kann bekommen den Pickmode 2 (EntityPickMode):
BlitzBasic: [AUSKLAPPEN]
test = CreateCube()

EntityPickMode test,2

In der Hauptschleife wird dann abgefragt, ob die Maus über einem Entity ist (CameraPick):
BlitzBasic: [AUSKLAPPEN]
CameraPick camera, MouseX(), MouseY()

If PickedEntity() = test ;Testen ob der Würfel ausgewählt wurde
;...
EndIf


Um Gebäude zu platzieren bekommt das Terrain den Pickmode 2:
BlitzBasic: [AUSKLAPPEN]

terrain = LoadTerrain("heightmap.png")

EntityPickMode terrain,2


Dann wird in der Hauptschleife abgefragt, ob die Maus über dem Terrain ist:
BlitzBasic: [AUSKLAPPEN]

CameraPick camera, MouseX(), MouseY() ;CameraPick nur einmal in der Hauptschleife aufrufen

If PickedEntity() = terrain ;Testen ob die Maus über dem Terrain ist

If MouseHit(1) ;Bei Maustastendruck neues Gebäude erstellen

;...

;Neu erstelltes Gebäude an die gepickte Stelle setzen, also die Stelle an der sich die Maus über dem Terrain befindet
PositionEntity neuesGeb, PickedX(), PickedY(), PickedZ()

EndIf

EndIf
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Ana

BeitragMo, Okt 26, 2009 12:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Ah super vielen dank, nun wackeln die Gebäude zwar noch irgendwie hin und her wenn man die maus nicht bewegt, aber immerhin sie folgen der Maus schon mal Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group