Discuss Scratch
- paralg-100
-
Scratcher
13 posts
Скретч-помощь by Marcus-Cactus
Не надо каждый раз ставить scratchblocks, и между состыкованными блоками не должно быть пробелов
идти (5) шагов
повернуть вправо на (15) градусов
сказать [Привет]
Получилось.
Большое спасибо.
Last edited by paralg-100 (Jan. 11, 2018 11:51:23)
- Marcus-Cactus
-
Scratcher
100+ posts
Скретч-помощь by Marcus-Cactus
Не работаетПрости я в коде написал немного неправильно
определить сканерНадо заменить world на
если <(буква (№_буквы) в [код]) = (буква (1) в [(слово)])> , то
задать [слово] значение (слить [код2] и [world]) // Здесь ошибка
иначе
если <(длина [слово]) > [4]> , то
задать [код2] значение (слить [код2] и (слить [(] и (слить ((слить (длина [ (слова) ]) и (буква (1) в [слово])) / (10)) и [)])))
задать [слово] значение (буква (№_буквы) в [код])
иначе
задать [ код2] значение (слить (код2) и [(слово)])
end
end
изменить [№_буквы] на (1)
(буква (№_буквы) в [код])
Last edited by Marcus-Cactus (Jan. 11, 2018 11:54:40)
- paralg-100
-
Scratcher
13 posts
Скретч-помощь by Marcus-Cactus
Удален ошибочно введенный повторный пост.
Last edited by paralg-100 (Jan. 11, 2018 12:17:24)
- Marcus-Cactus
-
Scratcher
100+ posts
Скретч-помощь by Marcus-Cactus
0шибка была устранена. Пост удален автором.
Last edited by Marcus-Cactus (Jan. 11, 2018 14:31:05)
- paralg-100
-
Scratcher
13 posts
Скретч-помощь by Marcus-Cactus
А зачем дважды один пост выкладывать? Я прост что-то не понял
Это моя промашка.
Я зашел на форум с самого начала:
Форумы / Русский.
Но не увидел там своего поста (проглядел) - думал, что не сохранил или что-то там еще..
Сделал пост повторно.
А потом увидел первый пост и удалил повторный.
Точнее, объяснил, но сам пост (контейнер) остался .
Такие дела.

————————–
Кстати говоря:
не нашел, как можно удалить свой авторский пост (в течение какого-то времени)?
- Marcus-Cactus
-
Scratcher
100+ posts
Скретч-помощь by Marcus-Cactus
————————–Удалить пост невозможно, но можно его редактировать (а редакция временем не ограничена))
Кстати говоря:
не нашел, как можно удалить свой авторский пост (в течение какого-то времени)?
P.s.: Можно конечно пожаловаться, но я еще не пробовал
Last edited by Marcus-Cactus (Jan. 12, 2018 12:41:48)
- Marcus-Cactus
-
Scratcher
100+ posts
Скретч-помощь by Marcus-Cactus
Советы
Клоны. Игра без глюков.
Всем привет! Этот пост – продолжение к моему предыдущему совету. Идеей для этого совета послужила запись на форуме. Итак… приступим:
1. Всегда удаляйте клоны. Как и говорил coder2_0 (создатель записи) игра начинает глючить если прятать клоны, вместо того, чтобы их удалять.
2. Не создавайте слишком много клонов. Это тоже сильно тормозит проект. (не забывайте: клонов может быть до 300 экземпляров!)
3. Делайте действия клонов максимально проще. Это сделает игру легче (информативно легче) и уменьшит количество лагов в игре. Например, избегайте блока “всегда”, т.к. он занимает очень много памяти (по сравнению с другими блоками)
Ну вот и все. Ждите новых советов
Клоны. Игра без глюков.
Всем привет! Этот пост – продолжение к моему предыдущему совету. Идеей для этого совета послужила запись на форуме. Итак… приступим:
1. Всегда удаляйте клоны. Как и говорил coder2_0 (создатель записи) игра начинает глючить если прятать клоны, вместо того, чтобы их удалять.
2. Не создавайте слишком много клонов. Это тоже сильно тормозит проект. (не забывайте: клонов может быть до 300 экземпляров!)
3. Делайте действия клонов максимально проще. Это сделает игру легче (информативно легче) и уменьшит количество лагов в игре. Например, избегайте блока “всегда”, т.к. он занимает очень много памяти (по сравнению с другими блоками)
Ну вот и все. Ждите новых советов

