Spielstand speichern und laden

Übersicht BlitzBasic Blitz3D

Gehe zu Seite Zurück  1, 2, 3, 4, 5  Weiter

Neue Antwort erstellen

 

dreamfile

BeitragMi, Aug 30, 2006 15:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Überlege dir erstmal wie du mit anderen Redest.
Dann schau dir mal Driver ua. an, da bewegt man das
Car und an dem hängt ein Pivot und daran die Cam.

Ich bin raus hier ... das muss man sich nicht bieten lassen.

KINDER !!!!

Sascha
Der Neue
 

Dreamora

BeitragMi, Aug 30, 2006 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du dir überlegt, was in einem Autospiel das Hauptobjekt ist?

Genau, das Auto

Aber in einem Shooterspiel aus First Person Sicht ist es die Kamera bzw. die Spielfigur.
Alles an der Waffe festzumachen, wäre wie wenn du in einem Autorennspiel alles an einem der Räder festmachen würdest. Denke du siehst auch ein, dass das eine sehr blöde Idee wäre.

=> Die Kamera oder der Kamerapivot müssen an das Hauptobjekt gebunden werden, was auch immer das sein mag.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

programmier-boy

BeitragMi, Aug 30, 2006 16:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Dreamora hat Folgendes geschrieben:
Hast du dir überlegt, was in einem Autospiel das Hauptobjekt ist?

Genau, das Auto

Aber in einem Shooterspiel aus First Person Sicht ist es die Kamera bzw. die Spielfigur.
Alles an der Waffe festzumachen, wäre wie wenn du in einem Autorennspiel alles an einem der Räder festmachen würdest. Denke du siehst auch ein, dass das eine sehr blöde Idee wäre.

=> Die Kamera oder der Kamerapivot müssen an das Hauptobjekt gebunden werden, was auch immer das sein mag.

hab ich des dann richtig programmiert?
 

Dreamora

BeitragMi, Aug 30, 2006 16:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, solange deine Figur noch keine physikalische Representation hat, schon.
Das heisst, sobald deine Figur einen wirklichen Körper bekommt, Parent die Cam an diese Figur (oder Cam an ein Pivot und das Pivot an die Figur wenns 3rd Person auch unterstützen soll) und bewege die Figur. Denn das wird nötig sein, da ja die Figur dann auf Kollisionen reagiert und nicht die Cam (wenn beides eine bekommt, wirds natürlich nochmal komplexer).

Was allerdings nach wie vor das Problem ist, ist das die Figur nicht läuft, sondern horizontal gleitet, deswegen ist die Bewegung bei den meisten nicht möglich oder nur durch Sprünge möglich wird.
Da müsstest du beim vorwärtsbewegen Mal versuchen das der Schritt der Gravitation entgegen wirkt (sprich nicht nur Move in Z richtung bei vorwärts sondern auch in Y Richtung), also so wie bei einem Schritt in der Realität ist. Also ich vermute zumindest Mal, das du in Realität die Füsse hebst und nicht die Sohle gewaltsam über dem Boden schiebst
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

programmier-boy

BeitragMi, Aug 30, 2006 16:30
Antworten mit Zitat
Benutzer-Profile anzeigen
aber wenn ich jetz nur bei moveentity camera,0,0.5,10 schreib dann geh ich ja in der luft und des ist ja dumm. Das heißt ich muss ja dann irgendwie machen dass er wieder nach unten kommt. aber wie mach ich des? Also sag mir nur mal nen denkanstoss dann probier ichs mal selber.
Gibt's da nen eigenen Befehl?

FreetimeCoder

BeitragMi, Aug 30, 2006 16:34
Antworten mit Zitat
Benutzer-Profile anzeigen
-Mach dir nen Pivot, den du dann als Hauptfigur nimmst.
-Dann setzt die Kamera als Child in den Pivot.
-Drehe den Pivot nur nach rechts und links, die Kamera nach oben und unten
-Beweg nur den Pivot mit moveentity
-Die Kamera kommt automatisch mit

