Gamestudio Links
Zorro Links
Newest Posts
New FXCM FIX Plugin
by flink. 06/04/24 07:30
AlpacaZorroPlugin v1.3.0 Released
by kzhao. 05/22/24 13:41
Free Live Data for Zorro with Paper Trading?
by AbrahamR. 05/18/24 13:28
Change chart colours
by 7th_zorro. 05/11/24 09:25
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (Akow, SBGuy), 1,423 guests, and 7 spiders.
Key: Admin, Global Mod, Mod
Newest Members
AemStones, LucasJoshua, Baklazhan, Hanky27, firatv
19058 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 2 of 2 1 2
Re: Das Level wechseln... [Re: TIEclon] #351189
12/22/10 16:56
12/22/10 16:56
Joined: Jan 2010
Posts: 22
Bielefeld, Germany
T
TIEclon Offline OP
Newbie
TIEclon  Offline OP
Newbie
T

Joined: Jan 2010
Posts: 22
Bielefeld, Germany
Nur ein Softwareproblem: In der Welt chauen wir (etwas geneigt) auf das Spielermodell. Je nach dem Wo sich jetzt der Mauszeiger auf dem Bildschirm befindet, dreht sich das Spielermodell so ,dass es diesen ansieht.

Das Problem: Wenn wir uns den Bildschirm als Koordinatensystem mit dem Spielermodell der Mitte als Ursprung vorstellen, läuft die Bewegung im III und IV Quadranten weiterhin ohne Probleme, Lediglich im ersten un zweiten dreht er sich nicht richtig, d.h.: man dreht sich wieder zurück, zu stark, etc.

Last edited by TIEclon; 12/22/10 17:00.
Re: Das Level wechseln... [Re: TIEclon] #351199
12/22/10 17:44
12/22/10 17:44
Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
MasterQ32 Offline
Expert
MasterQ32  Offline
Expert

Joined: Nov 2007
Posts: 2,568
Germany, BW, Stuttgart
kannst ja mal das script posten, wenn es dich nicht stört
sicher gibts ne einfache lösung dafür!


Visit my site: www.masterq32.de
Re: Das Level wechseln... [Re: TIEclon] #351526
12/26/10 14:38
12/26/10 14:38
Joined: Jan 2010
Posts: 22
Bielefeld, Germany
T
TIEclon Offline OP
Newbie
TIEclon  Offline OP
Newbie
T

Joined: Jan 2010
Posts: 22
Bielefeld, Germany
Ne, stört mich nicht. Ich hoffe ihr findet durch:

if(cam_type != 2 && pause == 1 && zoomvorgang == 0 && mouse_right != 1 )
{

vec_set(camera.x,player.x);
vec_add(camera.x,abs_cam_pos);



if(mouse_pos.y-y_view_achse+mouse_spot.y != 0 && mouse_pos.x-640 != 0)
{
if(mouse_pos.y-y_view_achse+mouse_spot.y > 0)
{
player.pan = atan((mouse_pos.x-640+mouse_spot.x)/(mouse_pos.y-y_view_achse+mouse_spot.y))-90+kameradrehung;
}
else
{
player.pan = atan((mouse_pos.x-640+mouse_spot.x)/(mouse_pos.y-y_view_achse+mouse_spot.y))-270+kameradrehung;
}
}

}

