1 registered members (TipmyPip),
18,528
guests, and 5
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Positionswechsel ohne "Objektflimmern"
[Re: Rei_Ayanami]
#378619
07/25/11 04:57
07/25/11 04:57
|
Joined: Jul 2007
Posts: 424 EUROPE
maslone1
OP
Senior Member
|
OP
Senior Member
Joined: Jul 2007
Posts: 424
EUROPE
|
@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);
}
}
Last edited by maslone1; 07/25/11 05:11.
A8c, Blender, FlStudio, Unity3d
|
|
|
Re: Positionswechsel ohne "Objektflimmern"
[Re: maslone1]
#378620
07/25/11 05:13
07/25/11 05:13
|
Joined: Jul 2007
Posts: 424 EUROPE
maslone1
OP
Senior Member
|
OP
Senior Member
Joined: Jul 2007
Posts: 424
EUROPE
|
Ich habe soeben den entschluss gefasst, nochmals bei "0" zu beginnen. Ich werde den Code zum test komplett vereinfachen, und nur direkt my.x, y, z verwenden. Mal sehen, ob da der effekt immer noch ist. Sollte er dann immer noch da sein, werde ich es mit flag-setzen probieren....
vielen dank, dass ihr euch zeit genommen habt.
Wenn ich die ursache gefunden habe, werde ich sie posten
A8c, Blender, FlStudio, Unity3d
|
|
|
Re: Positionswechsel ohne "Objektflimmern"
[Re: Xarthor]
#378630
07/25/11 07:57
07/25/11 07:57
|
Joined: Jul 2007
Posts: 424 EUROPE
maslone1
OP
Senior Member
|
OP
Senior Member
Joined: Jul 2007
Posts: 424
EUROPE
|
Danke Xarthor
Das könnte helfen. Ich werde es bei Gelegenheit probieren. - Danke für den Hinweis!
Thanx a lot ciao
A8c, Blender, FlStudio, Unity3d
|
|
|
Re: Positionswechsel ohne "Objektflimmern"
[Re: maslone1]
#378646
07/25/11 12:01
07/25/11 12:01
|
Joined: Sep 2003
Posts: 6,861 Kiel (Germany)
Superku
Senior Expert
|
Senior Expert
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
|
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. Es ist leider auch falsch und Ursache unmöglicher Bugs: var vecPos[3] = {0,0,0}; vec_add(vecPos[1], vecSpeed[1]); Dann überschreibst du vecPos[1], vecPos[2] und vecPos[3]. Letzterer Arrayeintrag existiert aber nicht, wie bereits gesagt, und du überschreibst damit das, was im Speicher hinter dem Array steht, bspw. ein Pointer, eine Variable, ...
"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual Check out my new game: Pogostuck: Rage With Your Friends
|
|
|
Re: Positionswechsel ohne "Objektflimmern"
[Re: Superku]
#378659
07/25/11 13:42
07/25/11 13:42
|
Joined: Jul 2007
Posts: 424 EUROPE
maslone1
OP
Senior Member
|
OP
Senior Member
Joined: Jul 2007
Posts: 424
EUROPE
|
Richtig. Wie gesagt, heute rückblickend würde ich es nicht mehr so machen. Wie erwähnt, ist es schon "jahre" her, dass ich den Code verfasst habe (ich glaube jan 2009). Ich weiß zwar heute nicht mehr warum, aber ich hatte es damals bewusst so gemacht  - sorry. Aber es sollte hier auch nicht Thema sein, da dieser alte Denkfehler definitiv nicht in Verbindung mit dem "flimmern" steht. Auch wenn ich den Array richtig stelle ( [0] [1] [2]) , was ich zwischenzeitlich vor wochen in einer aktuelleren version gemacht habe, ist das flimmern trotzdem da. Ich werde heute Abend wieder rumtesten. Mal sehen was die Ursache ist -> mal lösungsorientiert debuggn 
A8c, Blender, FlStudio, Unity3d
|
|
|
Re: Positionswechsel ohne "Objektflimmern"
[Re: maslone1]
#378686
07/25/11 17:46
07/25/11 17:46
|
Joined: Jul 2007
Posts: 424 EUROPE
maslone1
OP
Senior Member
|
OP
Senior Member
Joined: Jul 2007
Posts: 424
EUROPE
|
@Xarthor
You r the best.
Mit der anweisung "proc_mode = PROC_EARLY; " im player-code und der global entity-pointer "player" im kamera-code läuft es nun PERFEKT
Danke Superku, Danke Rei_Ayanami, DANKE Xarthor, und natürlich Pappenheimer
Ich hoffe ich kann Euch auch Mal irgenwann helfen....
Last edited by maslone1; 07/25/11 18:06.
A8c, Blender, FlStudio, Unity3d
|
|
|
|