Innen: Hungarian Scratch-Wiki
A Nézz () felé blokk egy mozgás blokk, amely a szereplőt az egérmutató vagy egy másik szereplő jelmezének középpontja felé fordítja.
Példák használatra
A nézz () fokos irányba blokkal ellentétben, amely adott szögnek megfelelő irányba fordítja a szereplőt, ez a blokk más szereplők vagy az egérmutató irányába fordítja azt.
Néhány jellemző példa a nézz () felé blokk használatára:
- Egy szereplő folyamatos egérmutató irányába való fordítása
zászlóra kattintáskor mindig nézz (egérmutató v) felé menj (10) lépést
- Egy szereplő valahova történő irányítása, elvezetése
nézz (szereplő2 v) felé ismételd eddig <érinted (szereplő2 v)?> menj (5) lépést
- Egy célpont felé mutatni
[útmutató v] üzenet érkezésekor nézz (kincs v) felé
Alternatív megoldás
Ez a blokk helyettesíthető a következő trigonometriát használó utasítássorozatok bármelyikével.
[delta_x v] legyen (((szereplő2 v) [x hely v]) - (x hely)) [delta_y v] legyen (((szereplő2 v) [y hely v]) - (y hely)) ha <(delta_y) = [0]> akkor ha <(delta_x) < [0]> akkor nézz (-90) fokos irányba különben nézz (90) fokos irányba end különben ha <(delta_y) < [0]> akkor nézz ((180) + ([arctan v] ((delta_x) / (delta_y)))) fokos irányba különben nézz ([arctan v] ((delta_x) / (delta_y))) fokos irányba end end nézz (([arctan v] ((((szereplő2 v) [x hely v]) - (x hely)) / (((szereplő2 v) [y hely v]) - (y hely)))) + ((180) * <((szereplő2 v) [y hely v]) < (y hely)>)) fokos irányba
Mindazonáltal, ez rengeteg kód és olvashatatlan is, tehát kevésbé felhasználóbarát.
Kapcsolódó javaslat
Egy kapcsolódó blokk, ami egy szereplő bizonyos koordinátájú pont irányába való fordítására alkalmas, több felhasználó által is javasolva volt:[1] nézz x: (0) y: (0) pont irányába::motion
Ez elkészíthető sajátkezűleg egy szereplő elhelyezése által az adott pontban, vagy a következő egyéni blokk meghatározása és használata által:
nézz x: () y: () pont irányába::custom nézz x: (x) y: (y) pont irányába meghatározása [delta_x v] legyen ((x) - (x hely)) [delta_y v] legyen ((y) - (y hely)) ha <(delta_y) = [0]> akkor ha <(delta_x) < [0]> akkor nézz (-90) fokos irányba különben nézz (90) fokos irányba end különben ha <(delta_y) < [0]> akkor nézz ((180) + ([arctan v] ((delta_x) / (delta_y)))) fokos irányba különben nézz ([arctan v] ((delta_x) / (delta_y))) fokos irányba end end
A fenti kód elérhető ebben a projektben.