Return to Video

Další interakce myší

  • 0:01 - 0:03
    V předchozím videu
    jsme si ukázali,
  • 0:03 - 0:05
    jak animovat míček
    odrážející se od stěn.
  • 0:05 - 0:07
    A to pomocí funkce
    "draw" a příkazů "if".
  • 0:07 - 0:08
    Pojďme si to zopakovat.
  • 0:09 - 0:12
    Nejdříve si nastavíme počáteční
    proměnné pro polohu a rychlost míčku.
  • 0:12 - 0:15
    Poté máme funkci "draw",
    což je speciální funkce,
  • 0:15 - 0:18
    která je přivolávána opakovaně
    během celého běhu programu.
  • 0:18 - 0:21
    Překreslíme pozadí a
    na plátně vykreslíme elipsu.
  • 0:21 - 0:25
    Tuto elipsu umístíme na základě
    polohové a rychlostní proměnné,
  • 0:25 - 0:27
    a na jejich vzájemném vztahu.
  • 0:28 - 0:31
    Bez podmíněných příkazů by náš
    míček letěl donekonečna.
  • 0:31 - 0:33
    Anebo dokud bychom
    nezmáčkli "restart".
  • 0:33 - 0:36
    Proto jsme sem dolů
    přidali dva podmíněné příkazy.
  • 0:36 - 0:37
    Těmi kontrolujeme to,
  • 0:37 - 0:41
    zda se míček přibližuje
    k pravé či levé straně obrazovky.
  • 0:41 - 0:44
    V tom případě změníme
    rychlost kladně nebo záporně,
  • 0:44 - 0:46
    díky čemuž se
    míček odrazí zpátky.
  • 0:46 - 0:48
    Teď tedy máme tento míček,
    který se odráží tam a zpět.
  • 0:48 - 0:49
    Pořád dokola.
  • 0:50 - 0:51
    Vypadá to celkem dobře.
  • 0:51 - 0:53
    Nyní můžeme animovat
    hodně zajímavých věcí.
  • 0:54 - 0:57
    Ráda bych do programu
    přidala uživatelovy interakce.
  • 0:57 - 1:00
    V této chvíli náš program
    připomíná televizní seriál.
  • 1:00 - 1:02
    Představte si, že
    ho dáte kamarádovi.
  • 1:02 - 1:05
    Pokud neumí programovat,
    nemůže s programem nic moc dělat.
  • 1:05 - 1:06
    Může se na něj jen dívat.
  • 1:07 - 1:10
    Bylo by zajímavější, kdyby
    s programem mohl něco dělat.
  • 1:10 - 1:13
    Pojďme tedy dát
    uživateli nějakou moc.
  • 1:13 - 1:18
    Už jsme se naučili pracovat s dvěma
    speciálními globálními proměnnými.
  • 1:18 - 1:20
    Jmenují se mouseX a mouseY.
  • 1:21 - 1:26
    Tyto proměnné vracejí čísla popisující
    aktuální pozici uživatelovy myši.
  • 1:26 - 1:29
    S jejich pomocí lze program
    snadno udělat interaktivnější.
  • 1:29 - 1:31
    Jak je tedy použijeme?
  • 1:31 - 1:34
    Měli bychom je použít
    uvnitř funkce "draw".
  • 1:35 - 1:39
    To je totiž jediný kód,
    který je přivoláván opakovaně.
  • 1:39 - 1:42
    Všechno mimo funkci "draw"
    je přivoláno pouze jednou.
  • 1:43 - 1:44
    A to při spuštění programu.
  • 1:45 - 1:48
    Čili použít mouseX a mouseY
    tam postrádá smysl.
  • 1:48 - 1:50
    Uživatel neměl příležitost
    s programem interagovat.
  • 1:52 - 1:57
    Ve funkci "draw" momentálně kreslíme
    míček v poloze 200 pixelů směrem dolů.
  • 1:57 - 2:01
    Co kdybychom toto
    nahradily s mouseY?
  • 2:01 - 2:03
    To je totiž poloha y.
  • 2:03 - 2:08
    Teď bude poloha y závislá
    na uživatelově poloze y.
  • 2:09 - 2:10
    Podívejte na to!
  • 2:10 - 2:12
    Jezdím kurzorem
    nahoru a dolů.
  • 2:12 - 2:14
    Tím můžu změnit osu,
    po které se kurzor pohybuje.
  • 2:16 - 2:19
    Chtěla bych ale
    použít také mouseX.
  • 2:19 - 2:20
    Jak na to?
  • 2:20 - 2:22
    Co kdybychom udělali
    další míček?
  • 2:22 - 2:26
    Ten by se pohyboval
    opačně: nahoru a dolů.
  • 2:27 - 2:30
    Uživatel bude schopen
    ovládat jeho polohu x.
  • 2:31 - 2:33
    Uděláme to teď tedy opačně.
  • 2:33 - 2:39
    Napíšeme: ellipse, mouse X,
    poloha 50 a 50.
  • 2:40 - 2:42
    Podívejte na to.
  • 2:42 - 2:47
    Teď ovládám tyto dva míčky
    pohybující se v kolmém směru.
  • 2:49 - 2:50
    Pořád ještě nejsem spokojená.
  • 2:50 - 2:53
    Chtěla bych uživateli
    dát mnohem více moci.
  • 2:53 - 2:57
    Chtěla bych, aby mohl uživatel
    sám spustit druhý míček.
  • 2:57 - 3:01
    Aby ho mohl sám přivolat
    pomocí kliknutí myši.
  • 3:03 - 3:07
    Potřebuji tedy zjistit,
    jak uživatelovo kliknutí rozeznat.
  • 3:08 - 3:12
    Naštěstí přesně pro to existuje
    speciální booleanová proměnná.
  • 3:13 - 3:16
    Jmenuje se mouseIsPressed.
  • 3:16 - 3:19
    A můžeme ji použít ve vnitřku
    podmíněného příkazu.
  • 3:20 - 3:22
    Toto je náš druhy míček.
  • 3:22 - 3:26
    Můžeme napsat: if, mouseIsPressed.
  • 3:28 - 3:31
    Následně zde přesuneme
    příkaz pro přivolání elipsy.
  • 3:33 - 3:35
    Čili toto říká programu,
  • 3:35 - 3:41
    že chceme nakreslit elipsu,
    jen když toto je pravdivé.
  • 3:41 - 3:45
    A mouseIsPressed bude pravdivé
    jen při uživatelově zmáčknutí myši.
  • 3:45 - 3:47
    Pojďme to zkusit.
  • 3:50 - 3:53
    Teď můžu míček přivolat
    kdykoli při zmáčknutí myši.
  • 3:53 - 3:55
    Takže se objevuje
    z paralelního vesmíru.
  • 4:01 - 4:05
    Proměnná mouseIsPressed je zajímavá tím,
  • 4:05 - 4:08
    že se mění na základě toho,
    co dělá uživatel.
  • 4:08 - 4:10
    A ne na základě toho,
    co dělá program.
  • 4:10 - 4:13
    A protože funkce "draw"
    je přivolávána opakovaně,
  • 4:13 - 4:16
    výstup programu
    se v průběhu mění.
  • 4:16 - 4:18
    A to s trochou
    uživatelova vstupu.
  • 4:18 - 4:23
    Spojením podmíněných příkazů
    a mouseIsPressed máte vše potřebné pro to,
  • 4:23 - 4:27
    abyste mohli dělat skvělé věci jako
    tlačítka či programy na kreslení.
Title:
Další interakce myší
Description:

Pamela vysvětluje, jak použít mouseIsPressed a podmíněné příkazy tak, aby se daný kód přehrával pouze při stisknutí uživatelovy myši.

more » « less
Video Language:
English
Duration:
04:29

Czech subtitles

Incomplete

Revisions