Kompas PANEL erstellen

Posted By: CocaCola

Kompas PANEL erstellen - 04/18/14 10:46

Hallo!
Ich wollte einen Kompas als Panel aber ich schafs nicht es dass es genau auf das Ziel Objekt zeigt ;-(. die Nadel bewegt sich scheinbar zufällig. Gibts nen Befehl, mit den ich die Richtung der Ziel Entity relativ zur Player view errechnenn lässt? Ich habs schon mit vec_to_angle versucht aber irgendwie klappts nicht. Kann einer einen Denkanstoß geben?
Posted By: Uhrwerk

Re: Kompas PANEL erstellen - 04/18/14 13:57

Wie wäre es mit dem Denkanstoß mal zu posten was Du schon hast. Dann ist der Fehler vielleicht leicht zu finden...
Posted By: CocaCola

Re: Kompas PANEL erstellen - 04/18/14 19:17

Code:
VECTOR temp2;
ENTITY* ziel1;
var a;
PANEL* panDisplay =
{
  digits(35, 10, "a = %0.f", *, 1, temp2.x);

  flags = SHOW;
}
PANEL* nadel_pan = //mein erstes panel
{
  pos_x = 0+temp.x;
  pos_y = 0+temp.y;
  layer = 1;
  bmap = first_pcx;
  //vslider (16, 71, 90, "first.pcx", 0, 100, speed);
  flags = OVERLAY | SHOW;
}
action my_target()
{
       ziel1 = my;
}

Und im Player script steht
Code:
vec_set (temp2.x,player.x);
       	vec_to_angle (temp2.x,ziel1.x);
       	if (temp2.x<90)
       	{nadel_pan.pos_x = temp2.x +100;}
       	if ((temp2.x<180) && (temp2.x>90))
       	{nadel_pan.pos_x = 10;}
       	if ((temp2.x>180) && (temp2.x< 270))
       	{nadel_pan.pos_x = 190;}
       	if (temp2.x> 270)
       	{nadel_pan.pos_x = -temp2.x +370;}


Ich dachte ich bekomm einen vert zwischen 1 und 360 und damit kann ich das PANEL verschieben, es zeigt nur was vor einem ist und bleibt am rand stehen. Aber irgendwie passiert nichts
Posted By: CocaCola

Re: Kompas PANEL erstellen - 04/19/14 05:15

Ich hab noch anstatt player.x, player.pan und vec_rotate eingesetzt und mir temp2.x als digits anzeigen lassen und die werte werden immer größer je öfter ich mich drehe
Posted By: rayp

Re: Kompas PANEL erstellen - 04/19/14 06:06

Das hier wäre auch eine simple Möglichkeit ( falls diese Variante gefällt ):
Code:
BMAP* kompass_map  = "compass.pcx";
PANEL* kompass_pan = {
   bmap  = kompass_map;
   layer = 1;
   flags = SHOW;
}
.
..
...
kompass_pan.center_x = kompass_pan.size_x * 0.5;
kompass_pan.center_y = kompass_pan.size_y * 0.5;
while (1){
   .
   ..
   ...
   kompass_pan.angle = camera.pan;
   ...
   ..
   .
   wait (1);
}


compass.pcx:


MfG
Posted By: CocaCola

Re: Kompas PANEL erstellen - 04/19/14 08:03

Danke aber mit Kompas ich habe mich falsch ausgedrückt. Ich möchte ein Questsystem machen und die Nadel soll auf die Entity zeigen bei der ich meine nechste Quest mache. Ich weiß nicht wie ich den Winkel errechne. Ich denke ich muß den winkel dann mit camera.pan addieren/subtrahieren. vec_to_angle und vec_rotate hab ich glaub ich nicht verstanden aber ich denke es geht irgendwie damit nur komisch, dass der Wert ja immer größer wird je öfter ich mich drehe
Posted By: CocaCola

Re: Kompas PANEL erstellen - 04/19/14 08:50

Ich hab geschafft, dass der wert auf 0 ist wenn ich das Objekt ansehe und auf 90 bzw. -90 geht, wenn ich weg gucke, ich muß noch einbishen anpassen und dann kann ich den wert für mein kompas-Radar nutzen ;-)
Code:
while (1)
       {
       	vec_set (temp2.x,ziel1.x);
       	vec_set (temp3.x,player.pan);
         vec_sub(temp2.x,player.x);	
       	vec_to_angle (temp3.x,temp2.x);
       	vec_sub(temp3.x,player.pan);
       	if (temp3.x>90)
       	{temp3.x=90;}
       	if (temp3.x<-90)
       	{temp3.x= -90;}


Das ist nun mein ertes eigenes Skript!Wichtig war es die VECTORen temp2.x und player.xzu sibtrahieren aber ich weiß nicht von welchen VECTOR vec_to_angle sonst aus geht, wenn ichs nicht tuhe, so ganz verstanden hab ichs also nicht...
Posted By: CocaCola

Re: Kompas PANEL erstellen - 04/19/14 09:43

Ich hab ganz vergessen nach zu gucken aber er zahlt bei mir jade drehung mit, also kann ich mich auch um 1000° drehen, wie setze ich die Grad zahl wieder zurrück?
Posted By: CocaCola

Re: Kompas PANEL erstellen - 04/19/14 11:01

Diesmal hab ichs wirklich geschaft, mann kann sich jetzt so oft wie man möchte, nach rechts rehen und zurrück ich muß das ganze noch für den minus Bereich machen also für links.
Posted By: CocaCola

Re: Kompas PANEL erstellen - 04/19/14 11:45

Ich habs fertig!!! Ihr könnts euch runterladen und anschauen. Aber eine Frage hab ich noch: Wie kann man machen, dass man mit N zwischen verschiedennen Entitys switschen kann?
Test.zip
Code:
vec_set (temp2.x,ziel1.x);
       	vec_set (temp3.x,player.pan);
         vec_sub(temp2.x,player.x);	
       	vec_to_angle (temp3.x,temp2.x);
       	vec_sub(temp3.x,player.pan);
       	vec_set (temp4.x,temp3.x);
       	if(temp4.x>360)
       	while(temp4.x>360)
       	{temp4.x =temp4.x-360;}
       	if ((temp4.x<90)&& (temp4.x>-1))
       	{nadel_pan.pos_x = -temp4.x+300;}
       	if (temp4.x>270)
       	{temp4.x= temp4.x-180;
       	nadel_pan.pos_x = -temp4.x+480;}
       	
			if(temp4.x<-360)
       	while(temp4.x<-360)
       	{temp4.x =temp4.x+360;}
       	if ((temp4.x>-90)&& (temp4.x<0))
       	{nadel_pan.pos_x = -temp4.x+300;}
       	if (temp4.x<-270)
       	{temp4.x= temp4.x+180;
       	nadel_pan.pos_x = -temp4.x+120;}

Posted By: CocaCola

Re: Kompas PANEL erstellen - 04/25/14 12:48

Ok!hab ichgeschaft laugh
© 2024 lite-C Forums