Rysowanie – Gradient

Nauczymy się tworzyć przy pomocy kodu GRADIENT – czyli płynne przejście tonalne pomiędzy dwoma lub więcej kolorami

Czas trwania – 45min
Poziom trudności – Trudny

Wstęp

Kolory, kolory… dziś na planszy namalujemy przekrój mnóstwa kolorów. Przy okazji poznamy jak można płynnie przechodzić z jednego koloru do drugiego – stworzymy gradient kolorów.

Przygotowanie

Co wcześniej trzeba przygotować:

Przeglądarkę Google Chrome z rozszerzeniem LOFI Robot ScratchX
(http://www.lofirobot.com/edubox/konfiguracja/)

Przebieg

Gradient jednowymiarowy

Na początku powiedzmy sobie co to jest gradient. Gradient kolorów jest to płynne przejście pomiędzy co najmniej dwoma kolorami. Jako nasz jednowymiarowy gradient stworzymy przejście pomiędzy kolorem białym i czarnym.
Jako, że będziemy musieli zmieniać kolory w trakcie działania programu to potrzebna będzie zmienna. Nazwałem ją kolor. Gradient jednowymiarowy będzie składał się z wielu prostokątów wypełniających całą wysokość planszy, ale zajmujące niewielką szerokość. Kolor (blok Wypełnienie) będzie zależny od zmiennej tak samo jak pozycja X prostokąta.

1_pojedynczy_prostokat

Teraz wystarczy zmieniać kolor o jakąś wartość i dostaniemy ładne, płynne przejście!

2_gradient_plynny

Możemy również wprowadzić zmienną dokładność przejść. W tym celu dodamy zmienną dokladnosc. Jeżeli połączymy ją z blokiem Zmień kolor o to będziemy mogli zmieniać ilość prostokątów na planszy. Sprawdź sam i poeksperymentuj!

3_dodanie_dokladnosci

Jeżeli denerwuje cię czekanie na pełny efekt zawsze możesz wykorzystać blok Powtarzaj. Operacje wewnątrz bloku powtórzymy dokładnie tyle samo razy ile wynosi nasza dokładność. Spójrz na mój program:

4_blok_powtarzaj

Od teraz nie musisz czekać ani chwili. Czas przejść do gradientu kolorowego!

Gradient kolorowy

1_pojedynczy_prostokat

Na początku dodajmy do poprzedniego programu dodatkową zmienną. Niech będzie to kolor2. Użyjemy jej jako zamiennika dla jednego z kolorów nadawanych prostokątom.

5_kolor2

Jeżeli zmniejszysz wysokość prostokąta na przykład na 2 to zobaczysz, że na planszy powstał nam tylko mały pasek. Są to jednak pojedyncze kwadraty, które dostrzeżesz gdy zmniejszysz dokładność.

6_pojedynczy_pasek

Naszym zadaniem będzie sprawienie by taki pasek powstał na całej wysokości planszy. Każdy kwadrat będzie miał zupełnie inny kolor. Takie wypełnienie planszy otrzymamy gdy już istniejący blok Powtarzaj przerzucimy do innego bloku Powtarzaj.
Po wykonaniu jednego „paska” zwiększymy położenie Y kwadratów i w ten sposób wypełnimy całą planszę. Pamiętaj, żeby uzależnić położenie Y kwadratu od zmiennej kolor2

7_zagniezdzona_petla

Ups… dlaczego paski nie wypełniły całej planszy? Odpowiedź jest prosta! Zapomnieliśmy ustawić wartości X kwadratów na 0. Nasze paski są rysowane gdzieś daleko na prawo. Poprawmy to:

8_gradient2d

WOW! Ale efekt. Spróbujmy jeszcze narysować zupełnie białą planszę na początku programu (w ten sposób będziemy mogli oglądać zmiany wprowadzane do programu „na żywo” – nie będzie konieczności ciągłego zatrzymywania i uruchamiania programu) i zerujmy nasze zmienne odpowiadające za kolory i położenie kwadratów.

9_gradient_2d_skonczony

Teraz możesz eksperymentować na całego – POWODZENIA!

ZOBACZ GOTOWY PROJEKT

O autorze scenariusza:

LOFI Robot

Ten artykuł napisały dla Ciebie roboty znad morza. Najprawdopodobniej miały na imię Maciek i Tomek.