![]() |
Karten fließend bewegen lassen?
hallo,
ich möchte ein kartenspiel entwikeln und möchte das sich die karten auch so schön bewegen wie bei den win vista spielen. Ich hab schon gelesen das viele eine 2d engine vorschlagen. bin ich grundsätzlich mit einverstanden, aber ich breuchte ein ein sehr umfassende tutorialseite (ich bin Bücher gewohnt, bin aber zur zeit pleite). Was ich auch gut finde, ist das ganze mit delphi functionen zu schreiben (solange es nicht alzu aufwendig wird). hauptzächlich möchte ich das flattern, stokeln und die ekigen kanten loßwerden. die bilder für die karten hab ich schon parat. mfg MADDIN |
Re: Karten fließend bewegen lassen?
Schau dir mal
![]() |
Re: Karten fließend bewegen lassen?
OpenGL allgemein eignet sich auch gut für 2D-Anwendungen.
Auf delphigl.com gibt's auch gute ![]() |
Re: Karten fließend bewegen lassen?
Wobei Andorra da etwas abstrakter und deshalb leichter anwendbar ist. Hier hat man diw Wahl zwischen DirectX und OpenGL als lowlevel API
|
Re: Karten fließend bewegen lassen?
Das ist nun nicht unbedingt eine 2D Engine, aber mit der Graphics32 Unit kann man ne Menge anstellen, wenn es ums Bilder flüssig bewegen geht :)
Schaus dir mal an, vllt reicht das für deine Zwecke schon, wovon ich mal stark ausgehe: ![]() |
Re: Karten fließend bewegen lassen?
Bei solchen kleineren Sachen nutze ich auch immer Graphics32. Hat u.a. den Vorteil, dass man keine DLLs mitliefern muss.
|
Re: Karten fließend bewegen lassen?
Graphics32 hört sich schon ganz gut an wobei ich nicht weiß wie man damit bewegungen realisiert (hab mich ein bisschen auf der seite ungekugt).
openGL und andorra2d scheint mir ein bisschen zu viel für ein bischen karten schieben. fals man mit graphics32 bewegungen realisieren kann, würde mir mal bitte einer sagen wie man das macht?? mfg MADDIN |
Re: Karten fließend bewegen lassen?
Zitat:
|
Re: Karten fließend bewegen lassen?
mir ist klar wie man den eindruck einer bewegung erzielt.
das **** ist das wenn ich es mit einem normalem image mache flackert es. außerdem fände ich es ganz gut wenn es was gäbe was die bewegung für mich organisiert so dass ich nur noch sagen muss: gehezu(X, Y); |
Re: Karten fließend bewegen lassen?
Also doch in Andorra einarbeiten und nutzen. :stupid:
|
Re: Karten fließend bewegen lassen?
Zitat:
Delphi-Quellcode:
Das gibt dir für Zeitwerte von 0 bis 1 mit linearer Interpolation die aktuelle Position aus. Dann führst du den Zeichencode mit entsprechenden Koordinaten einfach in regelmäßigen Abständen z.B. mit einem Timer oder einer Schleife aus, zählst die Zeit entsprechend hoch (siehe GetTickCount oder TAdPerformanceCounetr bei Andorra2D) und setzt sie in die Funktion ein - Voilà.
// t 0..1
function GetPosition(t: single; StartPoint, EndPoint: TPoint): TPoint; begin Result.X := round(StartPointer.X*(1-t) + EndPoint.X*t); Result.Y := round(StartPointer.Y*(1-t) + EndPoint.Y*t); end; Und flackern tut das Zeichnen nur, wenn du es von der VCL erledigen lässt, weil immer wieder der Hintergrund neu gezeichnet wird. Wenn du selbst mit den Delphi-Funktionen oder GR32 auf ein unsichtbares Bitmap im Speicher zeichnest, und dieses anschließend in einem Rutsch auf das Formular, flackert da nix. Diese Technik nennt man übrigens Doublebuffering. |
Re: Karten fließend bewegen lassen?
Mit Andorra ist das Wirklich kein Problem. Es gibt Sprite-Objekte, die erleichtern, dass ganze Enorm. Ich könnte dir höchsten noch meine Canvas-Engine anbieten. Das ist eine "2D Engine", die komplett auf Canvas Basiert. Flackern oder Flimmern tut das auch nicht. Für sehr viele Spiele müsste / sollte das reichen. Dort gibt es auch Sprite-Objekte. Es Basiert halt "nur" auf Canvas und TBitMap. Geht Prima. "Nur" AOM oder AOE wirst du damit nicht nach Programmieren können *G*.
|
Re: Karten fließend bewegen lassen?
Danke für die fielen antworten
diese auf canvas basierende engine würde mich nochmal interessieren. sorry dass ich dieses thema nach so langer zeit wierder hochhole, habe aber länger nicht mehr in meine temenverwaltung geschaut. |
Re: Karten fließend bewegen lassen?
TCanvas ist aber nicht für so etwas gedacht.
|
Re: Karten fließend bewegen lassen?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Das Prinzip ist einfach: Es werden nur, Bereiche neu gezeichnet, die sich auch geändert haben. Es kommt aber immer wieder zu Grafk Fehler, aber selten. Ich gehe so vor: Sprite wird gezeichnet, davor wird der Hintergrund gesichert und dann das Sprite gezeichnet, beim verlassen, der Position wird der Hintergrund wiederhergestellt. Unter Umständen kann es hierbei zu Grafik Fehlern kommen. Ich hänge hier einfach mal eine Version an. Sie ist für Lazarus Optimiert. Mit etwas Glück und Anpassungen läuft es auch unter Delphi. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12: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