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.

Lásd még

Hivatkozások

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