-Schau dir den Link mal genau an, das Problem ist zwar ein anderes aber für dein Problem kann man den Code auch anwenden.
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA
 

dreamfile

BeitragMi, Aug 30, 2006 16:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn er meherer Waffen benutzt ist es sicher ein blöde Idee,
aber ich meinte er soll sich erstmal einen Player schaffen,
etwas an der Cam festzumachen finde ich ungünstig da es einem
einfach weitere ausbaumöglichkeiten verbaut. Der player
ist meistens immer gleich, Waffen oder Cameinstellungen können
sich schnell mal ändern.

Vorallem sollte es ein Anstoss sein mal ein bischen rumzuprobieren,
ich glaube nicht das ich ihm hier mit ein paar Zeilen ein perfektes
Game liefern kann und ich denke mal nicht das er nächstes Jahr
schon Quake 2007 fertig hat. Vieleicht machst du das schon zulange
und hast vergessen das das rumprobieren mehr Spass macht und
unter dem Strich mehr bringt. Je weiter die Programmierung fortgeschritten ist um so langweiliger wird sie auch - finde ich.

Nur weil du nicht meiner Meinung bist musst du mein Wissen über BB3D nicht in den Dreck ziehen - soviel dazu. Rolling Eyes

Sascha

PS. Ich programmiere zZt. abundzu an meiner kleinen Welt, haste ja gesehen, jetzt stehe ich vor einem kleinen Problem das sicher einfach zu lösen ist. Nach dem Problem zu fragen spar ich mir und ich denke das es anderen vor mir auch schon so ging. Denk mal drüber nach. Wink
Der Neue
 

programmier-boy

BeitragMi, Aug 30, 2006 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
also mit pivot hab ich noch nicht gearbeitet und muss ich wenn ich den pivot an die kamera hänge auch noch mit Positionentity positionieren oder nicht?
 

dreamfile

BeitragMi, Aug 30, 2006 16:45
Antworten mit Zitat
Benutzer-Profile anzeigen
programmier-boy hat Folgendes geschrieben:
aber wenn ich jetz nur bei moveentity camera,0,0.5,10 schreib dann geh ich ja in der luft und des ist ja dumm. Das heißt ich muss ja dann irgendwie machen dass er wieder nach unten kommt. aber wie mach ich des? Also sag mir nur mal nen denkanstoss dann probier ichs mal selber.
Gibt's da nen eigenen Befehl?




TranslateEntity
Der Neue
 

programmier-boy

BeitragMi, Aug 30, 2006 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
ok ich habs jetz. Jetz bleibt man wenn man springt an der gleichen Stelle. Danke für die Hilfe.

Aber ich würd trotzdem noch gern n tut oder so für des pivot zeugs haben. Hat da einer nen link?
 

Dreamora

BeitragMi, Aug 30, 2006 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Falls es auf der robsite.de sowie FAQ & Tutorials kein tutorial gibt und dir die Beispiele in der Hilfe (auch www.blitzbase.de) nicht ausreichen bleiben nur einfache Beispiele die du dir schreibst um verhalten zu verstehen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

programmier-boy

BeitragMi, Aug 30, 2006 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
ok werd wohl selber rumprobieren müssen. Aber wenn ich jetz den pivot an die kamera mache muss ich dann noch den pivot positionieren??? Weil er ist ja an der Kamera????
 

Ava

Gast

BeitragMi, Aug 30, 2006 23:46
Antworten mit Zitat
Du sollst die Camera an den Pivot hängen - nicht umgekehrt! Very Happy

Anschliessend bewegst Du nur noch den Pivot, die Camera bewegt sich dann automatisch mit ihm mit! - vorrausgesetzt natürlich, dass sie ein Child vom Pivot ist.

Im übrigen sind Pivots eigentlich nur (unischtbare) Punkte im 3D-Raum, die man als Hilfs-Koordinaten/Objekte verwendet. Funktionieren tun sie genauso, wie jedes andere 3D-Objekt. Vielleicht hilft Dir das, sie ein bisschen besser zu verstehen. Smile

+ Ava +
 

programmier-boy

BeitragDo, Aug 31, 2006 0:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ava hat Folgendes geschrieben:
Du sollst die Camera an den Pivot hängen - nicht umgekehrt! Very Happy

Anschliessend bewegst Du nur noch den Pivot, die Camera bewegt sich dann automatisch mit ihm mit! - vorrausgesetzt natürlich, dass sie ein Child vom Pivot ist.

Im übrigen sind Pivots eigentlich nur (unischtbare) Punkte im 3D-Raum, die man als Hilfs-Koordinaten/Objekte verwendet. Funktionieren tun sie genauso, wie jedes andere 3D-Objekt. Vielleicht hilft Dir das, sie ein bisschen besser zu verstehen. Smile

+ Ava +

was is den nur schon wiede ein child????

Cat

BeitragDo, Aug 31, 2006 0:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein Child ist ein Objekt das einfach an ein anderes angehängt wurde.

Zitat:
Anschliessend bewegst Du nur noch den Pivot, die Camera bewegt sich dann automatisch mit ihm mit! - vorrausgesetzt natürlich, dass sie ein Child vom Pivot ist.


Das sieht dann in etwa so aus:

Code: [AUSKLAPPEN]
Cam = CreateCamera()
Pivot = CreatePivot(Cam)


Lg
Intel Core 2 Duo E6300 (2 x 1,86 Ghz)

2 x 1024 MB Arbeitsspeicher

NVidia GeForce 8800 GT
 

programmier-boy

BeitragDo, Aug 31, 2006 1:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Cat hat Folgendes geschrieben:
Ein Child ist ein Objekt das einfach an ein anderes angehängt wurde.

Zitat:
Anschliessend bewegst Du nur noch den Pivot, die Camera bewegt sich dann automatisch mit ihm mit! - vorrausgesetzt natürlich, dass sie ein Child vom Pivot ist.


Das sieht dann in etwa so aus:

Code: [AUSKLAPPEN]
Cam = CreateCamera()
Pivot = CreatePivot(Cam)


Lg

cool danke
und wann sollte man sowas hernehmen?

FreetimeCoder

BeitragDo, Aug 31, 2006 6:30
Antworten mit Zitat
Benutzer-Profile anzeigen
@Cat: Du machst den selben Fehler, den wir verhindern wollten Rolling Eyes

Es muss so heißen:

Code: [AUSKLAPPEN]
Pivot=createPivot()
Kamera=CreateCamera(Pivot)
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA
 

Dreamora

BeitragDo, Aug 31, 2006 7:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ganze nimmste dann wenn die Kamera sich in einem bestimmten Abstand zu etwas drehen soll. Durch das Pivot kannst du sie um den Pivot Punkt rotieren lassen anstatt sie direkt an Ort und Stelle rotieren zu lassen.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Cat

BeitragDo, Aug 31, 2006 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Huch Shocked
da hab ich mich wohl selbst vertan,sorry Embarassed
Intel Core 2 Duo E6300 (2 x 1,86 Ghz)

2 x 1024 MB Arbeitsspeicher

NVidia GeForce 8800 GT

FreetimeCoder

BeitragDo, Aug 31, 2006 16:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier mal ein sauber dokumentierter Code mit Laufen, Springen und einer Waffe (Würfel) Wink

Code: [AUSKLAPPEN]
;Graphics setzen______________________________________________________
Graphics3D 800,600,0,2
SetBuffer BackBuffer()

;________________________/Variablen\__________________________________
Const Player=1,Scene=2,Ground=3 ;Die beide Kollisionstypen
Const Oben=17,Unten=31,Links=30,Rechts=32,Leer=57 ;Hier wird für jede benutzte Taste eine Variable eingefügt
Global Grav#=-0.3 ;Gravitation

;________________________/Szene erstellen\____________________________
Licht=CreateLight() ;Kleines Licht einfügen, sonst wirkt die Szene matschig

