![]() |
DelphiX und ein Laser!?
Hallo!
Eins der bekanntesten 2D Spiele, sind die wo man mit einem Raumschiff andere gegenstände, wei z.B. Raumschiffe abschießen muss. Jetzt bin ich auch dabbei mal sowas zu Programmieren. :coder: Doch leider weiß ich nicht wie ich das mit dem Schießen machen soll. Bitte, ich brache dringend Hilfe! |
wo liegt denn das problem genau??
gruss haegar |
Hi!
Das was du mir über Icq mitgeteilt hast, hab ich nicht verstanden, mit den Arrays und Indexschuss, und die sachen. |
die schüsse, müssen doch net in ein array, habs grad probiert, naja un dann musst du die mitte vom raumschiff bestimmen, und das geht mit dem was ich dir über icq geschickt habe!
also: schuss(create); schuss.erzeugen; in die procedure wo knopf gedrückt wird, in erzeugen weist du dann bilder, position etc zu gruss haegar |
Kannst du mir das etwas genauer erklären?
|
also ich hab das getrennt:
-schuss-create -schuss.erzeugen (zuweisen vom bild, und position) diese beiden proceduren beim drücken der feuertaste. und schuss erzeugen hab ich eben selbst geschrieben. immer noch was unklar? wennja dann was genau? gruss haegar |
Japs!
Das war erst mal alles. |
hi,
- den schuss erzeugst du genauso wie all die anderen TImageSprites in deinem spiel
Delphi-Quellcode:
das machst du wie du siehst wenn der knopf gedrückt wird.
if isButton1 in Form1.DXinput.Keyboard.States then //feuer
begin if reload>=40 then begin schuss:=TSchuss.Create(Form1.DXspreng.Engine); schuss.erzeugen; reload:=0; end; inc(reload); die procedure "schuss.erzeugen" habe ich selbst geschrieben, in der weise ich bilder, und position zu. - da sich dein raumschiff drehen kann, dürfte das auch anders sein als das was ich dir per icq geschickt habe - beim drehen kann ich dir vorerst ent helfen - das nicht mitbewegen bekommst du damit hin, das du in der prozedur TSchuss.DoMove; die X und Y eigenschaft des schusses nicht in abhängigkeit vom schiff stellst (ich denke das du sowas gemacht hast). Am anfang beim erzeugen musst du das machen, damit du anfangs position erreichst, danach bewegt er sich konstant in eine richtung, egal was das schiff macht, und ich denke da musste dann wieder irgendwas über winkel machen...weil du ja dein schiff drehen kannst. sicher bin ich mir dabei nicht, aber wär mein gedanke gruss haegar |
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo citybreaker,
scheinst ja mit Deinem Projekt voranzukommen. Hatte mich schon einmal mit 'Lasern auseinandergesetzt', anbei ein kleines von mir damals zu Testzwecken program- miertes Demo. Also der Teil mit den Lasern ist zwar ein wenig versteckt, wirst ihn aber finden. arnoldo |
sag mal wo habt ihr die DXFonts her?? die sind bei net drin, hab schon viele DelphiX-progs damit heruntergeladen, und mich jedes mal aufs neue geärgert. :?
gruss haegar |
Die 'DXFonts' sind einfach nur Bitmaps mit dem entsprechenden
Font (in definierten Abständen). Solche Bitmap-Fonts sind allerdings nicht leicht zu finden. |
Habe grad mal geschaut, die Fonts sind echt schwer zu finden,
aber man kann auch selber welche erstellen! Mit dem ![]() Grafikprogramm nacharbeiten (colorieren) und fertig. gruß arnoldo |
Code:
Was ist reload? Muss ich das bei den Variablen
if isButton1 in Form1.DXinput.Keyboard.States then //feuer
begin if reload>=40 then begin schuss:=TSchuss.Create(Form1.DXspreng.Engine); schuss.erzeugen; reload:=0; end; inc(reload); einfügen? Und was sind DXFonts? Danke für eure Hilfe! |
Liste der Anhänge anzeigen (Anzahl: 1)
DXFonts sind, wie oben erwähnt, ganz normale Bitmaps, welche die Buch-
staben des Alphabetes grafisch, in definierten Abständen, enthalten. Diese können mit der interne Fontengine von DelphiX oder als Sprites benutzt werden. Die Vorteile sind Mehrfarbigkeit und Flexibilität. Man könnte auch den gesamten Text eines Spiels mit jeweils einer neuen Grafik auf den Bildschirm bringen, dies ist aber aus Platz- und Performancegründen nicht erwünscht und die normalen Fonts sind meist nicht 'schön' genug. anbei ein Beispiel eines solchen Fonts. |
stell dir mal vor der will dauerfeuer machen, und hält pausenlos die spacetaste (in meinem fall) fest, dann würde er mehr schüsse malen, als dir lieb wären..der reload is dann quasi die nachlade zeit....es kommt drauf an wie hoch dein timerintervall ist....wenn er recht niedrig ist, dann würde er auch schneller schiessen. verstehst??
gruss haegar. |
DXFont (als Komponente) gibt es
bei mir gar nicht! Aus diesem Grund kann ich auch nicht die Datei aus dem 1. Anhang nicht starten. (Als exe) |
mmh, eigenartig. Also im Prinzip muesste es dabei sein...
Zumindest ist es auf jeden Fall im letzten UnDelphiX-Package. Edit: habe nochmal nachgeschaut, Du brauchst UndelphiX ![]() und dann den patch drüber. |
Leider lässt sich DXFont nicht zur Komponenten Pallete
hinzufügne, da eine Fehlermeldung erscheint. Und das mit dem Laser hab ich auch noch nicht begriffen. |
Liste der Anhänge anzeigen (Anzahl: 1)
So, ich habe es jetzt soweit geschaft, dass
der Laser fliegt. Nun kommt das nächste Problem. Der Laser wird abgeschoßen fliegt und auf dem Bild- schrim erscheint anschließend eine abbildung des lasers! Ich habe mal ein Bild im anhang. Weiß jemand woran das liegt, das da der laser nochmal erscheint? |
ähh...irgendwie versteh ich das problem nicht ganz! :mrgreen:
kannste bitte nochmal erklären :roll: gruss haegar |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz