Я использую скретч. Я клонирую спрайты и делаю игру типа майнкрафт, в которой я использую много клонов одного блока, чтобы упростить рабочую нагрузку. Я скрываю исходный спрайт и прячу клоны, когда хочу их уничтожить. Я пытаюсь создать новые клоны, перемещая исходный спрайт в то место, где я хочу клонировать, клонируя спрайт, а затем скрывая спрайт и показывая клон. Но создается впечатление, что код для размещения новых спрайтов возводит в квадрат количество размещенных клонов и приводит их всех к персонажу. Я новичок в этом сообществе и только начал изучать скретч. Если есть способ показать скретч-код, я был бы рад. Спасибо.
Дубликаты клонирования с нуля
Ответы (2)
Я думаю, вы обнаружите, что код вызывает «спрайт», как в оригинале, и все его клоны перемещаются в центр, поскольку код выполняется для каждого экземпляра (клона) спрайта, что приводит к его копировать себя для каждого существующего экземпляра спрайта.
Что вам, вероятно, придется сделать, так это иметь внешний скрипт внутри сцены или другой спрайт, у которого нет клонов, вызвать спрайт, чтобы клонировать его, поскольку я совершенно уверен, что поведение сцены может облегчить клонирование других спрайтов. Оттуда я бы установил какую-то глобальную переменную для координат, в которых вы хотите, чтобы он появлялся, и добавил скрипт для спрайта, который заставляет его двигаться в координатах, указанных этими переменными, при его создании.
Поскольку вы связали свой проект, я посмотрю, смогу ли я завтра создать для него ремикс, который решит вашу проблему, если проблема все еще существует.
Scratch имеет лимит клонов около 301.
Если вы хотите удалить клон, я предлагаю использовать блок «удалить клон». Если вы считаете, что на экране должно отображаться более 300 клонов, вам, возможно, придется использовать метод, называемый штампованием, при котором вы сохраняете каждую позицию x в одном списке, каждую позицию y в другом списке, а затем визуализируете каждую позицию с помощью пользовательского блока. как это сделать | пример кода
Если бы вы могли сделать скриншот своего кода, я мог бы помочь его отладить. Я выиграл, украл его, так что не волнуйся. И если вам интересно, я сижу на Scratch уже два года.