Érinted () (blokk)

Az Érinted ()? blokk egy Érzékelő blokk és egy Logikai blokk is egyben. Ez az utasításblokk azt ellenőrzi, hogy az adott szereplő érinti-e az egérmutatót, a játéktér szélét vagy egy másik szereplőt. Ha az adott szereplő érinti a kiválasztott objektumot, akkor a blokk igaz értékkel tér vissza, ha nem érinti, akkor hamissal.

Az utasításblokk másképpen viselkedik, amikor a szereplő eltüntettük. Más szereplőkkel való érintkezéskor hamis értéket ad, azonban amikor az egérrel vagy a játéktér szélével érintkezik, akkor igaz értékkel tér vissza.

Példák a használatra

Mivel az utasításblokk azt ellenőrzi, hogy egy adott szereplő érint-e egy objektumot, ezért leginkább arra használják, hogy észleljék az összeütközéseket.

Néhány gyakori felhasználási mód az Érinted ()? utasításblokkra::

  • A szereplő mozgatása addig, amíg nem érinti a játéktér szélét
ismételd eddig: <érinted: [játéktér széle v]?>
   menj (3) lépést
  • Az egyik szereplő kerget egy másikat addig, amíg a kergető nem érinti a másik szereplőt
ismételd eddig: <érinted: [Szereplő2 v]?>
   nézz [Szereplő2 v] irányába
   menj (3) lépést
end
mondd: [Elkaptalak!] (2) mp-ig
  • Golyók megállítása, amikor a falhoz ütköznek
mindig
ha <érinted: [Fal v]?> akkor
tűnj el
  • A labirintusban, amikor a szereplő zsákutcába került
mindig 
ha <érinted: [Labirintus fala v]?> akkor
mondd [Zsákutca!] (1) mp-ig
  • Annak ellenőrzése, hogy a szereplő érinti-e az egérmutatót
zz-ra kattintáskor
mindig 
ha <érinted: [Labirintus fala v]?> akkor
jelmez legyen [Kiemelt v]
különben
jelmez legyen [Normál v]
  • Annak ellenőrzése, hogy a játékos érinti-e az ellenséget a játékban
mindig
ha <érinted: [Ellenség v]?> akkor
mondd [Játék vége!]
[minden v] álljon le

Kapcsolódó javaslat

Néhány Scratcher szeretne egy olyan utasításblokkot, amely 2 szereplő érintkezését vizsgálja. Ennek a blokknak az lenne az előnye, hogy egy 3. szereplőre ruházza azt a képességet, hogy a másik két szereplő érintkezését vizsgálja.

<[Szereplő1 v] érinti [Szereplő2 v]-t? ::sensing>

Ezt egy globális változóval tudjuk reprodukálni úgy, hogy az egyik szereplőnél vizsgáljuk az érintkezést, majd beállítjuk az értéket, így:

// Szereplő1-ben
[Érintés ellenőrzése v] üzenet érkezésekor
ha <érinted: [Szereplő2 v]?> akkor
  (Szereplő1 érinti Szereplő2-t?) legyen [igen]
különben
  (Szereplő1 érinti Szereplő2-t?) legyen [nem]
 end


// Bárhol ellenőrheted az érintkezést
küldj üzenetet [Érintés ellenőrzése v] és várj
ha <(Szereplő1 érinti Szereplő2-t?) = [igen]> akkor
// Rakj ide bármit, amit akarsz, hogy történjen, amikor ők érintkeznek
különben// put what you want if they aren't here
end
  • A lap utolsó módosítása: 2017. április 9., 12:37