Last edited by Marcus-Cactus (Jan. 13, 2018 19:03:51)
- Marcus-Cactus
-
Scratcher
100+ posts
Скретч-помощь by Marcus-Cactus
Советы
“Убегающий” спрайт
Вот увидел такой интересный вопрос на форуме:
1. Для начала создадим спрайт, который будет догонять. Назовем его “спрайт 1”
2. Создим 2, “убегающий” спрайт. Его костюм (именно костюм!) мы должны развернуть на 180 градусов или отразить (справа на лево и слева на право). Это нужно для того, чтобы спрайт, убегая, был повернут в нужную сторону.
3. Пишем код для 2 спрайта:
Действие 2 мы сделали не просто так. Убегающий спрайт поворачивается к спрайту 1 (догоняющему спрайту) и “отступает”, идет задом. По этому, мы заранее поменяли переднюю сторону костюма убегающего и его заднюю сторону. По этому, спрайт будет уже не отступать (лицом к противнику), а убегать (спиной к противнику). Вот и все.
Рад был помочь
“Убегающий” спрайт
Вот увидел такой интересный вопрос на форуме:
Здравствуйте. Подскажите, пожалуйста, как сделать так, чтобы один спрайт “убегал” от другого?Хотел бы поделиться здесь своим ответом.
1. Для начала создадим спрайт, который будет догонять. Назовем его “спрайт 1”
2. Создим 2, “убегающий” спрайт. Его костюм (именно костюм!) мы должны развернуть на 180 градусов или отразить (справа на лево и слева на право). Это нужно для того, чтобы спрайт, убегая, был повернут в нужную сторону.
3. Пишем код для 2 спрайта:
когда щёлкнут по зелёному флагу
всегда
повернуться к [спрайт 1]
идти (-10) шагов
end
Действие 2 мы сделали не просто так. Убегающий спрайт поворачивается к спрайту 1 (догоняющему спрайту) и “отступает”, идет задом. По этому, мы заранее поменяли переднюю сторону костюма убегающего и его заднюю сторону. По этому, спрайт будет уже не отступать (лицом к противнику), а убегать (спиной к противнику). Вот и все.
Рад был помочь

Last edited by Marcus-Cactus (Jan. 14, 2018 16:20:21)
- Marcus-Cactus
-
Scratcher
100+ posts
Скретч-помощь by Marcus-Cactus
Советы
Невозможные блоки. Часть 3.
Спасибо RuMaks за идею для этого поста. Вот такой блок мы собираемся сделать:
А вот как это сделать:
Вот теперь вы знаете как сделать этот “невозможный” блок. Ждите новых советов
Невозможные блоки. Часть 3.
Спасибо RuMaks за идею для этого поста. Вот такой блок мы собираемся сделать:
когда<>::events hat
А вот как это сделать:
когда щёлкнут по зелёному флагу
когда <мышка нажата?> // условие можно поставить любое
определить когда (условие)
ждать до <(условие) = [true]>
Дальнейший код :: grey
Вот теперь вы знаете как сделать этот “невозможный” блок. Ждите новых советов

- Marcus-Cactus
-
Scratcher
100+ posts
Скретч-помощь by Marcus-Cactus
Советы
Невозможные блоки. Часть 4.
Этот пост я создал в ответ на запись by Tank_Create333. И одним из блоков, который он хотел сделать был этот:
Вот как его заменить за 2 шага:
1. Создайте переменную “стоп скрипты спрайта 1”. При написании вашего кода в каждое действие добавляете это условие:
2.Создайте 2 таких скрипта (без условия!):
А когда надо будет использовать “невозможный” блок, просто добавляете это в код:
Ожидайте новых советов!
Невозможные блоки. Часть 4.
Этот пост я создал в ответ на запись by Tank_Create333. И одним из блоков, который он хотел сделать был этот:
Останановить скрипты этого спрайта до момента <>::control
Вот как его заменить за 2 шага:
1. Создайте переменную “стоп скрипты спрайта 1”. При написании вашего кода в каждое действие добавляете это условие:
если <(стоп скрипты спрайта 1) = [0]> , то
действие... :: grey
end
если <(стоп скрипты спрайта 1) = [0]> , то
действие... :: grey
end
если <(стоп скрипты спрайта 1) = [0]> , то
действие... :: grey
end
И т.д. ::grey
2.Создайте 2 таких скрипта (без условия!):
когда щёлкнут по зелёному флагу
задать [стоп скрипты спрайта 1] значение [0]
определить Останановить скрипты этого спрайта до момента (момент)
задать [стоп скрипты спрайта 1] значение [1]
ждать до <(момент) = [true]>
задать [стоп скрипты спрайта 1] значение [0]
А когда надо будет использовать “невозможный” блок, просто добавляете это в код:
Останановить скрипты этого спрайта до момента <мышка нажата?> // условие здесь можно поставить любое
Ожидайте новых советов!

