Mein 3d Spiel

Übersicht BlitzBasic Beginners-Corner

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen

MrJoney

Betreff: Mein 3d Spiel

BeitragDo, März 01, 2007 20:20
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe ein spiele das so enlich funz das hir nurn bespiel mann spielet es mit wasd und maus taste wie mache ich das das die camera auf dem würfel bleibt ? mfg MrJoneyCode: [AUSKLAPPEN]

Graphics3D 1024,768,32,2
SetBuffer BackBuffer()

mesh = CreateCube()
 
MoveEntity mesh,0,5,0

cam = CreateCamera()
PositionEntity cam,0,5,-5

boden = CreatePlane()

EntityColor boden,155,0,0 

While Not(KeyHit(1))

 If KeyDown(30) Then TurnEntity mesh,0,+3,0
 If KeyDown(32) Then TurnEntity mesh,0,-3,0
 If KeyDown(17) Then MoveEntity mesh,0,0,+0.2
 If KeyDown(31) Then MoveEntity mesh,0,0,-0.2

 RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0
   MoveMouse(100,100) 
   Flip

UpdateWorld
RenderWorld
Flip
Wend
  • Zuletzt bearbeitet von MrJoney am Do, März 01, 2007 22:18, insgesamt einmal bearbeitet

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, März 01, 2007 20:26
Antworten mit Zitat
Benutzer-Profile anzeigen
zB so
Code: [AUSKLAPPEN]
;RotateEntity cam,EntityPitch(cam)+MouseYSpeed(),EntityYaw(cam)-MouseXSpeed(),0
;MoveMouse(100,100)
PointEntity cam,mesh
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

MrJoney

BeitragDo, März 01, 2007 20:31
Antworten mit Zitat
Benutzer-Profile anzeigen
sry ich glaube du hast ,mich falsch verstanden die maus soll dem objekt nicht folgen sonder hinterher gehen wie bei wow so das das mesh der mittelpunkt ist

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, März 01, 2007 20:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht so? Ich kenne WoW nicht...
Code: [AUSKLAPPEN]
MoveEntity cam,MouseXSpeed(),-MouseYSpeed(),EntityDistance(cam,mesh)-10
MoveMouse(100,100)
PointEntity cam,mesh


edit1: Mach das Flip vor Renderworld etc. mal weg!!!
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

MrJoney

BeitragDo, März 01, 2007 21:07
Antworten mit Zitat
Benutzer-Profile anzeigen
ja so enlich danke

MrJoney

BeitragDo, März 01, 2007 21:25
Antworten mit Zitat
Benutzer-Profile anzeigen
hat jemand noch ein anderen vorschlag wärre richtig net von ihm

the FR3AK

BeitragDo, März 01, 2007 21:31
Antworten mit Zitat
Benutzer-Profile anzeigen
So???

Code: [AUSKLAPPEN]
Graphics3D 1024,768,32,2
SetBuffer BackBuffer()

mesh = CreateCube()

MoveEntity mesh,0,5,0

cam = CreateCamera(mesh)
PositionEntity cam,0,5,-5

boden = CreatePlane()

EntityColor boden,155,0,0

While Not(KeyHit(1))

If KeyDown(30) Then TurnEntity mesh,0,+3,0
If KeyDown(32) Then TurnEntity mesh,0,-3,0
If KeyDown(17) Then MoveEntity mesh,0,0,+0.2
If KeyDown(31) Then MoveEntity mesh,0,0,-0.2

PointEntity cam,mesh
MoveMouse(100,100)
Flip

UpdateWorld
RenderWorld
Flip
Wend

MrJoney

BeitragDo, März 01, 2007 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
danke habe noch ne frage ich habe ein menu Code: [AUSKLAPPEN]
 Graphics3D 1024,768,32,2
SetBuffer BackBuffer()

soundvariable = LoadSound("Data\Menu\Sound\music04.mp3")
channel = PlaySound(soundvariable)


Maus = LoadImage("Data\Menu\Bilder\Maus.bmp") ; Die Maus
Butten = LoadImage("Data\Menu\Bilder\Menu Butten.bmp") ; Menu Butten
Menu2 = LoadImage("Data\Menu\Bilder\1.jpg") ; Menu Bild


MaskImage Butten, 0, 0, 255
MaskImage Maus, 0, 0, 255

font = LoadFont("Times New Roman", 40, 1, 0, 0)
SetFont font

; Graphik für Menüpunkt erzeugen

stein = CreateImage(32,32)
SetBuffer ImageBuffer(stein)
DrawImageRect Butten, 0, 0, 444, 308, 32, 32
ScaleImage stein, 8, 2

; Graphik für aktiven Spielstein erzeugen

aktivstein = CreateImage(32,32)
SetBuffer ImageBuffer(aktivstein)
DrawImageRect Butten, 0, 0, 2, 342, 32, 32
ScaleImage aktivstein, 8, 2


; Menü definieren

Dim MenuZeile(3) : Dim MenuName$(3)
MenuZeile(1) = 100 : MenuName$(1) = "Einzelspieler"
MenuZeile(2) = 150 : MenuName$(2) = "Credits"
MenuZeile(3) = 400 : MenuName$(3) = "Ende"

;
; Hauptmenü-Schleife
;
SetBuffer BackBuffer()
Repeat
I = I+1
If I=200 Then I=0
TileBlock Menu2,0,I
Menu = 0
X = MouseX()
Y = MouseY()

