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,213 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Mond soll sich um Erde drehen.. und um sich selbst #456127
11/11/15 14:45
11/11/15 14:45
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
Hallo,
Seit längerem versuche ich folgendes:

Ein Mond zu erstellen der sich selbst dreht, und
um ein Objekt(Erde)

Das Problem: entweder dreht sich der Mond um sich selbst
Oder um das Object... Jedoch nicht beides gleichzeitig

-kann mir wer helfen ???

Ich habe schon alles versucht ... Selbst mit pyhsX UND nvidea debugger...Nichts !!
- anschein geht das nicht..

Geh das irgnwie mit my.pan oder so?
Wenn ich x-10 versuche in ent_create gehts auch nicht frown

Sin / COS liegt mir auf der Zunge ... Aber WIE benutzen ?

MfG: Patrick

Last edited by ratz; 11/11/15 15:00.
Re: Mond soll sich um Erde drehen.. und um sich selbst [Re: ratz] #456129
11/11/15 15:34
11/11/15 15:34
Joined: Nov 2009
Posts: 201
Logitek Offline
Member
Logitek  Offline
Member

Joined: Nov 2009
Posts: 201
Den Mond kannst du mit

my.pan += 0.1 * time_step; // oder je nach gewünschten Speed

drehen.

Aber auch mit my.tilt und my.roll auf dieselbe weise. Kommt darauf an, wie du ihn drehen willst.

Und um die Erde noch dazu ist etwas komplizierter. Aber mit Physics würde ich das nicht machen. Schau mal im Forum nach Kamera Scripts, die sich um ein Objekt drehen. Anstatt der Kamera kannst du dann eben den Mond so setzen.

Last edited by Logitek; 11/11/15 15:35.
Re: Mond soll sich um Erde drehen.. und um sich selbst [Re: Logitek] #456131
11/11/15 16:35
11/11/15 16:35
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
VECTOR mond_winkel; // global definieren
...
vec_set(mond.x,vector(256,0,0)); // Distanz zur Erde (+ Radii der Körper)
vec_rotate(mond.x,mond_winkel); // <- diesen Befehl suchst du offenbar
vec_add(mond.x,erde.x);

mond_winkel kannst du nun beispielsweise wie folgt ändern:
mond_winkel.x += 2*time_step;
mond_winkel.x %= 360;
mond_winkel.y = sinv(mond_winkel.x)*15; // herumexperimentieren!


"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: Mond soll sich um Erde drehen.. und um sich selbst [Re: Superku] #456138
11/11/15 19:09
11/11/15 19:09
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
..so ?
Code:
///////////////////////////////
#include <acknex.h>
#include <default.c>

///////////////////////////////

VECTOR mond_winkel;

ENTITY* erde;
ENTITY* mond;

function earth();


function main()
{
  vec_set(screen_size,vector(800,400,0));
  
  vec_set(screen_color,vector(50,1,1)); // dark blue
  vec_set(sky_color,vector(50,1,1)); // dark blue
  
  video_window(NULL,NULL,0,"My New Game");
  d3d_antialias = 1;
  shadow_stencil = 3;
  
  level_load(NULL);
  
  erde = ent_create ("box.mdl",vector(0,0,0),earth); 
  
}

function earth()
{
  
  mond = ent_create ("box.mdl",vector(0,0,0),NULL);   



 	
	vec_set(mond.x,vector(256,0,0)); // Distanz zur Erde (+ Radii der Körper)
   vec_rotate(mond.x,mond_winkel); // <- diesen Befehl suchst du offenbar
   vec_add(mond.x,erde.x);
   
while(1)
 { 

 mond_winkel.x += 2*time_step;
 mond_winkel.x %= 360;
 mond_winkel.y = sinv(mond_winkel.x)*15; // herumexperimentieren!
 

 wait(1);
 }	
}


hab aber scriptcrash error und "Mond" bewegt sich nicht

Re: Mond soll sich um Erde drehen.. und um sich selbst [Re: ratz] #456139
11/11/15 19:15
11/11/15 19:15
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Du hast da ein Timingproblem, deine Funktion earth() wird erst ausgeführt bis zum ersten dortigen wait(), dann wird erde als Pointer belegt.
Setze stattdessen einfach am Anfang der earth() Funktion den erde Pointer auf "me".


"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: Mond soll sich um Erde drehen.. und um sich selbst [Re: Superku] #456163
11/12/15 22:07
11/12/15 22:07
Joined: Oct 2008
Posts: 341
R
ratz Offline OP
Senior Member
ratz  Offline OP
Senior Member
R

Joined: Oct 2008
Posts: 341
JO habs hinbekommen laugh

somit kann ich den Mond mit my.pan um sich drehen lassen ..
jetz check ich auch, was dieser vector da macht
-> der setz den Drehpunkt 0 auf den momentanen punkt, wo sich der Mond befinden soll, somit kann man dann mit Mond.pan den Mond um die Erde drehen lassen und um sich selbst via vector kram *umkehert sry

bei mir dreht sich sogar die Erde

Code:
///////////////////////////////
#include <acknex.h>
#include <default.c>

///////////////////////////////

VECTOR mond_winkel;

//ENTITY* erde;
ENTITY* mond;

function earth();


function main()
{
  vec_set(screen_size,vector(800,400,0));
  
  vec_set(screen_color,vector(50,1,1)); // dark blue
  vec_set(sky_color,vector(50,1,1)); // dark blue
  
  video_window(NULL,NULL,0,"My New Game");
  d3d_antialias = 1;
  shadow_stencil = 3;
  
  level_load(NULL);
  
  me = ent_create ("box.mdl",vector(0,0,0),earth); 
  
}

function earth()
{
 mond = ent_create ("box2.mdl",vector(0,0,0),NULL);    
 
while(1)
 { 
  my.pan += 1*time_step;	
	vec_set(mond.x,vector(130,0,0)); // Distanz zur Erde (+ Radii der Körper)
   vec_rotate(mond.x,mond_winkel); // <- diesen Befehl suchst du offenbar
   vec_add(mond.x,me.x);
   

 mond_winkel.x += 2*time_step;
 mond_winkel.x %= 360;
 mond_winkel.y = sinv(mond_winkel.y)*15; // herumexperimentieren!
 
 mond.pan+= 6*time_step;
 
 wait(1);
 }	
}



Fettes Danke nochmal

Last edited by ratz; 11/12/15 22:14.

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