Last edited by Marcus-Cactus (Jan. 14, 2018 16:03:11)
- Ambrik
-
New Scratcher
3 posts
Скретч-помощь by Marcus-Cactus
Привет! Спасибо за помощь с убегающим спрайтом!. Не подскажите как сделать так чтобы он не только убегал, но и мог отталкиваться от стенок, если преследующий его спрайт не слишком близко. Пытался сделать, так но что-то не идет. Объясните, пожалуйста, в чем я не прав
если <(расстояние до [ спрайт 2]) > [15]> , то
если на краю, оттолкнуться
иначе
повернуться к [ спрайт 2]
сменить костюм на [ v]
идти (-5) шагов
end
- Marcus-Cactus
-
Scratcher
100+ posts
Скретч-помощь by Marcus-Cactus
Привет! Спасибо за помощь с убегающим спрайтом!. Не подскажите как сделать так чтобы он не только убегал, но и мог отталкиваться от стенок, если преследующий его спрайт не слишком близко. Пытался сделать, так но что-то не идет. Объясните, пожалуйста, в чем я не правесли <(расстояние до [ спрайт 2]) > [15]> , то
если на краю, оттолкнуться
иначе
повернуться к [ спрайт 2]
сменить костюм на [ v]
идти (-5) шагов
end
Вроде надо так:
если <(расстояние до [спарйт 2 v]) < [15]> , то
повернуться к [спрайт 2 v]
идти (-10) шагов
если <(расстояние до [спарйт 2 v]) > [15]> , то
если на краю, оттолкнуться
end
end
Просто в твоем варианте он когда не двигается может отскакивать. А это бесполезно, т.к. когда он движется, он не может отскакивать и наоборот. Мой вариант немного по другому устроен… (и может сработать)
Last edited by Marcus-Cactus (Jan. 16, 2018 04:23:44)
- Ambrik
-
New Scratcher
3 posts
Скретч-помощь by Marcus-Cactus
Привет! Спасибо за помощь с убегающим спрайтом!. Не подскажите как сделать так чтобы он не только убегал, но и мог отталкиваться от стенок, если преследующий его спрайт не слишком близко. Пытался сделать, так но что-то не идет. Объясните, пожалуйста, в чем я не правесли <(расстояние до [ спрайт 2]) > [15]> , то
если на краю, оттолкнуться
иначе
повернуться к [ спрайт 2]
сменить костюм на [ v]
идти (-5) шагов
end
Вроде надо так:если <(расстояние до [спарйт 2 v]) < [15]> , то
повернуться к [спрайт 2 v]
идти (-10) шагов
если <(расстояние до [спарйт 2 v]) > [15]> , то
если на краю, оттолкнуться
end
end
Просто в твоем варианте он когда не двигается может отскакивать. А это бесполезно, т.к. когда он движется, он не может отскакивать и наоборот. Мой вариант немного по другому устроен… (и может сработать)
Эти операторы с больше-меньше в связке с сенсорами расстояния до спрайта по моему вообще не работают
- Marcus-Cactus
-
Scratcher
100+ posts
Скретч-помощь by Marcus-Cactus
Поэксперементируй с цифрами. Проверяй расстояния. Ну а вообще советую избавится от них в кодеПривет! Спасибо за помощь с убегающим спрайтом!. Не подскажите как сделать так чтобы он не только убегал, но и мог отталкиваться от стенок, если преследующий его спрайт не слишком близко. Пытался сделать, так но что-то не идет. Объясните, пожалуйста, в чем я не правесли <(расстояние до [ спрайт 2]) > [15]> , то
если на краю, оттолкнуться
иначе
повернуться к [ спрайт 2]
сменить костюм на [ v]
идти (-5) шагов
end
Вроде надо так:если <(расстояние до [спарйт 2 v]) < [15]> , то
повернуться к [спрайт 2 v]
идти (-10) шагов
если <(расстояние до [спарйт 2 v]) > [15]> , то
если на краю, оттолкнуться
end
end
Просто в твоем варианте он когда не двигается может отскакивать. А это бесполезно, т.к. когда он движется, он не может отскакивать и наоборот. Мой вариант немного по другому устроен… (и может сработать)
Эти операторы с больше-меньше в связке с сенсорами расстояния до спрайта по моему вообще не работают
- Scratchinko
-
New Scratcher
2 posts
Скретч-помощь by Marcus-Cactus
Уважаемые друзья. Есть простая вещь: 10 backdrops. Есть 11 спрайтов. Один из них перемещается по этим десяти комнатам. Идея очень простая: приходит он в эту комнату, там собака или кошка или еще кто, и он с ними здоровается. В каждой комнате свой один зверек.
Я вообще программист со стажем в 30 лет, но разобраться не могу. 8-0
Вот по дефолту делаю спрайты, кроме перемещаемого, скрытыми. Вот делаю команду для спрайта собаки:
when backdrop switched to b_dog - пришли на вкладку (backdrop) с собачкой
show
Это все работает. Но перемещаюсь на другой backdrop
И вот тут по идее нужна команда: если backdrop <> b_dog then hide
Не вижу, как это сделать. А без скрытия раз активированный спрайт остается на экране.
Я вообще программист со стажем в 30 лет, но разобраться не могу. 8-0
Вот по дефолту делаю спрайты, кроме перемещаемого, скрытыми. Вот делаю команду для спрайта собаки:
when backdrop switched to b_dog - пришли на вкладку (backdrop) с собачкой
show
Это все работает. Но перемещаюсь на другой backdrop
И вот тут по идее нужна команда: если backdrop <> b_dog then hide
Не вижу, как это сделать. А без скрытия раз активированный спрайт остается на экране.
- Marcus-Cactus
-
Scratcher
100+ posts
Скретч-помощь by Marcus-Cactus
Уважаемые друзья. Есть простая вещь: 10 backdrops. Есть 11 спрайтов. Один из них перемещается по этим десяти комнатам. Идея очень простая: приходит он в эту комнату, там собака или кошка или еще кто, и он с ними здоровается. В каждой комнате свой один зверек.Просто создаешь переменную “костюм фона”, а зверек показывается, если переменная имеет значение его названия(и прячется, если переменная не соответствует его названию). А фон, меняясь задает значение переменной. Вообще можно использовать этот блок, без переменной:
Я вообще программист со стажем в 30 лет, но разобраться не могу. 8-0
Вот по дефолту делаю спрайты, кроме перемещаемого, скрытыми. Вот делаю команду для спрайта собаки:
when backdrop switched to b_dog - пришли на вкладку (backdrop) с собачкой
show
Это все работает. Но перемещаюсь на другой backdrop
И вот тут по идее нужна команда: если backdrop <> b_dog then hide
Не вижу, как это сделать. А без скрытия раз активированный спрайт остается на экране.
если <(фон #) = [2]> , то
показаться
иначе
спрятаться
end
И кстати, можно было и не создавать такое количество спрайтов. Нужно воспользоваться клонами. Тагда будет всего 2 спрайта (человек и зверки). А как сделать клонов разнозадачными я говорил здесь
Рад был помочь

Last edited by Marcus-Cactus (Jan. 18, 2018 04:42:11)
- Scratchinko
-
New Scratcher
2 posts
Скретч-помощь by Marcus-Cactus
Спасибо. В итоге даже без клонов вышло, просто костюмчик менять.
- XXXer
-
Scratcher
4 posts
Скретч-помощь by Marcus-Cactus
Как сделать блокнот???
Идеи есть но оформлять каждую букву очень сложно!
можно сделать так
Идеи есть но оформлять каждую букву очень сложно!
можно сделать так
когда щёлкнут по зелёному флагу
спросить [] и ждать
сказать (ответ)
хотя придётся оформлять
каждую букву,создать переменную(какая последняя буква)
ЭТО МУТОРНО!!!!!!!!!!!
- Marcus-Cactus
-
Scratcher
100+ posts
Скретч-помощь by Marcus-Cactus
Можно сделать 3 способами:
1 Создай список. Покажи его и расположи на экране нужным образом. Затем вот такой код:
2 Создай переменные (строка 1), (строка 2) и т.д. Расположи их нужным образом на экране, так чтобы (строка 1) в самом верху, (строка 2) пониже, (строка 3) еще ниже и т.д. Затем определи макс. длинну строки. Сделай так, чторбы программа разделяла текст на отдельные кусочки, длинной в максимальную длинну строки, сохраняла их в список и задавала переменным значение элемента их номера. К примеру (строка 1) будет иметь значение ((((№страницы - 1)*(кол-во строк))) + (1) элемента из списка ) (я добавил №страницы, т.к. одной может не хватить). Добавить в код "спросить "
3 Написать все буквы на форуме и заскринить. Затем вырезать их в каком-нибудь редакторе изображений и вставить в проект. Ну а дальше можно разобраться)
Надеюсь смог помочь
1 Создай список. Покажи его и расположи на экране нужным образом. Затем вот такой код:
показать список [ Блокнот v]
всегда
спросить [Введите текст] и ждать
добавить (ответ) к [Блокнот v]
end
2 Создай переменные (строка 1), (строка 2) и т.д. Расположи их нужным образом на экране, так чтобы (строка 1) в самом верху, (строка 2) пониже, (строка 3) еще ниже и т.д. Затем определи макс. длинну строки. Сделай так, чторбы программа разделяла текст на отдельные кусочки, длинной в максимальную длинну строки, сохраняла их в список и задавала переменным значение элемента их номера. К примеру (строка 1) будет иметь значение ((((№страницы - 1)*(кол-во строк))) + (1) элемента из списка ) (я добавил №страницы, т.к. одной может не хватить). Добавить в код "спросить "
3 Написать все буквы на форуме и заскринить. Затем вырезать их в каком-нибудь редакторе изображений и вставить в проект. Ну а дальше можно разобраться)
Надеюсь смог помочь

- Marcus-Cactus
-
Scratcher
100+ posts
Скретч-помощь by Marcus-Cactus
Советы
“Догоняющий” спрайт
Этот совет будет совсем небольшим. Раз я создал убегающий спрайт, то и догоняющий я тоже должен сделать. И так… Поехали:
1. Создайте убегающий спрайт (ну нужно же кого-то догонять) и догоняющий спрайт.
2.В код догоняющего написать это:
когда щёлкнут по зелёному флагу
всегда
повернуться к [убегающий спрайт v]
идти (10) шагов
end
Вот и все. Окозалось все просто. Ждите новых советов

Этот вариант кода “убегающего спрайта” by RuMaks.
Он для скретчера среднего уровня:
когда щёлкнут по зелёному флагу
задать [Скорость v] значение [2]//здесь можно поэкспериментировать (прим. автора)
всегда
задать [Старое направление v] значение (направление)
повернуться к [указатель мышки v]
задать [Новое направление v] значение (направление)
повернуть в направлении (Старое направление)
если <(направление) < (Новое направление )> , то
изменить [Старое направление v] на (Скорость)
end
если <(направление) > (Новое направление )> , то
изменить [Скорость поворота v] на ((0) - (Скорость))
end
повернуть вправо на (Скорость поворота) градусов
изменить [Скорость по х v] на (([sin v] от (направление)) * (Скорость))
изменить [Скорость по у v] на (([cos v] от (направление)) * (Скорость))
изменить x на (Скорость по х)
изменить y на (Скорость по у)
задать [Скорость по х v] значение ((Скорость по х) * (0.8)) // Здесь стоит иммено 0.8 -- подоброно опытными скретчерами (прим. ред.)
задать [Скорость по у v] значение ((Скорость по у) * (0.8)) // Тоже самое (прим. ред.)
задать [Скорость поворота v] значение ((Скорость поворота) * (0.8)) // И здесь 0.8 (прим. ред.)
end
Last edited by Marcus-Cactus (Jan. 30, 2018 17:04:30)


