2 Replies Latest reply: Feb 12, 2014 1:00 AM by Marta_dPE RSS

    How can I store the latest member of a random list?

    Marta_dPE Community Member

      Hi there,

       

      I need some help from you with this behaviour. I need a script to choose a random sound from a list but, each time I click the mouse on member "Speaker" the same audio should be played (only available for 3 times).

      Thanks a million. Marta

      How can I know the selected sound?

       

      ---

      global newsoundlist

       

      property thisSprite

      property myCounter

       

      on beginSprite me

        thisSprite = me.spriteNum

        myCounter = 0

      end

       

      on mouseUp()

       

        vSound = 0

         soundlist =  ["sound1", "sound2", "sound3", "sound4", "sound5"]

         vRandom = random(5)

       

      if (_mouse.mouseMember = member("speaker")) then

       

       

          myCounter = myCounter + 1

       

         

          vPlay = soundlist[vRandom]

         

          newsoundlist = [vPlay]

         

          -- sound available only for 3 times

         

               sound(1). play (member(newsoundlist[1]))

         

          if myCounter = 4 then

           

                 sound (1).stop ()

           

            _player.alert ("Sound no longer available")

           

          end if

         

         

        end if

       

       

      end mouseUp

       

        • 1. Re: How can I store the latest member of a random list?
          SeanWilson Community Member

          Try the following (attached to your "speaker" sprite):

          global newsoundlist
          
          property myCounter
          property mySoundList
          
          on beginSprite me
            mySoundlist = ["sound1", "sound2", "sound3", "sound4", "sound5"]
            myCounter = 0
          end
          
          on mouseUp()
            if myCounter = 0 then
              -- first click, choose the sound to play
              vRandom = random(5)
              vPlay = mySoundlist[vRandom]
              newsoundlist = [vPlay]
            end if
          
            myCounter = myCounter + 1
          
            if myCounter < 4 then
              -- sound available only for 3 times
              sound(1).play(member(newsoundlist[1]))
            else
              sound(1).stop()
              _player.alert("Sound no longer available")
            end if
          end mouseUp
          
          • 2. Re: How can I store the latest member of a random list?
            Marta_dPE Community Member

            Hi Sean,

             

            many thanks for your post, it works as i need!!