11.12.2012 Aufrufe

3D Gamestudio und MySQL

3D Gamestudio und MySQL

3D Gamestudio und MySQL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

}<br />

}<br />

Die Hauptfunktion unserer Entity beinhaltet den Sprung in sämtliche andere Funktionen der Entity.<br />

Ich wähle immer diesen Weg der Hauptfunktion <strong>und</strong> den Sprung in die Unterfunktionen da es mir<br />

auf diesem Wege möglich ist eventuell bei bestimmten Aktionen verschiedene Funktionen der<br />

Entity zu überspringen. Ich gehe hier nicht im einzelnen auf die verschiedenen Funktionssprünge<br />

ein da wir die Funktionen noch genau besprechen werden.<br />

Hier nur eine grobe Auflistung der Funktionen <strong>und</strong> für welche Berechnungen sie zuständig sind.<br />

function Max_Min_Berechnung(); // Grenzen der Bo<strong>und</strong>ing Box<br />

function Abstand_zum_Boden(); // Abstandsberechnung zum Boden<br />

function Abstand_Ecken(); // Abstandsberechnung der Ecken der Entity zum Boden<br />

function Anziehungskraft(); // Anziehungskraftberechnung der Entity<br />

function Schieflage(); // Schieflage der Entity über Abgr<strong>und</strong><br />

function Drift(); // Drift der Entity bei Schieflage<br />

function Kraftfaktor(); // Kraftfaktorberechnung bei Berührung der Entity<br />

function Bewegung(); // Bewegung der Entity<br />

Unterhalb des Funktionssprungs zur Max-Min Berechnung finden Sie die Zuweisung der Max-Min<br />

Parameter in die Entity_X Skills, diese Zuweisung findet statt wenn im WED keine Angaben der<br />

Ausdehnung der Entity gemacht werden.<br />

3.3 Die Funktion "Max_Min_Berechnung()"<br />

function Max_Min_Berechnung()<br />

{<br />

my._MaxMin_x = (my.max_x - my.min_x);<br />

my._MaxMin_y = (my.max_y - my.min_y);<br />

my._MaxMin_z = (my.max_z - my.min_z);<br />

}<br />

Hier berechnen wir die Grenzen der Bo<strong>und</strong>ing Box der Entity. Diese Berechnung könnte man sich<br />

sparen, sie ist nicht unbedingt nötig. Aber dann müsste man jedesmal wenn man die Grösse<br />

feststellen will immer wieder die Berechnung my.max-my.min durchführen. So spare ich mir das<br />

<strong>und</strong> schreibe es in einen Entity Skill.<br />

3.4 Die Funktion "Abstand_zum_Boden()"<br />

function Abstand_zum_Boden()<br />

{<br />

vec_set (temp,nullvector);<br />

vec_set(temp,my.x);<br />

temp.z -=4000;<br />

vec_set(temp_1,my.x);<br />

temp_1.z = my.z - ((my._entity_z)/2);<br />

trace_mode = ignore_me + ignore_sprites + ignore_models + scan_texture;<br />

// my._BODENHÖHE beinhaltet die Entfernung zum Boden<br />

my._BODENHÖHE = trace(temp_1,temp);<br />

<strong>3D</strong> GAMESTUDIO-Magazin ■ Ausgabe 05 | Juni 2007 │33

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!