Autor Beitrag
ultraz06
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 84



BeitragVerfasst: Fr 23.01.09 16:58 
hi :)
ich habe folgendes problem ich will ein moorhuhn ähnliches spiel programmieren.
jetzt bin ich dran die obejekte auf die geschossen wird einzubinden, ich wollte eig eine bilderfolge wie im anhang so darstellen das es ähnlich wie ein daumenkino wirkt.
also wenn timer per zählschleife runterzählt soll immer das nächste bild angezeigt werden aus der folge.
also am angang das erste und dann animationslike immer das nächste.

rapidshare.com/files...5/maulwurf1.bmp.html
also in dem beispiel von links nach rechts
nun weiß ich nicht wie ich es in delhpi umsetzen muss
Einloggen, um Attachments anzusehen!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 23.01.09 17:10 
Hallo und :welcome: im Forum!

Du kannst deinen Daumenkinostreifen in eine TBitmap laden und dann daraus jeweils mit BitBlt bzw. StretchBlt den entsprechenden Teil in die Anzeige kopieren.

Im Timer kannst du dann das aktuelle Bild hochzählen und aus dem Index des aktuellen Bilds und der Breite der Einzelbilder die Pixelposition des aktuell benötigten Einzelbilds berechnen.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
// Timer
Inc(CurrentImage);
if CurrentImage > MaxImageIndex then
  CurrentImage := 0;

// Anzeige
ImageRect := Rect(CurrentImage * ImgWidth, 0, (CurrentImage + 1) * ImgWidth, ImgHeight);
// Das ist das Rechteck in dem Bilderstreifen, der das aktuelle Bild darstellt.
BitBlt(...
ultraz06 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 84



BeitragVerfasst: Fr 23.01.09 17:31 
oh man ich steh grad voll aufm schlau^^
kannste mir das vllt mal näher erläutern ?
das mit "BitBlt bzw. StretchBlt den entsprechenden Teil in die Anzeige kopieren. und Im Timer kannst du dann das aktuelle Bild hochzählen und aus dem Index des aktuellen Bilds und der Breite der Einzelbilder die Pixelposition des aktuell benötigten Einzelbilds berechnen."" habe ich ganz nicht verstanden