Wie mache ich ein HUD?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Pingu_Killer

Betreff: Wie mache ich ein HUD?

BeitragSo, Nov 05, 2006 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, wie mache ich in einem 3d game ein hud? so etwas wie fadenkreuz, health, munition, also in 2d?
Ich habe is gerade im chat versucht, aber da mein browser spinnt, kackt er da imma ab...
naja, die im chat haben gesagt mit 2d befehlen. Aber wie? also mit drawimage geht es (doch) nicht, oder hab ich da etwas falsch gemacht?
------------------------------------------------------

Gründer und einziges Mitglied von
"NoobTec Games"

Schranz0r

BeitragSo, Nov 05, 2006 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
mit DrawImage geht das schon.
aber ich glaube(Und mich jetzt nicht Köpfen)
nach Renderworld : Updateworld
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

BladeRunner

Moderator

BeitragSo, Nov 05, 2006 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Du malst deine 2D-images nach Renderworld und vor flip.
Alternativ nutze sprites und papp sie als childs vor die Kamera.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

Schranz0r

BeitragSo, Nov 05, 2006 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
hab gard mal was schnelles gemacht Very Happy


Code: [AUSKLAPPEN]
Graphics3D 800,600,0,1

Fadenkreuz = CreateImage(21,21)
SetBuffer ImageBuffer(Fadenkreuz)
Color 0,0,0
Rect 0,0,21,21,1
Color 255,0,0
Line 10,0,10,20
Line 0,10,20,10

SetBuffer BackBuffer()

MidHandle Fadenkreuz

Cam = CreateCamera()


Global Px# = 5
Global Py# =-5
Global Pz# = 5

plane=CREATEPLANE()
cube=CREATECUBE()
cube2=CREATECUBE()
light=CREATELIGHT()

POSITIONENTITY plane,5,-5-1,5
POSITIONENTITY cube,Px#,Py#,Pz#
POSITIONENTITY cube2,10,-5,5
POSITIONENTITY Cam,Px#,Py#+2.5,Pz#

ENTITYCOLOR cube,100,100,255
EntityColor plane,64,0,0


ROTATEENTITY light,90,0,0



Repeat

mXs# = MouseXSpeed()
mYs# = MouseYSpeed()

   TurnEntity Cam,0,-(mXs#/3),0,True
  TurnEntity Cam,(mYs#/3),0,0
  MoveMouse 400,300
   
   IF KEYDOWN(31)=1 THEN MOVEENTITY Cam,0,0,-0.08
   IF KEYDOWN(17)=1 THEN MOVEENTITY Cam,0,0,0.08
   IF KEYDOWN(30)=1 THEN Px#=Px#-0.08
   IF KEYDOWN(32)=1 THEN Px#=Px#+0.08
 
   RenderWorld
   
   DrawImage Fadenkreuz,400,300

Flip
Until Keyhit(1)
End
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Pingu_Killer

BeitragSo, Nov 05, 2006 21:32
Antworten mit Zitat
Benutzer-Profile anzeigen
hey, danke Very Happy
klasse... progge nähmlich gerade an meinen ersten 3d game.

nette spielerei, das du das so schnell hinbekommst... Very Happy
------------------------------------------------------

Gründer und einziges Mitglied von
"NoobTec Games"

Schranz0r

BeitragMo, Nov 06, 2006 3:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Pingu_Killer hat Folgendes geschrieben:

nette spielerei, das du das so schnell hinbekommst... Very Happy



Naja das Grundgerüst hatte ich schon gespeichert, hab nurnoch das Fadenkreuz gemacht auf die schnelle Very Happy
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Pingu_Killer

BeitragMo, Nov 06, 2006 19:02
Antworten mit Zitat
Benutzer-Profile anzeigen
aso Very Happy

frage (Kurze Umfrage Wink): stellt euch mal GTA vor, nur dass es im Weltraum spielt, und man nicht aus seinen Fahrzeug aussteigen kann (also, so dass man überall herrumfahren kann). Was bräuchte dieses Spiel, damit es euer interesse weckt und spass macht,m ohne dass die Graphik so blendend ist?
------------------------------------------------------

Gründer und einziges Mitglied von
"NoobTec Games"

JustTheBest

BeitragMo, Nov 06, 2006 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi:
Also, man sollte imho vieeel upgraden können, z.b. verschieden waffen, schiffe,... Dann sollte es entweder nette KI (die z.b. handelt, oder dich begleitet...) oder natürlich Netzwerkfunktion haben! Als nächstes fände ich gut, wenn es Stationen gäbe auf denen man landen kann und von denen man über ein Menü handeln kann!

Aber jetzt muss ich vielleicht doch noch erwähnen, dass du mit deinem ersten 3D-Spiel vielleicht mal n paar gänge runterschalten solltest!
Das geht nicht so einfach ein so koplexes spiel zu programmieren!
Ich habe auch in meinen ersten Tagen immer geträumt ein solches Spiel zu machen!
Leider wird, so würde ich es einschätzen 99% nix draus! Auch wenn man sich noch so oft einredet, man wäre so ausdauernd, dass man es schafft!
Ich würde dir erstmal raten, bevor du damit anfängst zu planen, was man alles tolles machen können wird, dich erstmal mit dem erstellen des Grundgerüstes zu befassen! Wenn das echt dein erstes 3D-Programm sein sollte, dann wäre es schon gut, wenn du überhaupt eine Raumschiffsteuerung+Simplen Weltraum hinbekommst!
Also, wenn du die Steuerung und den Weltraum hast, dann sprechen wir weiter!
Soll nich böse gemeint sein oder so, es ist nur nun mal so, dass fast alle Anfänger(inkl.mir!) denken, sie könnten alleine beim ersten mal ein komplexes spiel mit 1000 Möglichkeiten entwerfen! Dazu gehören Jahre Erfahrung, die ich (leider Laughing ) auch nicht besitze! Ich war froh, als ich das Grundgerüst für einen non-Hardcode 3D-Space-Shooter fertig hatte! Das war dann nur fliegen&feuern aber das mit unbegrenzt vielen Schiffen und Waffenarten! Also nimm dir vielleicht am Anfang nicht so viel vor, erst das Grundgerüst, dann über Möglichkeiten im Spiel nachdenken!
Aber trotzdem:
Viel Glück!

mfg
JTB
www.mas-online.de.gg
__________

Liegt der Camper tot im Keller war der Rusher wieder schneller. Liegt der Rusher tot daneben hat der Camper nen Kollegen!

Pingu_Killer

BeitragMo, Nov 06, 2006 19:56
Antworten mit Zitat
Benutzer-Profile anzeigen
ich kann dich sehr gut nachvollziehen, aber es soll kein großes projekt werden. Ich bin mir darüber im klaren, das meine skills als änfänger stark eingeschränkt sind. Ich stelle mir gar kein so großes projekt vor. Es soll mehr ein spiel sein mit dem... ...mit dem ich das programmieren in 3d lerne lernen. Moddeln und programmieren.
In meinen spiel soll man in erster linie nur rumfahren können.
Ich habe z.B schon projekte oder kleinere spielereien gesehen, die ohne großen Aufwand gmacht wurden, aber dennoch richtig hamma sind.

Zitat:

Also, wenn du die Steuerung und den Weltraum hast, dann sprechen wir weiter!


An so etwas dachte ich auch. Und mir ist klar, dass selbst da für mich schon ordentlich was zu lernen ist. z.B besteht meine steuerung bis jetzt nur aus dem einfachen "camera = CreateCamera(objekt)" mit der steurung " if keyhit(200) Then TurnEntity objekt, 0, 0, 2" und so. ich bin mir miner Hindernisse durchaus bewusst. So hat diese kleine Umfrage zum teil (auch wenn es merkwürdig klingt) nur als Motivation gedient.
Ich bin dir sehr dankbar für deine umfassende Antwort, welche mich aus den, dennoch bei mir (wie bei jedem anfänger denke ich auch) existierenden, träumereien geholt hat, und mir einige denkanstöße zu dem gegeben hat, was ich noch lernen muss. Danke Very Happy

Edit: Noch eine Frage, wegen der ich keinen neuen thread eröffnen wollte: Wie Mache ich eine Atmosphere? so wolken, sterne, halt der ganze himmel?
------------------------------------------------------

Gründer und einziges Mitglied von
"NoobTec Games"

PowerProgrammer

BeitragMo, Nov 06, 2006 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Mit einer SkyBox kann man das z.B. ganz easy realisieren. Dafür kannst du am besten eine Kugel nehmen, stark vergrößern, Textur draufklatschen und mit FlipMesh() nach innen krempeln und schon hast du einen einfachen Himmel Wink

Mfg
www.xairro.com Alles für Webmaster und Programmierer! Es gibt mehr als bloß einen Counter!

JustTheBest

BeitragMo, Nov 06, 2006 21:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Dann ist ja gut! Die "Umfrage" hat nurn bissl so nach "Ich mach n GTA im Space, was soll ich alles reinpacken?" geklungen Laughing ! Aber so isses ja gut!
Also: zu deinem Problem: Da es bei der gestaltung von Weltraum von ganz simplen Methoden bis zu vollkommenen Grafik-Wundern mit Leuchten, Sternenstaub zum durchfahren, Sonnensystemen, Sternen... gibt, schlage ich dir jetzt mal die sehr einfache Lösung vor, die ich verwende (kann man dann nach belieben ausbauen!):
-Du erstellst eine Sphere oder eine Box
-Du scalierst sie, dass sie ca. doppelt so groß wie dein Schiff ist
-Du beklebst sie bit einer (kachelbaren! also, dass man die übergänge nicht sieht) Textur wie z.b.: https://www.blitzforum.de/upload/file.php?id=715
-Du drehst sie mit "FlipMesh" um
-Du stellst mit "EntityOrder" ein, dass sie nach allem anderem gerendert wird
-Nun der etwas kompliziertere Teil: Wenn du dich bewegst musst die Spacebox sich immer mit dir bewegen(damit du nie an ihr ende kommst:), aber wenn du dich drehst darf sie sich nicht mitdrehen (deswegen kann man sie nicht als child an die camera heften!)
So hab ich das gelöst:

Wenn du dich vorwärts bewegst:

Code: [AUSKLAPPEN]


      
MoveEntity camera, 0,0, speed# ; normales bewegen der Camera

x = EntityPitch(spacebox) ; "x" merkt sich die drehung der spacebox um die x-achse
y = EntityYaw(spacebox); "y" merkt sich die drehung der spacebox um die y-achse
z = EntityRoll(spacebox); "z" merkt sich die drehung der spacebox um die z-achse


RotateEntity spacebox, EntityPitch(camera), EntityYaw(camera), EntityRoll(camera) ;bewirkt, das sich die spacebox genau so dreht, wie die camera gedreht ist

MoveEntity spacebox, 0,0,speed#  ;bewirkt, dass die Spacebox so schnell bewegt wird, wie du, und in die gleiche richtung wie du, weil du sie ja wie dich gedreht hast  :D !

RotateEntity spacebox, x,y,z   ; dreht die spacebox wieder so, wie sie vor dem ganzen gedrehe war ;)




Schaue dir alle verwendeten Befehle, die dir nicht sofort klar sind, in der onlinehilfe an! blitzbase.de!
Wenn du irgendetwas nicht kapierst, frag einfach nochmal!

-Nun kannst du z.b. 5 verschiedene sprites laden, die kleine gesteinsbrocken darstellen.
z.b. so: https://www.blitzforum.de/upload/file.php?id=716

-Du verteilst sie zufällig in einigem Abstand um die Camera.
-Prüfe mit "EntityInView" ob sie zu sehen sind, wenn nicht, dann setzte sie erneut zufällig um den Spieler!

So...
Das reicht erstmal!
Wie du das mit den Gesteinen machen kannst, machst du es auch mit vielen anderen zeugs...

Also: versuchs zu verstehen und frag bei bedarf nochmal!

Hier ein bild, wies bei mir aussah:

https://www.blitzforum.de/upload/file.php?id=717

mfg
JTB
www.mas-online.de.gg
__________

Liegt der Camper tot im Keller war der Rusher wieder schneller. Liegt der Rusher tot daneben hat der Camper nen Kollegen!

Pingu_Killer

BeitragDi, Nov 07, 2006 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
hey, vielen dank! probier ich glleich aus!!! sieht nicht so wirklich schwer aus...
Very much thx Very Happy

Aber als erstes möchte ich versuchen, für das "skybox-soll-sich-nicht-mitdrehen" problem eine eigene lösung zu finden. Very Happy
------------------------------------------------------

Gründer und einziges Mitglied von
"NoobTec Games"

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group