Avatar billede rebel761 Nybegynder
06. januar 2001 - 13:38 Der er 4 kommentarer og
1 løsning

Typewriter effekt med lyd

Jeg søger et eksempel på hvordan man kan lave en såkaldt typewriter effekt på et skærmbillede med lyd.

dvs at teksten skrives bogstav for bogstav og der er lydeffekt med. (set i mange spil)
gerne et helt eksempel med source kode.
Avatar billede pstric Nybegynder
06. januar 2001 - 18:07 #1
rebel761>> OBS: Spørgsmål må kun oprettes 1 gang ! Det er sq da klar tale!!!
Avatar billede soepro Nybegynder
08. januar 2001 - 13:36 #2
Du skriver ikke hvilken compiler du bruger, men sådan her kunne det laves i C++ Builder:

Læg en TMedia component på din form, og sæt den til at pege på den lyd du gerne vil have der kommer hver gang man trykker på en tast. Ændr Form propertyen for \'KeyPreview\' til true, sådan at formen \"napper\" alle indtastninger INDEN de sendes videre til de forskellige knapper/komponenter. Lav derefter følgende \'OnKeyDown\' event handler:

Avatar billede soepro Nybegynder
08. januar 2001 - 13:39 #3
void __fastcall TForm1::FormKeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
  if (Key == VK_RETURN)
    Sound1->Play();
  else
    Sound2->Play();
}

Jeg kan sende dig et C++ Builder eksempel direkte, hvis du ønsker det.
Avatar billede rebel761 Nybegynder
08. januar 2001 - 17:12 #4
tak for dit svar....men det jeg havde i tankerne var at en application selv skulle skrive f.eks. en tekst i et vindue bogstav for bogstav og give en lyd altså simulere en terminal.

Jeg vil dog gerne have et eksempel i C++ builder tilsendt måske kan det bruges...

Avatar billede soepro Nybegynder
10. januar 2001 - 12:25 #5
Forskellen er jo den samme - du skal bare anvende en TTimer komponent til at \"sende\" hvert bogstav afsted - Alternativt kan du anvende en af TMedia eventene til at skrive et bogstav - og afspille lyden selv.

Din TTimer event handler skal så bare se ud noget i denne stil:

void __fastcall TForm1::Timer1TimerClick(TObject *Sender)
{
  static char *Text = \"Denne tekst skal skrives ud\";
  static char *Key = Text;

  if (Key != 0x00)
  {
    Label1->Caption = Label1->Caption + Key;
    if (Key == VK_RETURN)
      Sound1->Play();
    else
        Sound2->Play();
    Key++;
  }
  else
    Timer1->Enabled = false;
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester