Probleme mit EGO-Shooter Kugeln(Dank gutem Forum gelöst;-))
Übersicht

![]() |
LobbyBetreff: Probleme mit EGO-Shooter Kugeln(Dank gutem Forum gelöst;-)) |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich habe vor nicht allzulanger Zeit mal mit 3d begonnen und muss ehrlich sagen, dass es einfacher ist, als ich angenommen habe. Jetzt jedoch, bei einem meiner ersten richtigen 3d Spiele habe ich Probleme mit den Kugeln, die ich über ein type erstelle, hier ist ein Ausschnitt, aus dem Code: Code: [AUSKLAPPEN] For sch.schuss=Each schuss
MoveEntity sch\k,0,0,5 sch\zeit=sch\zeit+1 For cc=1 To CountCollisions(terrain) If CollisionEntity(terrain,cc)=sch\k Then FreeEntity sch\k Delete sch.schuss EndIf Next For cc=1 To CountCollisions(monstercube) If CollisionEntity(monstercube,cc)=sch\k Then FreeEntity sch\k Delete sch.schuss monsterlife#=monsterlife#+mabzug# EndIf Next For cc=1 To CountCollisions(mesh) If CollisionEntity(mesh,cc)=sch\k Then FreeEntity sch\k Delete sch.schuss EndIf Next If sch\zeit>50 Then FreeEntity sch\k Delete sch.schuss EndIf Next Es funktioniert zwar, dass die Kugeln sich nach einer Zeit auflösen, aber die collisionsabfrage macht der irgendwie net, die Kugeln können durch Objekte einfach durch. Ich habe schon viele nach diesem Problem gefragt, aber bisher wusste keiner eine Lösung, im Internet hab ich auch schon gesucht(ohne Erfolg). Könnt mir bitte vielleicht jemand helfen, der etwas von 3d Kollisionen versteht?(Wenn jemand die antwort weiß, jedoch nichts von 3d-Kollisionen versteht, kann er sich dennoch melden ![]() |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
- Zuletzt bearbeitet von Lobby am Mi, Mai 09, 2007 21:33, insgesamt einmal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Manno, dein Code ist nicht eingerückt und mit kryptischen Varnamen versehen. Wie soll man da denn durchblicken ?
Zudem lässt sich anhand dieses Fragmentes nicht wirklich viel sagen. |
||
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 |
![]() |
Lobby |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nunja, ich hab schon ne menge probier, aber der bestätigt die if-zeilen nie ![]() |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
zum einen: Hast Du überhaupt Collisionstypen festgelegt (ql:collisions) ?
zum Anderen: Deine Schüsse werden nach 50 Schleifendurchläufen gekillt - ich kenne deinen Masstab in der Welt nicht, aber eventuell kommen sie einfach nicht weit genug um was zu treffen. Und 50 Durchläufe sind je nach Rechner in weit weniger als einer Sekunde erreicht. |
||
![]() |
Lobby |
![]() Antworten mit Zitat ![]() |
---|---|---|
nein, weitgenug kommen sie, und collisions typen hab ich auch festgelegt | ||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie wäre es dann mit dem ganzen Code? oder einer kleinen .zip zum testen ? | ||
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 |
![]() |
LobbyBetreff: Hat sich erledigt,... |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hing jetzt schon seit tagen an dem problem, und kaum schreib ich ins
forum, find ich den fehler... Dieses Thema kann gelöscht werden...(ich möchte nicht, dass jder meinen Code einliest) |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hast Du Angst jemand würde Deinen Code stehlen ?
Btw. wäre es für Nachfolgende interessant zu wissen wo der Fehler lag. Eventuell haben sie mal ein ähnlich gelagertes Problem. |
||
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 |
![]() |
LobbyBetreff: Nunja... |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jetzt kommt immer wider der Fehler: Object does not exist!
Und mit dem, das das vielleicht anderen helfen könnte, hast ja schon recht(mir hätte es bei meinem problem jetzt auch schon geholfen) ... Genauso, möchte ich jetzt noch einschlagslöcher der kugeln machen, aber ich such erstmal richtig dannach... ![]() |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja dan schreib doch wenigstens den code-block wo das problem auftra und wie es bbeseitigt wurde. genauso könntest du jetzt den code-block in dem das "Object does..." auftaucht hier hinein stellen so könne wir die besser helfen... | ||
![]() |
Lobby |
![]() Antworten mit Zitat ![]() |
---|---|---|
der zeigt keine fehler zeile... | ||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Er springt aber sicher zu einer Fehler-Zeile. | ||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
mach den debugger an und da drin ist die fehlerhafte zeile markiert | ||
![]() |
Tankbuster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oben in der Leiste... Program->Debug Enabled? oder so | ||
Twitter
Download Jewel Snake! Windows|Android |
![]() |
The_Nici |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn der Debug nicht an wäre würde soweit ich weiss die Fehlermeldung ein MAV sein, oder? | ||
![]() |
LobbyBetreff: Also... |
![]() Antworten mit Zitat ![]() |
---|---|---|
...hier ist meine ganze While - Wend schleife, falls es jemandem zu
unübersichtlich ist, es geht hier nur um untem ab dem updateworld... Code: [AUSKLAPPEN] ;Loop
While 1 If ss>1 Then HideEntity sprite ss=ss+1 If KeyHit(1) Then menuquest() mx=MouseX() my=MouseY() yd=-(mx-(GraphicsWidth()/2))/2 xd=(my-(GraphicsHeight()/2))/2 If xd>19 Then xd=19 If xd<-19 Then xd=-19 TurnEntity cam,xd,0,0 TurnEntity p,0,yd,0 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2 If sp>0 Then sp=sp-1 If EntityY(p)<ae Then MoveEntity p,0+xg,-1+sp,g If (KeyHit(57) Or KeyHit(82) Or KeyHit(56) Or KeyHit(157)) And sp=0 Then buffer=1 Else buffer=0 Else g=0 xg=0 If KeyDown(200) Or KeyDown(42) Then MoveEntity p,0,0,1 g=1 EndIf If KeyDown(208) Or KeyDown(29) Then MoveEntity p,0,0,-1 g=-1 EndIf If KeyDown(203) Then MoveEntity p,-2,0,0 xg=-2 EndIf If KeyDown(205) Then MoveEntity p,2,0,0 xg=2 EndIf If rad()>0 Then MoveEntity p,0,0,2 g=2 EndIf If rad()<0 Then MoveEntity p,0,0,-2 g=-2 EndIf MoveEntity p,0,-0.01+sp,0 If (KeyHit(57) Or KeyHit(82) Or KeyHit(86) Or KeyHit(157)) And sp=0 Then sp=10 EndIf If EntityPitch(cam)>70 Then RotateEntity cam,70,EntityYaw(cam),EntityRoll(cam) If EntityPitch(cam)<-70 Then RotateEntity cam,-70,EntityYaw(cam),EntityRoll(cam) If MouseHit(1) Or KeyHit(56) Then ShowEntity sprite ss=0 sch.schuss=New Schuss sch\k=LoadMesh("objects\kugel.3ds") ScaleEntity sch\k,0.003,0.003,0.003 EntityColor sch\k,180,140,0 PositionEntity sch\k,EntityX(gun,1),EntityY(gun,1)+0.5,EntityZ(gun,1) TurnEntity sch\k,EntityPitch(gun,1),EntityYaw(gun,1)+1,EntityRoll(gun,1) EntityType sch\k,5 Animate gun,3 If vc=1 Then EmitSound auu,monstercube EndIf EndIf monsterlife#=monsterlife#+mgenesung# If seglen#(EntityX(monstercube),EntityZ(monstercube),EntityX(p),EntityZ(p))<20 And animatemonster=1 Then animatemonster=0 AnimateMD2 monster,1,0.2,0,32 EndIf If seglen#(EntityX(monstercube),EntityZ(monstercube),EntityX(p),EntityZ(p))>20 And animatemonster=0 Then animatemonster=1 AnimateMD2 monster,1,0.2,32,60 EndIf PointEntity monstercube,p If animatemonster=1 Then MoveEntity monstercube,0,-0.01,mg# Else yourlife#=yourlife#+eabzug# EmitSound monster_m,monstercube EndIf yourlife#=yourlife#+egenesung# If yourlife#>201 Then yourlife#=201 If monsterlife#>201 Then monsterlife#=201 MoveEntity sky,0,0,1 If CameraPick(cam,GraphicsWidth+mx,GraphicsHeight+my)=monstercube Then vc=1 Else vc=0 ae=EntityY(p) monsterae=EntityY(monstercube) UpdateWorld For sch.schuss=Each schuss MoveEntity sch\k,0,0,5 sch\zeit=sch\zeit+1 Next For sch.schuss=Each schuss If sch\zeit>50 Then FreeEntity sch\k Delete sch.schuss EndIf Next For sch.schuss=Each schuss For cc=1 To CountCollisions(monstercube) If CollisionEntity(monstercube,cc)=sch\k Then FreeEntity sch\k Delete sch.schuss monsterlife#=monsterlife#+mabzug# EndIf Next Next For sch.schuss=Each schuss For cc=1 To CountCollisions(mesh) If CollisionEntity(mesh,cc)=sch\k Then FreeEntity sch\k Delete sch.schuss EndIf Next Next RenderWorld If vc=0 Or vf=0 Then DrawImage v,(GraphicsWidth()/2)-40,(GraphicsHeight()/2)-40 Else DrawImage v2,(GraphicsWidth()/2)-40,(GraphicsHeight()/2)-40 leiste() Flip If gm=1 Then FreeEntity p FreeEntity terrain FreeEntity mesh FreeEntity sky FreeEntity monstercube FreeEntity h Goto menu EndIf If monsterlife#<0 Then Goto winlevel If yourlife#<0 Then Goto loselevel Wend Der Fehler wird an dieser Stelle angezeigt: Code: [AUSKLAPPEN] For sch.schuss=Each schuss
For cc=1 To CountCollisions(mesh) If CollisionEntity(mesh,cc)=sch\k Then FreeEntity sch\k Delete sch.schuss EndIf Next Falls nochmals jemand die varriablen nicht richtig versteht, oder sich mit den Namen nicht abfinden kann, dann kann ich ihm versichern, dass es damit weniger zusammen hängt, da es normalerweise erst nach einer weile, wenn man schon viel geballert hat kommt! -Danke für die GUTE Hilfe im Forum!- |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] For sch.schuss=Each schuss
ist es nicht schön mal zu übelegen dass alles wahr wäre.... und sich dann noch vorzusellen die mesh 2x kollidiert.... dann beides mal die schussmesh der auslöser war.... hmm beim ersten mal wird der schuss gelöscht also ist der einwand object does not exsist beim 2. mal bei diesem teil durchaus berechtigt:
For cc=1 To CountCollisions(mesh) If CollisionEntity(mesh,cc)=sch\k Then FreeEntity sch\k Delete sch.schuss EndIf Next If CollisionEntity(mesh,cc)=sch\k T |
||
![]() |
Lobby |
![]() Antworten mit Zitat ![]() |
---|---|---|
hey, stimmt, sogar, danke!
(wusste doch, dass dieses forum des beste für bb is, des man in deutsch finden kann...(www.blitzforum.de.tt sin zu wenig user...)) |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
![]() |
Lobby |
![]() Antworten mit Zitat ![]() |
---|---|---|
hat/hast jemand/du vielleicht noch einen tipp für die geplanten einschlagslöcher(als aus den mesh objekten in der texture)?
ok |
||
TheoTown - Eine Stadtaufbausimulation für Android, iOS, Windows, Mac OS und Linux |
- Zuletzt bearbeitet von Lobby am Di, Mai 08, 2007 21:07, insgesamt einmal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bitte benutze den editbutton, wenn du was zu einem post anfügen möchtest. Danke. | ||
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group