Alle Konditionen in dem If-Befehl sind erfüllt. Die ersten beiden vec_set und vec_add Befehle können vernachlässigt werden, dabei handelt es sich um die Drehung der Kamera um den Spieler selbst. Nur der letze Block ist jetzt entscheidend. Als erstes wird nachgesehen, dass niemals durch null geteilt wird, denn sonst bekäme man die ein oder andere Fehlermeldug während dem Spiel. Danach wird geschaut, ob sich der Mauscursor über oder unterhalb des Spielers befindet. Man muss sich immer eine horizontale Linie durch den Player vorstellen. Dessen Höhe wird durch die Variable y_view_achse angegeben. Das hat alles mit dem zuvor angesprochenen Koordinatensystem zu tun, das i Gedanken erstellt wird.. Nach der Entscheidung jedenfalls wird der atan ausgeführt um den Winkel, um den sich gedreht werden muss zu erfahren. Wenn sich der mousecursor oberhalb des Spielers befindet wird eigentlich das selbe gemacht, nur um 180 grad gespiegelt. Die -90 Grad haben damit zu tun, dass ich das Modell in MED um 90 verkehr herum gebaut habe laugh. +kameradrehung gibt an, um Wieviel grad sich die kamera um den Spieler gedraht hat. Was mich wundert ist, dass die Variablen Kameradrehung und y_view_achse den selben wert annehmen wenn man das Haus verlässt, wie den den man in der Welt hatte als alles noch funktionierte.

Ich hoffe ihr versteht mich soweit...

Re: Das Level wechseln... [Re: TIEclon] #351616
12/27/10 14:28
12/27/10 14:28
Joined: Jan 2010
Posts: 22
Bielefeld, Germany
T
TIEclon Offline OP
Newbie
TIEclon  Offline OP
Newbie
T

Joined: Jan 2010
Posts: 22
Bielefeld, Germany
Ich konnte das Problem jetzt ausfindig machen, dennoch habe ich noch keine idee, wie ich es lösen könnte.

Das Problem:
Die Funktion, die ich ion meinem vorhergehenden Beitrag beschrieben habe funktioniert fehlerfrei so wie sie sollte. Ein Problem gibt es mit der Variable "y_view_achse". Zur Wiederholung: Diese Variable gibt an, auf welcher Höhe man eine horizontale Linie durch den Spieler ziehen kann, daher Achse(Mir fällt gerade auf das es eigentlich die x-Achse wäre, sorry). Jedenfalls bekommt diese Variable den selben Wert wie bei Spiel start, nämlich den, dass sie genaustens passt, sollange auch die Kamera eingestellt wird! Und dort liegt der Fehler, den dies geschieht erst nachdem das Level geladen wird! Und dann ist die Funktion schon wieder durch level_load beendet frown...

Lösung: Am besten wäre es, man könnte die Funktion, die das Level lädt nicht von einer Entity abhängig machen. Zur errinerung: Man verlässt das Level indem man mit einem Block kollidiert, der dann die Funktion auslöst. Deshlb, da der Block verschwindet, werden seine, sowie alle anderen von ihm gestarteten Fun ktionen beendet!

Wie wechselt ihr eure level um dem zu entgehen?

MfG, TIEclon

Re: Das Level wechseln... [Re: TIEclon] #351707
12/28/10 00:54
12/28/10 00:54
Joined: Jul 2008
Posts: 894
T
TechMuc Offline
User
TechMuc  Offline
User
T

Joined: Jul 2008
Posts: 894
Einfach vor (!!!) level_load den Wert des my Pointers in jeder Funktion die nicht beendet werden soll auf 0 setzten (evtl. ist nach dem setzten und vor dem level_load ein wait() erforderlich).

bsp:
while(1)
{
my = 0;
//...
level_load("..");
wait(10);
}

==> funktion wird nicht beendet, obwohl sie level_load aufgerufen hat und eine action von einem entity ist laugh

Viele Grüße,
Timo

Re: Das Level wechseln... [Re: TechMuc] #351708
12/28/10 00:57
12/28/10 00:57
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Oder einfacher: proc_mode = PROC_GLOBAL am Anfang der Funktion schreiben, dann wird die Funktion auch nicht beendet.


"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: Das Level wechseln... [Re: TIEclon] #351910
12/29/10 14:58
12/29/10 14:58
Joined: Jan 2010
Posts: 22
Bielefeld, Germany
T
TIEclon Offline OP
Newbie
TIEclon  Offline OP
Newbie
T

Joined: Jan 2010
Posts: 22
Bielefeld, Germany
Vielen Dank, damit ist jetzt endlich alles so wie es sein soll! grin Super!

Page 2 of 2 1 2

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