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
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
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

Hivatkozások

Cookies help us deliver our services. By using our services, you agree to our use of cookies.