Discuss Scratch
- Discussion Forums
- » Pусский
- » Славянские технологии/Slavic technologies(Ru)
- Youtube-king
-
33 posts
Славянские технологии/Slavic technologies(Ru)
Здравствуйте, дорогие друзья! Славянские разработчтки являются одними из лучших в мире - Яндекс, Сжатие Zip, Язык программирования Котлин, Игра Тетрис и WorldOfTanks - это достижения программистов из славяно-язычных стран(Самые большие - Россия, Украина, Беларусь, Польша). Давайте в этом форуме будем давать свои гениальные идеи а также обсуждать сложные темы(например, как создать настоящую 3д графику, как сжимается Jpg картинка, и так далее). Обязательно показывайте свои изобретения в Scratch, а также рассказывайте, как это работает. Вместе будем учиться друг у друга и становиться ещё талантливее!

- minilesh
-
1000+ posts
Славянские технологии/Slavic technologies(Ru)
Привет! Дублирование на английский в названии темы не особо нужно, тут только те, кто говорят по русски, если что :) Здравствуйте, дорогие друзья! Славянские разработчтки являются одними из лучших в мире - Яндекс, Сжатие Zip, Язык программирования Котлин, Игра Тетрис и WorldOfTanks - это достижения программистов из славяно-язычных стран(Самые большие - Россия, Украина, Беларусь, Польша). Давайте в этом форуме будем давать свои гениальные идеи а также обсуждать сложные темы(например, как создать настоящую 3д графику, как сжимается Jpg картинка, и так далее). Обязательно показывайте свои изобретения в Scratch, а также рассказывайте, как это работает. Вместе будем учиться друг у друга и становиться ещё талантливее!
- Youtube-king
-
33 posts
Славянские технологии/Slavic technologies(Ru)
Я сначала хотел сделать международный форум, но не нашел английского языка, поэтому сделал на русском. Впрочем, на английском языке и так много форумов, так что это даже хорошо, что я стал заполнять информацией русский сегментПривет! Дублирование на английский в названии темы не особо нужно, тут только те, кто говорят по русски, если что :) Здравствуйте, дорогие друзья! Славянские разработчтки являются одними из лучших в мире - Яндекс, Сжатие Zip, Язык программирования Котлин, Игра Тетрис и WorldOfTanks - это достижения программистов из славяно-язычных стран(Самые большие - Россия, Украина, Беларусь, Польша). Давайте в этом форуме будем давать свои гениальные идеи а также обсуждать сложные темы(например, как создать настоящую 3д графику, как сжимается Jpg картинка, и так далее). Обязательно показывайте свои изобретения в Scratch, а также рассказывайте, как это работает. Вместе будем учиться друг у друга и становиться ещё талантливее!

- Youtube-king
-
33 posts
Славянские технологии/Slavic technologies(Ru)
Начну с того, что в Скретч можно использовать шестнадцати-ричные цифры. Попробуйте в Скретч сложить “0xf” и “0xa”. Думаете, Скретч выдаст ошибку, или в лучшем случае ноль? Нет! Вы получите 25. Странно, да? Я не буду подробно рассказать про 16-ричные коды, скажу только, что это обычные числа, только используют вместо десяти цифр(0-9) шестнадцать(0-F). И чтобы указать Скретчу, что он имеет дело именно с 16ричным числом, перед ним нужно написать “0x”. Есть много приложений для перевода 10-х и 16-х чисел, так что можете вдоль наиграться! Единственный минус - обл. переменные не поддерживают 16-е числа, я проверял..
- Youtube-king
-
33 posts
Славянские технологии/Slavic technologies(Ru)
/\/\ Зачем это нужны 16-е числа? Сказать трудно. Существует довольно мало случаев для их применения. Однако я очень хотел рассказать вам, что такая функция на Скретче есть! А ещё я сразу не знал, с какой темы начать форум. Но начало положено - дальше пойдет легче!
- kelianor
-
100+ posts
Славянские технологии/Slavic technologies(Ru)
Для редстоуна) /\/\ Зачем это нужны 16-е числа? Сказать трудно. Существует довольно мало случаев для их применения. Однако я очень хотел рассказать вам, что такая функция на Скретче есть! А ещё я сразу не знал, с какой темы начать форум. Но начало положено - дальше пойдет легче!
- kelianor
-
100+ posts
Славянские технологии/Slavic technologies(Ru)
Как сделать блок “Когда ПКМ нажата”
- Создаем два фона:
В начале фонов “Правая кнопка мыши”
В конце фонов “Левая кнопка мыши”- В Сцену добавляем данные скрипты:
Как сделать поворот по 3 осям
- Создаем 3 переменных: X, Y, Z
- Добавляем данный код в ваш спрайт
Как конвертировать двоичное число в десятичное?
- Создаем 3 переменных: i, Десятичное число, Двоичное число
- Добавляем данный код в ваш спрайт
Сортировка чисел с фиксированным значением
- Создаем переменные от 1 до вашего кол-ва чисел
- Добавляем данный код и редактируем его для вашего кол-ва чисел
Last edited by kelianor (July 5, 2023 09:21:47)
- Youtube-king
-
33 posts
Славянские технологии/Slavic technologies(Ru)
Экспериментирую с блоками(я новичок в форумах)
если <сейчас_день> , то
думать [Добрый день!] (2) секунд
end
иначе
думать[Добрый вечер!] (2) секунд
end
Очень интересная штука!
Last edited by Youtube-king (July 5, 2023 10:04:45)
- Alex_Ilya
-
1000+ posts
Славянские технологии/Slavic technologies(Ru)
Для экспериментов используй Экспериментирую с блоками(я новичок в форумах) Тему для экспериментов и общения.если <сейчас_день> , то
думать [Добрый день!] (2) секунд
end
иначе
думать[Добрый вечер!] (2) секунд
end
Очень интересная штука!
- Youtube-king
-
33 posts
Славянские технологии/Slavic technologies(Ru)
Хорошо!Для экспериментов используй Экспериментирую с блоками(я новичок в форумах) Тему для экспериментов и общения.если <сейчас_день> , то
думать [Добрый день!] (2) секунд
end
иначе
думать[Добрый вечер!] (2) секунд
end
Очень интересная штука!
- minilesh
-
1000+ posts
Славянские технологии/Slavic technologies(Ru)
Понятно.Я сначала хотел сделать международный форум, но не нашел английского языка, поэтому сделал на русском. Впрочем, на английском языке и так много форумов, так что это даже хорошо, что я стал заполнять информацией русский сегментПривет! Дублирование на английский в названии темы не особо нужно, тут только те, кто говорят по русски, если что :) Здравствуйте, дорогие друзья! Славянские разработчтки являются одними из лучших в мире - Яндекс, Сжатие Zip, Язык программирования Котлин, Игра Тетрис и WorldOfTanks - это достижения программистов из славяно-язычных стран(Самые большие - Россия, Украина, Беларусь, Польша). Давайте в этом форуме будем давать свои гениальные идеи а также обсуждать сложные темы(например, как создать настоящую 3д графику, как сжимается Jpg картинка, и так далее). Обязательно показывайте свои изобретения в Scratch, а также рассказывайте, как это работает. Вместе будем учиться друг у друга и становиться ещё талантливее!
- SpartanDav
-
100+ posts
Славянские технологии/Slavic technologies(Ru)
Всем привет! Сегодня я бы хотел поделиться с Вами тем, как я создал свой синтезатор речи в Scratch
https://scratch.mit.edu/projects/765374171/
Для его создания мне очень помогли знания русского языка, поэтому хорошо учитесь в школе
Конечно, я бы мог записать своим голосом все слова русского языка. Но, в отличие от английского, в русском языке каждое слово может склоняться, спрягаться и т.п. Поэтому я пошел более простым путем. Я создал всего лишь 252 записи… Но как? На самом деле все очень просто.
Можно было бы записать отдельно каждую букву, тогда бы получилась 31 запись (если не считать твердый и мягкий знаки). Тогда представьте как бы звучала запись буквы “б”
Хорошо, но помимо некрасивого звучания букв, согласные звуки, как Вы помните из школьной программы, могут быть твердыми и мягкими, например, в слове “бабушка” все звуки /б/ твердые, а, например, в слове “белка”, звук /б'/, наоборот, мягкий. Поэтому мне пришла гениальная идея записать гласные звуки отдельно, а согласные вместе с гласной. Вот начало такой цепочки: “а”, “е”, “и”, “о”, “у”, “ы”, “э”, “ю”, “я”, “б”, “бь”, “ба”, “бе”, “би”, “бо”, “бу”, “бы”, “бэ”, “бю”, “бя”, “в”, “вь”, “ва”, “ве”, “ви”, “во”, “ву”, “вы”, “вэ”, “вю”, “вя”… и т.д.
Самое сложное, что я встретил при создании такого проекта - разделение большого аудио (всю цепочку звуков я записал в виде большого аудио), на маленькие части.
Я советую каждому человеку создать такой проект, потому что в будущем, когда Вы станете очень большими и Ваш голос очень сильно изменится, Вы сможете услышать любое предложение, которое произнесет Ваш ранний голос… Конечно, мой проект далеко не идеален, но добавив различные ударения в словах, интонацию, речь, которую произнесет этот проект можно будет спутать с настоящей
https://scratch.mit.edu/projects/765374171/
Для его создания мне очень помогли знания русского языка, поэтому хорошо учитесь в школе

Можно было бы записать отдельно каждую букву, тогда бы получилась 31 запись (если не считать твердый и мягкий знаки). Тогда представьте как бы звучала запись буквы “б”

Самое сложное, что я встретил при создании такого проекта - разделение большого аудио (всю цепочку звуков я записал в виде большого аудио), на маленькие части.
Я советую каждому человеку создать такой проект, потому что в будущем, когда Вы станете очень большими и Ваш голос очень сильно изменится, Вы сможете услышать любое предложение, которое произнесет Ваш ранний голос… Конечно, мой проект далеко не идеален, но добавив различные ударения в словах, интонацию, речь, которую произнесет этот проект можно будет спутать с настоящей

Last edited by SpartanDav (July 5, 2023 13:29:45)
- thE_codeE
-
1000+ posts
Славянские технологии/Slavic technologies(Ru)
Славянские технологии звучит как-то не очень.
- gooogle2023
-
500+ posts
Славянские технологии/Slavic technologies(Ru)
Почему? Славянские технологии звучит как-то не очень.
- gooogle2023
-
500+ posts
Славянские технологии/Slavic technologies(Ru)
А я могу сказать, почему 16-чные числа часто используют. Дело в том, что один байт в компьютере может принимать значения от 0 до 255. Т. Е. 256 значений. 16*16=256. Таким образом можно записать один байт ровно двумя цифрами. Это очень удобно. Вот например: /\/\ Зачем это нужны 16-е числа? Сказать трудно. Существует довольно мало случаев для их применения. Однако я очень хотел рассказать вам, что такая функция на Скретче есть! А ещё я сразу не знал, с какой темы начать форум. Но начало положено - дальше пойдет легче!
0xFF => 255
0xF0 => 240
0x0F => 15
- Youtube-king
-
33 posts
Славянские технологии/Slavic technologies(Ru)
Может, для эмуляторов процессоров это и подойдёт!А я могу сказать, почему 16-чные числа часто используют. Дело в том, что один байт в компьютере может принимать значения от 0 до 255. Т. Е. 256 значений. 16*16=256. Таким образом можно записать один байт ровно двумя цифрами. Это очень удобно. Вот например: /\/\ Зачем это нужны 16-е числа? Сказать трудно. Существует довольно мало случаев для их применения. Однако я очень хотел рассказать вам, что такая функция на Скретче есть! А ещё я сразу не знал, с какой темы начать форум. Но начало положено - дальше пойдет легче!0xFF => 255
0xF0 => 240
0x0F => 15

