1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
| (* -------------------------------------------------------------------------- *)
(* *)
(* Programme FlashPascal *)
(* Hommage au chanteur Dietrich Fischer-Dieskau *)
(* Roland Chastain - 05.07.2013 *)
(* Compilateur FlashPascal 2 version 13.07.03 *)
(* *)
(* Extrait de la cantate "Ich habe genug" BWV 82 de Jean-Sébastien Bach *)
(* http://www.eschecs.fr/fichiers/swf/abschied.mp3 *)
(* Archiv produktion collection "Galleria" 1970 *)
(* *)
(* Photo de D. Fischer-Dieskau *)
(* http://www.eschecs.fr/fichiers/swf/dfd.jpg *)
(* *)
(* " Dieu ! Quand viendra le merveilleux : Allons ! *)
(* " Alors j'irai en paix, *)
(* " je quitterai la froide terre *)
(* " pour aller reposer en ton sein. *)
(* " Mon départ est décidé, *)
(* " monde, adieu ! " (Trad. Christian Meyer.) *)
(* *)
(* -------------------------------------------------------------------------- *)
{$FRAME_WIDTH 480}
{$FRAME_HEIGHT 620}
{$BACKGROUND $404040}
{$FRAME_RATE 32}
{$JPEG img 'dfd.jpg'}
{$FONT font1 'Book Antiqua'}
program Abschied;
(* L'adieu ou les adieux. *)
uses
Flash8;
const
HAUTEUR_IMAGE = 300;
LARGEUR_IMAGE = 300;
CHAINE1 = #13'IN MEMORIAM'#13'DIETRICH FISCHER-DIESKAU'#13'1925 - 2012';
CHAINE2 = #13'Mein Gott! wann kommt das sch'"ö"'ne Nun!'#13'Da ich im Frieden fahren werde'#13'Und in dem Sande k'"ü"'hler Erde'#13'Und dort bei dir im Scho'"ß"'e ruhn.'#13'Der Abschied ist gemacht:'#13'Welt, gute Nacht!';
DELAI = 16;
var
t1,
t2,
t3: TextField;
f1: TextFormat;
b1: BitmapData;
m1: MovieClip;
s1: Sound;
{ --- tHorloge --------------------------------------------------------------- }
type
tHorloge = class(MovieClip)
temps: integer;
constructor Create;
procedure onEnterFrame; override;
end;
constructor tHorloge.Create;
begin
inherited Create(_root, 'horloge', getNextHighestDepth());
temps := 0;
end;
procedure tHorloge.onEnterFrame;
begin
if t3._visible then
begin
if (t3.text = '100 %') then t3._visible := FALSE;
t3.text := IntToStr(Trunc(100 * s1.getBytesLoaded / s1.getBytesTotal)) + ' %';
end;
if s1.getBytesLoaded < s1.getBytesTotal then
exit;
{ Une fois le son chargé, on attend encore une demi-seconde avant de lancer la
lecture. }
if temps < DELAI then Inc(temps);
if temps = DELAI then
begin
s1.start();
Inc(temps);
end;
end;
{ --- fin de tHorloge -------------------------------------------------------- }
begin
{ --- Appel de la méthode Create de chaque objet ----------------------------- }
t1 := TextField.Create(_root, 't1', 1, 030, 020, 420, 090);
t2 := TextField.Create(_root, 't2', 2, 030, 450, 420, 150);
t3 := TextField.Create(_root, 't3', 3, 000, 000, 420, 020);
f1 := TextFormat.Create('font1', 16);
{b1 := BitmapData.Create(LARGEUR_IMAGE, HAUTEUR_IMAGE);}
m1 := MovieClip.Create(_root, 'portrait', 0);
s1 := Sound.Create();
tHorloge.Create;
{ --- Attribution des valeurs choisies aux propriétés de chaque objet -------- }
{ --- 1. Objets de type TextField et TextFormat ------------------------------ }
t1.borderColor := $606060; t1.border := TRUE;
t2.borderColor := $606060; t2.border := TRUE;
t2.backgroundColor := $505050;
t2.background := TRUE;
{ ---------------------------------------------------------------------------- }
f1.color := $FFFFFF;
f1.align := 'center';
t1.embedFonts := TRUE;
t1.setNewTextFormat(f1);
t1.text := CHAINE1;
{ ---------------------------------------------------------------------------- }
f1.align := 'left';
f1.size := 15;
f1.leftMargin := 30;
t2.embedFonts := TRUE;
t2.setNewTextFormat(f1);
t2.text := CHAINE2;
{ ---------------------------------------------------------------------------- }
f1.leftMargin := 0;
f1.color := $7CFC00;
f1.bold := TRUE;
t3.embedFonts := TRUE;
t3.setNewTextFormat(f1);
t3.text := '0 %';
{ --- 2. Objets de type BitmapData et MovieClip ------------------------------ }
b1 := LoadBitmap('img');
m1.BeginBitmapFill(b1);
m1.MoveTo(0, 0);
m1.LineTo(0 + LARGEUR_IMAGE, 0);
m1.LineTo(0 + LARGEUR_IMAGE, 0 + HAUTEUR_IMAGE);
m1.LineTo(0, 0 + HAUTEUR_IMAGE);
m1.LineTo(0, 0);
m1.EndFill();
m1._x := 090;
m1._y := 130;
{ --- 3. Objet de type Sound ------------------------------------------------- }
s1.loadSound('abschied.mp3');
{ --- Choix du mode de redimensionnement ------------------------------------- }
//stage.scaleMode := 'noScale';
end. |
Partager