Viewport in Hud einbetten
Übersicht

timo_81Betreff: Viewport in Hud einbetten |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Werte Freunde,
mach einer 5 Jährigen Blitzabstinenz, bin ich per Zufall wieder auf die Sprache gestoßen und habe mal wieder mit einem Weltraumspiel angefangen. In dieser Frage dreht es sich um das Thema, wie man einen Viewport in ein HUD einbetten kann ohne dass der HUD den Viewport überschreibt,. Folgende Szenario: Ein Element wird durch CameraPick ausgewählt. (Pickmode is 2 btw) Dieses Element soll nun herangezoomt werden (nur im Viewport) und in den HUD eingebettet dargestellt werden. Meine bisherigen Versuche schlugen fehl. Das HUD überschreibt immer den Viewport. Hier mal mein Ansatz: [syntax="bb"] hud_normal=LoadImage("hud_normal_quer.jpg") hud_planet=LoadImage("hud_normal_rechts.jpg") ;#Erstellt die Kamera und das Licht AmbientLight 70,70,70 pivot=CreatePivot() pv1=CreatePivot() camera=CreateCamera(pivot) objektcamera = CreateCamera() CameraViewport objektcamera,100,500,200,200 ;Einzubettender Viewport ;-------------------------------- ;Main Loop ;-------------------------------- While Not KeyHit(1) If MouseHit(1)=True Then pick=CameraPick(camera,MouseX(),MouseY()) If pick Then name$=EntityName(pick) distanz#=EntityDistance(camera,pick) PositionEntity objektcamera, PickedX#,PickedY#,PickedZ# ;Viewportkamera auf Objekt ausrichten EndIf EndIf [/syntax] Dann die Ausgabe des Huds: [syntax="bb"] UpdateWorld RenderWorld ;2D-Ausgaben (Mauszeiger, Selektierte Objekte, Distanzen ;###################################################### DrawImage (mauszeiger, MouseX(), MouseY()) ShowPointer() DrawImage hud_normal,0,700 DrawImage hud_planet,1030,395 Color 0,0,0 Text 560,810,name$ Text 560,885,distanz# Flip Wend [/syntax] Das Problem ist der Viewport updated sich nicht (wenn ich ein neues Objekt picke ändert sich der Text aber die Kamera im Viewport richtet sich nicht aus. Desweiteren ist ein einbetten nicht möglich, da der Viewport nicht mehr sichtbar ist wenn der HUD gezeichnet wird) Vielen Dank für Eure Hilfe und es ist schön mal wieder hier zu sein nach der langen Zeit! Viele Grüße Timo |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast du ein lauffähiges Beispiel? Ohne Bilder oder Objekte dauert es länger den Fehler aus zu machen. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
timo_81 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Anbei die Rar Datei des ganzen Projekts. Mein Grafiken sind bislang auf den Modus
"33" ausgelegt (hinsichtlich der pixelgenauen Platzierung). Deshalb sollte man dieses Modus auswählen wenn man es testen will. Vielen Dank dass ihr es euch anschaut - der Mauszeiger verschwindet auch sobald er sich über das HUD bewegt. Das Design des Mauzeigers ist nicht auf meinen Mist gewachsen und wird noch angepasst ... Link: [url] http://www.file-upload.net/dow...html[/url] Grüße und abermals Vielen Dank Timo |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Keine Ahnung was du mit Modus 33 meinst, start.bb liegt jedenfalls nicht bei. Es gibt auch keine zweite Kamera oder ein HUD im Code.
Ein kurzer Code, der ohne Medien auskommt und genau das Problem aufzeigt, wäre immer das beste. Edit: Vielleicht hilft das: Mit HideEntity ![]() ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
timo_81 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
doch die gibt es heißt dort aber "Objektkamera" im Source. Das ganze Projekt basiert auf dem orbit_nebula_source von Richard Betson, welches sich in den Samples Ordnern von Blitz3D befindet. Da ist auch die start.bb sorry das hab ich vergessen mitzuschicken. Ich hab dieses Projekt als Framework genommen und soweit abgespeckt, dass es für mich verständlich blieb. Ich kann Dir leider nicht mehr Code liefern, da es da ja gerade hapert. Die Idee ist einfach, ein CameraViewport auf ein 2D HUD (der ja nur ein Bild ist ) drüberzuzeichnen. Das Problem ist nun eben, dass der Viewport wie auch der Mauszeiger verschwindet sobald er an den Koordinaten des HUD landet. Naja trotzdem Danke für die Mühen... Grüße Timo PS: Den einzigen Code den ich liefern konnte ist der, den ich oben gepostet habe... |
||
![]() |
HolzchopfMeisterpacker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mal nur so nebenbei: Du beachtest schon die Reihenfolge der Grafikausgabe? Also zuerst HUD-Hintergrund, dann CameraViewport![]() mfG Holzchopf |
||
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BY ♫ BinaryBorn - Yogurt ♫ (31.10.2018) Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm |
timo_81 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mein Code sieht wie folgt aus:
BlitzBasic: [AUSKLAPPEN]
|
||
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du kannst ja zuerst die Hauptkamera ganz normal rendern, die HUD Kamera aber verstecken, dann das HUD zeichnen, die Hauptkamera verstecken, die HUD Kamera entstecken (![]() |
||
Starfare: Worklog, Website (download) |
timo_81 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi vielen Dank für die ANtwort.
Könntest Du mir die Idee codetechnisch kurz erläutern? Grüße Timo |
||
timo_81 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mein Gott bin ich ein Depp, ich mach die Stelle einfach schwarz dann wird sie durchsichtig und da kommt der viewport rein...man man man ...*kopf gegen die hau*
Thread kann geschlossen werden... |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group