- Youtube-king
-
33 posts
Славянские технологии/Slavic technologies(Ru)
Спасибо за интересный пост! Вижу, у тебя их совсем немного - 9, так что нужно потихоньку развиваться в этом направлении! Всем привет! Сегодня я бы хотел поделиться с Вами тем, как я создал свой синтезатор речи в Scratch
https://scratch.mit.edu/projects/765374171/
Для его создания мне очень помогли знания русского языка, поэтому хорошо учитесь в школеКонечно, я бы мог записать своим голосом все слова русского языка. Но, в отличие от английского, в русском языке каждое слово может склоняться, спрягаться и т.п. Поэтому я пошел более простым путем. Я создал всего лишь 252 записи… Но как? На самом деле все очень просто.
Можно было бы записать отдельно каждую букву, тогда бы получилась 31 запись (если не считать твердый и мягкий знаки). Тогда представьте как бы звучала запись буквы “б”Хорошо, но помимо некрасивого звучания букв, согласные звуки, как Вы помните из школьной программы, могут быть твердыми и мягкими, например, в слове “бабушка” все звуки твердые, а, например, в слове “белка”, звук , наоборот, мягкий. Поэтому мне пришла гениальная идея записать гласные звуки отдельно, а согласные вместе с гласной. Вот начало такой цепочки: “а”, “е”, “и”, “о”, “у”, “ы”, “э”, “ю”, “я”, “б”, “бь”, “ба”, “бе”, “би”, “бо”, “бу”, “бы”, “бэ”, “бю”, “бя”, “в”, “вь”, “ва”, “ве”, “ви”, “во”, “ву”, “вы”, “вэ”, “вю”, “вя”… и т.д.
Самое сложное, что я встретил при создании такого проекта - разделение большого аудио (всю цепочку звуков я записал в виде большого аудио), на маленькие части.
Я советую каждому человеку создать такой проект, потому что в будущем, когда Вы станете очень большими и Ваш голос очень сильно изменится, Вы сможете услышать любое предложение, которое произнесет Ваш ранний голос… Конечно, мой проект далеко не идеален, но добавив различные ударения в словах, интонацию, речь, которую произнесет этот проект можно будет спутать с настоящей
- awefawef211241
-
5 posts
Славянские технологии/Slavic technologies(Ru)
давать гениальные идеи и обсуждать сложные темы? ок
как сделать игру на скретче без блоков и спрайтов
1. если у вас не линукс или мак, то проще всего будет воспользоваться расширением для браузера TamperMonkey(он доступен на многих браузерах)
2. если скачали TamperMonkey, то кликните на него там, где у вас обычно появляются расширения, и врубите его.
3. потом нажмите на кнопку “панель управление”. (если вдруг у вас нет такой опции в расширении, то просто нажмите туда, где нарисована шестерёнка)
4. у вас будет открыт сайт расширения, где мы будем кодить уже саму игру. если вы заметили, то есть 5 вкладок на этом сайте:
Справка, Утилиты, Настройки, Установленные скрипты и плюсик, который создаёт новый скрипт. просто нажмите на него.
крч если вы все эти пункты выполнили, то сейчас мы будем кодить. если вы не знаете javascript, то вам будет сложно это делать, но просто повторяйте за мной, ок да?
сначала уберите ‘use strict’ и “//your code here…”, нам эта фигня не понадобится.
пишем крч внутри фигурных скобок такой код:
let game = `
`
должно быть так:
(function() {
let game = `
`
})();
мы крч создали переменную game, она нужна для того чтобы закинуть туда html-код(ну тобиш нашу игру), а потом этот код загрузить на скретч.
пишем дальше вот этот код внутри ` `:
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button” id=“button”>
</div>
должно быть так:
(function() {
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button”>кнопка</button>
</div>
`
})();
что означает этот код? мы добавили тупо счёт и кнопку, на которую надо нажимать, и по идее будет счёт прибавляться на 1, крч кликер. но пока ещё это не работает. пока что мы сделаем так, чтобы этот счёт и кнопка появились в скретче. пишем вне ` ` код:
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
должно быть так:
(function() {
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button”>кнопка</button>
</div>
`
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
})();
если щас запустить скрипт, то счёт и кнопка не будут на скретче. чтобы это пофиксить, в начале там где написано // @match надо поменять ссылку на ссылку вашего проекта, и будет всё ок. только счёт и кнопка находятся в самом внизу. ну чтож, раз мы разрабы, то это дело надо фиксить. заменим код внутри ` ` на этот:
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button”>кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
теперь счёт и кнопка стоят на экране проекта как будто их сделали без всех этих выкрутасов. но если всё же не стоят, то можете это сами пофиксить в left и bottom, поменяв значения. всё вроде круто и здорово, но кнопка не рабочая. это тоже фиксится без проблем. сначала добавим переменную “score”. первая переменная будет увеличиваться если кнопка будет нажата.
крч добавляем эту переменную в начале:
let score = 0;
теперь делаем так, чтобы кнопка нажималась:
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button” onclick=“score=score+1; document.getElementById('input').value = score;”>кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
должно быть так:
(function() {
let score = 0;
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button” onclick=“score=score+1; document.getElementById('input').value = score;”>кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
})();
если проверить, то будет какой-то в счёте. ща пофиксим:
(function() {
let a = 0;
let score = 0;
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button” onclick="if(score == '') score = 0; if(score < 999) score = score+1; score = document.getElementById('input').value = score;“>кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
})();
наконец-то у нас заработал счёт, и, я думаю, уже некоторые поняли, что нужно будет накликать до 1000 кликов. так и сделаем:
(function() {
let a = 0;
let score = 0;
let game = `
<div id=”score“>
<input class=”input“ id=”input“ value=”score“>
</div>
<div id=”button“>
<button class=”button“ onclick=”if(score == '') score = 0; if(score == 999) score = ‘победа’; if(score < 999) score = score+1; score = document.getElementById('input').value = score;">кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
})();
ну вроде всё, игруля без скретч блоков готова.
как сделать игру на скретче без блоков и спрайтов
1. если у вас не линукс или мак, то проще всего будет воспользоваться расширением для браузера TamperMonkey(он доступен на многих браузерах)
2. если скачали TamperMonkey, то кликните на него там, где у вас обычно появляются расширения, и врубите его.
3. потом нажмите на кнопку “панель управление”. (если вдруг у вас нет такой опции в расширении, то просто нажмите туда, где нарисована шестерёнка)
4. у вас будет открыт сайт расширения, где мы будем кодить уже саму игру. если вы заметили, то есть 5 вкладок на этом сайте:
Справка, Утилиты, Настройки, Установленные скрипты и плюсик, который создаёт новый скрипт. просто нажмите на него.
крч если вы все эти пункты выполнили, то сейчас мы будем кодить. если вы не знаете javascript, то вам будет сложно это делать, но просто повторяйте за мной, ок да?
сначала уберите ‘use strict’ и “//your code here…”, нам эта фигня не понадобится.
пишем крч внутри фигурных скобок такой код:
let game = `
`
должно быть так:
(function() {
let game = `
`
})();
мы крч создали переменную game, она нужна для того чтобы закинуть туда html-код(ну тобиш нашу игру), а потом этот код загрузить на скретч.
пишем дальше вот этот код внутри ` `:
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button” id=“button”>
</div>
должно быть так:
(function() {
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button”>кнопка</button>
</div>
`
})();
что означает этот код? мы добавили тупо счёт и кнопку, на которую надо нажимать, и по идее будет счёт прибавляться на 1, крч кликер. но пока ещё это не работает. пока что мы сделаем так, чтобы этот счёт и кнопка появились в скретче. пишем вне ` ` код:
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
должно быть так:
(function() {
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button”>кнопка</button>
</div>
`
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
})();
если щас запустить скрипт, то счёт и кнопка не будут на скретче. чтобы это пофиксить, в начале там где написано // @match надо поменять ссылку на ссылку вашего проекта, и будет всё ок. только счёт и кнопка находятся в самом внизу. ну чтож, раз мы разрабы, то это дело надо фиксить. заменим код внутри ` ` на этот:
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button”>кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
теперь счёт и кнопка стоят на экране проекта как будто их сделали без всех этих выкрутасов. но если всё же не стоят, то можете это сами пофиксить в left и bottom, поменяв значения. всё вроде круто и здорово, но кнопка не рабочая. это тоже фиксится без проблем. сначала добавим переменную “score”. первая переменная будет увеличиваться если кнопка будет нажата.
крч добавляем эту переменную в начале:
let score = 0;
теперь делаем так, чтобы кнопка нажималась:
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button” onclick=“score=score+1; document.getElementById('input').value = score;”>кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
должно быть так:
(function() {
let score = 0;
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button” onclick=“score=score+1; document.getElementById('input').value = score;”>кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
})();
если проверить, то будет какой-то в счёте. ща пофиксим:
(function() {
let a = 0;
let score = 0;
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button” onclick="if(score == '') score = 0; if(score < 999) score = score+1; score = document.getElementById('input').value = score;“>кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
})();
наконец-то у нас заработал счёт, и, я думаю, уже некоторые поняли, что нужно будет накликать до 1000 кликов. так и сделаем:
(function() {
let a = 0;
let score = 0;
let game = `
<div id=”score“>
<input class=”input“ id=”input“ value=”score“>
</div>
<div id=”button“>
<button class=”button“ onclick=”if(score == '') score = 0; if(score == 999) score = ‘победа’; if(score < 999) score = score+1; score = document.getElementById('input').value = score;">кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
})();
ну вроде всё, игруля без скретч блоков готова.
Last edited by awefawef211241 (July 5, 2023 18:26:39)
- gooogle2023
-
500+ posts
Славянские технологии/Slavic technologies(Ru)
Как я понял, эта игра вообще не на Scratch. Если точнее, то это игра на HTML с использованием JS. давать гениальные идеи и обсуждать сложные темы? ок
как сделать игру на скретче без блоков и спрайтов
1. если у вас не линукс или мак, то проще всего будет воспользоваться расширением для браузера TamperMonkey(он доступен на многих браузерах)
2. если скачали TamperMonkey, то кликните на него там, где у вас обычно появляются расширения, и врубите его.
3. потом нажмите на кнопку “панель управление”. (если вдруг у вас нет такой опции в расширении, то просто нажмите туда, где нарисована шестерёнка)
4. у вас будет открыт сайт расширения, где мы будем кодить уже саму игру. если вы заметили, то есть 5 вкладок на этом сайте:
Справка, Утилиты, Настройки, Установленные скрипты и плюсик, который создаёт новый скрипт. просто нажмите на него.
крч если вы все эти пункты выполнили, то сейчас мы будем кодить. если вы не знаете javascript, то вам будет сложно это делать, но просто повторяйте за мной, ок да?
сначала уберите ‘use strict’ и “//your code here…”, нам эта фигня не понадобится.
пишем крч внутри фигурных скобок такой код:
let game = `
`
должно быть так:
(function() {
let game = `
`
})();
мы крч создали переменную game, она нужна для того чтобы закинуть туда html-код(ну тобиш нашу игру), а потом этот код загрузить на скретч.
пишем дальше вот этот код внутри ` `:
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button” id=“button”>
</div>
должно быть так:
(function() {
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button”>кнопка</button>
</div>
`
})();
что означает этот код? мы добавили тупо счёт и кнопку, на которую надо нажимать, и по идее будет счёт прибавляться на 1, крч кликер. но пока ещё это не работает. пока что мы сделаем так, чтобы этот счёт и кнопка появились в скретче. пишем вне ` ` код:
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
должно быть так:
(function() {
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button”>кнопка</button>
</div>
`
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
})();
если щас запустить скрипт, то счёт и кнопка не будут на скретче. чтобы это пофиксить, в начале там где написано // @match надо поменять ссылку на ссылку вашего проекта, и будет всё ок. только счёт и кнопка находятся в самом внизу. ну чтож, раз мы разрабы, то это дело надо фиксить. заменим код внутри ` ` на этот:
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button”>кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
теперь счёт и кнопка стоят на экране проекта как будто их сделали без всех этих выкрутасов. но если всё же не стоят, то можете это сами пофиксить в left и bottom, поменяв значения. всё вроде круто и здорово, но кнопка не рабочая. это тоже фиксится без проблем. сначала добавим переменную “score”. первая переменная будет увеличиваться если кнопка будет нажата.
крч добавляем эту переменную в начале:
let score = 0;
теперь делаем так, чтобы кнопка нажималась:
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button” onclick=“score=score+1; document.getElementById('input').value = score;”>кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
должно быть так:
(function() {
let score = 0;
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button” onclick=“score=score+1; document.getElementById('input').value = score;”>кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
})();
если проверить, то будет какой-то в счёте. ща пофиксим:
(function() {
let a = 0;
let score = 0;
let game = `
<div id=“score”>
<input class=“input” id=“input” value=“score”>
</div>
<div id=“button”>
<button class=“button” onclick="if(score == '') score = 0; if(score < 999) score = score+1; score = document.getElementById('input').value = score;“>кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
})();
наконец-то у нас заработал счёт, и, я думаю, уже некоторые поняли, что нужно будет накликать до 1000 кликов. так и сделаем:
(function() {
let a = 0;
let score = 0;
let game = `
<div id=”score“>
<input class=”input“ id=”input“ value=”score“>
</div>
<div id=”button“>
<button class=”button“ onclick=”if(score == '') score = 0; if(score == 999) score = ‘победа’; if(score < 999) score = score+1; score = document.getElementById('input').value = score;">кнопка</button>
</div>
<style>
#score { position:absolute; z-index: 10; left: 190px; bottom: 560px; }
#button { position: absolute; z-index: 10; left: 170px; bottom: 500px; }
</style>
`
let div = document.createElement('div');
div.innerHTML = game;
document.body.appendChild(div);
})();
ну вроде всё, игруля без скретч блоков готова.