Text in 3d Fenster

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Silernthunt4r

Betreff: Text in 3d Fenster

BeitragDo, Dez 17, 2009 21:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, weiß jmd wie ich einen Text in einem 3d Fenster (Grafics3d) anzeige

MfG

robotx

BeitragDo, Dez 17, 2009 21:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Text Befehl funktioniert zwischen RenderWorld/UpdateWorld und Flip.

Eine weitere (bessere) Möglichkeit ist es Sprites zu verwenden, da diese schneller sind.
www.botbomb.robotzgames.de
www.robotzgames.de

TimBo

BeitragDo, Dez 17, 2009 21:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja also die Primitive Variante:

BlitzBasic: [AUSKLAPPEN]
Repeat
;3D Befehle

UpdateWorld()
RenderWorld()


;2D Befehle uA Text


Flip(0):WaitTimer(Timer)
Until KeyHit(1)
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.
  • Zuletzt bearbeitet von TimBo am Fr, Dez 18, 2009 15:49, insgesamt einmal bearbeitet

Tankbuster

BeitragDo, Dez 17, 2009 22:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Allerdings ist diese 2D-3D Sache nicht wirklich performanceschonend, reicht aber für kleine Sachen aus. Ansonsten solltest du den Text auf die Textur eines Quads schreiben, und das so vor der Kamera platzieren, dass es aussieht wie 2D.
Es gibt auch die Draw3D-lib von hectic, wo du das alles mit vielen anderen Funktionen schon vorgefertigt findest Wink
Twitter
Download Jewel Snake!
Windows|Android
 

Silernthunt4r

BeitragDo, Dez 17, 2009 22:45
Antworten mit Zitat
Benutzer-Profile anzeigen
DANKE hat mir weitergeholfen Very Happy Very Happy Very Happy Very Happy Very Happy

count-doku

BeitragFr, Dez 18, 2009 15:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

@timbo
Müsste da nicht erst UpdateWorld und dann RenderWorld kommen?
 

mDave

BeitragFr, Dez 18, 2009 15:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Ist besser wenn UpdateWorld vor Renderworld kommt, aber ist im Endeffekt schnuzpiepegal Smile

TimBo

BeitragFr, Dez 18, 2009 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
oh ihr habt natürlich recht Smile
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Holzchopf

Meisterpacker

BeitragFr, Dez 18, 2009 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
mDave: Es ist nicht schnuzpiepegal. Das gute alte EVA-Prinzip lässt sich da sogar sehr gut demonstrieren! Ich hab einfach mal das Codebeispiel von Collisions genommen, leicht angepasst und natürlich Updateworld mal hinter RenderWorld geschoben - ich finde, man sieht sehr gut, was passiert, wenn man essenzielle Berechnungen nach der Ausgabe durchführt Wink

BlitzBasic: [AUSKLAPPEN]
Graphics3D 640, 480, 0 ,2
SetBuffer BackBuffer()
camera = CreateCamera()
RotateEntity camera, 45, 0, 0
PositionEntity camera, 0, 15, - 10
light = CreateLight()
RotateEntity light, 45, 0, 0

sphere = CreateSphere(32)
EntityType sphere, 1
EntityRadius sphere, 1
PositionEntity sphere, 0, 11, 0

cube = CreateCube()
EntityType cube, 2
EntityColor cube, 0, 100, 0
PositionEntity cube, 0, - 5, 0
ScaleEntity cube, 10, 10, 10

cylinder = CreateCylinder(32)
EntityType cylinder, 2
EntityColor cylinder, 255, 0, 0
PositionEntity cylinder, 0, 7, 0
ScaleEntity cylinder, 2, 2, 2

While Not KeyDown(1)
x# = 0
y# = 0
z# = 0
If KeyDown(203) = 1 Then x# = - 0.1
If KeyDown(205) = 1 Then x# = 0.1
If KeyDown(208) = 1 Then z# = - 0.1
If KeyDown(200) = 1 Then z# = 0.1
MoveEntity sphere, x#, - 0.5, z#
Collisions 1, 2, 2, 2
RenderWorld
UpdateWorld
col = CountCollisions(sphere)
Text 0, 0, "Kollision(en):"
For i = 1 To col
Text 000, i * 20, "Entity=" + CollisionEntity(sphere, i)
Text 150, i * 20, "Surface=" + CollisionSurface(sphere, i)
Text 300, i * 20, "Triangle=" + CollisionTriangle(sphere, i)
Next
Flip
Wend
End


mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Tankbuster

BeitragFr, Dez 18, 2009 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Also HC, Collisions in der Hauptschleife?

Also ich finde das ist noch schlimmer als die Sache mit UpdateWorld Laughing

UpdateWorld ist nicht umbedingt nötig, wenn man nur Cubes erstellt, die irgendwo rumfliegen sollen. Wenn allerdings Kollisionen oder Animationen im Spiel sind ist es zwingend erst UpdateWorld auszuführen und das ganze danach zu Rendern. Sonst kann es schonmal sein, dass die Kollision erst ein Frame später gezeigt wird...
Twitter
Download Jewel Snake!
Windows|Android

Holzchopf

Meisterpacker

BeitragFr, Dez 18, 2009 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Haha, darauf hab ich jetzt gar nicht geachtet Rolling Eyes naja, soll halt mal einer den Beispielcode verbessern Wink
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group