Collisions-Problem
Übersicht

MerierBetreff: Collisions-Problem |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo Leute!
Hab mal ne Frage: Ich weiß echt nicht wieso dieser code nicht klappt, könnt ihr euch den mal angucken? Immer wenn ich die Collision 3,4,2,2 anstelle sieht man nurnoch den Panzer und keine Welt mehr. Danke Code: [AUSKLAPPEN] Graphics3D 1024,768 SetBuffer BackBuffer() Spieler = LoadMesh("Modelle\warrior.3ds") ScaleEntity Spieler,0.1,0.1,0.1 EntityType Spieler,3 PositionEntity Spieler,100,100,100 EntityRadius Spieler,0.0001 Camera = CreateCamera() PositionEntity camera,100,10,100 EntityRadius Camera,3 EntityType Camera,1 terrain = LoadTerrain("Modelle\hmap.png") EntityType terrain,2 TerrainDetail terrain, 4000, True ScaleEntity terrain, 1, 50, 1 grass_tex = LoadTexture("Modelle\th_Grass201.JPG") EntityTexture terrain,grass_tex, 0, 1 Spieler2 = LoadMesh("Modelle\warrior.3ds") ScaleEntity Spieler2,0.1,0.1,0.1 EntityType Spieler2,4 PositionEntity Spieler2,100,100,120 EntityRadius Spieler2,0.0001 target=CreatePivot( Spieler ) PositionEntity target,0,10,-100 Repeat MoveEntity Spieler2,0,-0.2,0 MoveEntity Spieler,0,-0.2,0 Collisions 1,2,2,2 Collisions 1,3,2,2 Collisions 3,1,2,2 Collisions 3,2,2,2 Collisions 4,2,2,2 Collisions 3,4,2,2 dx#=EntityX( target,True )-EntityX( camera ) dy#=EntityY( target,True )-EntityY( camera ) dz#=EntityZ( target,True )-EntityZ( camera ) TranslateEntity camera,dx*.1,dy*.1,dz*.1 If KeyDown(200)=True Then MoveEntity Spieler,0,0,0.2 If KeyDown(208)=True Then MoveEntity Spieler,0,0,-0.2 If KeyDown(205)=True Then TurnEntity Spieler,0,-3,0 If KeyDown(203)=True Then TurnEntity Spieler,0,3,0 PointEntity camera,Spieler UpdateWorld() RenderWorld() Text 1,1,"X: "+c1+"Y: "+c2+"Z: "+c3 c1 = dx# c2 = dy# c3 = dz# Flip Cls Until KeyHit(1) End |
||
coolerj |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich bin zwar ein anfänger aber in der hilfe sehe ich keine 4 | ||
MfG
coolerj Meine Website: http://blitzbasicprojeckte.de.tl/ |
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Muss man Collisions nicht _vor_ der Hauptschleife bestimmen?
Probier es mal aus ob es dann klappt. Ansonsten entdecke ich keinen Fehler im Code. Mfg md |
||
Merier |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ähmm ich weiß nicht was du mit der 4 meinst. | ||
coolerj |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ne sry 4 existiert probiere mal was metaldave sagt ich glaube das könnte es sein. | ||
MfG
coolerj Meine Website: http://blitzbasicprojeckte.de.tl/ |
Merier |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich hab das Collisions vor die schleife gestellt und es funktioniert immer nocht net. | ||
coolerj |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich kann dir mal mein ausschnitt geben das könnte dir helfen.
Edit: soll die kammera nicht spieler berühren können oder andersherum?? |
||
MfG
coolerj Meine Website: http://blitzbasicprojeckte.de.tl/ |
- Zuletzt bearbeitet von coolerj am Mi, Apr 22, 2009 17:39, insgesamt einmal bearbeitet
Merier |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ja bitte wenn du das machen würdest | ||
coolerj |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] ;Graphics setzen Graphics3D 1280, 1024, 1 ;Name setzen AppTitle "BlitzBall" ;SetBuffer SetBuffer BackBuffer() ;Load Texturen gras = LoadTexture("gras.bmp") pyramide = LoadTexture("pyramide.bmp") ball = LoadTexture("ball.bmp") ;cubet = LoadTexture("Mauer.bmp") ;Objekte erstellen ;Camera wird erstellt und konfiguriert camera = CreateCamera() ;Light wird erstellt und konfiguriert light = CreateLight() ;Spiel Ball wird erstellt und konfiguriert cone = CreateSphere(32) EntityType cone, 1 EntityTexture cone, ball ;Hintergrund wird erstellt und konfiguriert cube = CreateCube() EntityType cube, 2 PositionEntity cube, 3, 0.5, 10 ScaleEntity cube, 2, 1.5, 2 ;EntityTexture cube, cubet ;Boden wird erstellt und konfiguriert b = CreateCube() PositionEntity b, 2, -1, 10 EntityTexture b, gras ScaleMesh b, 10,0.05,10 ;Variablen setzen x# = 0 y# = 0 z# = 10 sprunggeschwindigkeit = 3 zaehler = 0 sprunghoehe = 0 faktor = 4 apw$ = "abccba" While Not KeyHit(1) ;Wenn sprunghohe unter 0 ist dann wird sie zu 0 sprunghoehe=sprunghoehe-sprunggeschwindigkeit If sprunghoehe < 0 Then sprunghoehe = 0 ;Über prüfen ob Kugel über Rand ist ;X Abfrage If x# >= 11 Then Print "Sie sind über den Rand" Delay 500 x# = 0 y# = 0 End If If x# <= -9 Then Print "Sie sind über den Rand" Delay 500 x# = 0 z# = 10 End If ;Z Abfrage If z# >= 20 Then Print "Sie sind über den Rand" Delay 500 x# = 0 z# = 10 End If If z# <= -0 Then Print "Sie sind über den Rand" Delay 500 x# = 0 z# = 10 End If ;Über prüfen ob irgendeine Taste gedrücht wird If KeyDown(203) = 1 Then x# = x# - 0.1 ;Pfeil nach links cone nach links If KeyDown(1) = 1 Then End ;ESC Beenden If KeyDown(205) = 1 Then x# = x# + 0.1 ;Pfeil nach rechts cone nach rechts If KeyDown(208) = 1 Then z# = z# - 0.1 ;Pfeil nach unten cone nach unten If KeyDown(200) = 1 Then z# = z# + 0.1 ; Pfeil nach oben cone nach oben If KeyDown(32) = 1 Then TurnEntity camera, 0, - 1, 0 ;D camera nach rechts If KeyDown(30) = 1 Then TurnEntity camera, 0, 1, 0 ;A camera nach links If KeyDown(17) = 1 Then MoveEntity camera, 0, 0, 0.05 ;W camera nach vorne If KeyDown(31) = 1 Then MoveEntity camera, 0, 0, - 0.05 ;S camera nach hinten If KeyDown(16) = 1 Then MoveEntity camera, 0,0.05, 0 ;Q camera nach oben If KeyDown(18) = 1 Then MoveEntity camera, 0, - 0.05, 0 ;E camera nach unten If KeyDown(29) And KeyDown(46) Then ;Str C cheats eingeben ;Starte Cheat Dialog cheat$ = Input$ ("Bitte Cheat Code eingeben:") Print cheat$ If cheat$ = 1 Then faktor = 4 Print "Faktor erfolgreich auf 4 gesetzt" End If If cheat$ = 3 Then sprunggeschwindigkeit = 5 Print "Sprunggeschwindigkeit erfolgreich auf 5 gesetzt" End If If cheat$ = 4 Then sprunggeschwindigkeit = 4 Print "Sprunggeschwindigkeit erfolgreich auf 4 gesetzt" End If If cheat$ = 5 Then Print "Admin PW:" + apw$ End If Delay 1000 End If If KeyDown(29) And KeyDown(50) = 1 Then ;Str M Musikabspielen ;Musikspieler track = Input$ ("Wähle einen Musiktrack aus von der CD(0 zum abbrechen):") chnCD = PlayCDTrack (track,2) End If If KeyDown(60) = 1 Then ;F2 für ProHilfe ;Ausgabe ProHilfe und Beedinung pw$ = Input$ ("PW:") If pw$ = apw$ Then stellung = Input$ ("1 für Tastenerklärung, 2 für kurze Hilfe, 3 für faktor:, 4 für geschkeit. :") If stellung = 3 Then faktor = Input$ ("1 für klein, 2 für mittel, 3 auch mittel(aber größer), 4 groß:") End If If stellung = 4 Then sprunggeschwindigkeit = Input$ ("1 - 5(3 standard):") If sprunggeschwindigkeit < 1 Or sprunggeschwindigkeit > 5 Then Repeat sprunggeschwindigkeit = 3 sprunggeschwindigkeit = Input$ ("1 - 5(3 standard):") Until sprunggeschwindigkeit < 1 Or sprunggeschwindigkeit > 5 End If End If End If End If If KeyDown(59) = 1 Then ;F1 für NormHilfe ;Ausgabe NormHilfe und Beedinung stellung = Input$ ("1 für Tastenerklärung, 2 für kurze Hilfe, 3 für Credits und Beenden:") If stellung = "1" Then Print "W:Kamera nach vorne" Print "A:Kamera nach links" Print "S:Kamera nach hinten" Print "D:Kamera nach rechts" Print "Cursorrasten:Steuerung der Kugel" Print "Str C:Cheats" Print "F1:NormHilfe" Print "F2:ProHilfe(benötigt Admin PW)" Print "Str M:Musik abspielen aus einer CD" Print "Drücke eine Taste um weiter zuspielen." WaitKey End If End If If KeyDown(57) = 1 Then sprunghoehe = 180 ;Leertaste für Springen Collisions 1, 2, 2, 2 UpdateWorld RenderWorld ;Über prüfen ob Spielerball auf balla ist ;If z# = zballa# Then ; Print "Balla getroffen" ; Delay 10000 ;End If PositionEntity cone, x#, y#+(Sin(sprunghoehe) * faktor ), z# ;cone wird auf die Richtige Posi gesetzt Flip Wend End Schaue noch mal den Edit von oben an. |
||
MfG
coolerj Meine Website: http://blitzbasicprojeckte.de.tl/ |
mDave |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es könnte auch daran liegen, dass sich die Modelle gegenseitig blockieren.
Einst hatte ich denselben Fehler. Dann habe ich einfach die EntityType Zeilen kurz vor der Hauptschleife hinplatziert und schon hat es geklappt. Ob das nun Zufall ist, kann ich dir nicht sagen. Allerdings kannst du es ja mal ausprobieren. Falls es nicht klappt, wird die Community die schon weiterhelfen. Mfg md |
||
Merier |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke jetzt klapts!
![]() ![]() ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group