Innen: Hungarian Scratch-Wiki
(Zászlóra kattintáskor szócikkből átirányítva)
A Zöld zászlóra kattintáskor blokk egy esemény blokk és egyben indító blokk. Az ezen blokkhoz kapcsolt kód azután aktiválódik, hogy a zöld zászlóra kattintottunk – ez a kód aktiválhat más kódokat, elindítva az egész programot.
Ez a blokk nélkül az egész projekt futtatására az egyetlen mód egy gomb megnyomása vagy egy szereplőre kattintás érzékelése lenne, a projekt addig futna, amíg az összes indító blokktól függő más kód lejárna. A zöld zászlóra kattintáskor blokk ugyanakkor a leggyakrabban használt blokk is a Scratch-ben.
Teljes mértékben lehetséges ennek a blokknak a mellőzésével kódot írni, viszont nem ajánlott, hiszen a zászló képviseli a projekt kezdetét, vagyis ez a blokk érzékeli, hogy mikor indítják el a projektet.
Példák a használatára
Egy projekt futtatásakor rengeteg dolog történik, amelyek mind ehhez a blokkhoz csatolt egyéb blokkok eredményei.
Íme néhány gyakori példa:
Zászlóra kattintáskor töröld [lista v] lista minden elemét
- Változók visszaállítása
Zászlóra kattintáskor [változó v] legyen (0)
- Egy helyszín, jelenet beállítása szereplők eltűntetése, megjelenítése vagy a jelmezük megváltoztatása által
Zászlóra kattintáskor tűnj el jelmez legyen [jelmez1 v]
- Az összes toll általi rajz törlése
Zászlóra kattintáskor töröld a rajzokat
- Zene/zenék lejátszása
Zászlóra kattintáskor mindig játszd végig [dal v] hangot
- Klónok készítése
Zászlóra kattintáskor készíts másolatot: [magadról v]
Mindezek után a kód folytatódhat a megszokott módon. Például:
Zászlóra kattintáskor töröld a grafikus hatásokat ugorj ide: x: (0) y: (0) küldj üzenetet: [Start! v] mindig ha <(hp) < (1)> akkor küldj üzenetet: [Vesztettél v] end
Hibák
Egynél több zászlóra kattintáskor blokk használata egy projekten belül nehezen diagnosztizálható hibákat eredményezhet, például az időzítést is elronthatja. A legegyszerűbb megoldás az, hogy csupán egyetlen ilyen blokkot használunk, amelyet a többi kódot mozgásba lendítő, üzenetküldő blokkok követnek. Egy másik megoldás lehet a zászló többszöri megynyomása vagy a turbó mód használata.
Zászlóra kattintáskor küldj üzenetet: [indíts v]
Kikerülése
Amikor [időmérő v] > (-1) mondd: [Szia!]
Jelenleg ez az egyetlen kerülő megoldás a zászlóra kattintáskor blokkra. A projekt megynyitásakor az időmérő 0-ra állítódik, így az indítóblokk aktiválódik, a projekt elindul. Az egyetlen probléma ezzel a megoldással, hogy automatikusan elindul, ha a felhasználó belép egy projektbe.
[Scratch-StartClicked v] üzenet érkezésekor mondd: [Szia!]
A Scratch 2.0 előtt működött ez a megoldás, mivel a zöld zászlóra kattintás a "scratch-startclicked"[1] üzenetet küldte. Ez azonban mára már nem érvényes, vagyis ez a kerülő megoldás csak Scratch 1.4-ben vagy annál régebbi verziókban, illetve Java Player-benműködik.
Stoptáblára kattintáskor
A "Stoptáblára kattintáskor" egy számos Scratcher által javasolt esemény blokk, amely a stoptábla megnyomásakor lép működésbe. Ezeket a kéréseket általában elutasítják, mivel a stoptábla a projekt megállítására való, nem pedig más blokkok, kód elindítására.
A "Stoptáblára kattintáskor" blokk a következő kóddal helyettesíthető:
check meghatározása mindig időmérő visszaállítása // visszaállítja az időmérőt minden tizedmásodpercben, hogy 0.2 alatt tartsa várj (0.1) mp-et end Zászlóra kattintáskor check amikor [időmérő v] > (0.2) // amikor a stoptáblára kattintunk, az időmérő nem állítódik vissza, így az értéke 0.2 fölé nőhet ... // ide jön a stoptáblára kattintás után következő kód check