Autor Beitrag
GI_PC
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 34



BeitragVerfasst: Mo 15.06.09 19:38 
Hallo Leute,

Ich arbeite gerade an meine Schulprojekt. Ich programmiere ein Spiel, Space Impact. Ich habe ein wenig Schwierigkeiten. z.B:

Wenn ich auf die Taste drücken, soll die UFO schiessen, zu erst mal eine Frage, wo soll ich das programmieren?

Ich habe in
ausblenden Delphi-Quelltext
1:
2:
procedure TfrmMain.down(Sender: TObject; var Key: Word;
  Shift: TShiftState);
Ist das richtig? Also es funtioniert mal.

Und jedes mal wenn ich auf Taste drücken, soll es schiessen, aber funktioniert es nicht. Mit 'if' funktioniert nur einmal, aber es soll ja jedes mal schiessen, da dachte ich, ich schreibe mal mit 'while', dann bleibt mein ganzes Programm stehen.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
procedure TfrmMain.down(Sender: TObject; var Key: Word;
  Shift: TShiftState);
if(ssCtrl in Shift) then
          begin
            imgfire.visible:= true;
            tmfire.enabled:= true;
          end;


ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TfrmMain.tmfireTimer(Sender: TObject);
begin
      imgfire.Top:=  imgfire.Top-10;
end;


Wie programmiere ich das, wenn das Bild imgfire an das die UFO treffe dann verschwinde das UFO

Könnt ihr mir bitte weiter helfen.

Danke am voraus.


Moderiert von user profile iconNarses: Topic aus Algorithmen, Optimierung und Assembler verschoben am Mo 15.06.2009 um 21:21
Moderiert von user profile iconNarses: Titel geändert, war: "Wie soll ich das programmieren?".


Zuletzt bearbeitet von GI_PC am Di 16.06.09 11:38, insgesamt 1-mal bearbeitet
Webo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 577
Erhaltene Danke: 14

Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
BeitragVerfasst: Mo 15.06.09 19:50 
Die Frage ist, wir realisierst du das schiessen ?

Im Moment ist ja nur die Rede von

ausblenden Delphi-Quelltext
1:
2:
imgfire.visible:= true;
tmfire.enabled:= true;


und

ausblenden Delphi-Quelltext
1:
imgfire.Top:=  imgfire.Top-10;					


Das ist ja noch nicht wirklich schiessen, wenn die Schiessanimation wiederkehren soll, dann muss man sie auch wiederkehrbar machen. Und da wir nicht wissen, ob und wie das bei dir der Fall ist (wir bräuchten noch ein paar mehr Infos des Quellcodes), kann man dir noch nicht allzu viel helfen !

Im Moment lässt du ja nur dieses eine Bild, also für einen Schuss wandern, du musst das natürlich auch für jeden Schuss machen, eben wiederkehrend.

_________________
Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
GI_PC Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 34



BeitragVerfasst: Mo 15.06.09 20:05 
user profile iconWebo hat folgendes geschrieben Zum zitierten Posting springen:
Die Frage ist, wir realisierst du das schiessen ?

Im Moment versuche ich, wenn ich auf Taste drücke sollen Bild raufgehen, (das ist dann schiessen). Wenn das funktioniert, dann probrammiere ich wenn die beiden Bilder treffen, dann ist wenn das Bild das UFO erschossen hat, dann mache ich das Bild visible:= false;


Ich habe mal vor, so zu programmieren, das funktioniert doch, oder?
Webo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 577
Erhaltene Danke: 14

Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
BeitragVerfasst: Mo 15.06.09 20:21 
Klar, so funktioniert das, nur halt für einen Schuss ... Sprich, wenn du mehrmals schiesst, wirst du nur einen Schuss sehen, da du ja nur ein Image hast, welches du bewegst ...

Ich würde an deiner Stelle anders vorgehen, wenn du mehrere Schüsse (also ich bezeichne jetzt mit Schüssen mal die fliegenden Geschosse) realisieren willst und zwar mit Canvas.

Ob und wie du diese Bilder mehrmals erstellen kannst, also dynamisch, nicht für jeden Schuss manuell, weiss ich nicht, sowas hab ich noch nie gemacht, bisher hab ich das mit Canvas gemacht oder gleich das gesamte Spiel mit einer 2D-Engine realisiert, was aber für ein kleines Projekt ein wenig zu großkalibrig scheint !

_________________
Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
Narses
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Administrator
Beiträge: 10184
Erhaltene Danke: 1259

W11x64
TP3 .. D7pro .. D10.2CE
BeitragVerfasst: Mo 15.06.09 21:24 
Moin!

Bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den Richtlinien:
1.2 Beiträge:
Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...]
Einfach oben bei Deinem ersten Beitrag auf user defined image oder user defined image klicken und den Titel ändern. Danke Dir!

cu
Narses

_________________
There are 10 types of people - those who understand binary and those who don´t.
GI_PC Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 34



BeitragVerfasst: Di 16.06.09 11:48 
Zitat:

Ich würde an deiner Stelle anders vorgehen, wenn du mehrere Schüsse (also ich bezeichne jetzt mit Schüssen mal die fliegenden Geschosse) realisieren willst und zwar mit Canvas.


Wenn ich mit Canvas machen soll,wie geht das denn? Kanns du mir bitte erklären. Mit Canvas habe ich nur so was wie 'Paint' programmiert.