KameraPivot=CreatePivot() ;Pivot erstellen
EntityType KameraPivot,Player ;Kollisionstyp zuweisen

Kamera=CreateCamera(KameraPivot) ;Kamera erstellen und als child vom Pivot setzen
PositionEntity Kamera,0,3,0 ;Kamera positionierne (etwas überhalb des Pivots)
PositionEntity Kamerapivot,0,10,0 ;Den Pivot positionieren

;Ich hab jetz mal nen Würfel als Waffe genommen ^^
Waffe=CreateCube(Kamera) ;Waffe erstellen (Als child der Kamera, damit die Waffe immer an der selben Stelle bleibt
ScaleEntity Waffe,0.1,0.1,2 ;Waffe skalieren
PositionEntity Waffe,1,-1,0 ;Waffe positionieren

Boden=CreatePlane() ;Boden erstellen
EntityColor Boden,200,200,200 ;Ein bisschen Farbe, damit sich der Boden vom Rest unterscheidet
EntityType Boden,Ground ;Kollisionstyp zuweisen

;_____________________________________________________________________
;Das Array hab ich hinzugefügt, damit man eine kleine Szene hat
Dim Objekte(20) ;Array hinzufügen

For i=1 To 20 ;Jedes Array durchgehen
   Objekte(i)=CreateCube() ;Für jedes Array einen Würfel erstellen
   EntityType Objekte(i),Scene ;Kollisionstyp zuweisen
   PositionEntity Objekte(i),Rnd(-20,20),2,Rnd(-20,20) ;An eine zufällige Position setzten
Next
;_____________________________________________________________________

;Kollisionen aktivieren_______________________________________________
Collisions Player,Scene,2,2 ;Kollisionen für Szene setzen
Collisions Player,Ground,2,2 ;Kollisionen Boden setzen

;Maus in die Mitte des Fensters bewegen_______________________________
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2

;__________________________/Main\_____________________________________
While Not KeyHit(1)
   Cls ;Backbuffer leeren
   TranslateEntity KameraPivot,0,Grav,0 ;Gravitation erzeugen
   If KeyHit(Leer) ;wenn die Leertaste gedrückt wurde, springen
      Grav=1
   EndIf
   If Grav>-0.3 ;Ist Grav größer als -0.3 langsam zu -0.3 zurückkehren
      Grav=Grav-0.1
   EndIf
   If KeyDown(Oben) ;Nach vorne laufen
      MoveEntity KameraPivot,0,0,0.1
   EndIf
   If KeyDown(Unten) ;Nach hinten laufen
      MoveEntity KameraPivot,0,0,-0.1
   EndIf
   If KeyDown(Rechts) ;Nach rechts laufen
      MoveEntity KameraPivot,0.1,0,0
   EndIf
   If KeyDown(Links) ;Nach links laufen
      MoveEntity KameraPivot,-0.1,0,0
   EndIf
   Mx#=MouseXSpeed() ;MausXSpeed ermitteln
   My#=MouseYSpeed() ;MausYSpeed ermitteln
   TurnEntity Kamerapivot,0,-Mx/2,0 ;Pivot nach rechts oder links drehen
   TurnEntity Kamera,My/2,0,0 ;Kamera nach oben oder unten drehen
   MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 ;Maus wieder in die Mitte des Bildschirms setzen
   UpdateWorld ;Kollisionen überprüfen
   RenderWorld ;Rendern
   Flip ;Anzeigen
Wend ;Schleife von vorn beginnen
End ;Ende
"Wir haben keine Chance, aber wir werden sie nutzen!"
Projekte:
Dexterity Ball (100%)
Aquatic Atmosfear (22 % ca 4700 Zeilen) eingefrohren mangels OOP Fähigkeiten von Blitz
(ehemals Uboot)
PC: Intel D 3 GHz | NVidiaGforce 6700 256 Mb | 1024 Mb DDR RAM 400 Mhz | 2x160 GB S-ATA

Gehe zu Seite Zurück  1, 2, 3, 4, 5  Weiter

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group