Menu wielopoziomowe – trwają prace

Menu wielopoziomowe – trwają prace

Witajcie trwają aktualnie prace nad menu wielopoziomowym aby podzielić się z wami kodem jak i opisać za co dany fragment kodu służy.

Pomysłów i przykładów w internecie odnośnie menu wielopoziomowego jest sporo zapewne tyle samo co programistów a nawet i więcej bo każdy ma kilka pomysłów jak je wykonać.

Podjąłem się zadania aby opisać wam na łamach bloga cały kod menu wielopoziomowego, nie mniej nie mam go jeszcze gotowego. Cały czas piszę, testuję i udoskonalam aby w jak najczytelniejszy sposób pokazać wam mój pomysł na menu które może nie jednemu z was się przydać.

Na chwilę obecną pokażę wam fragment kodu. Na początek tworzymy sobie dwuwymiarową tablicę za pomocą której będziemy przesuwać się po menu.

Jak wyżej widzimy utworzyliśmy sobie 6 pozycji menu – MENU 1, MENU X, MENU 6

Aby sprawnie poruszać się i przewijać menu na wyświetlaczu LCD utworzymy sobie funkcję którą nazwijmy:

A w ciele funkcji utworzymy sobie przewijanie naszej tablicy po wyświetlaczu, w tym celu będziemy potrzebowali zmiennej pomocniczej którą nazwałem flag_menu, posłuży ona nam do odwoływania się konkretnego miejsca w naszej tablicy.

Jak wyżej widzimy nasza zmienna pomocnicza flag_menu z każdym przyciśnięciem np klawisza zwiększa się o 1 następnie w drugiej linii automatycznie zmienna pomocnicza jest większa o 1 od aktualnej wartości zmiennej. Gdy dochodzimy do momentu, gdzie zmienna pomocnicza flag_menu osiąga wartość 5 wtedy zmienia nam się sposób wyświetlania tablicy na wyświtlaczu gdzie w pierwszej jego linii będzie ostatnia pozycja tablicy natomiast w drugiej jego linii będzie 1 pozycja z tablicy.

Efekt działania menu możemy zobaczyć na filmie:

Na chwilkę obecną to tyle. Wygląda że jest to proste nieprawdaż ? W następnym etapie przejdziemy do wyboru menu dzięki czemu będziemy mogli wejść w jego podmenu.

Informacje o: majeś

POLECANE POSTY

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *