Egoshooter mit mehreren Ebenen. Wie laufen??

Übersicht BlitzBasic Blitz3D

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

Neue Antwort erstellen

 

Affje

BeitragMo, Mai 24, 2004 15:37
Antworten mit Zitat
Benutzer-Profile anzeigen
eben, ich laube wir blicken nicht, wie es geht, aber andere verstehen nicht, was wir wollen *fg*.

wenn der level nur eine ebene hat is das ja easy, nur wenn der level eben mehrere ebenen hat (z.b. rampen oder treppen), dann is das etwas kompliziert Shocked
www.drachengarde.tk
Guckst da Hier
 

Dreamora

BeitragMo, Mai 24, 2004 15:41
Antworten mit Zitat
Benutzer-Profile anzeigen
nein wirds nicht weil das kollisions system das vollständig übernimmt

das is das was ihr definitiv net geblickt habt
 

Peak7810

BeitragMo, Mai 24, 2004 16:23
Antworten mit Zitat
Benutzer-Profile anzeigen
das vorangegangene Beispiel erklärt einleuchtend die Funktion von Collisions, und man kann sich damit auch wunderbar auf einer Treppe oder so auf eine zweite Ebene hinaufbewegen.

Das Problem ist aber trotzdem, dass es in diesem Level dann nichts wie eine Schwerkraft gibt.

Man brauch bis zur zweiten Ebene nicht hochlaufen, sondern kann hochfliegen.

Wie realisiert man denn sowas wie eine Schwerkraft?

BladeRunner

Moderator

BeitragMo, Mai 24, 2004 16:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Was macht die echte schwerkraft? sie wirkt ständig auf dich ein und zieht dich richtung Erdmittelpunkt. also entlang einer y-Koordinate.
Du musst nur dasselbe machen, in jedem Hauptschleifendurchgang deinen player nach unten ziehen. wenn boden im weg ist, gehts nit, andernfalls beginnt er zu fallen.
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
 

Peak7810

BeitragMo, Mai 24, 2004 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja klar logisch.

Werde mich mal an die technische Umsetzung machen.

Für ein paar konstruktive Zwischenrufe sind wir natürlich dankbar.


[Edit] So, habs leider immer noch nicht geschafft. Entweder ist die Wirkung meiner Versuche = 0, oder ich bleibe wie angetackert aufm Boden kleben.
 

Peak7810

BeitragMo, Mai 24, 2004 19:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist zum wahnsinnig werden.

Ich habe echt probiert und probiert, bei Linepick bin ich ja erstmal überhaupt nicht durchgestiegen.

Ich poste hier trotzdem mal vorsichtig einen Beispielcode.

Wäre nett wenn den eventuell einer von Euch vervollständigen könnte, ich weiss echt nicht mehr weiter.

Bitte, Bitte, Bitte

Global x = 1024
Global y = 768

Graphics3D x, y, 32, 1

SetBuffer BackBuffer()

Level = LoadMesh("map-schräg-text.b3d")
Kamera = CreateCamera()
licht = CreateLight(2)

EntityType Kamera,1
EntityType Level, 2

Collisions 1,2,2,3

PositionEntity licht, 0, 30, 0
PositionEntity Level, 0, -15, 0
PositionEntity Kamera, 0, 3, -50

CameraRange Kamera, 0.1, 100000
MoveMouse x / 2, y / 2


HidePointer()

While Not KeyHit(1)


If KeyDown(17) = 1 Then MoveEntity Kamera, 0, 0, 0.3
If KeyDown(31) = 1 Then MoveEntity Kamera, 0, 0, -0.1

If KeyDown(30) = 1 Then MoveEntity Kamera, -0.1, 0, 0
If KeyDown(32) = 1 Then MoveEntity Kamera, 0.1, 0, 0


If KeyDown(16) = 1 Then TurnEntity Kamera, 0, 1, 0
If KeyDown(18) = 1 Then TurnEntity Kamera, 0, -1, 0

mxspd=MouseXSpeed()*0.25
myspd=MouseYSpeed()*0.25
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
pitch=pitch+myspd
yaw=yaw-mxspd
If pitch<-90 Then pitch=-90
If pitch>90 Then pitch=90
RotateEntity Kamera,pitch,yaw,0

RenderWorld

UpdateWorld


Flip

Wend


End




Danke
 

Dreamora

BeitragMo, Mai 24, 2004 19:43
Antworten mit Zitat
Benutzer-Profile anzeigen
ich seh da keine gravity

arbeit dich erst ma richtig ins thema ein bitte
 

blitzblaster

BeitragMo, Mai 24, 2004 19:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi !

Für die Schwerkraft schau Dir mal den Befehl TranslateEntity an. Und dann befolge das, was BladeRunner gesagt hat. Und nur mal so am Rande...es gibt nicht nur 0, 1, 2 sondern auch Zwischenwerte. Etwas mehr Feingefühl Peak7810. Very Happy
 

Peak7810

BeitragMo, Mai 24, 2004 20:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe ja auch aus dem Quellcode meine hoffnungslosen Versuche rausgenommen.

Sollte nur die momentane Steuerung verdeutlichen.

Okay, ich probier mal mit TranslateEntity rum.

Schade das mir keiner ein direktes Beispiel zeigen will.

Naja, dann versuch ichs erstmal selbst.

Wird schon irgendwie gehen.

@blitzblaster: was für Werte meintest du, bzw. für welchen Befehl (TranslateEntity)? Oder meinst du das insgesamt. (Das mit dem Feingefühl hab ich nicht so ganz verstanden)
 

BB-Fan

BeitragMo, Mai 24, 2004 20:58
Antworten mit Zitat
Benutzer-Profile anzeigen
bin neu hier, und hab dasselbe Problem mit diesem Laufen inner Map.

habs in nem englischen Forum versucht, aber da es nicht so weit her ist mit meinem englisch....naja

wäre nett wenn jemand mal hilft.....

bin ja nicht der einzige der es nicht rafft
 

HOT-BIT

Gast

BeitragMo, Mai 24, 2004 21:01
Antworten mit Zitat
Hoi !

Ich raff's auch nicht, denn ich hab's noch nicht mal probiert ! Smile

Aber wehe, wenn ich mal anfange ..

Toni
 

BB-Fan

BeitragDi, Mai 25, 2004 7:06
Antworten mit Zitat
Benutzer-Profile anzeigen
scheint ja keiner hier zu sein, der einem mal mit ´nem Fetzen Code auf die Sprünge helfen will.

Hab mir den ganzen Thread mal durchgelesen, und wundere mich.

Jungs und Mädels ist es denn echt so schwer mal wirklich zu helfen.

Jan_

Ehemaliger Admin

BeitragDi, Mai 25, 2004 7:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Global x = 1024
Global y = 768

Graphics3D x, y, 32, 1

SetBuffer BackBuffer()

Level = LoadMesh("map-schräg-text.b3d")
Kamera = CreateCamera()
licht = CreateLight(2)

EntityType Kamera,1
EntityType Level, 2

Collisions 1,2,2,3

PositionEntity licht, 0, 30, 0
PositionEntity Level, 0, -15, 0
PositionEntity Kamera, 0, 3, -50

CameraRange Kamera, 0.1, 100000
MoveMouse x / 2, y / 2


HidePointer()

While Not KeyHit(1)

;---------------------------------------------
;-----------------Tanstatur----------------------------
;---------------------------------------------
If KeyDown(17) = 1 Then MoveEntity Kamera, 0, 0, 0.3
If KeyDown(31) = 1 Then MoveEntity Kamera, 0, 0, -0.1

If KeyDown(30) = 1 Then MoveEntity Kamera, -0.1, 0, 0
If KeyDown(32) = 1 Then MoveEntity Kamera, 0.1, 0, 0


If KeyDown(16) = 1 Then TurnEntity Kamera, 0, 1, 0
If KeyDown(18) = 1 Then TurnEntity Kamera, 0, -1, 0

;---------------------------------------------
;-------------------Maus--------------------------
;---------------------------------------------
mxspd=MouseXSpeed()*0.25
myspd=MouseYSpeed()*0.25
MoveMouse GraphicsWidth()/2,GraphicsHeight()/2
pitch=pitch+myspd
yaw=yaw-mxspd
If pitch<-90 Then pitch=-90
If pitch>90 Then pitch=90
RotateEntity Kamera,pitch,yaw,0
;---------------------------------------------
;--------------------Updates-------------------------
;---------------------------------------------
   translateentity cam,0,-0.5,0 ; dank BB korigiert
RenderWorld
UpdateWorld

Flip
;---------------------------------------------

Wend


End
between angels and insects
  • Zuletzt bearbeitet von Jan_ am Di, Mai 25, 2004 8:25, insgesamt einmal bearbeitet
 

blitzblaster

BeitragDi, Mai 25, 2004 7:56
Antworten mit Zitat
Benutzer-Profile anzeigen
@ Jan: In diesem Fall hängt er an der Decke.

@ Peak7810: Nimm mal den Wert TranslateEntity Kamera,0,-.7,0. Da ist dann die Gavitation nicht ganz so stark nach unten gesetzt. Je kleiner die Zahl (-.7) desto stärker zieht er nach unten. Wenn Du den Wert dann umdrehst, dann gehts logischer Weise nach oben. Sollte doch durch Jans Code jetzt nicht mehr so schwer sein es nachzuvollziehen, oder ? Und das mit dem Feingefühl bezieht sich auf TranslateEntity. Aber auch für andere Befehle gilt nicht immer nur 1, 2, 3.

Gruß Blitzblaster
 

Peak7810

BeitragDi, Mai 25, 2004 11:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Jopp, danke für die Hilfe.
Bin aber wider Erwarten gestern sogar selbst noch drauf gekommen.

Thx
 

Peak7810

BeitragFr, Jun 04, 2004 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann man jetzt noch irgendwie die Bodenhöhe verändern.

Das also die Kamera durch die Gravitation nicht ganz auf den Boden gezogen wird, bis die Kollision eintritt, sondern dass sie immer etwas über dem Boden bleibt.

Man schleicht sonst immer aufm Boden rum.

Ich habs schon mit verschiedenen Arten probiert, aber entweder die Graviation geht dann nicht mehr, oder ich hab Probleme mit der Kollision.

(ich hoffe, das ist jetzt keine blöde Frage)

Henry

BeitragFr, Jun 04, 2004 18:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Erstelle einen Pivot [kameraPivot = createpivot()], welcher auf dem Boden ist und über einen Kollisionstyp verfügt.
Erstelle dann die Kamera, die Child von diesem Pivot ist [kamera = createCamera(kameraPivot)] und setze die Kamera auf die gewünschte Höhe.
Da sie Child des Pivots ist, kannst Du den Pivot bewegen und die Kamera geht mit, die Kollision findet aber mit dem Pivot am Boden statt.
Aiya Eärendil Elenion Ancalima!

All you have to decide is what to do with the time that is given to you.

Robsite.de ist eine Anlaufstelle für Tutorials und Tools, die Noobs das Leben leichter machen!
Forensuche ist nicht nur als Lückenfüller in den oberen Links gedacht!
 

Peak7810

BeitragFr, Jun 04, 2004 19:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Hilfe.

Ich werde zwar an der Umsetzung zu knabbern haben, aber ich werds schon schaffen.

Thx


[edit] Da kann ich doch dem Pivot gleich eine Spielfigur zuweisen, korrekt?
 

IonPainter

BeitragFr, Jun 04, 2004 22:52
Antworten mit Zitat
Benutzer-Profile anzeigen
man könnte sich auch in den projekte thread bemühen, den YaD - Yet Another Deathmatch thread suchen und dann die source meines multiplayershooters aufbröseln Smile
 

Gast

BeitragSo, Jun 06, 2004 21:53
Antworten mit Zitat
Noch ma zu dem Beispiel von Jan_.
Bei dem Beispiel is es so das ma da sliden kann. Was bedeutet des??
Falls sliden einfach nur die Wände hoch laufen (sliden) is dann giltet des ja für den ganzen Raum und net speziel für Treppen. Leider hab ich kein BlitzBasic3D (wills mir aber bald kaufen) also kann ich des Beispiel net ausprobieren. Und die Onlinehilfe über Collisionen hab ich gelesen.

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

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group