kostenloser Webspace werbefrei: lima-city


Viele Bilder anzeigen

lima-cityForumProgrammiersprachenDelphi & Pascal

  1. Autor dieses Themas

    crushedreality

    crushedreality hat kostenlosen Webspace.

    hi,
    ja also ich möchte mit delphi ein Kartenspiel schreiben wie Mau-Mau
    das Problem ist das Anzeigen der Karten deshalb wollte ich fragen ob man ein großes TImage aufziehen kann und dort mehrere Bilder reinladen und positionieren und wenn ja wie bzw welche anderen Methoden es gibt

    mfg
    crushedReality
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. f**z

    Du könntest das so machen, dass du nicht von anfang an die TImage Komponente nimmst, und da ein Bild reinlädst, sondern die Karten über die TTimer Komponente "OnTimer" über Canvas immer neu malen lässt, du nimmst quasi deine TImage Komponente nur als Leinwand für viele Bilder.

    Wie weit kennst du dich denn aus?
  4. r******r

    @warrockplace : Wenn man sowas beim falschen Thema fragt, werden die dafür erhaltenen Gulden mit Sicherheit wieder abgezogen, sobald jemand das merkt und sowas wieder löscht.

    Eigentlich kam ich hierher, weil ich dachte : Interessantes Thema. Was gibt es denn da Neues ? Und dann das . . .

    Aber dann will ich mal was zur Beantwortung der ursprünglichen Frage beisteuern :
    Ich würde 2 Komponenten TImage benutzen und dann immer wechselweise aktualisieren.
  5. t*****b

    Ich würde es einfach so machen, dass die Bilder zur Laufzeit erstellt und geladen (evtl. aus eine TImagemap) werden. Oder du erstellst X leere TImages, in der Anzahl wie man Karten haben darf und lädst dort dann das entsprechende Bild rein. Das wäre eigentlich am einfachsten.
  6. r******r

    Das mit den X leeren TImages würde ich nicht machen, weil das ggf. zuviel Speicher belegt. Man könnte sie allerdings dynamisch erzeugen, immer wenn man sie braucht. Ich habe jetzt eine Weile nicht programmiert, aber TImage ist doch - wenn ich es richtig in Erinnerung habe, eine visuelle Komponente. Passender wäre doch ( wegen des geringeren Speicherbedarfs und damit auch schnelleren Zugriffs ) Bitmaps zu nehmen und die dann entsprechend zu positionieren. Damit das flackerfrei und unauffällig geschehen kann, meinte ich das mit den zwei TImages.

    Übrigens : Der Hinweis auf "warrockplace" hatte damit zu tun, daß von dem eine hier völlig fehlplazierte Frage dastand, durch die ich allerdings erst auf diesen Thread aufmerksam wurde. Das wurde inzwischen vom "System" ( also jemand von lima-city ) entfernt.
  7. Wieso nicht soviele TImage-Komponenten, wie zur gleichzeitigen Anzeige benötigt werden, auf dem Formular platzieren und die Karten selbst in einer TImagelist vorhalten? Das hätte den Vorteil, dass sie gleich in den Ressourcen enthalten wären und nicht extern mitgeliefert werden müssten. Man könnte aber auch auf die TImagelist verzichten und die Bilder gleich in die Ressourcen linken, evtl. sogar in einer DLL.
  8. t*****b

    rorambur schrieb:
    Damit das flackerfrei und unauffällig geschehen kann, meinte ich das mit den zwei TImages.


    Da hilft auch.

    Form1.DoubleBuffered:=True;


    ;)
  9. Besser
    self.DoubleBuffered
    , es sei denn, man ruft das von außerhalb auf.
  10. r******r

    Nun ja. Natürlich ist "doublebuffered" möglich. Unabhängig davon, daß ich alte Delphi-Versionen habe ( 3 und 5 ) und der Befehl erst bei - ich weiß nicht aus dem Kopf bei welcher Version eingeführt wurde, gibt es Situationen, in denen das aber auch gar nichts nützen würde. Es kommt mitunter auf die benutzten Komponenten an. Ich habe jetzt kein konkretes Beispiel im Kopf, weil ich schon mehr als ein halbes Jahr nichts mehr mit Delphi gemacht habe.

    Die Sache mit den vielen TImages würde ich deshalb nicht machen, weil es einerseits Resourcen frißt und zum anderen alles verlangsamt. Das mag vielleicht heutzutage fast bedeutungslos sein, aber mir sind kleine, schnelle EXE-Dateien lieber als große, langsame. Nun gut, eine Imagelist ( weiß ich jetzt auch nicht aus dem Kopf, seit wann es die gibt, war früher glaube ich in einer anderen Unit ) wäre natürlich in gewisser Weise eine Erleichterung, aber dann würde ich doch eher vorziehen, die Einzelbitmaps in eine einzige Grafikdatei nebeneinander zu packen und auf die jeweiligen Positionen zuzugreifen. Klar, Direktverlinkung ist gut, dann aber nicht als DLL, denn das ist wieder eine Extradatei, sondern als eingebundene Resource.

    Nochmal zu den Einzel-TImages : Warum so viele ? Man lernt programmieren, wenn man die scheinbar mühsamen Positionsberechnungen zur genauen Plazierung irgendwann mal hinbekommen hat. Ach ja : Das hatte ich ja ganz vergessen. Zwei TImages noch aus einem anderen Grund : Damit man auf dem jeweils verdeckten bereits vorweg neu positionieren kann.

    Um ehrlich zu sein : Am liebsten arbeite ich ganz ohne die Grafikkomponenten und knalle alles direkt auf den Canvas. :wave:
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!