From Test-Scratch-Wiki

Слідувати за ()
слідувати за ()
Категорія Рух
Тип Зчіплюючий

Блок Слідувати за () — це блок руху та зчіплюючий блок. Блок змінює напрям спрайту в такий спосіб, аби він вказував на зазначену ціль, тобто повертає спрайт.


Note Примітка: Цей блок не рухає спрайт, а лише повертає його! Мова йде радше про дещо невдалий україномовний переклад; зрозумілішим було б "слідкувати за" або ж точно дослівне "вказати на".

На відміну від блоку Повернути в напрямку (), цей блок повертає спрайт до вказаного об'єкту, зокрема, до вказівника миші.

Приклади застосування

Типові приклади застосування блоку Слідувати за ():

  • Неперервний рух спрайта до вказівника миші:
коли @greenFlag натиснуто
завжди
   слідувати за [вказівник миші v]
   перемістити на (10) кроків
  • Переслідування іншого спрайта
повторити до <торкається [спрайт2 v]?>
   слідувати за [спрайт2 v]
   перемістити на (5) кроків
  • Вказівка цілі завдання на екрані
коли я отримую [Підказка v]
слідувати за [Скарб v]

Обхідний шлях

Цей блок можна замінити наступним фрагментом скрипта, який спирається на тригонометрію:

надати [delta_x v] значення (([значення x v] з [спрайт2 v]) - (значення x))
надати [delta_y v] значення (([значення y v] з [спрайт2 v]) - (значення y))
якщо <(delta_y) = [0]> то
якщо <(delta_x) < [0]> то
повернути в напрямку (-90 v)
інакше
повернути в напрямку (90 v)
end
інакше
якщо <(delta_y) < [0]> то
повернути в напрямку ((180) + ([atan v] з ((delta_x) / (delta_y))))
інакше
повернути в напрямку ([atan v] з ((delta_x) / (delta_y)))
end
end

Історія

Скретчери запитували[1] блок слідувати за x: (0) y: (0)::motion. Його дія полягала б у повороті спрайта до точки із вказаними координатами. Але це можна легко зімітувати за допомогою попереднього фрагменту скрипта, якщо підставити туди значення x та y замість відповідних фрагментів ([значення x v] з [спрайт2 v] та ([значення y v] з [спрайт2 v].

Дивись також

Джерела

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