GDevelop, 7. kord

Taaskord jätkame mänguga Pairs:

  • Avada GDevelop
  • Valida Open a Project
  • Vaikimisi peaks avanema kataloog (nt C:\Users\Kasutajanimi\GDevelop projects\My Projects\), kuhu eelmisel korral sai mäng salvestatud ja sealt tuleb avada Pairs.json fail

Seekord vaatleme kõnesimulatsiooni.

Esmalt siis teeme selleks ettevalmistavad tegevused:

  • lisame kõigepealt uue välise sündmuse:
    • aktiveerida Project Manager menüü (ikoon akna vasakul üleval nurgas, menüü File Edit jne all)
    • External events -> Click to add external event
    • stseeni ümbernimetamiseks
      • hiire parema klahviga viimati lisatud välise sündmuse (NewExternalEvents) peale vajutada
      • avanevast menüüst valida Rename
      • sisestada uus nimetus (nt panin mina stseenile nimeks Kone)
      • vajutada Enter
    • liikuda lisatud välisele sündmusele, vajutades välise sündmuse nimele
    • avaneval lehel lisada uus sündmus (sest muidu ei saa me lisada meie poolt soovitud koodi)
    • seejärel vajutada lehe ülemises vasakus servas olevale suurele + märgile (Choose and add an event)
      • avanevast menüüst valida Javascript code
      • tekkivasse aknasse tuleb kopeerida järgmine kood (selgitused on lisatud // märkide järele):
        • //stseeni muutuja väärtuse lugemine
          var variables = runtimeScene.getVariables();
          var sonum = variables.get("tekst").getAsString();
          //funktsiooni 'speak' poole pöördumine, sisendiks on muutuja 'sonum'
          speak(sonum);
          // funktsioon 'speak', muutuja 'sonum' uueks nimeks saab 'text', mida kasutatakse funktsiooni piires
          function speak(text, callback) {
          var u =newSpeechSynthesisUtterance();//kõnesimulaator
             u.text = text; //etteloetav tekst
             u.lang = 'en-US'; //keel, milles tekst ette loetakse
             u.onend = function () { //kui jutt otsa saab
             if(callback){
               callback();
             }
            };
            u.onerror = function (e) { //kui tekib viga
            if(callback){
              callback(e);
             }
            };
            speechSynthesis.speak(u); //teksti ettelugemine
          }
    • järgmisena lisame stseeni muutuja, nt mina võtan oma algusstseeni, mille nimi on Algus:
      • valida leht Algus
      • hiire parema klahviga vajutada mängualale
      • avanevast loetelust valida Scene properties
      • avanevast aknast valida Edit scene variables
      • + märgist lisada uus muutuja
      • nimetada muutuja ümber – vaikimisi väärtus, veerus Name, on Variable (mina nt panin muutujale nimeks tekst – NB! ületoodud koodis on kasutusel just selline nimetus – var sonum = variables.get("tekst").getAsString();)
      • pärast muudatuste tegemist vajutada Apply
    • nüüd on aeg liikuda edasi teksti ettelugemise juurde (mina kasutan nt aktiveerimiseks Tab klahvi):
      • valida leht Algus (Events)
      • lisada uus sündmus, et lisatud Javascripti kood aktiveeruks, kui- Add a new empty event
        • Add Condition
          • Keyboard -> Key pressed (Text expression)
          • Expression generating the key to test reale kirjutada (koos jutumärkidega) “Tab”
          • OK
        • Add Condition
          • Advanced -> Trigger once while true
          • OK
        • Add Action
          • Variables -> String of a scene variable
            • realt Variable valida muutuja, minul siis tekst
            • Modification’s sign nimekirjast = (set to)
            • Value realt Σ “abc”
              • Text Entry Object -> Text entered with keyboard -> Text entered with keyboard
              • Avanevast aknast Object nimekirjast teksti sisestamise kast (minul siis Nimi)
              • Apply
            • Value reale tekkis tekst Nimi.String() – sellega siis kuvatakse sisestatud tekst (eelmisel korral loodud teksti sisestamine)
            • OK
        • vajutada olemasolevale sündmusele alamsündmus (vajutada kasti, kuhu tekkis 2 sündmust – (“Tab” key is pressed ja Trigger once), hallil alal hiire parema klahviga)
          • avanevast menüüst valida Add Sub Event
          • tekkinud alamsündmuse kasti vajutada hallil alal hiire parema klahviga
            • avanevast menüüst valida Add Other -> Link
              • tekkinud sündmuse real Include events from vajutada <Enter the name of external events> valida väline sündmus – minul on selle nimeks nt Kone

Nüüd on võimalik kõnesimulatsiooni testida, käivitades stseeni Algus, sisestades teksti ja vajutades Tab klahvi.

Seekordseks ülesanneteks on:

  • lisada kõnesimulatsioon ka mängu põhistseeni sissejuhatusele, pöördudes mängija poole tema sisestatud nimega
    • vihje nr 1: tuleb lisada stseeni muutuja, mille nimi on sama, mis eelnevalt kasutatud
    • vihje nr 2: saab kasutada sedasama välist sündmust Kone
    • vihje nr 3: mängija nime jaoks kasutasime globaalset muutujat mangija
    • vihje nr 4: teksti saab lisada kasutades jutumärke ja + märke

Kui kõik vajalik on tehtud, siis tuleb muudatused ka salvestada: File -> Save

Selle korra nuputamisülesandeks on liugpusle.