![]() |
Suche eine "StarWars-Credits"-Komponente :(
hi leutz, ich hoffe, es kommt hier rein :)
ich suche eine komponente, mit der ich credits anzeigen kann, wie sie in StarWars üblich sind (nach oben hin verschwindend) ich hab schon zwei gefunden, nur immer, wenn ich dann das programm schließe, kommt ne fehlermeldung, worauf die beiden kompos nicht in frage kommen :( |
Re: Suche eine "StarWars-Credits"-Komponente :(
Ich meine, bei den GLScene-Komponenten gab's sowas... Allerdings braucht man da halt OpenGL.
|
Re: Suche eine "StarWars-Credits"-Komponente :(
nee, meine kompos arbeiten ohne :(
nur mal so zur veranschaulichung: ich kann TLines eingeben. Die erscheinen dann Zeile für Zeile in der Kompo wie in einer Memo, nur eben wenn sie erscheinen haben sie ihren alpha-wert auf x dann wandern sie immer weiter nach oben, bis ihr alpha-wert dann immer kleiner wird... yo.. sowas such ich :) |
Re: Suche eine "StarWars-Credits"-Komponente :(
Zitat:
|
Re: Suche eine "StarWars-Credits"-Komponente :(
nee, ich hab schon einiges ausporbiert, abba immer die gleiche meldung :(
bei meinen kumpelz klappen die auch net :( naja, ich brauch ja nur ne ganz billige, die MUSS doch einer haben ;) |
Re: Suche eine "StarWars-Credits"-Komponente :(
Zitat:
Code:
unit Acknowledgement;
interface uses SysUtils, Classes, Controls,extctrls; type TAcknowledgement = class(TPanel) private FInterval: integer; FLines: TStrings; procedure SetInterval(const Value: integer); procedure SetLines(const Value: TStrings); { Private declarations } protected { Protected declarations } timer:TTimer; loop:integer; idx:integer; Procedure OnTimer(Sender: TObject); procedure Paint; override; procedure SetEnabled(Value: Boolean); override; public { Public declarations } constructor Create(AOwner:TComponent); override; published { Published declarations } property Interval:integer read FInterval write SetInterval; property Lines: TStrings read FLines write SetLines; end; procedure Register; implementation procedure Register; begin RegisterComponents('Joachim', [TAcknowledgement]); end; { TAcknowledgement } { TAcknowledgement } constructor TAcknowledgement.Create(AOwner: TComponent); begin inherited; FInterval:=50; timer:=TTimer.Create(self); timer.Name:='timer'+Name; timer.Interval:=FInterval; timer.Enabled:=(Finterval>0) and (Enabled); timer.OnTimer:=OnTimer; FLines:=TStringList.Create; Caption:=''; DoubleBuffered:=true; end; procedure TAcknowledgement.OnTimer(Sender: TObject); begin inc(loop); Invalidate; end; procedure TAcknowledgement.Paint; var x,y:integer; idx2:integer; ispace:integer; s:string; begin Caption:=''; inherited; try ispace:=(Font.size+5); if (loop>ispace) then begin loop:=0; inc(idx); idx:=idx mod FLines.Count; end; y:=0-loop; idx2:=idx; while (y<(self.Height+ispace)) do begin idx2:=idx2 mod FLines.Count; s:=FLines[idx2]; x:=(Width-canvas.TextExtent(s).cx) div 2; Canvas.TextOut(x,y,s); y:=y+ispace; inc(idx2); end; except end; end; procedure TAcknowledgement.SetEnabled(Value: Boolean); begin inherited; if assigned(timer) then timer.Enabled:=((Finterval>0) and (Enabled)); end; procedure TAcknowledgement.SetInterval(const Value: integer); begin FInterval := Value; if assigned (timer) then begin timer.Interval:=FInterval; timer.Enabled:=(Finterval>0) and (Enabled); end; end; procedure TAcknowledgement.SetLines(const Value: TStrings); begin FLines.Assign(Value); end; end. |
Re: Suche eine "StarWars-Credits"-Komponente :(
Wahrscheinlich will er so eine wie in den Credits von Delphi.
Borland rueckt die Sourcen dazu aber nicht raus. Boeser haesslicher Hack wahrscheinlich. Prinzipiell ist dies eine perspektivische Verzerrung. Also den Text in eine gewoehnliche Bitmap pinseln und dann in eine zweite hinein verzerren. |
Re: Suche eine "StarWars-Credits"-Komponente :(
nee, der soll nicht nach hinten verschwinden, als ob man ein bitmap zerrt :(
er soll einfach zeile für zeile nach OBEN gehen, nicht nach hinten... :( mmh... gibt es da denn nicht wirklich eine kompo? sowas wie von joachimd, nur eben, dass die texte auftauchen und wieder verschwinden, also wie mit alpha-bland ... naja, trotzdem fettes THX!, joahimd, ich werd mich wohl damit abfinden müssen ;) |
Re: Suche eine "StarWars-Credits"-Komponente :(
Zitat:
MfG Binärbaum |
Re: Suche eine "StarWars-Credits"-Komponente :(
abba ich kann das doch net :(
und in opengl tauch ich wahrscheinlich erst nächste woche ein :( ach kommt, schon, wers schafft, kriegt nen keks ;) abba ich weiß ja auch net, woher ich meine kompo hab, als beispiel eben... naja... |
Re: Suche eine "StarWars-Credits"-Komponente :(
Dann schau dir doch mal das SecretPanel der RX-Komponenten an. Sind jetzt wohl in den Jedi-Komponenten aufgegangen: JvSecretPanel Register JvXTools.
Grüße Mikhal |
Re: Suche eine "StarWars-Credits"-Komponente :(
|
Re: Suche eine "StarWars-Credits"-Komponente :(
gut, werd ich mir mal anschauen, THX! ;)
|
Re: Suche eine "StarWars-Credits"-Komponente :(
Wenn du gar nciht weiterweist, kannst du dir doch das auch relativ einfach selber programmieren. Du musst doch nur in einem gewissen Zeitabstand die entsprechenden Wörter auf ein Canvas zeichnen. Das ist doch gar nicht so schwer. Aber scheinbar hast jetzt ja was :-D
|
Re: Suche eine "StarWars-Credits"-Komponente :(
gut, ich hab jetzt eine!
THX! @ paresy :thumb: |
Re: Suche eine "StarWars-Credits"-Komponente :(
Wenn beim Schließen des Programms mit den ersten Komponenten ein Fehler kommt, kannst du ihn ja mit TApplicationEvents und OnException abfangen:
Delphi-Quellcode:
procedure ApplicationEvents1OnException(Sender: TObject; E: Exception);
begin if E.message={Hier die Meldung des Fehlers} then E:=nil; end; |
Re: Suche eine "StarWars-Credits"-Komponente :(
Zitat:
|
Re: Suche eine "StarWars-Credits"-Komponente :(
ich mein ja nur anhaltshalber an SW-Credits :(
versteht doch, ich will nur eine kompo ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:44 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