Riesiges Collisions-Problem!!!
Übersicht

AFROBetreff: Riesiges Collisions-Problem!!! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi erstmal^^
Ich hab ein riesiges Problem mit meinen Collisionen (zumindest denke ich dass es daran liegt), von dem ich nicht einmal gedacht habe, dass es so etwas geben könnte. Wenn ich auf der seite der Bierkästenreihe in meinem Level stehe, wird der Schuss nicht wie normal an allen anderen Stellen im Level einfach beim Spieler erstellt, sonder vom 0 punkt aus (0,0,0) und fliegt von dort aus aber wenigstens in die richtige Richtung^^. Wie gesagt denke ich es liegt an den Collisionen, bzw der Anordnung meiner Befehle und ich poste einfach mal den kompletten post und entlschuldige mich an dieser Stelle schon einmal dafür, doch weiß ich nicht im Geringsten wo das Problem stecken könnte. Code: [AUSKLAPPEN] Graphics3D 1024, 768, 16, 1
SetBuffer BackBuffer () Const Player_Col = 1 Const Fence_Col = 2 Const House_Col = 7 Const Assault_Bullet_Col = 10 ;------------------------------------------ Global Pivot = CreatePivot () PositionEntity Pivot, 0, 18, -30 EntityType Pivot, Player_Col EntityRadius Pivot, 10 Global Player = LoadAnimMesh ("Graphics\German\Assault_Animated.b3d") ScaleEntity Player, 0.2, 0.2, 0.2 PositionEntity Player, 0, 18,-30 EntityRadius Player, 10 EntityParent Player, Pivot anim_player_reload=LoadAnimSeq(player,"graphics\german\assault_animated.b3d") Global Camera = CreateCamera (Player) CameraRange camera, 1, 100000 PositionEntity Camera, 0, 28, -10 ;-10 Light = CreateLight () ;------------------------------------------ Global Bierkasten = LoadMesh ("Graphics\Level_1\Bierkasten.b3d") HideEntity Bierkasten RotateEntity Bierkasten, 270, 0 ,0 ScaleEntity Bierkasten, 0.5, 0.5, 0.5 EntityType Bierkasten, House_Col Fence_1 = LoadMesh ("Graphics\Level_1\mauer.3ds") PositionEntity Fence_1, -80, 28, 300 ScaleEntity Fence_1, 20, 3, 50 RotateEntity Fence_1, 90, 0, 0 EntityType Fence_1, House_Col Fence_2 = CopyEntity (Fence_1) PositionEntity Fence_2, -80, 28, -400 Fence_3 = CopyEntity (Fence_1) RotateEntity Fence_3, 90, 90, 0 PositionEntity Fence_3, 200, 28, 0 Fence_4 = CopyEntity (Fence_3) PositionEntity Fence_4,-400, 28, 0 Global Sky = CreateSphere (15) Global Sky_Textur = LoadTexture ("Graphics\sky_Texture.bmp") EntityTexture Sky, Sky_Textur ScaleEntity Sky, 10000, 10000, 10000 FlipMesh Sky EntityOrder sky, 1 Global Fadenkreuz = LoadImage ("Graphics\Fadenkreuz.bmp") MaskImage Fadenkreuz, 255, 0, 255 Global Terrain = LoadMesh ("Graphics\Terrain\Ground.3ds") PositionEntity Terrain, 0, 0, 0 ScaleEntity Terrain, 100, 100, 100 EntityType Terrain, Terrain_Col Global Assault_Kugel = CreateSphere (10) PositionEntity Assault_Kugel, 0, -20, 100 ScaleEntity Assault_Kugel, 0.5, 0.5, 0.5 ;------------------------------------------ Global Sound_M4 = LoadSound ("sounds\assault.wav") Global Sound_Pump = LoadSound ("sounds\pumpgun.wav") Global Step_1 = LoadSound ("sounds\step.wav") Global Step_2 = LoadSound ("sounds\step_2.wav") Global SchussCounter = 7 Global WalkCounter = 20 Global Zustand = 0 Global Schuss_Verbleib = 30 Global Magazin_Counter = 3 Global Lade_Counter = 40 Type Schuss Field x Field y Field z Field Mesh End Type Type Bierkasten Field x Field y Field z Field mesh End Type ;------------------------------------------ Bierkaesten () Bierkaesten_2 () Bierkaesten_3 () ;Collisions Assault_Bullet_Col, House_Col, 2, 1 While Not KeyHit (1) UpdateWorld Movement () RenderWorld MoveMouse (GraphicsWidth()/2) - 35,GraphicsHeight()/2 -30 If EntityPitch(Player) > 70 Then RotateEntity Player, 70,EntityYaw(Player),0 If EntityPitch(Player) <-50 Then RotateEntity Player,-50,EntityYaw(Player),0 If EntityY (Pivot) < 18 Then MoveEntity Pivot, 0, 1, 0 If EntityY (Pivot) > 18 Then MoveEntity Pivot, 0,-1, 0 Text 100, 600, Magazin_Counter Text 100, 700, Schuss_Verbleib Collisions Player_Col, Terrain_Col, 2, 2 Collisions Player_Col, House_Col, 2, 2 Collisions Assault_Bullet_Col, House_Col, 2, 1 Flip Wend End Function Bierkaesten () For a = 0 To 7 B.Bierkasten = New Bierkasten B\Mesh = CopyEntity (Bierkasten) b\x = 10 * a*1.1 b\y = 0 B\z = -100 PositionEntity b\Mesh, b\x, b\y, b\z Next End Function Function Bierkaesten_2 () For a = 0 To 6 B.Bierkasten = New Bierkasten B\Mesh = CopyEntity (Bierkasten) b\x = 10 * a *1.1 b\y = 5 B\z = -100 PositionEntity b\Mesh, b\x, b\y, b\z Next End Function Function Bierkaesten_3 () For a = 0 To 6 B.Bierkasten = New Bierkasten B\Mesh = CopyEntity (Bierkasten) b\x = 10 * a *1.1 b\y = 10 B\z = -100 PositionEntity b\Mesh, b\x, b\y, b\z Next End Function Function Movement () If KeyDown (17) Then MoveEntity Pivot, 0, 0, 2 WalkCounter = Walkcounter - 1 If WalkCounter = 0 Then WalkCounter = 20 PlaySound Step_1 EndIf ElseIf KeyDown (31) Then MoveEntity Pivot, 0, 0, -2 WalkCounter = WalkCounter - 1 If WalkCounter = 0 Then WalkCounter = 20 PlaySound Step_1 EndIf ElseIf KeyDown (30) Then MoveEntity Pivot, -2, 0, 0 WalkCounter = WalkCounter - 1 If WalkCounter = 0 Then WalkCounter = 20 PlaySound Step_2 EndIf ElseIf KeyDown (32) Then MoveEntity Pivot, 2, 0, 0 WalkCounter = WalkCounter - 1 If WalkCounter = 0 Then WalkCounter = 20 PlaySound Step_2 EndIf EndIf If Schuss_Verbleib = 0 Then If Magazin_Counter > 0 Then lade_counter = lade_counter - 1 Animate player,3, 0.5,anim_player_reload,1 If lade_counter = 0 Then Magazin_counter = Magazin_counter - 1 lade_counter = 40 Schuss_verbleib = 30 EndIf EndIf EndIf If MouseDown (1) Then If Schuss_Verbleib > 0 Then If Not Animating (Player) SchussCounter = SchussCounter -1 If SchussCounter = 0 Then Schuss_Verbleib = Schuss_Verbleib - 1 PlaySound Sound_M4 SchussCounter = 7 s.Schuss = New Schuss s\Mesh = CopyEntity (Assault_Kugel) RotateEntity s\Mesh,EntityPitch(Camera,1),EntityYaw(Camera,1),EntityRoll(Camera,1),1 s\x = EntityX (pivot) s\y = EntityY (pivot) + 6 s\z = EntityZ (pivot) EntityType s\Mesh, Assault_Bullet_Col PositionEntity s\Mesh, s\x, s\y, s\z EndIf EndIf EndIf EndIf For s.Schuss = Each Schuss MoveEntity s\Mesh, 0, 0, 10 Next TurnEntity Player, MouseYSpeed() *0.1, 0, 0 TurnEntity Pivot, 0, -MouseXSpeed()*0.1, 0 End Function Ich hoffe mir kann jemand helfen Mfg AFRO |
||
!!!BF HARDCORE KILLER!!!
!!!ACHTUNG KILLERSPIELZOCKER!!! |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ein bisschen Codeeinrückung wäre vielleicht ganz angebracht...
so wie ich das übersehe würde ich das so machen: Code: [AUSKLAPPEN] s.Schuss = New Schuss
Mit Hide und Show die Kollision umgehen bis es am richtigen Platz ist.
s\Mesh = CopyEntity (Assault_Kugel) HideEntity s\Mesh RotateEntity s\Mesh,EntityPitch(Camera,1),EntityYaw(Camera,1),EntityRoll(Camera,1),1 s\x = EntityX (pivot) s\y = EntityY (pivot) + 6 s\z = EntityZ (pivot) EntityType s\Mesh, Assault_Bullet_Col PositionEntity s\Mesh, s\x, s\y, s\z ShowEntity s\Mesh |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
AFRO |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ah des is natürlich hilfreich ich werds mal ausprobiern sry wegen der Unübersichtlichkeit. Gibts eigentlich noch eine andere Möglichkeit, weil ich die Kugeln auch fliegen sehen möchte, weil es ein Spiel wird, bei dem es um Softairs (=Softguns/Airsoft) geht? | ||
!!!BF HARDCORE KILLER!!!
!!!ACHTUNG KILLERSPIELZOCKER!!! |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Na darum wird nach der Positionierung der Mesh ja auch wieder angezeigt, er soll bloß nicht auf dem Weg dorthin mit irgendwas zusammenstoßen. Danach ist er wieder sichtbar und Kollidiert wieder wie gehabt. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
AFRO |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ah! sorry hab das ShowEntity dummerweise übersehen, deswegen hat es mich auch verwundert weil meinen Erkenntnissen nach ein verstecktes Objekt nicht kollidiert^^. Jetz funzts astrein danke für die schnelle und wirklich hilfreiche hilfe^^. Jetzt steht endlich meine Grundengine.
Xeres, du bist mein persönlicher Held, auch wenn sich das komisch und übertriegen anhört aber endlich nimmt mein Game Form an. THX THX THX alta AFRO |
||
!!!BF HARDCORE KILLER!!!
!!!ACHTUNG KILLERSPIELZOCKER!!! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group