Entwickler-Ecke

Multimedia / Grafik - 2D Spielsteuerung


neo - Mo 09.06.03 16:56
Titel: 2D Spielsteuerung
Hallo!

Ich habe eine Frage:

Ich möchte ein Spiel programmieren. In diesem soll ein Auto (wird als Image eingefügt, sieht man dann von "oben"(Vogel)) gesteuert werden können.
Wenn man die Linke Pfeiltaste drückt soll sich das Auto nach links drehen, und falls man dann auch noch die Gerade aus Taste drückt, soll er eben in diese Richtung fahren.

Ich hoffe ich habe mich halbwegs verständlich ausgedrückt.

Ich möchte einfach eine Steuerung wie zbSp. beim Spiel "Lupo Cup" programmieren.

Danke!


BoMbY - Di 10.06.03 11:59

Hallo,

ja freut mich das Du sowas programmieren möchtest...

Aber wie lautet eigendlich Deine Frage? :)

m.f.g.
BoMbY


neo - Di 10.06.03 12:19
Titel: RE:
Ich möchte eine Steuerung wie zbSp. beim Spiel "Lupo Cup" programmieren, und auf die dann ein Spiel aufbauen.

mfg. Neo


maximus - Di 10.06.03 13:18

^Das ist zwar immer noch keine frage (eher ne festellung), aber ich bin mal nich so :wink:

1. Alles vektor basiert machen (2d-vektoren -> x,y).
2. Dein Auto braucht braucht positions-vektor -> p
3. Dein Auto braucht einen richtungs-vektor -> d
4. Dein auto braucht geschwindigkeits variable -> s

Bei jedem frame addierst du nun d, multipliziert mit s, zu p hinzu:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
typ TVector = record
        x,y:single;
     end;

// das auto am besten als Objekt proggen
var p, d: TVector;
     s : single;

// frame-loop
begin
   ...
   p.x := p.x + d.x * s {* frame-zeit-abstandsfaktor };
   p.y := p.y + d.y * s {* frame-zeit-abstandsfaktor };
   ...
  // das auto an dem punkt p darstellen
   ...
end;


Wenn du jetzt die links/recht tasten drückst, dann musst du den vektor d ändert (winkelfunktionen! RAD etc.). Wenn du nach vorne drückst dann erhöhe s...und dein auto sollte sich in bewegung setzen :D

hoffe es hilft...?