3D GAMESTUDIO-Magazin Ausgabe 01 | Oktober 20051
3D GAMESTUDIO-Magazin Ausgabe 01 | Oktober 20051
3D GAMESTUDIO-Magazin Ausgabe 01 | Oktober 20051
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Bewegung der Führungsfigur in der "Bewegungs.wdl"<br />
Öffnen Sie eine weitere WDL-Datei und geben Sie ihr den Namen "Bewegung.wdl". Diese Datei<br />
beinhaltet alle Funktionen die sich mit der Bewegung der Führungsfigur, in diesem Fall der Player-<br />
Entity, befassen.Sollten Ihnen die Funktionen "chef_player_move" bekannt vorkommen ist das<br />
durchaus möglich. Sie bezieht sich im Großen und Ganzen auf das sehr gute diablo-Script aus<br />
einem Aum-Heft. Sie wurde von mir überarbeitet und angepaßt. Beginnen wir wieder mit den<br />
benötigten Variablen.<br />
//// Variablen<br />
var vecfrom;<br />
var vecto;<br />
var my_target;<br />
var ziel_pos;<br />
var force;<br />
var friction;<br />
var dist[3];<br />
var abs_dist[3];<br />
//// Definitionen der Skill´s<br />
define _force, skill36;<br />
define _vz_entity,skill45; // Geschwindigkeit vertikal der Entity<br />
define _v_entity,skill47; // Geschwindigkeit horizontal der Entity<br />
define ziel,skill48; // Freigabe Zielposition 0 = Aus, 1 = An<br />
Als nächstes rufen wir wieder alle Funktionen auf um eine etwaige Fehlermeldung zu umgehen.<br />
function get_target();<br />
function gravity_entity();<br />
function move_entity();<br />
function chef_player_move();<br />
Funktion "get_target()"<br />
Jetzt beginnen wir mit dem ersten Skript. Es wird die Funktion "get_target()" sein. Mit deren Hilfe<br />
wir dem Player durch Anklicken im Level ein Ziel zuweisen.<br />
function get_target() // Zielposition<br />
{<br />
vecfrom.x = mouse_pos.x; // X-Position des Cursors<br />
vecfrom.y = mouse_pos.y; // Y-Position des Cursors<br />
vecfrom.z = 10;<br />
vec_set(vecto,vecfrom);<br />
vec_for_screen(vecfrom,camera); // Vektor bekommt Bildschirmkoordinaten<br />
vecto.z = 5000;<br />
vec_for_screen(vecto,camera); // Vektor bekommt Bildschirmkoordinaten<br />
trace(vecfrom,vecto); // trace von der Kamera auf angeklickten Punkt<br />
vec_set(my_target,target);<br />
vec_set(ziel_pos,target);<br />
<strong>3D</strong> <strong>GAMESTUDIO</strong>-<strong>Magazin</strong> ■ <strong>Ausgabe</strong> <strong>01</strong> | <strong>Oktober</strong> 2005 │69