![]() |
Kartenspiel --> Karten bewegen??
Hallo,
zum coden eines Kartenspiels benutze ich die Komponente ![]() Funktioniert auch einwandfrei, jedoch würd ich die Karten auch gern mit der Maus bewegen können um sie zum Beispiel von einem Stapel auf den nächsten zu transportieren (wie im Windows-Solitaer). Hat jemand ne Idee , wie ich das bewerkstelligen kann?? Für jegliche Idee im vorraus Danke!! |
Re: Kartenspiel --> Karten bewegen??
|
Re: Kartenspiel --> Karten bewegen??
vielen dank mirilin, sowas hab ich auch schon gesucht!!
gruss, ims |
Re: Kartenspiel --> Karten bewegen??
Vielen dank Mirilin, der Link ist schon mal sehr hilfreich.
Was mich jedoch stört ist das flackern der Grafik beim verschieben. Wie könnte man das noch abstellen. Gruß Scorpi |
Re: Kartenspiel --> Karten bewegen??
einfach mit:
Delphi-Quellcode:
etwas kompilzierter aber eleganter:
Form1.DoubleBuffered := true
Alle Zeichnen operationen erst auf ein TBitamp(Hintergrundbild) Und wenn alles gezeichnet wurde das Bild auf das Formular kopieren z.B. mit Canvas.draw oder besser mit BitBlt(); Da ich TCard v1. nicht kenne kan ich leider kein Beispiel posten. mfg |
Re: Kartenspiel --> Karten bewegen??
Hallo Gandalfus
DoubleBuffered hört sich nicht schlecht an, jedo "Undefinierter Bezeichner: DoubleBuffered". Ich arbeite mit Delphi 3 Prof., hab ich da etwas vergessen, oder gibt es das dort noch nicht?? Gruß Scorpi |
Re: Kartenspiel --> Karten bewegen??
Zitat:
Da musst du wohl die 2 Variante nehmen. Am besten du verzichtest dann auch gleich auf diese TCard v1. Hier mal ein ungetestes Beispiel:
Delphi-Quellcode:
oncreate:
type
karte = record; sichtbar: boolean; kind: integer; top,left: intger; end; var karten: array [1..32] of karte; katenbilder: array [1..32] of TBitmap; backbild: TBitmap:
Delphi-Quellcode:
In einen timer mit kleinem Intervall:backbild := Tbitmap.create; backbild.width := Form1.width; backbild.height := Form1.height; for i:=1 to high(katenbilder) do begin katenbilder[i] := Tbitmap.create; end; katenbilder[1].loadfromfille('Königbild.bmp'); katenbilder[2].loadfromfille('Damebild.bmp'); .......
Delphi-Quellcode:
for i:=1 to high(katen) do
begin backbild.Canvas.draw(katen[i].left,katen[i].top,katenbilder[katen[i].kind]); end; Form1.canvas.draw(0,0,backbild); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:13 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