123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- unit fFontColor;
- interface
- uses
- Winapi.OpenGL,
- System.SysUtils,
- System.Classes,
- Vcl.Graphics,
- Vcl.Controls,
- Vcl.Forms,
- Vcl.Dialogs,
-
- GLS.SceneViewer,
- GLS.Scene,
- GLS.Objects,
- GLS.HUDObjects,
- GLS.VectorGeometry,
- GLS.VectorTypes,
- GLS.BitmapFont,
- GLS.Cadencer,
- GLS.TimeEventsMgr,
- GLS.GeomObjects,
-
- GLS.Coordinates,
- GLS.Utils,
- GLS.BaseClasses;
- type
- TFormFontColor = class(TForm)
- GLScene1: TGLScene;
- GLSceneViewer1: TGLSceneViewer;
- BitmapFont: TGLBitmapFont;
- GLCamera1: TGLCamera;
- HUDText1: TGLHUDText;
- GLLightSource1: TGLLightSource;
- Teapot1: TGLTeapot;
- GLTimeEventsMGR1: TGLTimeEventsMGR;
- GLCadencer1: TGLCadencer;
- HUDText2: TGLHUDText;
- HUDText3: TGLHUDText;
- HUDText4: TGLHUDText;
- procedure GLTimeEventsMGR1Events0Event(event: TTimeEvent);
- procedure GLTimeEventsMGR1Events1Event(event: TTimeEvent);
- procedure GLTimeEventsMGR1Events2Event(event: TTimeEvent);
- procedure FormCreate(Sender: TObject);
- private
-
- public
-
- end;
- var
- FormFontColor: TFormFontColor;
- const FadeOutMax = 100;
- FadeInMax = 100;
- OverallTrans = 0.7;
- implementation
- {$R *.dfm}
- var
- FadeOutCount : integer;
- FadeInCount : integer;
- OriginalColor : TVector4f;
- procedure TFormFontColor.FormCreate(Sender: TObject);
- begin
- SetGLSceneMediaDir();
- BitmapFont.Glyphs.LoadFromFile('toonfont.bmp');
- end;
- procedure TFormFontColor.GLTimeEventsMGR1Events0Event(event: TTimeEvent);
- begin
- if FadeOutCount < 0 then exit;
- HUDText1.ModulateColor.Color:=VectorMake(1, 1, 1, (FadeOutCount/FadeOutMax)*OverallTrans);
- dec(FadeOutCount);
- end;
- procedure TFormFontColor.GLTimeEventsMGR1Events1Event(event: TTimeEvent);
- begin
- FadeOutCount:=FadeOutMax;
- FadeInCount:=0;
- OriginalColor:=HUDText2.ModulateColor.Color;
- HUDText1.ModulateColor.Color:=VectorMake(1, 1, 1, (FadeOutCount/FadeOutMax)*OverallTrans);
- HUDText2.ModulateColor.Color:=VectorMake(1, 1, 1, 0);
- end;
- procedure TFormFontColor.GLTimeEventsMGR1Events2Event(event: TTimeEvent);
- var
- NewColor : TVector4f;
- begin
- if FadeInCount >= FadeInMax then exit;
- NewColor:=VectorScale(OriginalColor, FadeInCount/FadeInMax);
- HUDText2.ModulateColor.Color:=NewColor;
- Inc(FadeInCount);
- end;
- end.
|