Дубликаты клонирования с нуля

Я использую скретч. Я клонирую спрайты и делаю игру типа майнкрафт, в которой я использую много клонов одного блока, чтобы упростить рабочую нагрузку. Я скрываю исходный спрайт и прячу клоны, когда хочу их уничтожить. Я пытаюсь создать новые клоны, перемещая исходный спрайт в то место, где я хочу клонировать, клонируя спрайт, а затем скрывая спрайт и показывая клон. Но создается впечатление, что код для размещения новых спрайтов возводит в квадрат количество размещенных клонов и приводит их всех к персонажу. Я новичок в этом сообществе и только начал изучать скретч. Если есть способ показать скретч-код, я был бы рад. Спасибо.


person dralston    schedule 17.11.2015    source источник
comment
Добро пожаловать в StackOverflow! Пожалуйста, включите код, который не работает. См. здесь, как отформатировать его - stackoverflow.com/help/formatting   -  person andorov    schedule 17.11.2015
comment
Пожалуйста, включите либо текстовое представление кода, либо снимок экрана, а также, возможно, ссылку на проект на Scratch.   -  person Scimonster    schedule 17.11.2015
comment
Спасибо за помощь, ссылка на игру здесь. У меня проблемы со спрайтом один. scratch.mit.edu/projects/86253391   -  person dralston    schedule 18.11.2015


Ответы (2)


Я думаю, вы обнаружите, что код вызывает «спрайт», как в оригинале, и все его клоны перемещаются в центр, поскольку код выполняется для каждого экземпляра (клона) спрайта, что приводит к его копировать себя для каждого существующего экземпляра спрайта.

Что вам, вероятно, придется сделать, так это иметь внешний скрипт внутри сцены или другой спрайт, у которого нет клонов, вызвать спрайт, чтобы клонировать его, поскольку я совершенно уверен, что поведение сцены может облегчить клонирование других спрайтов. Оттуда я бы установил какую-то глобальную переменную для координат, в которых вы хотите, чтобы он появлялся, и добавил скрипт для спрайта, который заставляет его двигаться в координатах, указанных этими переменными, при его создании.

Поскольку вы связали свой проект, я посмотрю, смогу ли я завтра создать для него ремикс, который решит вашу проблему, если проблема все еще существует.

person Dean Kuyser    schedule 19.11.2015
comment
Я думаю, что исправил это для вас, но вам придется проверить это самостоятельно -› cratch.mit.edu/projects/88636132/#player - person Dean Kuyser; 21.11.2015

Scratch имеет лимит клонов около 301.

Если вы хотите удалить клон, я предлагаю использовать блок «удалить клон». Если вы считаете, что на экране должно отображаться более 300 клонов, вам, возможно, придется использовать метод, называемый штампованием, при котором вы сохраняете каждую позицию x в одном списке, каждую позицию y в другом списке, а затем визуализируете каждую позицию с помощью пользовательского блока. как это сделать | пример кода

Если бы вы могли сделать скриншот своего кода, я мог бы помочь его отладить. Я выиграл, украл его, так что не волнуйся. И если вам интересно, я сижу на Scratch уже два года.

person I. C.    schedule 10.12.2015