![]() |
Mein erstes (spiel) projekt
hallo zusammen...
ich muss für die schule ein kleines spiel programieren und habe nun ein paar probleme und erhoffe mir in diesem forum ein paar antworten. :) ich will so eine art tetris erstellen wo smilies von oben nach unten fallen und ich sie unten mit einem korb(balken) auffangen kann.ich habe nun viele kleine smilies an den oberen bildrand gestellt und visible auf false gesetzt. nun meine frage: wie kann ich nun zufällig eines dieser images auswählen und es in bewegung setzten(ich brauche nur das auswählen die bewegungsprozedure habe ich schon) ,dass müsste aber dann irgenwie in einer schleife passieren, bis keine smilies mehr da sind??? so hat wer vielleicht nen paar ideen für mich???? (arbeite mit delphi6) danke im voraus ciao euer Mr.Funky |
Re: Mein erstes (spiel) projekt
Zitat:
|
Re: Mein erstes (spiel) projekt
Ich würde die Dinger auch erst zur Laufzeit erzeugen da biste dann flexlibler als mit X unsichtbaren oben am Rand.
|
Re: Mein erstes (spiel) projekt
Also das was du meinst würd ich wenn überhaut mit einem Random machen. Einfach x:=Random(AnzahlderSmileys); Und dann
case x of 1: asd; 2: asd; 3: asd; Aber ich würds auch zur Laufzeit machen...Frisst auch enorm viel Resource wennstas mit TImages machst... |
Re: Mein erstes (spiel) projekt
Nimm eine TObjectList!
Du kannst hier die Anzahl der Smilies durch Count festlegen und einzelne TImage-Komponenten zur Laufzeit erzeugen und zuweisen. Mit Random(Count) wählst du dann zufällig eins dieser Smilies aus |
Re: Mein erstes (spiel) projekt
danke erstmal für die antworten ich probier gleich mal einiges aus !! :-D
|
Re: Mein erstes (spiel) projekt
TImages sind langsam.
Hole dir doch ein paar Bitmaps (deine Simlies) in den Speicher und mache sie dann mit
Delphi-Quellcode:
auf den Bildschirm.
BitBlt(form1.Canvas.Handle,0,0, bild.Width, bild.Height, bild.canvas.Handle,0 ,0,srccopy);
Zeichne bei onpaint neu und kannst ja mit einem Timer o.ä. deine Smilies ein stück weiter nach unten wandern lassen. |
Re: Mein erstes (spiel) projekt
hi noch ein problem:
ich bringe meinen (fange)button folgender maßen in bewegung:
Delphi-Quellcode:
wie mache ich es, dass er an den kanten der oberfläche nicht weiter geht ?? ich finde keine richtige löung, da meine ideen nur so fuktionieren, dass ich den button nicht mehr zurück bewegen kann ?? :wall:
if getasynckeystate(vk_left) < 0 then
Button1.Left := Button1.Left - 10 ; if getasynckeystate(vk_right) < 0 then Button1.Left := Button1.Left + 10; für hilfe bedanke ich mich im voraus, ciao euer mrfunky |
Re: Mein erstes (spiel) projekt
So müsste es gehen:
Delphi-Quellcode:
if getasynckeystate(vk_left) < 0 then
begin if Button.Left > 10 then Button1.Left := Button1.Left - 10 else Button.Left := 0; end; if getasynckeystate(vk_right) < 0 then begin if Button.Left + Button.Width < Width - 10 then Button1.Left := Button1.Left + 10 else Button.Left := Width; end; Flare |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 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 by Thomas Breitkreuz