Discuss Scratch

Marcus-Cactus
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

В этом форуме Вы можете задавать самые разнообразные вопросы по Скретчу, на которые я постараюсь ответить. Также присылайте отрывки из кода, ссылки на проекты, скриншоты и др. с описанием Вашей проблемы. Надеюсь, смогу помочь (Я уже 3 года в Скретче!)

by Marcus-Cactus

Last edited by Marcus-Cactus (Jan. 4, 2018 17:12:52)

Marcus-Cactus
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Советы
Реклама проекта или как набрать просмотры

1. Проверка (на стадии разработки)
Для начала проверьте: оригенален ли ваш проект? Есть ли похожие? Хороша ли задумка? Справитесь ли вы? Дело в том что ваша идея должна быть оригенальной и понравится людям. Без этого трудно вообще набрать просмотры. Также нужно ориентироваться на желания людей, создавать востребованные игры. Например на новогоднюю тематику за неделю до Нового года. Или если большинству нравятся платформеры, то делайте платформер и т.д.
2. Убедитесь в том что дизайн красив. Пользователям обычно не нравятся игры с плохой графикой. Я рекомендую работать в векторной графике т.к. в растовой графике сильно видны пиксели (я говорю не про игры в стиле “пиксели”) . Также в растовой графике нет слоев, нет предварительного просмотра заливки, нельзя изменить форму обьекта (как можно в векторной) и т.д.
3.Сделайте заставку. Проекты с хорошой заставкой набирают больше просмотров
4.Придумайте название. Название должно быть подходящим, интригующим, не слишком длинным и по нему должно быть легко найти проект в поиске. Желательно называть проект на англиском языке. Также, создайте теги для поиска.
5.Напишите инструкции к игре. Игры без инструкции бывают непонятными.
6.Выкладывайте ваш проект в студии (желательно известые), форумы (созданные для этих целей!), для того, чтобы ваш проект увидело как можно больше людей
Пока все. Ждите новых советов

Last edited by Marcus-Cactus (Jan. 7, 2018 19:25:07)

Marcus-Cactus
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Советы
Красивый код и эффективная работа

Красивым кодом я называю упрощенный, упорядоченный код в Скретче (с минимальным количеством спрайтов). Много раз мне приходилось видеть игры с ГИГАНСКИМ количеством спрайтов. С таким кодом очень трудно работать… Приходится постоянно переходить из спрайта в спрайт, а ошибку заметить становится труднее. Вот 2 совета как эффективнее работать:

1. Создавайте клоны. Многие (даже уже скретчеры!) не пользуются клонами, а вместо этого делают одинаковые спрайты. (когда создаешь клон учти что клоны выглядят как оригенальный спрайт и накладываются друг на друга, по этому их не видно!)
Вот как создать клон:

 создать клон [ себя самого v] 

А вот что будет делать клон, когда его создадут:

 когда я начинаю как клон 

Вот как его удалить:

 удалить клон 

2. Создавайте клоны с разным набором функций (действий). Вот это тоже камень предкновения для новичков (и не только!). Первым способом пользуются почти все, а про второй некоторые даже и не подозревают… Но я научу ему Вас ! И так начнем

а) Зайдите в спрайт. Создайте переменную

 (№клона) 

и нажмите “только для этого спрайта”!. Это нам понядобится в дальнейшем (но без этого ничего не выйдет!) Затем кода будете создавать клоны, добавьте

 изменить [№клона] на (1) 

Б) Таким образом, у каждого клона будет свой номер (клоны знают свои намера) И мы этим воспользуемся. Дальше будет примерно такой код:

когда я начинаю как клон
если <(№клона) = [1]> , то
дальнейший код для первого клона :: grey
иначе
если <(№клона) = [2]> , то
дальнейший код для второго клона :: grey
иначе
и т.д. :: grey
end
end
Зная эти 2 способа, вы сможете составить красивый код. А пока все. Ждите новых советов

Last edited by Marcus-Cactus (Jan. 13, 2018 09:38:35)

Marcus-Cactus
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Советы
Идеи для проектов

Доволно часто сталкиваюсь с проблемой “чтобы такого сделать?” и хочу помочь другим людям с такой же проблемой. У всех наступает такое время когда фантазии не хватает, но есть желание что-нибудь сделать. Вот 20 идей для Ваших проектов:

1. Создайте игру про Лего
2. Создайте нечто вроде Clash of Clans
3. Создайте форум внутри проекта (со списком безопасных слов!)
4. Создайте онлайн битву на двоих
5. Создайте платформер с чит-кодами
6. Создайте игру про готовку
7. Создайте “Ночной лабиринт” (игрок ходит в темноте с небольшим фонариком)
8. Создайте mini Gimp
9. Создайте 100 % Pen игру
10. Создайте игру про “Конец света”
11. Создайте игру про выживание на острове
12. Создайте ОС для телефона (в стиле телефона)
13. Создайте игру про Ниндзя
14. Создайте редактор анимаций
15. Создайте Терминал (командная строка)
16. Создайте поисковик
17. Создайте игру “Город”
18. Создайте Симулятор свечи
19. Создайте игру в стиле телефона
20. Создайте пиксельную игру

Ждите новых советов

Last edited by Marcus-Cactus (Jan. 8, 2018 19:19:49)

Marcus-Cactus
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Советы
Редакция дизайна. Вектор

Сегодня я научу Вас 5 приемам и лайфакам для улутшения Вашей игры (и не только игры!).
И так … Начнем! :

1. Начинайте работать в векторной графике. О её приемуществах я говорил ранее.

2. Редактируйте контуры. Это не так сложно, но зато проект выглядит уже гораздо лутше

3. Пользуйтесь гардиентной заливкой.. Это заливка с переходом в другой цвет. Внизу, около заливки есть шаблоны. Берите не слишком контрастные, не слишком яркие цвета. Иначе спрайт будет смотрется броско и не красиво.

4.Полупрозрачные цвета. Ещё можно активно пользоваться “прозрачным” цветом (белый, зачеркнутый красной полоской, квадратик среди цветов) в сочетании с гардиентной заливой. Получается полупрозрачный объект (отличается от эффекта “призрак”)

5. Создавайте объекты с контурами (при создании , шаблон снизу). Контуры заливайте цветами чуть темнее объекта.

Пока все. Ожидайте новых советов

Last edited by Marcus-Cactus (Jan. 6, 2018 18:54:40)

SimaKyr
Scratcher
34 posts

Скретч-помощь by Marcus-Cactus

Что можно добавить здесь?
https://scratch.mit.edu/projects/176981372/

Marcus-Cactus
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

SimaKyr wrote:

Что можно добавить здесь?
https://scratch.mit.edu/projects/176981372/
Монеты, измени размер стикмена, добавь лаву, шипы, механизмы и поршни. Также можешь добавить зимний режим, ключи, порталы, лазеры, новые блоки, костюмы стикмена, монстров, оружие, жизни и др.. Если этого не хватит, скажешь) Рад был помочь
X_Gamer_studio
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Marcus-Cactus, что доступно скретчерам? Кроме облачных переменных.

если ты это читаешь, то я вернулся.
Roder3480
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Как сделать такой блок?
<клавиша (слить [] и [ ]) нажата?>

Зачем мне подпись?

Marcus-Cactus
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Такой блок не реально, но можно подругому:
<<клавиша [...] нажата?> и <клавиша [...] нажата?>>
Marcus-Cactus
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

X_Gamer_studio wrote:

Marcus-Cactus, что доступно скретчерам? Кроме облачных переменных.
Да вроде ничего, но доступ к облаку уже достаточно)
Marcus-Cactus
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Советы
Невозможные блоки. Часть 1.

Наверное, каждый из нас хотел бы добавить в код какой-нибудь несуществующий блок. Увы, многие блоки останутся только плодом нашего воображения. Но есть скрипты, которые работают так же. Я научу Вас создавать алтернативные блоки к этому:
создать список :: list
Это будет сложновато, но мы попробуем)
1. Создаем список “кол-во элементов списков”, список “содержимое списков”, переменную “место в списке”, перем. №
2. Создаем блоки
определить создать список :: custom 
добавить [] к [содержимое списков]
добавить [1] к [кол-во эл. сп.]
определить добавить элемент (э :: custom) к списку (с:: custom) :: custom 
задать [место в списке ] значение [0]
задать [№] значение [1]
повторить ((с:: custom))
изменить [место в списке] на ((место в списке) + (элемент ((№)) из [колво эл. с.] :: list))
изменить [№] на (1)
end
вставить ((э :: custom)) в ((место в списке)) из [содержимое списков]
заменить элемент ((с:: custom)) в [кол-во эл. сп.] на ((элемент ((с:: custom)) из [кол-во эл. сп.] :: list) + (1))
Вот и заодно добавил блок добавления элемента в желаемый список)
Пока все. Ждите новых советов

Last edited by Marcus-Cactus (Jan. 8, 2018 14:09:45)

Marcus-Cactus
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Советы
Невозможные блоки. Часть 2.

Как сделать этот блок я говорил на другом форуме, отвечая на вопрос . И решил поделиться со всеми этим способом)
Ситуация такая : нужно создать условие, <если (костюм #) = (…)>, но с ГИГАНТСКИМ количеством возможных значений. Вот как-то так:

<(костюм #) = [1,2,3,4,5,6,7,8,9, 10, 11, 12, 13,15,21,22,45 ....]>

Но так не получится. Зато есть способ создать схожий блок (действует так же). Вот инструкция в 2 шага:

1 шаг. Создайте список “условие” и добавьте в него номера костюмов.
2 шаг. Вот альтернативный блок:

<[условие] содержит (костюм #) ?>

Ну вот и все. Оказалось, все не так сложно. Жди новых советов!

Last edited by Marcus-Cactus (Jan. 8, 2018 14:08:32)

Marcus-Cactus
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Вот на одном форуме увидел такой вопрос:

Psyox wrote:

Ребяяят, у меня тут проблема возникла… Делаю игру с большим миром, разделённым на чанки 15х11, и возможностью сохранения. В этом и проблема, нетрудно посчитать, что блоков чанке 165, соответственно, придётся сохранять мир 165-значным числом, а чанков 16. Согласитесь, 2640-значное число - не круто, поэтому, его придётся сокращать. Предлагаю сделать так:

Надо, чтобы программа преобразовывала ряды одинаковых цифр в десятичную дробь, где целая часть - символ, количество которых надо уменьшить, а дробная - их количество. То есть, 100000012 –> 1(0,6)12.
Но когда я принялся кодить, я понял, что слишком тупой для такого скрипта. Помогите пожалуйста.

Ссылка на проект:https://scratch.mit.edu/projects/196824843/
У меня есть идея как это сделать:
Сначала сохраняем все как есть. То есть 2640-значным числом в переменную “код”(+ создадим служебную переменную “слово” , “№”, “код2”– там будет хранится новый код. Далее создаем сканер:

определить сканер
если <(буква (№_буквы) в [код]) = (буква (1) в [(слово)])> , то
задать [слово] значение (слить [код2] и (буква (№_буквы) в [код]))
иначе
если <(длина [слово]) > [4]> , то
задать [код2] значение (слить [код2] и (слить [(] и (слить ((слить (длина [ (слова) ]) и (буква (1) в [слово])) / (10)) и [)])))
задать [слово] значение (буква (№_буквы) в [код])
иначе
задать [ код2] значение (слить (код2) и [(слово)])
end
end
изменить [№_буквы] на (1)
Вот, затем добавляем следующий код к сохранению

задать [слово] значение (буква (1) в [код])
задать [ №_буквы] значение [2]
задать [код2] значение []
повторить (2640)
сканер :: custom
end
Вот и все. Надеюсь, был полезен)

Last edited by Marcus-Cactus (Jan. 24, 2018 05:21:15)

Psyox
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Marcus-Cactus wrote:

Вот на одном форум увидел такой вопрос:

Psyox wrote:

Ребяяят, у меня тут проблема возникла… Делаю игру с большим миром, разделённым на чанки 15х11, и возможностью сохранения. В этом и проблема, нетрудно посчитать, что блоков чанке 165, соответственно, придётся сохранять мир 165-значным числом, а чанков 16. Согласитесь, 2640-значное число - не круто, поэтому, его придётся сокращать. Предлагаю сделать так:

Надо, чтобы программа преобразовывала ряды одинаковых цифр в десятичную дробь, где целая часть - символ, количество которых надо уменьшить, а дробная - их количество. То есть, 100000012 –> 1(0,6)12.
Но когда я принялся кодить, я понял, что слишком тупой для такого скрипта. Помогите пожалуйста.

Ссылка на проект:https://scratch.mit.edu/projects/196824843/
У меня есть идея как это сделать:
Сначала сохраняем все как есть. То есть 2640-значным числом. Далее создаем сканер:

определить сканер
если <(буква (№_буквы) в [код]) = (буква (1) в [(слово)])> , то
задать [слово] значение (слить [код2] и [world])
иначе
если <(длина [слово]) > [4]> , то
задать [код2] значение (слить [код2] и (слить [(] и (слить ((слить (длина [ (слова) ]) и (буква (1) в [слово])) / (10)) и [)])))
задать [слово] значение (буква (№_буквы) в [код])
иначе
задать [ код2] значение (слить (код2) и [(слово)])
end
end
изменить [№_буквы] на (1)
Вот, затем добавляем следующий код к сохранению

задать [слово] значение (буква (1) в [код])
задать [ №_буквы] значение [2]
задать [код2] значение []
повторить (2640)
сканер :: custom
end
Вот и все. Надеюсь, был полезен)
Не понимаю, что значит “слово”, и в какую переменную сохранено 2640-значное число

Disappointed with 3.0
Marcus-Cactus
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Psyox wrote:

Marcus-Cactus wrote:

Вот на одном форум увидел такой вопрос:

Psyox wrote:

Ребяяят, у меня тут проблема возникла… Делаю игру с большим миром, разделённым на чанки 15х11, и возможностью сохранения. В этом и проблема, нетрудно посчитать, что блоков чанке 165, соответственно, придётся сохранять мир 165-значным числом, а чанков 16. Согласитесь, 2640-значное число - не круто, поэтому, его придётся сокращать. Предлагаю сделать так:

Надо, чтобы программа преобразовывала ряды одинаковых цифр в десятичную дробь, где целая часть - символ, количество которых надо уменьшить, а дробная - их количество. То есть, 100000012 –> 1(0,6)12.
Но когда я принялся кодить, я понял, что слишком тупой для такого скрипта. Помогите пожалуйста.

Ссылка на проект:https://scratch.mit.edu/projects/196824843/
У меня есть идея как это сделать:
Сначала сохраняем все как есть. То есть 2640-значным числом. Далее создаем сканер:

определить сканер
если <(буква (№_буквы) в [код]) = (буква (1) в [(слово)])> , то
задать [слово] значение (слить [код2] и [world])
иначе
если <(длина [слово]) > [4]> , то
задать [код2] значение (слить [код2] и (слить [(] и (слить ((слить (длина [ (слова) ]) и (буква (1) в [слово])) / (10)) и [)])))
задать [слово] значение (буква (№_буквы) в [код])
иначе
задать [ код2] значение (слить (код2) и [(слово)])
end
end
изменить [№_буквы] на (1)
Вот, затем добавляем следующий код к сохранению

задать [слово] значение (буква (1) в [код])
задать [ №_буквы] значение [2]
задать [код2] значение []
повторить (2640)
сканер :: custom
end
Вот и все. Надеюсь, был полезен)
Не понимаю, что значит “слово”, и в какую переменную сохранено 2640-значное число
Слово это служебная переменная для того чтобы в нее записывались одинаковые цифры. В переменную “код” сохранен код – 2640-значное число
paralg-100
Scratcher
13 posts

Скретч-помощь by Marcus-Cactus

Marcus-Cactus wrote:

У меня есть идея как это сделать:
Сначала сохраняем все как есть. То есть 2640-значным числом. Далее создаем сканер:

определить сканер
если <(буква (№_буквы) в [код]) = (буква (1) в [(слово)])> , то
задать [слово] значение (слить [код2] и [world])
иначе
если <(длина [слово]) > [4]> , то
задать [код2] значение (слить [код2] и (слить [(] и (слить ((слить (длина [ (слова) ]) и (буква (1) в [слово])) / (10)) и [)])))
задать [слово] значение (буква (№_буквы) в [код])
иначе
задать [ код2] значение (слить (код2) и [(слово)])
end
end
изменить [№_буквы] на (1)
Вот, затем добавляем следующий код к сохранению

задать [слово] значение (буква (1) в [код])
задать [ №_буквы] значение [2]
задать [код2] значение []
повторить (2640)
сканер :: custom
end
Вот и все. Надеюсь, был полезен)
Уважаемый Marcus-Cactus.

1
У меня стоит такая задача.
Нужно вставлять в Word- документы картинки типа:
копии связных скриптов на белом фоне - без затирки серого фона наборого поля.

2
Это также, как в вышеприведенной цитате из Вашего поста.

3
Если в этом (моем) посте пытаться собрать скрипт, например:
идти (5) шагов
повернуть вправо на (15) градусов
сказать [Привет]
то блоки комнад получаются на белом фоне, но не связываются между собой - не состыкуются.

4
Как Вы получает связные скрипты на белом фоне?

Last edited by paralg-100 (Jan. 11, 2018 07:40:39)

Psyox
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

paralg-100 wrote:

Marcus-Cactus wrote:

У меня есть идея как это сделать:
Сначала сохраняем все как есть. То есть 2640-значным числом. Далее создаем сканер:

определить сканер
если <(буква (№_буквы) в [код]) = (буква (1) в [(слово)])> , то
задать [слово] значение (слить [код2] и [world])
иначе
если <(длина [слово]) > [4]> , то
задать [код2] значение (слить [код2] и (слить [(] и (слить ((слить (длина [ (слова) ]) и (буква (1) в [слово])) / (10)) и [)])))
задать [слово] значение (буква (№_буквы) в [код])
иначе
задать [ код2] значение (слить (код2) и [(слово)])
end
end
изменить [№_буквы] на (1)
Вот, затем добавляем следующий код к сохранению

задать [слово] значение (буква (1) в [код])
задать [ №_буквы] значение [2]
задать [код2] значение []
повторить (2640)
сканер :: custom
end
Вот и все. Надеюсь, был полезен)
Уважаемый Marcus-Cactus.

1
У меня стоит такая задача.
Нужно вставлять в Word- документы картинки типа:
копии связных скриптов на белом фоне - без затирки серого фона наборого поля.

2
Это также, как в вышеприведенной цитате из Вашего поста.

3
Если в этом (моем) посте пытаться собрать скрипт, например:
идти (5) шагов
повернуть вправо на (15) градусов
сказать [Привет]
то блоки комнад получаются на белом фоне, но не связываются между собой - не состыкуются.

4
Как Вы получает связные скрипты на белом фоне?

Не надо каждый раз ставить scratchblocks, и между состыкованными блоками не должно быть пробелов

Disappointed with 3.0
Psyox
Scratcher
100+ posts

Скретч-помощь by Marcus-Cactus

Marcus-Cactus wrote:

Psyox wrote:

Marcus-Cactus wrote:

Вот на одном форум увидел такой вопрос:

Psyox wrote:

Ребяяят, у меня тут проблема возникла… Делаю игру с большим миром, разделённым на чанки 15х11, и возможностью сохранения. В этом и проблема, нетрудно посчитать, что блоков чанке 165, соответственно, придётся сохранять мир 165-значным числом, а чанков 16. Согласитесь, 2640-значное число - не круто, поэтому, его придётся сокращать. Предлагаю сделать так:

Надо, чтобы программа преобразовывала ряды одинаковых цифр в десятичную дробь, где целая часть - символ, количество которых надо уменьшить, а дробная - их количество. То есть, 100000012 –> 1(0,6)12.
Но когда я принялся кодить, я понял, что слишком тупой для такого скрипта. Помогите пожалуйста.

Ссылка на проект:https://scratch.mit.edu/projects/196824843/
У меня есть идея как это сделать:
Сначала сохраняем все как есть. То есть 2640-значным числом. Далее создаем сканер:

определить сканер
если <(буква (№_буквы) в [код]) = (буква (1) в [(слово)])> , то
задать [слово] значение (слить [код2] и [world])
иначе
если <(длина [слово]) > [4]> , то
задать [код2] значение (слить [код2] и (слить [(] и (слить ((слить (длина [ (слова) ]) и (буква (1) в [слово])) / (10)) и [)])))
задать [слово] значение (буква (№_буквы) в [код])
иначе
задать [ код2] значение (слить (код2) и [(слово)])
end
end
изменить [№_буквы] на (1)
Вот, затем добавляем следующий код к сохранению

задать [слово] значение (буква (1) в [код])
задать [ №_буквы] значение [2]
задать [код2] значение []
повторить (2640)
сканер :: custom
end
Вот и все. Надеюсь, был полезен)
Не понимаю, что значит “слово”, и в какую переменную сохранено 2640-значное число
Слово это служебная переменная для того чтобы в нее записывались одинаковые цифры. В переменную “код” сохранен код – 2640-значное число
Не работает

Disappointed with 3.0

Powered by DjangoBB