AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte [Andorra2D] - Andorra 2D Extra Unit
Thema durchsuchen
Ansicht
Themen-Optionen

[Andorra2D] - Andorra 2D Extra Unit

Ein Thema von xZise · begonnen am 21. Aug 2007 · letzter Beitrag vom 22. Aug 2007
Antwort Antwort
Benutzerbild von xZise
xZise
Registriert seit: 3. Mär 2006
Hallo,
Ich habe mir eine Extra Unit für Andorra 2D erstellt.
Bisher bietet sie "nur" zwei Klassen.
Zum einen einen Cursor und zum anderen den sogenannten "Scaler", "Strecher".
Alle Klassen, Enumerationen etc. haben (der einfachheit halber), das Präfix "TAdX".

Nun komme ich zur Beschreibung des Cursors:
TAdXSpriteCursor = class(TImageSprite) Das ist ein auf ein ImageSprite basierender Cursor, welcher einfach, wie ein Sprite eingeführt werden kann.
Zu Zeit muss man noch selbständig den Cursor zeichen. Wer Vorschläge hat um den Cursor intern zu zeichen sollte es mir sagen
Eigenschaften:
Delphi-Quellcode:
property Visible : Boolean read FVisible write SetVisible;
property ActionPoint : TAdXRelativePoint read FActionPoint write SetActionPoint;
  • Visible - Gibt an, ob der Cursor erscheinen soll. Wenn man die Eigenschaft Visible auf true stellt, setzt er bei allen Controls mit der Eigenschaft Cursor diese auf crNone. Hinweis: Setzt man die Eigenschaft Visible auf false setzt er die Cursor-Eigenschaft der Controls auf crDefault.
  • Actionpoint - Gibt an, an welcher Stelle der Grafik der Klick ausgeführt werden soll. Man kann mithilfe der Funktion "AdXRelativePoint" einen relativen Punkt erstellen. (0, 0 ist links oben und 1, 1 ist unten rechts)

Außerdem gibt es den "Scaler" oder "Strecher":
TAdXStreched = class(TSprite) Wenn man die Anzeige beliebig skalieren möchte, zum Beispiel um zu zoomen gibt es die Möglichkeit den Scaler zu benutzen.
Man erstellt einfach ein Objekt davon und weißt es der zu skalierenden SpriteEngine zu.
Eigenschaften
Delphi-Quellcode:
property RelativeScale : Double read FRelativeScale write FRelativeScale;
property UseRelativeScale : Boolean read FUseRelativeScale write FUseRelativeScale default true;
property StaticWidth : Double read FStaticWidth write FStaticWidth;
property StaticHeight : Double read FStaticHeight write FStaticHeight;
property ScaleClasses : TAdXScaleClasses read FScaleClasses write FScaleClasses;
  • RelativeScale - Gibt an um wie viel die Sprites vergrößert/kleinert werden (0.5 = halb so groß, 2 = doppelt so groß)
  • UseRelativeScale - Wenn man die relativen Größen verwenden möchte, auf true setzen. Ansonsten auf false.
  • StaticWidth - Gibt an, welche Breite alle (!) Sprites haben sollen.
  • StaticHeight - Gibt an, welche Höhe alle (!) Sprites haben sollen.
  • ScaleClasses - Dies ist eine Sammlung von den Klassentypen (TImageSprite, TBackgroundSprite, ...), welche skaliert werden sollen. (s.o.)
    Zur Zeit wird nur TImageSprites vollständig unterstützt. TBackgroundSprite ist in entwicklung und die anderen Sprites werden normal gezeichnet.

Zusätzlich dazu gibt es noch folgendes:
Delphi-Quellcode:
TAdXRelativePoint = record
  X : Double;
  Y : Double;
end;
Gibt einen realtiven Punkt an.

function AdXRelativePoint(AX, AY : Double) : TAdXRelativePoint; Erstellt aus zwei relativen Achsen einen relativen Punkt.

Delphi-Quellcode:
TAdXScaleClass = (scImageSprite, scBackgroundSprite, scLightSprite, scParticelSprite);
TAdXScaleClasses = set of TAdXScaleClass;
Ist eine Sammlung der verschiedenen Standardmäßigen Klassentypen. (Benötigt für TAdXStreched)

MfG
xZise

PS: Erstellt & kompiliert mit TurboDelphi Explorer.
Angehängte Dateien
Dateityp: pas adxtra_102.pas (7,1 KB, 7x aufgerufen)
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
 
Benutzerbild von igel457
igel457

 
FreePascal / Lazarus
 
#2
  Alt 22. Aug 2007, 16:41
Hallo xZise, ich werde mir deine Units mal anschauen - für das Skalieren gibt es aber in der aktuellen CVS Version schon die TAdSpriteEngineEx, mir der man ganz einfach Zoomen und zusätzlich noch Splitscreens erstellen kann.

Schön das du meine Engine verwendest,
Andreas
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

 
Delphi 2009 Professional
 
#3
  Alt 22. Aug 2007, 17:26
Entschuldigung, aber ich kenne mich mit CVS net so aus Wie kann ich da die neueste Version downloaden?
Weil nur die AdSpritEngineEx.pas hilft mir nicht weiter

Zitat von igel457:
Schön das du meine Engine verwendest
Zwar gibt es immer mal wieder hürden
Aber ansonsten hat es sich gelohnt.
Fabian
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz