Schuss Kollision
Übersicht

![]() |
BlitzproggerBetreff: Schuss Kollision |
![]() Antworten mit Zitat ![]() |
---|---|---|
In der Forensuche habe ich nicht das Gewünschte gefunden.
Ich möchte ein Projektil, das in Ego-Perspektive abgefeuert wird mit der Umwelt kollidieren lassen. Das Abfeuern funktioniert auch solange die Kollision inaktiv ist, ist sie aber aktiv, so kann ich das Projektil nur noch an bestimmten Stellen auf der Karte wunschgemäss abfeuern. An den anderen ist das Projektil gar nicht zu sehen wenn es abgefeuert wird. ErstellungsCode: [AUSKLAPPEN] Case 0 ;Feuerball
If atr# (atrpoints,playerid) >= 10 Then atr# (atrpoints,playerid) = atr# (atrpoints,playerid) - 10 shot.shottype = New shottype shot\mesh = LoadMesh ("Data\Gfx\Effects\fireball.b3d") shot\plid = playerid shot\talentid = talentchoice shot\time = MilliSecs () shot\col = spellcolid spellcolid = spellcolid + 1 EntityType shot\mesh,shot\col ;Vielleicht liegt das Problem hier ? EntityRadius shot\mesh,0.25 Collisions shot\col,worldcol,2,2 PositionEntity shot\mesh,EntityX# (pl(playerid)),EntityY# (pl(playerid))+1.5,EntityZ# (pl(playerid)) RotateEntity shot\mesh,EntityPitch (camera),EntityYaw (camera,1),0 MoveEntity shot\mesh,0,0,1 EndIf SchleifenCode: [AUSKLAPPEN] Case 0 ;Feuerball
For shot.shottype = Each shottype If shot\plid = playerid Then MoveEntity shot\mesh,0,0,0.1 cols = CountCollisions (shot\mesh) If cols <> 0 Then FreeEntity shot\mesh Delete shot.shottype EndIf EndIf EndIf Next mfg |
||
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/
Unfreiwilliger Gewinner des BAC# 115. ![]() |
Stani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie ich das sehe liegt der Fehler daran,dass wenn eine Kugel von dir mir der Map collidiert,der ganze kopierte Mesh von allen kommenden Kugel gelöscht wird.
Ich würde dir vorschlagen,dass du ein String erstellst und den als coutcollisions machst.Wenn die Kugel kollidiert,soll er den String wieder auf 0 stellen. Edit:Hab dein Code nochmal angeschaut.Du musst ein Kugelmesh in deinen Typs erstellen und den bei jedem Schuss von deinem Mesh neu kopieren .Da du sonst den ganzen Mesh löschst und dan weiß er nicht woher er die Kugel nehmen soll. Beispiel: Code: [AUSKLAPPEN] if mousedown(1) Then For Schuss=Each Schuss Schuss\Mesh =copymesh(Vorlage) moveentity Schuss\Mesh 0,0,1 ..... Und nochwas:Man kann Types meines Wissens nach nicht einfach so aufrufen.Man muss z.b schreiben For Schuss=Each Schuss und dan alles abarbeiten. Ich hoffe ich sag jetzt nichts falsches^^ Mfg Stani |
||
![]() |
Blitzprogger |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich denke daran kann es nicht liegen denn wenn ich an ebendiesen Stellen schiesse, an denen es aus irgendeinem Grund geht, kollidiert auch zuerst der eine Zauben und erst später der Nächste ohne Probleme. Auch hat jeder Zauber ja ein eigenes Mesh das gleich aus einem Ordner geladen wird, jedes einzeln. ![]() Das mit den Types sollte stimmen: Code: [AUSKLAPPEN] For shot.shottype = Each shottype
mfg |
||
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/
Unfreiwilliger Gewinner des BAC# 115. ![]() |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nach dem ganzen Positionierungskram ResetEntity![]() Und bei dem hier... Code: [AUSKLAPPEN] shot\col = spellcolid
...bin ich mir nicht ganz sicher, was du erreichen möchtest. Du erstellst damit endlos viele Kollisionsgruppen die BlitzBasic überwachen muss. Eine Konstante (eine für den Schuss, eine für die Welt) sollte da vollkommen ausreichen.
spellcolid = spellcolid + 1 EntityType shot\mesh,shot\col ;Vielleicht liegt das Problem hier ? |
||
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) |
![]() |
Blitzprogger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielen Dank! ![]() Mit Resetentity funktioniert alles! Ihr seid toll ![]() mfg |
||
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/
Unfreiwilliger Gewinner des BAC# 115. ![]() |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group