Discuss Scratch
- Discussion Forums
- » Pусский
- » Сделать поиск предметов в игре
- _galochka_
-
Scratcher
37 posts
Сделать поиск предметов в игре
Подскажите, как можно сделать чтобы можно было искать предметы как в играх жанра поиска предметов, т.е. в моем представлении, нашел 5 спрайтов на красивом фоне, один наше - нажал исчез, второй - нашел исчез т.д. Вопрос стоит в том, как сделать чтобы окончание игры было после того как найдутся 5 спрайтов и независимо от того какой будет нажат последний? Спасибо всем за ваши ответы.
- timkoi
-
Scratcher
100+ posts
Сделать поиск предметов в игре
Подскажите, как можно сделать чтобы можно было искать предметы как в играх жанра поиска предметов, т.е. в моем представлении, нашел 5 спрайтов на красивом фоне, один наше - нажал исчез, второй - нашел исчез т.д. Вопрос стоит в том, как сделать чтобы окончание игры было после того как найдутся 5 спрайтов и независимо от того какой будет нажат последний? Спасибо всем за ваши ответы.Создаем переменную “спрайтов осталось” (без кавычек), наши 5 спрайтов и еще один спрайт с названием “конец игры”.
В спрайт с названием “конец игры” добавить скрипт:
when green flag clickedК каждому из 5 спрайтов добавим скрипт:
задать [спрайтов осталось v] значение [5] ::variables stack
ждать до <(спрайтов осталось) = [0]> ::control stack
передать [конец игры v] ::control stack
когда спрайт нажат ::control hatНадеюсь поможет!
изменить [спрайтов осталось v] на (-1) ::variables stack
спрятаться ::looks stack

- _galochka_
-
Scratcher
37 posts
Сделать поиск предметов в игре
Спасибо за ответ)) Как сделаю отпишусьПодскажите, как можно сделать чтобы можно было искать предметы как в играх жанра поиска предметов, т.е. в моем представлении, нашел 5 спрайтов на красивом фоне, один наше - нажал исчез, второй - нашел исчез т.д. Вопрос стоит в том, как сделать чтобы окончание игры было после того как найдутся 5 спрайтов и независимо от того какой будет нажат последний? Спасибо всем за ваши ответы.Создаем переменную “спрайтов осталось” (без кавычек), наши 5 спрайтов и еще один спрайт с названием “конец игры”.
В спрайт с названием “конец игры” добавить скрипт:when green flag clickedК каждому из 5 спрайтов добавим скрипт:
задать [спрайтов осталось v] значение [5] ::variables stack
ждать до <(спрайтов осталось) = [0]> ::control stack
передать [конец игры v] ::control stackкогда спрайт нажат ::control hatНадеюсь поможет!
изменить [спрайтов осталось v] на (-1) ::variables stack
спрятаться ::looks stack
- maximngy
-
Scratcher
100+ posts
Сделать поиск предметов в игре
Помоему легче использовать масивы.(Списки)
- timkoi
-
Scratcher
100+ posts
Сделать поиск предметов в игре
Ну, можно и так:Помоему легче использовать масивы.(Списки)
when green flag clickedP.S. Для спрайтов забыл скрипт написать:
добавить [кастрюля] к [предметы v] ::list stack
добавить [коробка] к [предметы v] ::list stack
добавить [картина] к [предметы v] ::list stack
добавить [половник] к [предметы v] ::list stack // Здесь могут быть и другие предметы.
добавить [что-то еще] к [предметы v] ::list stack
ждать до <(длина списка [предметы v]) = [0]> ::control stack // Не получается покрасить этот блок в нужный цвет. :(
передать [конец игры v] ::control stack
когда спрайт нажат ::control hatИ так для каждого спрайта предмета, только в место кастрюли у вас будет что-то другое.
задать [найден v] значение [0] ::variables stack
задать [элемент в списке v] значение [0] ::variables stack
повторять пока не <(найден) = [1]> ::control cstart
изменить [элемент в списке v] на (1) ::variables stack
если <(элемент (элемент в списке) из [предметы v]) = [кастрюля]> , то ::control cstart // Допустим весь этот скрипт для спрайта кастрюли
задать [найден v] значение [1] ::variables stack
спрятаться ::looks stack
стоп [этот скрипт v] ::control stack
end
end
Тоже неплохой вариант. Хотя, если предметы будут все время меняться, то лучше использовать переменные.
Last edited by timkoi (Nov. 28, 2015 12:50:18)
- _galochka_
-
Scratcher
37 posts
Сделать поиск предметов в игре
Спасибо))) Использовала первый вариант. Он оказался для меня легким. Вот конечная работа https://scratch.mit.edu/projects/88225794/Ну, можно и так:Помоему легче использовать масивы.(Списки)when green flag clickedP.S. Для спрайтов забыл скрипт написать:
добавить [кастрюля] к [предметы v] ::list stack
добавить [коробка] к [предметы v] ::list stack
добавить [картина] к [предметы v] ::list stack
добавить [половник] к [предметы v] ::list stack // Здесь могут быть и другие предметы.
добавить [что-то еще] к [предметы v] ::list stack
ждать до <(длина списка [предметы v]) = [0]> ::control stack // Не получается покрасить этот блок в нужный цвет. :(
передать [конец игры v] ::control stackкогда спрайт нажат ::control hatИ так для каждого спрайта предмета, только в место кастрюли у вас будет что-то другое.
задать [найден v] значение [0] ::variables stack
задать [элемент в списке v] значение [0] ::variables stack
повторять пока не <(найден) = [1]> ::control cstart
изменить [элемент в списке v] на (1) ::variables stack
если <(элемент (элемент в списке) из [предметы v]) = [кастрюля]> , то ::control cstart // Допустим весь этот скрипт для спрайта кастрюли
задать [найден v] значение [1] ::variables stack
спрятаться ::looks stack
стоп [этот скрипт v] ::control stack
end
end
Тоже неплохой вариант. Хотя, если предметы будут все время меняться, то лучше использовать переменные.
- Discussion Forums
- » Pусский
-
» Сделать поиск предметов в игре