Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Steuern von Grafiken mit den Pfeiltasten (https://www.delphipraxis.net/66804-steuern-von-grafiken-mit-den-pfeiltasten.html)

Sonnfan 4. Apr 2006 15:04


Steuern von Grafiken mit den Pfeiltasten
 
Hiho ^^
Ich belege einen Kurs zur Erlernung von Delphikentnissen. Als Jahresarbeit sollen wir ein Spiel programmieren.
Da wir im Kurs allerdings nicht den Umgang mit Grafiken erlernen, muss ich mir das alles selber aneignen.

Ich habe vor, so ein kleines Weltallabenteur zu machen, also wo man selber ein Raumschiff steuert, Gegner kommen und Meteoriten vom Himmel fallen. Man soll Boni sammeln können, im Hintergrund soll Sternenhimmel vorbeiziehen, und, natürlich, soll man schießen können.

Nun wollte ich damit anfangen, und begann meine Suche damit, herrauszufinden, wie man selber mit den Pfeiltasten eine Grafik steuern kann. Beim Benutzen der Suchfunktion hab ich allerdings nur gefunden, wie man Bilder mit der Maus steurert und wie sich Bilder regelmäßig bewegen. Letzteres kann ich ja auch für die Meteoriten benutzen, welche herunterfallen sollen, aber ich wollte halt erstmal damit anfangne, dass sich das eigene Raumschiff steuern lässt.

Puh, danke fürs durchlesen dieses langen Textes, ich hoffe mir kann da jemand helfen. ^^

P.S. Ich weiß nicht wirklich, welche Programmiersprache ich nehmen... :gruebel: Den Standart bei Delphi 2005 halt...

igel457 4. Apr 2006 15:18

Re: Steuern von Grafiken mit den Pfeiltasten
 
Nimm ruhig Delphi 2005 Personal (was es ja hier zum Download gibt).

Um ein solches Spiel zu Programmieren benötigst du ordentliche Grafikausgabe. Mit den Standartkomponenten von Delphi kommst du da nicht weit.

Zum Glück gibt es da noch andere Komponenten für Delphi, wie zum Beispiel Bei Google suchenUnDelphiX. Damit kannnst du flickerfrei viel Grafik ausgeben.

Dazu gibt es auch Massig Tutorials und wenn ich mich recht entsinne ist sogar ein Weltraum Demogame dabei.

Allerdings erfordetdas ganze ein wenig Einarbeitungszeit auch wenn es im wesentlichen die einfachste Art ist DirectX mit Delphi zu verwenden.

Damit ist so etwas eigentlich kein großes Problem. Du solltest dich Allerdings mit Objektorientierter Programmierung ein wenig auskennen.

leuchtturmwaerter 8. Apr 2006 15:46

Re: Steuern von Grafiken mit den Pfeiltasten
 
Hi,
ich habe dasselbe Problem, ich will bei einem ganz simplen Tennis einen SChläger mit der Cursor-Tasten verschieben.

Das ist mit den Ereignissen OnKeyDown oder OnKeyPress relativ schnell zu erledigen. Aber dann stockt das Bild immer, da die Wiederholrate der Tasten bei mir sehr hoch ist. Das heißt, dass beim Tastendruck sich die Grafik um einen bestimmten WErt nach unten verschiebt, dann passiert ungefähr eine halbe Sekunde gar nichts und dann saust die Grafik relativ schnell davon. Die Frage ist, wie Delphi die procedure direkt wiederholt, sodass der Ablauf reibungslos ist und man auch schenllere Ballwechsel super mahcen kann.
Kann mir irgendwer helfen?

Sonnfan 9. Apr 2006 17:01

Re: Steuern von Grafiken mit den Pfeiltasten
 
Hiho ^^
Ich hab mich jetzt erst mal mit verschiedenen Funktionen vertarut gemacht, wie z.B. Vierecke mit Buttons zu verschieben, sie fallen zu lassen usw.
Jetzt möchte ich das ganze auf mein Raumschiff übertragen. Allerdings geht es da schon mir Problemen los. Um die Grafik darzustellen, benutze ich ein OpenDialoge in einer Paintbox, als Code diesen:

procedure TForm1.start_button1Click(Sender: TObject);
var Bmp: TBitmap;
begin
if OpenDialog1.Execute then
begin
Bmp:= TBitmap.Create;
try
Bmp.LoadFromFile(OpenDialog1.Filename);
{Form1.}Canvas.StretchDraw(Rect(0,0,Bmp.Width div 2,Bmp.Height div 2),Bmp);
finally
Bmp.Free;
end;
end;
end;


Wenn ich allerdings den Button 'Start' verwende, kommt ein Auswahlmenü (wie der Explorer), wo ich mir das zu öffnende Bild auswählen kann. Diese wird dann allerdings in der oberen linken Ecke ausgegeben, udn zwar halb so klein wie normal.

Was muss ich tun, damit das Bild gleich auf Druck des Buttons erscheint? Und das die Gröé stimmt? Und die Koordinaten müsste ich auch noch irgendwo eingeben können...

EDIT: Ich hab gemerkt das das Blödsinn is... ich muss das anders machen...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:39 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