Gamestudio Links
Zorro Links
Newest Posts
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
1 registered members (AndrewAMD), 1,643 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
Positionswechsel ohne "Objektflimmern" #378553
07/24/11 17:31
07/24/11 17:31
Joined: Jul 2007
Posts: 424
EUROPE
maslone1 Offline OP
Senior Member
maslone1  Offline OP
Senior Member

Joined: Jul 2007
Posts: 424
EUROPE
Hi Leute

Eventuell gibt es hierzu schon eindeutige Lösungsansätze.

Mein momentan kleines Problemchen ist, dass ich ein Objet von einer Position zu einer anderen Position Beamen möchte. Dabei ist die Kamera immer auf das Objekt gerichtet.

Es ist gibt da aber einen unschönen nebeneffekt. und zwar Flimmert das gebeamte objekt nach jeden koordinatensprung.

Ich denke es liegt daran, dass die Kamera erst im nächsten frame hinterherspringt.

Vereinfachtes Beispiel-COde:

if(my.x > 1000 || my.x < -1000)
{ my.x *= -0.95; camera.x = my.x; }

gibt es eine möglichkeit, diesen effekt zu beseitigen?
Eventuell eine goto anweisung?

Hatte schon jemand ein ähnliches "Problem"

VOrab schon mal danke für euren rat

Marcel


A8c, Blender, FlStudio, Unity3d
Re: Positionswechsel ohne "Objektflimmern" [Re: maslone1] #378562
07/24/11 18:01
07/24/11 18:01
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Das muss eine andere Ursache haben. Zeig doch mal Bilder/ ein Video vom Flickern.

Quote:
Ich denke es liegt daran, dass die Kamera erst im nächsten frame hinterherspringt.


Das tut sie gemäß deines Beispielcodes nicht. Wenn du
my.x *= -0.95; camera.x = my.x;
schreibst, wird die Entity bzw. dein gesamtes Level/ Spiel ja nicht zwischendurch gerendert, sondern erst, nachdem der ganze Code für diesen Frame ausgeführt worden ist.


"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] #378569
07/24/11 18:32
07/24/11 18:32
Joined: Jul 2007
Posts: 424
EUROPE
maslone1 Offline OP
Senior Member
maslone1  Offline OP
Senior Member

Joined: Jul 2007
Posts: 424
EUROPE
Das dachte ich mir auch bisher so, aber einen bug kann ich keinen finden.

Diesen unschönen Nebeneffekt habe ich bei meinem 3d spaceshooter.

Ich dachte ich hätte irgendo einen bug, und habe es bei meinem 2d-spaceshooter ausgetestet, mit dem selben "fehler". Es ist kein flackern im üblichen sinne. Es ist ein kurzes verschwinden des von der kamera verfolgten obektes.

Du kannst die den code vom 2d-spacergame hier ansehen und austesten:

http://www.opserver.de/wiki/index.php/2.5D_Spaceshooter_V0_1x_-_OpenSource_by_maslone1


A8c, Blender, FlStudio, Unity3d
Re: Positionswechsel ohne "Objektflimmern" [Re: maslone1] #378570
07/24/11 18:38
07/24/11 18:38
Joined: Jul 2007
Posts: 424
EUROPE
maslone1 Offline OP
Senior Member
maslone1  Offline OP
Senior Member

Joined: Jul 2007
Posts: 424
EUROPE
ach, und folgenden code habe ich im pl-Ship.c unter der function plActor() vor der letzten wait(1) gesetzt:

if(my.x > 1000 || my.x < -1000) { my.x = my.x*-1*0.95; camera.x = Ships[1].x; camera.y = Ships[1].y; }
if(my.y > 1000 || my.y < -1000) { my.y = my.y*-1*0.95; camera.x = Ships[1].x; camera.y = Ships[1].y; }


A8c, Blender, FlStudio, Unity3d
Re: Positionswechsel ohne "Objektflimmern" [Re: maslone1] #378576
07/24/11 19:11
07/24/11 19:11
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Ich guck mir diesen umfangreichen Code nicht an, so viel Zeit habe ich auch nicht.
Ships[1] ist was, ist das "my" in der Aktion?


"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: maslone1] #378579
07/24/11 19:27
07/24/11 19:27
Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Pappenheimer Offline
Senior Expert
Pappenheimer  Offline
Senior Expert

Joined: Sep 2003
Posts: 5,900
Bielefeld, Germany
Originally Posted By: maslone1
ach, und folgenden code habe ich im pl-Ship.c unter der function plActor() vor der letzten wait(1) gesetzt:

if(my.x > 1000 || my.x < -1000) { my.x = my.x*-1*0.95; camera.x = Ships[1].x; camera.y = Ships[1].y; }
if(my.y > 1000 || my.y < -1000) { my.y = my.y*-1*0.95; camera.x = Ships[1].x; camera.y = Ships[1].y; }



Vielleicht liegt es ja auch nur am Übertragen in den Post, aber in der ersten Zeile muss camera.x = Ships[1].x; hin.
Also X statt Y.

Re: Positionswechsel ohne "Objektflimmern" [Re: Pappenheimer] #378584
07/24/11 20:49
07/24/11 20:49
Joined: Jul 2007
Posts: 424
EUROPE
maslone1 Offline OP
Senior Member
maslone1  Offline OP
Senior Member

Joined: Jul 2007
Posts: 424
EUROPE
um sicherzugehen habe ich camera.x und camera.y in beiden if anweisungen eingetragen. Ich bin gerade dabei ein kleines video hochzuladen, dass den effekt zeigt.

Zwischenzeitlich habe ich mich weiter mit dem code rumgespielt, aber ohne erfolg.


A8c, Blender, FlStudio, Unity3d
Re: Positionswechsel ohne "Objektflimmern" [Re: maslone1] #378585
07/24/11 20:58
07/24/11 20:58
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Ok, so beantworte bitte folgende Frage:
"Ships[1] ist was, ist das "my" in der Aktion?"


"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] #378586
07/24/11 21:05
07/24/11 21:05
Joined: Jul 2007
Posts: 424
EUROPE
maslone1 Offline OP
Senior Member
maslone1  Offline OP
Senior Member

Joined: Jul 2007
Posts: 424
EUROPE
Es ist ein Zeiger auf my.x bzw. my.y

Es ist also gleichbedeutend wie direkt my.x etc. zu schreiben

Last edited by maslone1; 07/24/11 21:07.

A8c, Blender, FlStudio, Unity3d
Re: Positionswechsel ohne "Objektflimmern" [Re: maslone1] #378588
07/24/11 21:48
07/24/11 21:48
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Wenn ich im Wiki nach "Ships[1]" suche, lässt sich dort keine Definition oder Zuweisung an den Player-Pointer finden.

Übrigens, du schreibst dort oft folgendes:

my.x = vecPos[1];
my.y = vecPos[2];
my.z = vecPos[3];
vec_add(vecPos[1], vecSpeed[1]);
usw.

aber definierst den Array als
var vecPos[3] = {0,0,0};

Mir ist nicht klar, wie du das Programm überhaupt zum Laufen bekommst, aber Array-Einträge beginnen bei 0, sprich obiger Code müsste wie folgt lauten:

my.x = vecPos[0];
my.y = vecPos[1];
my.z = vecPos[2];
vec_add(vecPos[0], vecSpeed[0]);


"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
Page 1 of 2 1 2

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1