AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Sprite (Feuerball fliegen lassen) mit DelphiX!

Sprite (Feuerball fliegen lassen) mit DelphiX!

Ein Thema von Maximus · begonnen am 15. Nov 2003 · letzter Beitrag vom 15. Nov 2003
Antwort Antwort
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#1

Sprite (Feuerball fliegen lassen) mit DelphiX!

  Alt 15. Nov 2003, 21:18
Hallo,

Ich versuche gerade einen grundstock für ein 2D Schläger oder Rollenspiel zu programmieren, als Spieler soll man mit der Leertaste ein Feuerball abschießen der dan in die richtung fliegt in die das Mänchen gedreht wurde (das funktioniert soweit) -> nur wenn man den Feuerball abschießt nach links und dan sich z.b. nach oben dreht, dan dreht sich der Feuerball auch nach oben, wie bekomm ich es hin das der Feuerball in die für ihn bestimmte richtung weiterfliegt?

Delphi-Quellcode:
procedure TFeuerball.DoMove (MoveCount: integer);
 var flieg: boolean;
 begin
   if isButton1 in Spiel.Input.States then
   begin
    Feuerball.X := Player.X;
    Feuerball.y := Player.Y;
    Feuerball.Visible := true;
    flieg := true;
    end;

    if flieg = true then
    begin
    case Player.richtung of
    1: begin Feuerball.flyrichtung := 1; Feuerball.Image := Spiel.Liste.Items.Find('FeuerballO'); flieg := false; end;
    2: begin Feuerball.flyrichtung := 2; Feuerball.Image := Spiel.Liste.Items.Find('FeuerballR'); flieg := false; end;
    3: begin Feuerball.flyrichtung := 3; Feuerball.Image := Spiel.Liste.Items.Find('FeuerballU'); flieg := false; end;
    4: begin Feuerball.flyrichtung := 4; Feuerball.Image := Spiel.Liste.Items.Find('FeuerballL'); flieg := false; end;
    end;
    end;

    case Feuerball.flyrichtung of
    1: Feuerball.Y := Feuerball.Y - 2;
    2: Feuerball.X := Feuerball.X + 2;
    3: Feuerball.Y := Feuerball.Y + 2;
    4: Feuerball.X := Feuerball.X - 2;
    end;


end;
hier mal den Code der DoMove Procedure die den Feuerball fliegen lässt!
  Mit Zitat antworten Zitat
Haegar

Registriert seit: 10. Dez 2002
Ort: Peitz
319 Beiträge
 
Delphi 7 Professional
 
#2

Re: Sprite (Feuerball fliegen lassen) mit DelphiX!

  Alt 15. Nov 2003, 22:17
case Player.richtung of hi, das is der entscheidene Codeschnipsel, die doMove-prozedur wird ja ständig surchlaufen, wenn sich nun dein spieler dreht, so ist also player.richtung anders, und dem zu folge auch die flugrichtung, du solltest einfach beim erstellen des Feuerballs (am besten mit create-prozedur)
die flugrichtung zuweisen, dann wird diese nur einmal zugewiesen, und der spieler kann sich drehen wie er lustig ist, und der "ball" fliegt schön weiter in seine richtung!

Delphi-Quellcode:
type
  TFeuerball=class(TImageSprite)
   public
    flugrichtung:byte; //nicht optimal wenns in public steht!
    procedure erzeugen;
    procedure DoMove(MoveCount:integer); override;
   end;


procedure TFeuerball.erzeugen;
begin
 flugrichtung:=player.richtung;
 ... //sonstige zuweisungen
end;
dann kannst du immer mit feuerball.flugrichtung arbeiten!

ciao haegar
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz