Discuss Scratch
- Discussion Forums
- » Pусский
- » ВСЕ ВОПРОСЫ СЮДА!!!
- volk-alex
- Scratcher
100+ posts
ВСЕ ВОПРОСЫ СЮДА!!!
Думаю для этого понадобится еще один спрйт, который будет всегда смотреть на мышь. Далее, вспоминая школьную геометрию, для башни вычисляем угол поворота(угол, на который должна повернуться башня чтобы дулом смотреть на мышь): Гайс. Тема такая. 2d игра вид сверху. У меня есть 2 спрайта танка. Башня и корпус. По задумке дуло башни должно смотреть в направлении мышки. Но! Башня должна плавно поворачиваться к мышке. Как реализовать просчет оптимального поворота башни (как будет быстрее, повернутся налево или направо). Думаю уже неделю. Помогите, программисты.
задать [da v] значение (([направление v] от [Sprite1 v]) - (направление))
Теперь давайте подумаем о том, какие углы у нас могут получиться. Максимально возможный угол = 359(для удобства в расчетах возьмем 360), минимально = 0. Каждый из спрайтов может оказаться в каждом из двух положений. Следовательно:
0-360=-360Соответственно минимальная разность направлений = -360, а максимальная = 360. Однако, по факту это одно и то же. Для уменьшения давления на моск давайте уменьшим все углы:
0-0=0
360-360=0
360-0=360
если <(da) < [-180]> , то
изменить [da v] на (360)
end
если <(da) > [180]> , то
изменить [da v] на (-360)
end
То есть ели у нас получится угол 360 в итоге мы получим 0. Чтобы понять как это работает и почему это так, а не иначе, представим мысленно круг. Подпишем на круге уголы 0, 90, 180 и 270. Далее радом с 270, 180 и 90 допишем соответственно -90, -180 и -270. Начертим где-то между -270 и -180 красным цветом какой-нибудь угол. А теперь обратим внимание на то, что этот же угол находится между 180 и 90! Например:
-230+360=130В итоге все наши углы получаются между -180 и 180. Ну а далее уж как душа ляжет:
если <(da) < [0]> , то
повернуть влево на (10) градусов
иначе
повернуть вправо на (10) градусов
end
Либо:
если <([модуль v] от (da)) > [1]> , тоВот. Надеюсь смог помочь
повернуть вправо на ((da) / (20)) градусов
end
Last edited by volk-alex (July 9, 2016 08:23:01)
- DimonOFF
- Scratcher
8 posts
ВСЕ ВОПРОСЫ СЮДА!!!
Спасибо тебе огромное! Все идеально работает! Добавил ещё ограничение, чтобы не выполнялось если переменная “da” равна нулю. Хочешь глянь https://scratch.mit.edu/projects/115377456/Думаю для этого понадобится еще один спрйт, который будет всегда смотреть на мышь. Далее, вспоминая школьную геометрию, для башни вычисляем угол поворота(угол, на который должна повернуться башня чтобы дулом смотреть на мышь): Гайс. Тема такая. 2d игра вид сверху. У меня есть 2 спрайта танка. Башня и корпус. По задумке дуло башни должно смотреть в направлении мышки. Но! Башня должна плавно поворачиваться к мышке. Как реализовать просчет оптимального поворота башни (как будет быстрее, повернутся налево или направо). Думаю уже неделю. Помогите, программисты.задать [da v] значение (([направление v] от [Sprite1 v]) - (направление))
Теперь давайте подумаем о том, какие углы у нас могут получиться. Максимально возможный угол = 359(для удобства в расчетах возьмем 360), минимально = 0. Каждый из спрайтов может оказаться в каждом из двух положений. Следовательно:0-360=-360Соответственно минимальная разность направлений = -360, а максимальная = 360. Однако, по факту это одно и то же. Для уменьшения давления на моск давайте уменьшим все углы:
0-0=0
360-360=0
360-0=360если <(da) < [-180]> , то
изменить [da v] на (360)
end
если <(da) > [180]> , то
изменить [da v] на (-360)
end
То есть ели у нас получится угол 360 в итоге мы получим 0. Чтобы понять как это работает и почему это так, а не иначе, представим мысленно круг. Подпишем на круге уголы 0, 90, 180 и 270. Далее радом с 270, 180 и 90 допишем соответственно -90, -180 и -270. Начертим где-то между -270 и -180 красным цветом какой-нибудь угол. А теперь обратим внимание на то, что этот же угол находится между 180 и 90! Например:-230+360=130В итоге все наши углы получаются между -180 и 180. Ну а далее уж как душа ляжет:если <(da) < [0]> , то
повернуть влево на (10) градусов
иначе
повернуть вправо на (10) градусов
end
Либо:если <([модуль v] от (da)) > [1]> , тоВот. Надеюсь смог помочь
повернуть вправо на ((da) / (20)) градусов
end
Last edited by DimonOFF (July 9, 2016 09:21:34)
- volk-alex
- Scratcher
100+ posts
ВСЕ ВОПРОСЫ СЮДА!!!
Вау. Классная вещьСпасибо тебе огромное! Все идеально работает! Добавил ещё ограничение, чтобы не выполнялось если переменная “da” равна нулю. Хочешь глянь …https://scratch.mit.edu/projects/115377456/
- volk-alex
- Scratcher
100+ posts
ВСЕ ВОПРОСЫ СЮДА!!!
Эй, форумчане! Есть ли среди вас любители космоса, космических путешествий или просто знакомые с темой? Ежли вам не трудно, покидайте пожалуйста ссылок на интерьеры космических кораблей, а так же идеи на тему того, какие помещения могут понадобиться путешественникам. Заранее спасибо
Last edited by volk-alex (July 10, 2016 07:52:07)
- stenley90
- Scratcher
100+ posts
ВСЕ ВОПРОСЫ СЮДА!!!
можно добавить танки и я уже знаю как!!!
“Подпись может быть разной, но понты не обязательны”
©Stenley90
- stenley90
- Scratcher
100+ posts
ВСЕ ВОПРОСЫ СЮДА!!!
а ты микрофон с наушниками включал
“Подпись может быть разной, но понты не обязательны”
©Stenley90
- stenley90
- Scratcher
100+ posts
ВСЕ ВОПРОСЫ СЮДА!!!
если <<<нет микрофона> или <наушников>>> , то
остановить все звуки
иначе
записать звук
end
“Подпись может быть разной, но понты не обязательны”
©Stenley90
- stenley90
- Scratcher
100+ posts
ВСЕ ВОПРОСЫ СЮДА!!!
у тебя какой браузер и система вот у меня хоть мне и 10 лет ноя на
My browser / operating system: Windows XP, Firefox 49.0, Flash 22.0 (release 5)
My browser / operating system: Windows XP, Firefox 49.0, Flash 22.0 (release 5)
“Подпись может быть разной, но понты не обязательны”
©Stenley90
- volk-alex
- Scratcher
100+ posts
ВСЕ ВОПРОСЫ СЮДА!!!
Если НЕОБХОДИМО работать именно в офлайн, рекомендую попробовать записать звук на стандартную “Звукозапись”, а затем её загрузить в проект Что делать если в Скретче оффлайн Редакторе не записывается звук?
- Supper_Alex_man
- Scratcher
100+ posts
ВСЕ ВОПРОСЫ СЮДА!!!
Спасибо,попробовал,записалось,но когда загружаю в скретч то пишет “Sorry,scratch was unable to load the sound безымянный”Если НЕОБХОДИМО работать именно в офлайн, рекомендую попробовать записать звук на стандартную “Звукозапись”, а затем её загрузить в проект Что делать если в Скретче оффлайн Редакторе не записывается звук?
- DimonOFF
- Scratcher
8 posts
ВСЕ ВОПРОСЫ СЮДА!!!
Какой формат записи? mp3?Спасибо,попробовал,записалось,но когда загружаю в скретч то пишет “Sorry,scratch was unable to load the sound безымянный”Если НЕОБХОДИМО работать именно в офлайн, рекомендую попробовать записать звук на стандартную “Звукозапись”, а затем её загрузить в проект Что делать если в Скретче оффлайн Редакторе не записывается звук?
- volk-alex
- Scratcher
100+ posts
ВСЕ ВОПРОСЫ СЮДА!!!
Обычная “Звукозапись” сохраняет звуки в формате .wav и, если верить вики, это обстоятельство не должно создавать проблем с загрузкой их в проект. https://wiki.scratch.mit.edu/wiki/SoundКакой формат записи? mp3? …
Однако, забугорные хацкеры рекомендуют переформатировать все файлы в mp3. https://scratch.mit.edu/discuss/post/2053885/
Но лучше просто воспользуйтесь онлайн-редактором.
- volk-alex
- Scratcher
100+ posts
ВСЕ ВОПРОСЫ СЮДА!!!
Ой! Да. Ещё попробуй название аудиофайла написать латиницей, что-то типо “sound1”
- DimonOFF
- Scratcher
8 posts
ВСЕ ВОПРОСЫ СЮДА!!!
Ребят, может кто подскажет как сделать физику для машин? Чтобы нельзя было на другую машину заехать ( 2d игра вид сверху ).
Last edited by DimonOFF (July 17, 2016 10:05:27)
- stenley90
- Scratcher
100+ posts
ВСЕ ВОПРОСЫ СЮДА!!!
ну есть 1 способ
когда щёлкнут по зелёному флагу
всегда
если <касается [машина сверху v] ?> , то
изменить x на (от машны)
иначе
если <клавиша [вверх v] нажата?> , то
идти (1) шагов
повернуть в направлении (вверх v)
иначе
идти (0) шагов
так же с задом
Last edited by stenley90 (July 17, 2016 10:30:15)
“Подпись может быть разной, но понты не обязательны”
©Stenley90