achja für die funktionen wo man braucht um ball flugwinkel + geschwindigkeit = neue position von ball ( sin / cos )
hab ich auch den code.. aber der müsste eigentlich auch noch zu schaffen sein
hier noch n paar funktionen:
vorberechnung der cos/sin ergebnisse:
Delphi-Quellcode:
sina: array[0..360] of real; // vorberechnete werte für sin
cosa: array[0..360] of real; // vorberechnete werte für cos
procedure initfunc;
var
i: integer;
begin
for i := 0 to 360 do begin
sina[i] := Sin(cycletorad( i / 360));
cosa[i] := Cos(cycletorad( i / 360));
end;
end;
hier noch bissi code wo ich fürs schiffe begewen mal gehabt habe:
Delphi-Quellcode:
// BEWEGEN ( x/y verschieben )
if (sh[i].mode >= 1) then begin // fliegt er ?
if (sh[i].typ = 1) then begin // jäger
sh[i].x := ( cosa[round(sh[i].a)] * (sh[i].v*1.1) ) + sh[i].x;
sh[i].y := ( sina[round(sh[i].a)] * (sh[i].v*1.1) ) + sh[i].y;
end;
if (sh[i].typ = 2) then begin // advjäger
sh[i].x := ( cosa[round(sh[i].a)] * (sh[i].v*1.8) ) + sh[i].x;
sh[i].y := ( sina[round(sh[i].a)] * (sh[i].v*1.8) ) + sh[i].y;
end;
if (sh[i].typ = 3) then begin // bomber
sh[i].x := ( cosa[round(sh[i].a)] * (sh[i].v*1.4) ) + sh[i].x;
sh[i].y := ( sina[round(sh[i].a)] * (sh[i].v*1.4) ) + sh[i].y;
end;
if (sh[i].typ = 4) then begin // trans
sh[i].x := ( cosa[round(sh[i].a)] * sh[i].v ) + sh[i].x;
sh[i].y := ( sina[round(sh[i].a)] * sh[i].v ) + sh[i].y;
end;
sh[] is array mit schiffen
sh[].x is x position
sh[].y is y position
sh[].a ist winkel in ° ( 0 -360 )
sh[].v ist geschwindigkeit ( pixel pro bild )
alles klar ? :>
Das echte Leben ist was für Leute...
... die im Internet keine Freunde finden!