Jedną z dostępnych funkcji w skryptach Lumira Designer jest  Math.Random(), który losuje liczbę wymierną z zakresu od 0 do 1. W tym artykule przedstawimy możliwość wykorzystania tej funkcjonalności przy projektowaniu interakcji z menu rozwijanym, które wskazuje możliwe kategorie produktów, np. sytuację, gdy pojawi się losowe zdjęcie artykułu z danego typu.

 

 

 

 

 

 

 

 

 

 

 

Losujemy pomiędzy czterema zdjęciami produktów z dwóch kategorii. Poniżej przedstawiony został przykładowy kod generowania liczby (kod przypisujemy dla eventu On Select w menu rozwijanego z kategorią): 
 

       // Generujemy wartość

       var first_random = Math.random();

       // Inicjalizujemy zmienną picture

       var picture = 0;

      

       // Przesuwamy przecinek o jedno miejsce w prawo

       first_random = first_random * 10;

       // Zaokrąglamy do liczby całkowitej

       picture = Math.round(first_random);

       // Modulo 4 (upewniamy się że wylosowana liczba jest z zakresu 1 - 4)

       if(picture>4)

       {

             if(picture>8)

             {

                    picture = picture - 8;

             }

             else

             {

                    picture = picture - 4;

             }

       }

       if(picture == 0)

       {

             picture=4;

       }

 

Rezultatem naszego kodu jest zmienna picture zawierająca losową liczbę z przedziału od 1 do 4. Następnie, możemy wykorzystać ją przy losowaniu zdjęcia.

 

W naszym przykładzie pliki ze zdjęciami noszą nazwę typu 1k.png (pierwsze zdjęcie, kategoria k). Jako cyfrę wprowadzamy naszą losową wartość, reszta zostaje określona przez wybraną kategorię. Poniżej przedstawiamy dalszą część kodu uruchamianego podczas wyboru kategorii w menu rozwijanym.

      

       // Przypisujemy wybraną nazwę kategorii do zmiennej kategoria

       varkategoria = DROPDOWN_5.getSelectedText();

// Inicjalizacja pustej zmiennej typu string

       vardokonczenie = "";

 

// Ustalenie odpowiedniej końcówki nazwy pliku w zależności od wybranej kategorii

       if(kategoria == "Przykładowa kategoria k")

       {

             dokonczenie = "k.png";

       }

       if(kategoria == "Przykładowa kategoria m")

       {

             dokonczenie = "m.png";

       }

       // Łączenie 2 zmiennych w całość

       varimage_name = picture+dokonczenie;

       // Ustawienie obrazka

       IMAGE_8.setImage(image_name);

      

Podsumowując, jeśli wylosowaliśmy liczbę numer 1, a wybrana kategoria to k, rezultatem naszego skryptu będzie ustawienie obrazka o nazwie 1k.png.

 

Uwaga! Należy upewnić się że obrazki są rozpoznawane przez program i znajdują się w repozytorium naszego projektu – w tym celu musimy je dodać do dowolnego obiektu typu Image. Należy także zwrócić uwagę na rozszerzenie użytych plików (w naszym przykładzie korzystamy z plików .png).