For I=1 To 3
If ImageRectOverlap (maus, X, Y, 192, 100*I, 256, 64) Then
DrawImage aktivstein, 192, I * 100
Menu = I
Else
DrawImage stein, 192, I * 100
EndIf
Text (640 - StringWidth( MenuName$(I) )) / 2, I*100 + 12, MenuName$(I)
Next

DrawImage maus, X,Y
Flip

If MouseHit(1) Then
If Menu = 1 Then Einzelspieler()
If Menu = 2 Then Credits() 
If Menu = 3 Then Ende()
EndIf

Until KeyHit
End

;
; Funktionen für Menüpunkte
;

Function Einzelspieler()

End Function

Function Credits()
Repeat
Cls
Text 100,100, "Credits"
Flip
Until KeyHit(1)
End Function
 

Function Ende()
FreeImage stein
FreeImage hinter
FreeImage tiles
FreeImage maus
End
End Function

das der code wqenn ich jetzt auf einzelplayer drücke sollte der andere code kommen wie mache ich dasCode: [AUSKLAPPEN]
Code: [AUSKLAPPEN]
  • Zuletzt bearbeitet von MrJoney am Do, März 01, 2007 22:17, insgesamt einmal bearbeitet

the FR3AK

BeitragDo, März 01, 2007 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein kleines Beispiel wie das gehen könnte:

Code: [AUSKLAPPEN]
Graphics 1000,200,16,2
.code1
   Print "Sie befinden sich in Code1!Drücken sie die Linke Maustaste um in Code2 zu Springen..."
   If MouseHit(1)=1 Then Goto code2

Goto code1

.code2
   Print "Sie befinden sich in Code2!Drücken sie die Linke Maustaste um in Code1 zu Springen..."
   If MouseHit(1)=1 Then Goto code1
Goto code2


Cool

MrJoney

BeitragDo, März 01, 2007 21:59
Antworten mit Zitat
Benutzer-Profile anzeigen
wie mus mann das jetzt machen ?

the FR3AK

BeitragDo, März 01, 2007 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
z.B. so:

in .code1 kommt der erste code
In .code2 kommt der einzelspieler code

wenn jetzt der Button geklickt wurde machste dann einach goto code2

Wink

MrJoney

BeitragDo, März 01, 2007 22:05
Antworten mit Zitat
Benutzer-Profile anzeigen
sry ich rafs nich so oder wie ?Code: [AUSKLAPPEN]

Function Einzelspieler()
Goto Sprung
Print "Dieser Text wird nicht angezeigt"
.Sprung ("..\e.bb")

End Function
  • Zuletzt bearbeitet von MrJoney am Do, März 01, 2007 22:19, insgesamt einmal bearbeitet

the FR3AK

BeitragDo, März 01, 2007 22:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Jou so könnte man das machen Cool

BladeRunner

Moderator

BeitragDo, März 01, 2007 22:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Würdest Du die Gnade haben und die Code-Tags benutzen ? Und es wäre auch nett wenn Du versuchen würdest deine Fragen in verständlichem Deutsch zu formulieren.
zudem:
~VERSCHOBEN~
Dieser Thread passte nicht in das Forum, in dem er ursprünglich gepostet wurde.
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

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, März 01, 2007 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich weiß nicht ob du mit Goto arbeiten willst, aber in der OH wird ql:Goto schon ganz gut erklärt.

Falls du bei deinen Funktionen bleiben willst, so empfehle ich - kommt natürlich auf die Größe deines Projektes an - eine Art Gamemanager zu erstellen. Also ein Programmteil der alle anderen 'kontrolliert'. Das ginge zB so:
Code: [AUSKLAPPEN]
;Mainloop
While not KeyHit(1)
 If KeyHit(2) Then Spielen() ;Hier gehts zum Game
 If KeyHit(3) Then Highscore() ;Hier gehts zum...
Wend
end


Function Spielen()
 While not KeyHit(1)
  ;Hier kommt der ganze Kramm rein!
  ;Aber vorsicht mit den Lokalen -Variablen
 Wend
End Function()
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

MrJoney

BeitragDo, März 01, 2007 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich versuchs was sind codetags ?

BladeRunner

Moderator

BeitragDo, März 01, 2007 22:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn Du einen Post erstellst steht über dem textfeld "code". Wenn Du nun Code einfügst, kannst Du ihn markieren und auf dieses Feld drücken, dann erscheint er eingerückt und man kann ihn besser lesen.
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

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, März 01, 2007 22:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Beim erstellen eines Posts kannst oben auf den Code-button klicken, dann erscheinen im Eingabetext in eckigen Klammern (code) und dazwischen kommt dein Code. Wenn der Code zu ende ist drückst du nochmal da rauf, und es erscheint ein in eckigen Klammern (/code) und hier kannst du weiter schreiben.

Für uns ist es dann schön lesbar, was dein Code ist und was du uns mitteilen willst. Jetzt kommt ein Codetag, pass auf! Code: [AUSKLAPPEN]
ich stehe zwischen zwei Codetags
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

MrJoney

BeitragDo, März 01, 2007 22:16
Antworten mit Zitat
Benutzer-Profile anzeigen
ok danke

MrJoney

BeitragDo, März 01, 2007 22:21
Antworten mit Zitat
Benutzer-Profile anzeigen
so habe ich bei meinen post geändert versuche mein problem besser darzustellen mein menu code habt ihr ja wie kann ich jetzt den code für mein spiele das so enlich aufgebaut ist wie der erste code denn ich gepostet habe in die function einbauen einzelspieler ?

Gehe zu Seite 1, 2  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group