@Superku
Das mit den Array ist korrekt, es beginnt mit [0].
Da ich dieses kleine programm jedoch leserlicher/einfacher für anfänger schreiben wollte, habe ich es bewusst so hingebastelt. Jetzt im nachhinein, denke ich es ist doch verwirrender. Denn andere Arrays habe ich normal von 0 beginnende genutzt. (Der code funzt deshalb si einigermaßen, weil ich beim schiff nicht die z achse nutze.)
Übrigens hast Du Recht mit den Zeiger.
Das ist in meiner 3D Version so.
In meiner 2D Version ist es ein normaler Array, welchen ich in der Player-Funktion deklariert und definiert habe - sorry, hab das nach 1-2 jahren nach geschriebenen code vergessen.....
Aber dort liegt nicht der hund. In meiner 3d version verwende ich die arrays normal beginnend mit [0].
@Rei_Ayanami
Meinst du, es liegt an einem Flag?
Ich habe weder zum verfolgten Objekt nnoch zur kamera flags gesetzt. Meinst Du ich sollte diese explizit auf 0 stellen?
Das wäre ein Versuch wert....
Mein Camera-Code im 2d-spacer:
//-----------------------------------------------------
//_____________________________________________________
//
// PROJECT: 2.5D Spacegame
// CREATED BY MARCEL KLEE 2008/2009
//_____________________________________________________
//
//----------------------------------------------------- V 0.01
// Camera function
function Cam1()
{
var cam_goal_dist; //Variable for the camera-distance
camera.z = Ships[1].z + 850; //thats the cam-starting position
while(1){
camera.x = Ships[1].x; //the x and y position is always the player x and y position
camera.y = Ships[1].y;
cam_goal_dist = Ships[1].z + 850 + facCamAbst; // always the standard-distanze plus the variable distance
// how the variable-distance ist calculated you see in Pl_Ship.c
if(camera.z < cam_goal_dist) { camera.z += 1.8; } // the cam position follow the calculated cam_goal_dist variable
if(camera.z > cam_goal_dist) { camera.z -= 1.2; } // the reason why i use this: it brings more "dynamic" to the cam-movement
camera.tilt= -90; //look down
camera.roll= 0;
camera.pan = 0;
wait(1);
}
}