CreateCamera führt zum Programmabsturz
Verfasst: 03.01.2011 21:35
Ich arbeite an einem Programm, bei dem auf Mausklick eine Kamera erstellt wird, die in die gleiche Richtung kuckt, wie meine Hauptkamera, aber sich weiter immer in die selbe Richtung weiterbewegt, also in die, in die meine Hauptkamera zum Zeitpunkt des Erstellens gekuckt hat. Wenn die erstellte Kamera sich über den Rand des Terrains hinausbewegt, soll sie gelöscht werden. Damit die Anzahl der erstellten Kameras variabel ist, benutze ich eine strukturierte Liste.
Der Code zum löschen:
Wenn dann eine Kamera gelöscht wurde, stürzt das Programm komplett ab, ohne das PB einen Fehler mitkriegt, und zwar wenn folgerder code ausgeführt wird:
Könnt ihr ein Problem erkennen, oder ist das ganze einfach ein Problem mit OGRE?
Vielen Dank im vorraus,
mfG Felix
Der Code zum löschen:
Code: Alles auswählen
If ListSize(playershot()) > 0
ForEach playershot()
If EntityX(playershot()\EnID) < 0
FreeCamera(playershot()\CamID)
FreeEntity(playershot()\EnID)
DeleteElement(playershot())
Continue
ElseIf EntityX(playershot()\EnID) > 60000
FreeCamera(playershot()\CamID)
FreeEntity(playershot()\EnID)
DeleteElement(playershot())
Continue
EndIf
If EntityZ(playershot()\EnID) < 0
FreeCamera(playershot()\CamID)
FreeEntity(playershot()\EnID)
DeleteElement(playershot())
Continue
ElseIf EntityZ(playershot()\EnID) > 60000
FreeCamera(playershot()\CamID)
FreeEntity(playershot()\EnID)
DeleteElement(playershot())
Continue
EndIf
Next
EndIf
Code: Alles auswählen
If MouseButton(#PB_MouseButton_Left) And shotdelay = 0
CamID = CreateCamera(#PB_Any,0,0,1,1)
CameraLocate(CamID,CameraX(1),CameraY(1),CameraZ(1))
CameraLookAt(CamID,CameraX(0),CameraY(0),CameraZ(0))
EnID = CreateEntity(#PB_Any,MeshID(3),MaterialID(2),CameraX(CamID),CameraY(CamID),CameraZ(CamID))
EntityLookAt(EnID,CameraX(0),CameraY(0),CameraZ(0))
AddElement(playershot())
playershot()\CamID = CamID
playershot()\EnID = EnID
shotdelay = 15
ElseIf shotdelay > 0
shotdelay - 1
EndIf
Vielen Dank im vorraus,
mfG Felix