Discuss Scratch
- Discussion Forums
- » Pусский
- » Моя ОС - IdeaOS
- An_Idea
-
54 posts
Моя ОС - IdeaOS
Все выкладывают ОС, я не исключение.
IdeaOS
Начнем, пожалуй, с моральных принципов. IdeaOS предназначена для создания полезных приложений на ее базе. Причем приложения должны помогать решать какие-нибудь задачи, но это может быть и игра. Но я бы хотел видеть мою ОС чем-то вроде собрания гигантского сборника инструментов для других скрэтчеров. Как развивать проект? Просто сделайте ремикс. На самом деле, писать приложения под мою ОС достаточно легко, и они мало чем будут отличаться от приложения, написанного с нуля. Также вы можете не только выпускать приложения, но и изменять саму ОС, делая ОС репрезентации. Самые лучшии ОС репрезентации будут избираться официальными от лиц, которые примут заинтересованность в моем проекте. Как взаимодействовать с системой вы узнаете из моих записей ниже, а также узнаете как эта ОС устроена.
Я видел много имитаций операционных систем на Scratch, где при входе вылетала фейковая страница загрузки и было что-то вроде имитатора входа в аккаунт и предлагалось свайпнуть вправо, влево, вверх и т.д. Но мы-то с вами делаем реальную ОС и нам нужен результат, поэтому при входе вы увидите… Мою аватарку. Это не шутка, но ее показ длится всего 2 секунды. Вы без проблем можете убрать эту штуку, но по моей задумке символом ОС является лампочка. Я вообще люблю называть проекты названиями с Idea так как:
1) это стильно
2) это ссылает на мой профиль
3) это означает “креативность”, “идея”
и именно это название будет оригинальным, начальным названием нашей ОС. В будущем, если вы будете делать репрезентацию ОС, вы можете изменить эту иконку на логотип своей репрезентации (если он есть). Но так как мы, ребята, подкаблучники… Да, да, мы все “под каблуком” Scratch, так как все, абсолютно все наши проекты выпускаются под лицензией Copyleft (копилефт). Это означает, что все что вы выложили, может быть просмотрено изнутри, может быть сделана копия проекта, но так как при этом копилефт гарантирует (пффф…), что истинный автор (основатель) всегда должен быть указан, то прошу вас, ребята, указывать, что именно моя ОС лежит в основе вашей репрезентации или за вас это сделает Scratch.
Теперь поговорим о таких вещах, как фейк. Фейк - он везде. У вас дома, у вас в кармане и у вас в школе. И на Scratch он есть. Сколько я видел проектов ОС, вроде бы и неплохих, но все портил весь фейк этого проекта. Там можно было пожмакать на кнопку, поиграть в понг, посмотреть время, да. Выбрать обои. Но ОС - это же не только дизайн. Это ещё и возможность быстро добавлять приложения, расширяться. ОС должна предоставлять приложениям ряд возможностей. А теперь, хочу сказать, чего в моей ОС никогда не будет:
1. Фейковые страницы входа. Это только усложняет процесс входа в ОС. На самом деле вы никуда не входите, а чтобы загрузить ОС требуется всего лишь 0.3 секунды, но весь визуальный эффект создаётся колесиком, которое крутится или “входом в аккаунт”. Если вы хотите спросить, а нельзя ли создать уч.запись на ОС, то спросите меня, я недавно воссоздал такое в своей игре ALGO 2. По моей идее она должна была быть платная и я должен был стать мультимиллионером, но Scratch заблокал мою игру после того, как ее репортнули и ее просмотрело 50 человек за один день (ебоооой). Там ты должен был написать свой активационный ключ, который был привязан к твоему аккаунту через базу данных, но теперь это все неважно, ибо игра в открытом доступе, а ее более классная - платная версия - валяется заблоченная у меня в стаффе.
2. Плохой дизайн. Я не дизайнер, но чувство дизайна у меня есть и я никогда не стану делать в ОС ярко синий фон а на нем ярко красные иконки приложений. Нет, есть такие сайты, как flaticon.com где можно халявно затариться иконками и есть Adobe Photoshop, чтобы превратить свою игру в чудо дизайна. Есть скруглённые прямоугольники и есть векторная графика. Даже редактор Scratch ее поддерживает и очень активно. О дизайне тут уже говорил умный NeonFactoryX и говорил, что у многих руки кривые и им просто лень делать нормальную графику, так что попросите сделать это хороших скрэтчеров дизайнеров, которые обычно девочки. Ну а если вы все равно сделали такую графику в репрезентации, то тут два варианта: первый, мы репрезентируем вашу репрезентацию и делаем там норм графику

3. Куча мусора в проекте. Такой мусор, как 100 спрайтов, из которых можно сделать 1 или длинная музыка в игре не только делают ваш проект слишком большим по размеру (проверить можно, скачав), но и он долго загружается, опять же, из-за размера. Те люди, которые пишут, что в Scratch 3 проекты долго загружаются, может, вы просто пишете не совсем оптимизированные программы? И поверьте, я знаю о чем говорю, ибо моя игра ALGO 1 весит 44 Мб, а ALGO 2 весит 13 Мб. Есть разница? Несмотря на то, что во второй части больше функций и лучше графика, все равно она весит меньше просто потому, что я использую клоны. В моей ОС иконки на рабочем столе - клоны. И именно тот факт, что можно было сделать спрайт с клонами вместо кучи спрайтов отличает нас от доисторических людей-кроманьонцев.
Из тех ОС, которые я пока видел, мне понравилась вроде одна, Tec OS 3, одна из самых популярных ОС на Scratch, но и она не очень помогает решать вам реальные задачи, кроме изменения обоев на рабочем столе, но с точки зрения дизайна ее концепт очень хорош. И я смотрел ее код, и он ну очееееень не оптимизирован, так что я решил, что напишу свою ОС со своими принципами, вместо того, чтобы париться над чужим кодом.
Недавно на русском форуме был бум с каким-то GRBrowser, но хоть я записался, меня абсолютно не впечатлил проект, хотя мне понравились принципы. Скажу, что графика и возможность расширения оставляют желать лучшего. Имеено этот проект, отчасти и подтолкнул меня сделать свою ОС.
Теперь, после того, как я рассказал о принципах ОС, почему бы не перейти к устройству?

После программирования на Scratch на протяжении 4 лет я понял одно: в Scratch списки лучше переменных. Они практичнее. И могут быть больше. В Scratch максимальная длинна переменной - около 10000 символов. А максимальная длина списка - 400000 элементов, плюс каждый из них имеет максимальную длину равную максимальной длине переменной.
В основе моей ОС лежат несколько списков. Я расскажу о них, но сначала, о другом. Вам никогда не приходилось использовать в своих программах такое?
???
Только вместо звуков у вас будут другие процессы, скажем, виден спрайт или спрятан. А теперь представьте ОС. Там много программ и необходимо понимать, какая программа сейчас запущена, чтобы воспроизводить такие циклы. Для этого я сделал список процессов.
Этот список нужен для того, чтобы отображать, какое приложение запущено в данный момент. С этим списком тесно связан сам список приложений.
В моей ОС эти два списка называются os.apps и os.activity. Почему впереди стоит os? Если вам когда-нибудь приходилось иметь дело с таким языком программирования, как Python, то там есть такое понятие, как пространство имён. Когда вы в свою программу загружаете модуль (дополнительные функции) они обозначаются таким образом:
модуль.функция()
В моей ОС такая система используется для того, чтобы и я, и вы все понимали, какая переменная где, и к какой области ОС она относится. Если впереди стоит os. то это означает, что это переменная/список относится к операционной системе. А если там стоит cmd. ,то это что-то имеет отношение к командной строке (сейчас расскажу). Такая система облегчит вам всем работу и я яро являюсь ее ярым поклонником. Также я призываю вас при изменении ОС и добавлении новых переменных называть их подобным образом, где спереди будет стоять название вашей программы, точка и название переменной.
Список приложений - по сути, то, в каком порядке приложения отображаются на рабочем столе. Рабочий стол представляет собой сетку х*у, где х и у - значения, которые тоже может изменить пользователь ОС. Если приложений больше, чем x*y, вы можете переключаться между слайдами рабочего стола, нажимая на боковую часть рабочего стола, где стрелочки. Соответственно вся эта система использует клоны, она мною уже написана, так что с ней вам работать вряд-ли придется. У каждого приложения в ОС есть номер и имя. С именем все понятно, а номер - это номер этого приложения в списке os.apps.
Текущее состояние приложения в списке процессов можно проверить так:
Процесс может быть равен 0 (выключено) и 1 (включено). Также если номер приложения = 0, то это означает, что вы на рабочем столе. Имя приложения на рабочем столе будет показываться как Desktop. Имя приложения и его номер - это переменные os.app.active и os.app.active-name - они и процессы определяются почти автоматически. Почти. Также есть переменная os.app.opened куда сохраняется имя приложения по открытию.
Иконка приложения отображается спрайтом icon, где иконка вашего приложения имеет имя вашего приложения. Напомню, что при работе с костюмами имеет значение то, в каком регистре вы пишете название (заглавные или строчные).
Когда вы жмакаете на иконку вашего приложения на моей ОС, кнопка отправляет событие, которое называется основное. Основное событие имеет определенный вид. Выглядит вот так, с учётом пробелов:
APP Camera
В данном примере рассмотрено приложение “Камера”, но событие составляется так:
APP+пробел+имя_приложения
При этом, чтобы все заработало, ваше приложение должно быть в списке os.apps и иметь иконку. По поводу списка os.activity, не беспокойтесь, все будет создано при запуске ОС.
Когда ваше приложение получает основное событие (обычно это получатель - пустой спрайт с именем вашего приложения), то это событие должно:
1. Изменить процесс приложения на 1, дать ОС понять, что приложение работает.
2. Обнулить нужные переменные в вашем приложении, причем не те, которые вы задали по щелчку зелёного флага, а именно те, которые должны обнулиться при запуске приложения.
3. Передать событие готовности.
Событие готовности - второй тип событий, выглядят как:
APP Camera READY
(APP+пробел+имя_приложения+пробел+READY)
Это означает, что ваше приложение готово к запуску. По нему начинают работать все спрайты в приложении. Причем вы должны поставить перед собой четкую задачу.
ВСЕ ВАШЕ ПРИЛОЖЕНИЕ ДОЛЖНО ИСЧЕЗНУТЬ И ЗАКРЫТЬСЯ КАК ТОЛЬКО ПРИЛОЖЕНИЕ ПОЛУЧИТ СОБЫТИЕ ВЫХОДА
Событие выхода - третий и последний тип. Говорит вашему приложению, что пора закругляться и задаёт процесс приложения 0.
КАК РАБОТАЮТ ЭТИ ТРИ СОБЫТИЯ ВЫ МОЖЕТЕ ЛЕГКО УВИДЕТЬ, ЗАГЛЯНУВ В СПРАЙТ ПРИЛОЖЕНИЯ CAMERA или COMMAND LINE
Событие выхода выглядит вот так:
APP Camera OFF
Хочу также сказать, что любой отсуп от правил названия событий ведет за собой ошибку в ОС, то есть приложение может не открываться.
Также должен сказать, что много настроек системы изменяются через списковое приложение - командную строку. Чтобы перейти в нее, вы можете нажать на ее значок на рабочем столе.
Это текстовое приложение и пока единственное приложение, которое запускается в фоновом режиме.
В моей ОС нет визуальных настроек - там рычажков, кнопочек и т.д. Все настройки через командную строку. Там можно изменить размер иконок, столбцы и строки рабочего стола и т.д.
Весь код командной строки в спрайте Command line.
Когда вы открываете ОС, вы видите панель состояния наверху (на рабочем столе). Это как навигационная панель, но я решил назвать ее модным словом. Когда вы запускаете приложение, она перемещается вниз. Соответственно там будет кнопка выхода из приложения (та самая, что передает событие выхода). Сбоку там есть ещё одна кнопка и это командная строка. Даже если вы не в самой командной строке, она все равно будет работать. Это сделано для того, чтобы
1. Получить доступ к настройкам ОС из любого места.
2. Чтобы вы не беспокоились по поводу настроек вашего приложения.
Вы через спрайт “Command line” можете сделать так, что пользователь прямо из вашего приложения, запустив командную строку может изменить какие-либо настройки.
КАК РАБОТАЕТ КОМАНДНАЯ СТРОКА
1. Вас запрашивают команду, вызывая APP Command line INPUT, которая сохраняется в переменную cmd.command.
2. Если эта команда существует, переходим к пункту три. Если нет, ошибочка.
3. Если команде нужны аргументы или доп. ввод, то она запрашивает их, вызывая APP Command line IN. Это событие вызывается столько раз, сколько нужно команде.
4. Все аргументы сохраняются в списке cmd.arguments.
5. Затем команда выполняется в виде функции в спрайте строки. Если у команды есть какой-то вывод, то он сохраняется в списке cmd.output.
Также расскажу о том, как читать командную строку. Все команды, которые вы ввели начинаются с >>>
Если вы вводили аргументы, то они начинаются с $
Если был вывод, то он просто выводится без знаков спереди.
Командная строка IdeaOS - это универсальное средство управления моей OС. С ее помощью вы много чего сможете изменить. Команды в командной строке делятся на два типа. Первый, это глобальный. Эти команды управляют ОС или приложениями и могут быть вызваны из любого места ОС. Также есть частные команды, которые могут быть вызваны только из определенных приложений.
Также могут быть созданы приложения, которые отдавая команды в командную строку будут изменять настройки ОС. Тогда можете смело называть такое приложение скриптом, так как оно запускает свою маленькую программку внутри ОС.
Команды, которые изменяют какие-либо параметры, начинаются с CHANGE.
Команды, которые покажут вам время или дату начинаются с TIME.
Если команда начинается с ADMIN, то она изменяет очень важные части ОС, соответственно должна использоваться очень аккуратно. Конечно, любой эффект от команд можно сбросить, нажав на зелёный флаг. Одной из таких “админ” команд является команда admin kill которая “убивает” приложение по его номеру. То есть после запуска вы хотите удалить камеру. Что для этого потребуется:
>>> get
$ Camera
1
>>> admin kill
$ 1
Готово!
Вернуть камеру можно командой admin add или admin insert. Также есть и другие команды, о них вы можете прочитать в описании ОС.
Также если вы запускаете некоторые команды из приложения (не командной строки), то иногда вам может потребоваться вывод из них. Весь вывод команды в командной строке сохраняется в списке cmd.output, о чем и было сказано ранее. Этот список также можно очистить функцией “Очистить вывод”. Тогда есть функция print которая выведет вам этот список на экран

Также есть и определенные примеры команд встроенных приложений, таких как камера. Камера поддерживает команды camera ghost, camera bright, camera dark, camera open, camera open reverse и camera close. Для того, чтобы вывести эти значения, введите команду about и как аргумент - номер приложения, которое вам необходимо. Эти значения хранятся в списке os.about, который вы при создании вашей копии операционной системы также должны будете модернизировать при наличии новых приложений. Командная строка в IdeaOS лишает вас нужны добавлять в ваш проект настройки, 2к19 год и ОС на Scratch 3 точно должна использовать такое нововведение, ведь написать команду гораздо легче, чем ковыряться в вашем графическом интерфейсе и пытаться разобраться где тут что вообще. А так, вы выпускаете проект, добавляете приложение. Через строку можно посмотреть какие у него есть команды, а их назначение можно будет прочитать в описании проекта. Легко!
ПРИМЕР
camera ghost - используется для изменения прозрачности видео. Запрашивает аргумент - число от 0 до 100 и меняет прозрачность.
camera bright - используется для изменения фона камеры с по умолчанию на белый. Если вы будете использовать это в паре с ghost, получится ощутимый результат.
camera dark - используется чтобы подставить на задний план черный фон, причем черный фон полностью нейтрализует эффект от ghost.
camera open - включает камеру.
camera close - выключает камеру.
camera open reverse - включает камеру в отраженном режиме.
Примерно так вы должны будете описать команды для приложения.
Чтобы понять как работает моя ОС и стать профессиональным девелопером на ней, вы можете просмотреть ее код. Также вы должны понять тему про три события, про процессы и про командную строку.
Я очень надеюсь, что вас впечатлит моя ОС, которую я грокнул за 12 часов нонстоп работы.
ДОПОЛНИТЕЛЬНО
Иногда в ваших приложениях вам будет нужно воспроизвести какую-нибудь музыку, но вы не знаете, какую громкость ставить. Поставить громкость - переменная os.volume решает вашу задачу. Ее можно изменить через командную строку, по умолчанию равна 70.
Также расскажу о уведомлениях. Встроенные уведомления, конечно, нуждаются в модернизации, но уже какая-то база есть. Когда вы получаете уведомление, оно сопровождается звуковым сигналом и появляется лампочка на панели состояния. Текст уведомления не высвечивается (пока), но его можно увидеть, введя в строку команды n или new. Также есть команда n clear для очистки журнала уведомлений. Если вы из вашего приложения хотите вызвать уведомление, задайте его текст в переменной os.notification-text и вызовете событие «Уведомление».
Если у вас появится вопрос по работе ОС, мы всегда можем списаться на Discord. Или задайте его ниже. Также я попробую выложить гайд по созданию нового приложения на мою ОС, скажем, переводчик, на мой канал YouTube. Он пустой, там 0 подписчиков (много для меня), но хоть какой-то контент будет.
Почему пока в ОС нет облачных данных, прикольно же? Так как облачные данные могут храниться только в виде цифр, то они не очень удобны, а также потому что они очень маленькие. Облачные данные будут задействованы. Аккуратно выбирайте цели для облачных данных, ведь всего максимум 10 переменных на проект.
- An_Idea
-
54 posts
Моя ОС - IdeaOS
Какие приложения лучше всего создавать на IdeaOS?
— Я пока не могу сказать, ведь я только несколько часов назад сделал ОС и там много ещё не продумано, но могу сказать, что всегда легче делать приложения, изнутри которых нет вкладок. То есть, где один фон и сценарий. Я думаю, что будет сложно сделать приложение, где изнутри есть другие вкладки, но все равно возможно.
Я считаю, что IdeaOS именно по назначению должна содержать приложения, которые помогут вам со Scratch. К примеру, калькуляторы, туториалы, конвертеры. Какие-то справочные материалы и инструменты, которые будут объединены в одном месте.
Вот идеи для приложений, которые могут быть сделаны на IdeaOS:
Калькулятор
Конвертер чисел
Конвертер величин
Справочный материал
Текстовый редактор
Музыкальный плеер
Редактор пиксель-арта
Часы (виджет) или приложение с таймером и секундомером
Календарь
Также идеи для дополнения ОС:
Виджеты
Уведомления (дополнить)
Улучшить текстовый движок (больше знаков добавить)
Какой-то графический интерфейс получше.
— Я пока не могу сказать, ведь я только несколько часов назад сделал ОС и там много ещё не продумано, но могу сказать, что всегда легче делать приложения, изнутри которых нет вкладок. То есть, где один фон и сценарий. Я думаю, что будет сложно сделать приложение, где изнутри есть другие вкладки, но все равно возможно.
Я считаю, что IdeaOS именно по назначению должна содержать приложения, которые помогут вам со Scratch. К примеру, калькуляторы, туториалы, конвертеры. Какие-то справочные материалы и инструменты, которые будут объединены в одном месте.
Вот идеи для приложений, которые могут быть сделаны на IdeaOS:
Калькулятор
Конвертер чисел
Конвертер величин
Справочный материал
Текстовый редактор
Музыкальный плеер
Редактор пиксель-арта
Часы (виджет) или приложение с таймером и секундомером
Календарь
Также идеи для дополнения ОС:
Виджеты
Уведомления (дополнить)
Улучшить текстовый движок (больше знаков добавить)
Какой-то графический интерфейс получше.
- White_Lord
-
1000+ posts
Моя ОС - IdeaOS
О чём кратко эта тема?Все выкладывают ОС, я не исключение.
IdeaOS
Начнем, пожалуй, с моральных принципов. IdeaOS предназначена для создания полезных приложений на ее базе. Причем приложения должны помогать решать какие-нибудь задачи, но это может быть и игра. Но я бы хотел видеть мою ОС чем-то вроде собрания гигантского сборника инструментов для других скрэтчеров. Как развивать проект? Просто сделайте ремикс. На самом деле, писать приложения под мою ОС достаточно легко, и они мало чем будут отличаться от приложения, написанного с нуля. Также вы можете не только выпускать приложения, но и изменять саму ОС, делая ОС репрезентации. Самые лучшии ОС репрезентации будут избираться официальными от лиц, которые примут заинтересованность в моем проекте. Как взаимодействовать с системой вы узнаете из моих записей ниже, а также узнаете как эта ОС устроена.
Я видел много имитаций операционных систем на Scratch, где при входе вылетала фейковая страница загрузки и было что-то вроде имитатора входа в аккаунт и предлагалось свайпнуть вправо, влево, вверх и т.д. Но мы-то с вами делаем реальную ОС и нам нужен результат, поэтому при входе вы увидите… Мою аватарку. Это не шутка, но ее показ длится всего 2 секунды. Вы без проблем можете убрать эту штуку, но по моей задумке символом ОС является лампочка. Я вообще люблю называть проекты названиями с Idea так как:
1) это стильно
2) это ссылает на мой профиль
3) это означает “креативность”, “идея”
и именно это название будет оригинальным, начальным названием нашей ОС. В будущем, если вы будете делать репрезентацию ОС, вы можете изменить эту иконку на логотип своей репрезентации (если он есть). Но так как мы, ребята, подкаблучники… Да, да, мы все “под каблуком” Scratch, так как все, абсолютно все наши проекты выпускаются под лицензией Copyleft (копилефт). Это означает, что все что вы выложили, может быть просмотрено изнутри, может быть сделана копия проекта, но так как при этом копилефт гарантирует (пффф…), что истинный автор (основатель) всегда должен быть указан, то прошу вас, ребята, указывать, что именно моя ОС лежит в основе вашей репрезентации или за вас это сделает Scratch.
Теперь поговорим о таких вещах, как фейк. Фейк - он везде. У вас дома, у вас в кармане и у вас в школе. И на Scratch он есть. Сколько я видел проектов ОС, вроде бы и неплохих, но все портил весь фейк этого проекта. Там можно было пожмакать на кнопку, поиграть в понг, посмотреть время, да. Выбрать обои. Но ОС - это же не только дизайн. Это ещё и возможность быстро добавлять приложения, расширяться. ОС должна предоставлять приложениям ряд возможностей. А теперь, хочу сказать, чего в моей ОС никогда не будет:
1. Фейковые страницы входа. Это только усложняет процесс входа в ОС. На самом деле вы никуда не входите, а чтобы загрузить ОС требуется всего лишь 0.3 секунды, но весь визуальный эффект создаётся колесиком, которое крутится или “входом в аккаунт”. Если вы хотите спросить, а нельзя ли создать уч.запись на ОС, то спросите меня, я недавно воссоздал такое в своей игре ALGO 2. По моей идее она должна была быть платная и я должен был стать мультимиллионером, но Scratch заблокал мою игру после того, как ее репортнули и ее просмотрело 50 человек за один день (ебоооой). Там ты должен был написать свой активационный ключ, который был привязан к твоему аккаунту через базу данных, но теперь это все неважно, ибо игра в открытом доступе, а ее более классная - платная версия - валяется заблоченная у меня в стаффе.
2. Плохой дизайн. Я не дизайнер, но чувство дизайна у меня есть и я никогда не стану делать в ОС ярко синий фон а на нем ярко красные иконки приложений. Нет, есть такие сайты, как flaticon.com где можно халявно затариться иконками и есть Adobe Photoshop, чтобы превратить свою игру в чудо дизайна. Есть скруглённые прямоугольники и есть векторная графика. Даже редактор Scratch ее поддерживает и очень активно. О дизайне тут уже говорил умный NeonFactoryX и говорил, что у многих руки кривые и им просто лень делать нормальную графику, так что попросите сделать это хороших скрэтчеров дизайнеров, которые обычно девочки. Ну а если вы все равно сделали такую графику в репрезентации, то тут два варианта: первый, мы репрезентируем вашу репрезентацию и делаем там норм графикуили мы просто не удостоим ее нашего внимания.
3. Куча мусора в проекте. Такой мусор, как 100 спрайтов, из которых можно сделать 1 или длинная музыка в игре не только делают ваш проект слишком большим по размеру (проверить можно, скачав), но и он долго загружается, опять же, из-за размера. Те люди, которые пишут, что в Scratch 3 проекты долго загружаются, может, вы просто пишете не совсем оптимизированные программы? И поверьте, я знаю о чем говорю, ибо моя игра ALGO 1 весит 44 Мб, а ALGO 2 весит 13 Мб. Есть разница? Несмотря на то, что во второй части больше функций и лучше графика, все равно она весит меньше просто потому, что я использую клоны. В моей ОС иконки на рабочем столе - клоны. И именно тот факт, что можно было сделать спрайт с клонами вместо кучи спрайтов отличает нас от доисторических людей-кроманьонцев.
Из тех ОС, которые я пока видел, мне понравилась вроде одна, Tec OS 3, одна из самых популярных ОС на Scratch, но и она не очень помогает решать вам реальные задачи, кроме изменения обоев на рабочем столе, но с точки зрения дизайна ее концепт очень хорош. И я смотрел ее код, и он ну очееееень не оптимизирован, так что я решил, что напишу свою ОС со своими принципами, вместо того, чтобы париться над чужим кодом.
Недавно на русском форуме был бум с каким-то GRBrowser, но хоть я записался, меня абсолютно не впечатлил проект, хотя мне понравились принципы. Скажу, что графика и возможность расширения оставляют желать лучшего. Имеено этот проект, отчасти и подтолкнул меня сделать свою ОС.
Теперь, после того, как я рассказал о принципах ОС, почему бы не перейти к устройству?
После программирования на Scratch на протяжении 4 лет я понял одно: в Scratch списки лучше переменных. Они практичнее. И могут быть больше. В Scratch максимальная длинна переменной - около 10000 символов. А максимальная длина списка - 400000 элементов, плюс каждый из них имеет максимальную длину равную максимальной длине переменной.
В основе моей ОС лежат несколько списков. Я расскажу о них, но сначала, о другом. Вам никогда не приходилось использовать в своих программах такое????
Только вместо звуков у вас будут другие процессы, скажем, виден спрайт или спрятан. А теперь представьте ОС. Там много программ и необходимо понимать, какая программа сейчас запущена, чтобы воспроизводить такие циклы. Для этого я сделал список процессов.
Этот список нужен для того, чтобы отображать, какое приложение запущено в данный момент. С этим списком тесно связан сам список приложений.
В моей ОС эти два списка называются os.apps и os.activity. Почему впереди стоит os? Если вам когда-нибудь приходилось иметь дело с таким языком программирования, как Python, то там есть такое понятие, как пространство имён. Когда вы в свою программу загружаете модуль (дополнительные функции) они обозначаются таким образом:
модуль.функция()
В моей ОС такая система используется для того, чтобы и я, и вы все понимали, какая переменная где, и к какой области ОС она относится. Если впереди стоит os. то это означает, что это переменная/список относится к операционной системе. А если там стоит cmd. ,то это что-то имеет отношение к командной строке (сейчас расскажу). Такая система облегчит вам всем работу и я яро являюсь ее ярым поклонником. Также я призываю вас при изменении ОС и добавлении новых переменных называть их подобным образом, где спереди будет стоять название вашей программы, точка и название переменной.
Список приложений - по сути, то, в каком порядке приложения отображаются на рабочем столе. Рабочий стол представляет собой сетку х*у, где х и у - значения, которые тоже может изменить пользователь ОС. Если приложений больше, чем x*y, вы можете переключаться между слайдами рабочего стола, нажимая на боковую часть рабочего стола, где стрелочки. Соответственно вся эта система использует клоны, она мною уже написана, так что с ней вам работать вряд-ли придется. У каждого приложения в ОС есть номер и имя. С именем все понятно, а номер - это номер этого приложения в списке os.apps.
Текущее состояние приложения в списке процессов можно проверить так:
Процесс может быть равен 0 (выключено) и 1 (включено). Также если номер приложения = 0, то это означает, что вы на рабочем столе. Имя приложения на рабочем столе будет показываться как Desktop. Имя приложения и его номер - это переменные os.app.active и os.app.active-name - они и процессы определяются почти автоматически. Почти. Также есть переменная os.app.opened куда сохраняется имя приложения по открытию.
Иконка приложения отображается спрайтом icon, где иконка вашего приложения имеет имя вашего приложения. Напомню, что при работе с костюмами имеет значение то, в каком регистре вы пишете название (заглавные или строчные).
Когда вы жмакаете на иконку вашего приложения на моей ОС, кнопка отправляет событие, которое называется основное. Основное событие имеет определенный вид. Выглядит вот так, с учётом пробелов:
APP Camera
В данном примере рассмотрено приложение “Камера”, но событие составляется так:
APP+пробел+имя_приложения
При этом, чтобы все заработало, ваше приложение должно быть в списке os.apps и иметь иконку. По поводу списка os.activity, не беспокойтесь, все будет создано при запуске ОС.
Когда ваше приложение получает основное событие (обычно это получатель - пустой спрайт с именем вашего приложения), то это событие должно:
1. Изменить процесс приложения на 1, дать ОС понять, что приложение работает.
2. Обнулить нужные переменные в вашем приложении, причем не те, которые вы задали по щелчку зелёного флага, а именно те, которые должны обнулиться при запуске приложения.
3. Передать событие готовности.
Событие готовности - второй тип событий, выглядят как:
APP Camera READY
(APP+пробел+имя_приложения+пробел+READY)
Это означает, что ваше приложение готово к запуску. По нему начинают работать все спрайты в приложении. Причем вы должны поставить перед собой четкую задачу.
ВСЕ ВАШЕ ПРИЛОЖЕНИЕ ДОЛЖНО ИСЧЕЗНУТЬ И ЗАКРЫТЬСЯ КАК ТОЛЬКО ПРИЛОЖЕНИЕ ПОЛУЧИТ СОБЫТИЕ ВЫХОДА
Событие выхода - третий и последний тип. Говорит вашему приложению, что пора закругляться и задаёт процесс приложения 0.
КАК РАБОТАЮТ ЭТИ ТРИ СОБЫТИЯ ВЫ МОЖЕТЕ ЛЕГКО УВИДЕТЬ, ЗАГЛЯНУВ В СПРАЙТ ПРИЛОЖЕНИЯ CAMERA или COMMAND LINE
Событие выхода выглядит вот так:
APP Camera OFF
Хочу также сказать, что любой отсуп от правил названия событий ведет за собой ошибку в ОС, то есть приложение может не открываться.
Также должен сказать, что много настроек системы изменяются через списковое приложение - командную строку. Чтобы перейти в нее, вы можете нажать на ее значок на рабочем столе.
Это текстовое приложение и пока единственное приложение, которое запускается в фоновом режиме.
В моей ОС нет визуальных настроек - там рычажков, кнопочек и т.д. Все настройки через командную строку. Там можно изменить размер иконок, столбцы и строки рабочего стола и т.д.
Весь код командной строки в спрайте Command line.
Когда вы открываете ОС, вы видите панель состояния наверху (на рабочем столе). Это как навигационная панель, но я решил назвать ее модным словом. Когда вы запускаете приложение, она перемещается вниз. Соответственно там будет кнопка выхода из приложения (та самая, что передает событие выхода). Сбоку там есть ещё одна кнопка и это командная строка. Даже если вы не в самой командной строке, она все равно будет работать. Это сделано для того, чтобы
1. Получить доступ к настройкам ОС из любого места.
2. Чтобы вы не беспокоились по поводу настроек вашего приложения.
Вы через спрайт “Command line” можете сделать так, что пользователь прямо из вашего приложения, запустив командную строку может изменить какие-либо настройки.
КАК РАБОТАЕТ КОМАНДНАЯ СТРОКА
1. Вас запрашивают команду, вызывая APP Command line INPUT, которая сохраняется в переменную cmd.command.
2. Если эта команда существует, переходим к пункту три. Если нет, ошибочка.
3. Если команде нужны аргументы или доп. ввод, то она запрашивает их, вызывая APP Command line IN. Это событие вызывается столько раз, сколько нужно команде.
4. Все аргументы сохраняются в списке cmd.arguments.
5. Затем команда выполняется в виде функции в спрайте строки. Если у команды есть какой-то вывод, то он сохраняется в списке cmd.output.
Также расскажу о том, как читать командную строку. Все команды, которые вы ввели начинаются с >>>
Если вы вводили аргументы, то они начинаются с $
Если был вывод, то он просто выводится без знаков спереди.
Командная строка IdeaOS - это универсальное средство управления моей OС. С ее помощью вы много чего сможете изменить. Команды в командной строке делятся на два типа. Первый, это глобальный. Эти команды управляют ОС или приложениями и могут быть вызваны из любого места ОС. Также есть частные команды, которые могут быть вызваны только из определенных приложений.
Также могут быть созданы приложения, которые отдавая команды в командную строку будут изменять настройки ОС. Тогда можете смело называть такое приложение скриптом, так как оно запускает свою маленькую программку внутри ОС.
Команды, которые изменяют какие-либо параметры, начинаются с CHANGE.
Команды, которые покажут вам время или дату начинаются с TIME.
Если команда начинается с ADMIN, то она изменяет очень важные части ОС, соответственно должна использоваться очень аккуратно. Конечно, любой эффект от команд можно сбросить, нажав на зелёный флаг. Одной из таких “админ” команд является команда admin kill которая “убивает” приложение по его номеру. То есть после запуска вы хотите удалить камеру. Что для этого потребуется:
>>> get
$ Camera
1
>>> admin kill
$ 1
Готово!
Вернуть камеру можно командой admin add или admin insert. Также есть и другие команды, о них вы можете прочитать в описании ОС.
Также если вы запускаете некоторые команды из приложения (не командной строки), то иногда вам может потребоваться вывод из них. Весь вывод команды в командной строке сохраняется в списке cmd.output, о чем и было сказано ранее. Этот список также можно очистить функцией “Очистить вывод”. Тогда есть функция print которая выведет вам этот список на экран
Также есть и определенные примеры команд встроенных приложений, таких как камера. Камера поддерживает команды camera ghost, camera bright, camera dark, camera open, camera open reverse и camera close. Для того, чтобы вывести эти значения, введите команду about и как аргумент - номер приложения, которое вам необходимо. Эти значения хранятся в списке os.about, который вы при создании вашей копии операционной системы также должны будете модернизировать при наличии новых приложений. Командная строка в IdeaOS лишает вас нужны добавлять в ваш проект настройки, 2к19 год и ОС на Scratch 3 точно должна использовать такое нововведение, ведь написать команду гораздо легче, чем ковыряться в вашем графическом интерфейсе и пытаться разобраться где тут что вообще. А так, вы выпускаете проект, добавляете приложение. Через строку можно посмотреть какие у него есть команды, а их назначение можно будет прочитать в описании проекта. Легко!
ПРИМЕР
camera ghost - используется для изменения прозрачности видео. Запрашивает аргумент - число от 0 до 100 и меняет прозрачность.
camera bright - используется для изменения фона камеры с по умолчанию на белый. Если вы будете использовать это в паре с ghost, получится ощутимый результат.
camera dark - используется чтобы подставить на задний план черный фон, причем черный фон полностью нейтрализует эффект от ghost.
camera open - включает камеру.
camera close - выключает камеру.
camera open reverse - включает камеру в отраженном режиме.
Примерно так вы должны будете описать команды для приложения.
Чтобы понять как работает моя ОС и стать профессиональным девелопером на ней, вы можете просмотреть ее код. Также вы должны понять тему про три события, про процессы и про командную строку.
Я очень надеюсь, что вас впечатлит моя ОС, которую я грокнул за 12 часов нонстоп работы.
ДОПОЛНИТЕЛЬНО
Иногда в ваших приложениях вам будет нужно воспроизвести какую-нибудь музыку, но вы не знаете, какую громкость ставить. Поставить громкость - переменная os.volume решает вашу задачу. Ее можно изменить через командную строку, по умолчанию равна 70.
Также расскажу о уведомлениях. Встроенные уведомления, конечно, нуждаются в модернизации, но уже какая-то база есть. Когда вы получаете уведомление, оно сопровождается звуковым сигналом и появляется лампочка на панели состояния. Текст уведомления не высвечивается (пока), но его можно увидеть, введя в строку команды n или new. Также есть команда n clear для очистки журнала уведомлений. Если вы из вашего приложения хотите вызвать уведомление, задайте его текст в переменной os.notification-text и вызовете событие «Уведомление».
Если у вас появится вопрос по работе ОС, мы всегда можем списаться на Discord. Или задайте его ниже. Также я попробую выложить гайд по созданию нового приложения на мою ОС, скажем, переводчик, на мой канал YouTube. Он пустой, там 0 подписчиков (много для меня), но хоть какой-то контент будет.
Почему пока в ОС нет облачных данных, прикольно же? Так как облачные данные могут храниться только в виде цифр, то они не очень удобны, а также потому что они очень маленькие. Облачные данные будут задействованы. Аккуратно выбирайте цели для облачных данных, ведь всего максимум 10 переменных на проект.
- An_Idea
-
54 posts
Моя ОС - IdeaOS
Если вам не хочется читать то, что написано на верху, просто забейте. Но в двух словах я говорю о том, что придумал новую ОС и призываю вас всех принять участие в разработке приложений под нее.
Моя ОС отличается от других тем, что основной инструмент в ней - командная строка. Также там автоматизированы многие процессы. Присоединяйтесь к команде разработчиков!
Моя ОС отличается от других тем, что основной инструмент в ней - командная строка. Также там автоматизированы многие процессы. Присоединяйтесь к команде разработчиков!
Last edited by An_Idea (Sept. 9, 2019 15:57:34)
- White_Lord
-
1000+ posts
Моя ОС - IdeaOS
Может быть, тебя вдохновит этот проект и у тебя появятся несколько идей: Если вам не хочется читать то, что написано на верху, просто забейте. Но в двух словах я говорю о том, что придумал новую ОС и прзываю вас всех принять участие в разработке приложений под нее.https://scratch.mit.edu/projects/298717926/ Одно из самых недавних и продуманных OS.
- An_Idea
-
54 posts
Моя ОС - IdeaOS
Итак, была выпущена IdeaOS v. 1.1, которая включает в себя список следующих изменений:
Сразу после этого выпустил версию 1.2, которая включает в себя список следующих изменений:
IdeaOS
v. 1.0 - https://scratch.mit.edu/projects/327373419/
v. 1.1 - https://scratch.mit.edu/projects/327613332/
v. 1.2 - https://scratch.mit.edu/projects/327749950/
Официальная студия
https://scratch.mit.edu/studios/25160004/projects/
- Было добавлено новое приложение - переводчик. Выбирешь один из 50 языков, на которые можно перевести фразу. Затем вводишь фразу на любом языке (автоопределение) и переводчик выдает результат.
- Также была добавлена новая команда в командную строку - translate. Запрашивает у тебя фразу и номер языка, на который ее нужно перевести (от 1 до 50) и выдает результат.
- Была изменена цветовая модель ОС - теперь она сделана в оттенках серого.
Сразу после этого выпустил версию 1.2, которая включает в себя список следующих изменений:
- Было добавлено новое приложение - ассистент. Это приложение озвучивает время и последние уведомления, запускаясь также и в фоновом режиме через панель состояния.
- Также была добавлена новая глобальная команда в командную строку - change voice. Запрашивает число от 1 до 4 и меняет голос ассистента.
IdeaOS
v. 1.0 - https://scratch.mit.edu/projects/327373419/
v. 1.1 - https://scratch.mit.edu/projects/327613332/
v. 1.2 - https://scratch.mit.edu/projects/327749950/
Официальная студия
https://scratch.mit.edu/studios/25160004/projects/
Last edited by An_Idea (Sept. 10, 2019 10:23:16)
- SergeyD-2010
-
500+ posts
Моя ОС - IdeaOS
Может тебе присоединиться к нам. Я тоже создаю OSВсе выкладывают ОС, я не исключение.
IdeaOS
Начнем, пожалуй, с моральных принципов. IdeaOS предназначена для создания полезных приложений на ее базе. Причем приложения должны помогать решать какие-нибудь задачи, но это может быть и игра. Но я бы хотел видеть мою ОС чем-то вроде собрания гигантского сборника инструментов для других скрэтчеров. Как развивать проект? Просто сделайте ремикс. На самом деле, писать приложения под мою ОС достаточно легко, и они мало чем будут отличаться от приложения, написанного с нуля. Также вы можете не только выпускать приложения, но и изменять саму ОС, делая ОС репрезентации. Самые лучшии ОС репрезентации будут избираться официальными от лиц, которые примут заинтересованность в моем проекте. Как взаимодействовать с системой вы узнаете из моих записей ниже, а также узнаете как эта ОС устроена.
Я видел много имитаций операционных систем на Scratch, где при входе вылетала фейковая страница загрузки и было что-то вроде имитатора входа в аккаунт и предлагалось свайпнуть вправо, влево, вверх и т.д. Но мы-то с вами делаем реальную ОС и нам нужен результат, поэтому при входе вы увидите… Мою аватарку. Это не шутка, но ее показ длится всего 2 секунды. Вы без проблем можете убрать эту штуку, но по моей задумке символом ОС является лампочка. Я вообще люблю называть проекты названиями с Idea так как:
1) это стильно
2) это ссылает на мой профиль
3) это означает “креативность”, “идея”
и именно это название будет оригинальным, начальным названием нашей ОС. В будущем, если вы будете делать репрезентацию ОС, вы можете изменить эту иконку на логотип своей репрезентации (если он есть). Но так как мы, ребята, подкаблучники… Да, да, мы все “под каблуком” Scratch, так как все, абсолютно все наши проекты выпускаются под лицензией Copyleft (копилефт). Это означает, что все что вы выложили, может быть просмотрено изнутри, может быть сделана копия проекта, но так как при этом копилефт гарантирует (пффф…), что истинный автор (основатель) всегда должен быть указан, то прошу вас, ребята, указывать, что именно моя ОС лежит в основе вашей репрезентации или за вас это сделает Scratch.
Теперь поговорим о таких вещах, как фейк. Фейк - он везде. У вас дома, у вас в кармане и у вас в школе. И на Scratch он есть. Сколько я видел проектов ОС, вроде бы и неплохих, но все портил весь фейк этого проекта. Там можно было пожмакать на кнопку, поиграть в понг, посмотреть время, да. Выбрать обои. Но ОС - это же не только дизайн. Это ещё и возможность быстро добавлять приложения, расширяться. ОС должна предоставлять приложениям ряд возможностей. А теперь, хочу сказать, чего в моей ОС никогда не будет:
1. Фейковые страницы входа. Это только усложняет процесс входа в ОС. На самом деле вы никуда не входите, а чтобы загрузить ОС требуется всего лишь 0.3 секунды, но весь визуальный эффект создаётся колесиком, которое крутится или “входом в аккаунт”. Если вы хотите спросить, а нельзя ли создать уч.запись на ОС, то спросите меня, я недавно воссоздал такое в своей игре ALGO 2. По моей идее она должна была быть платная и я должен был стать мультимиллионером, но Scratch заблокал мою игру после того, как ее репортнули и ее просмотрело 50 человек за один день (ебоооой). Там ты должен был написать свой активационный ключ, который был привязан к твоему аккаунту через базу данных, но теперь это все неважно, ибо игра в открытом доступе, а ее более классная - платная версия - валяется заблоченная у меня в стаффе.
2. Плохой дизайн. Я не дизайнер, но чувство дизайна у меня есть и я никогда не стану делать в ОС ярко синий фон а на нем ярко красные иконки приложений. Нет, есть такие сайты, как flaticon.com где можно халявно затариться иконками и есть Adobe Photoshop, чтобы превратить свою игру в чудо дизайна. Есть скруглённые прямоугольники и есть векторная графика. Даже редактор Scratch ее поддерживает и очень активно. О дизайне тут уже говорил умный NeonFactoryX и говорил, что у многих руки кривые и им просто лень делать нормальную графику, так что попросите сделать это хороших скрэтчеров дизайнеров, которые обычно девочки. Ну а если вы все равно сделали такую графику в репрезентации, то тут два варианта: первый, мы репрезентируем вашу репрезентацию и делаем там норм графикуили мы просто не удостоим ее нашего внимания.
3. Куча мусора в проекте. Такой мусор, как 100 спрайтов, из которых можно сделать 1 или длинная музыка в игре не только делают ваш проект слишком большим по размеру (проверить можно, скачав), но и он долго загружается, опять же, из-за размера. Те люди, которые пишут, что в Scratch 3 проекты долго загружаются, может, вы просто пишете не совсем оптимизированные программы? И поверьте, я знаю о чем говорю, ибо моя игра ALGO 1 весит 44 Мб, а ALGO 2 весит 13 Мб. Есть разница? Несмотря на то, что во второй части больше функций и лучше графика, все равно она весит меньше просто потому, что я использую клоны. В моей ОС иконки на рабочем столе - клоны. И именно тот факт, что можно было сделать спрайт с клонами вместо кучи спрайтов отличает нас от доисторических людей-кроманьонцев.
Из тех ОС, которые я пока видел, мне понравилась вроде одна, Tec OS 3, одна из самых популярных ОС на Scratch, но и она не очень помогает решать вам реальные задачи, кроме изменения обоев на рабочем столе, но с точки зрения дизайна ее концепт очень хорош. И я смотрел ее код, и он ну очееееень не оптимизирован, так что я решил, что напишу свою ОС со своими принципами, вместо того, чтобы париться над чужим кодом.
Недавно на русском форуме был бум с каким-то GRBrowser, но хоть я записался, меня абсолютно не впечатлил проект, хотя мне понравились принципы. Скажу, что графика и возможность расширения оставляют желать лучшего. Имеено этот проект, отчасти и подтолкнул меня сделать свою ОС.
Теперь, после того, как я рассказал о принципах ОС, почему бы не перейти к устройству?
После программирования на Scratch на протяжении 4 лет я понял одно: в Scratch списки лучше переменных. Они практичнее. И могут быть больше. В Scratch максимальная длинна переменной - около 10000 символов. А максимальная длина списка - 400000 элементов, плюс каждый из них имеет максимальную длину равную максимальной длине переменной.
В основе моей ОС лежат несколько списков. Я расскажу о них, но сначала, о другом. Вам никогда не приходилось использовать в своих программах такое????
Только вместо звуков у вас будут другие процессы, скажем, виден спрайт или спрятан. А теперь представьте ОС. Там много программ и необходимо понимать, какая программа сейчас запущена, чтобы воспроизводить такие циклы. Для этого я сделал список процессов.
Этот список нужен для того, чтобы отображать, какое приложение запущено в данный момент. С этим списком тесно связан сам список приложений.
В моей ОС эти два списка называются os.apps и os.activity. Почему впереди стоит os? Если вам когда-нибудь приходилось иметь дело с таким языком программирования, как Python, то там есть такое понятие, как пространство имён. Когда вы в свою программу загружаете модуль (дополнительные функции) они обозначаются таким образом:
модуль.функция()
В моей ОС такая система используется для того, чтобы и я, и вы все понимали, какая переменная где, и к какой области ОС она относится. Если впереди стоит os. то это означает, что это переменная/список относится к операционной системе. А если там стоит cmd. ,то это что-то имеет отношение к командной строке (сейчас расскажу). Такая система облегчит вам всем работу и я яро являюсь ее ярым поклонником. Также я призываю вас при изменении ОС и добавлении новых переменных называть их подобным образом, где спереди будет стоять название вашей программы, точка и название переменной.
Список приложений - по сути, то, в каком порядке приложения отображаются на рабочем столе. Рабочий стол представляет собой сетку х*у, где х и у - значения, которые тоже может изменить пользователь ОС. Если приложений больше, чем x*y, вы можете переключаться между слайдами рабочего стола, нажимая на боковую часть рабочего стола, где стрелочки. Соответственно вся эта система использует клоны, она мною уже написана, так что с ней вам работать вряд-ли придется. У каждого приложения в ОС есть номер и имя. С именем все понятно, а номер - это номер этого приложения в списке os.apps.
Текущее состояние приложения в списке процессов можно проверить так:
Процесс может быть равен 0 (выключено) и 1 (включено). Также если номер приложения = 0, то это означает, что вы на рабочем столе. Имя приложения на рабочем столе будет показываться как Desktop. Имя приложения и его номер - это переменные os.app.active и os.app.active-name - они и процессы определяются почти автоматически. Почти. Также есть переменная os.app.opened куда сохраняется имя приложения по открытию.
Иконка приложения отображается спрайтом icon, где иконка вашего приложения имеет имя вашего приложения. Напомню, что при работе с костюмами имеет значение то, в каком регистре вы пишете название (заглавные или строчные).
Когда вы жмакаете на иконку вашего приложения на моей ОС, кнопка отправляет событие, которое называется основное. Основное событие имеет определенный вид. Выглядит вот так, с учётом пробелов:
APP Camera
В данном примере рассмотрено приложение “Камера”, но событие составляется так:
APP+пробел+имя_приложения
При этом, чтобы все заработало, ваше приложение должно быть в списке os.apps и иметь иконку. По поводу списка os.activity, не беспокойтесь, все будет создано при запуске ОС.
Когда ваше приложение получает основное событие (обычно это получатель - пустой спрайт с именем вашего приложения), то это событие должно:
1. Изменить процесс приложения на 1, дать ОС понять, что приложение работает.
2. Обнулить нужные переменные в вашем приложении, причем не те, которые вы задали по щелчку зелёного флага, а именно те, которые должны обнулиться при запуске приложения.
3. Передать событие готовности.
Событие готовности - второй тип событий, выглядят как:
APP Camera READY
(APP+пробел+имя_приложения+пробел+READY)
Это означает, что ваше приложение готово к запуску. По нему начинают работать все спрайты в приложении. Причем вы должны поставить перед собой четкую задачу.
ВСЕ ВАШЕ ПРИЛОЖЕНИЕ ДОЛЖНО ИСЧЕЗНУТЬ И ЗАКРЫТЬСЯ КАК ТОЛЬКО ПРИЛОЖЕНИЕ ПОЛУЧИТ СОБЫТИЕ ВЫХОДА
Событие выхода - третий и последний тип. Говорит вашему приложению, что пора закругляться и задаёт процесс приложения 0.
КАК РАБОТАЮТ ЭТИ ТРИ СОБЫТИЯ ВЫ МОЖЕТЕ ЛЕГКО УВИДЕТЬ, ЗАГЛЯНУВ В СПРАЙТ ПРИЛОЖЕНИЯ CAMERA или COMMAND LINE
Событие выхода выглядит вот так:
APP Camera OFF
Хочу также сказать, что любой отсуп от правил названия событий ведет за собой ошибку в ОС, то есть приложение может не открываться.
Также должен сказать, что много настроек системы изменяются через списковое приложение - командную строку. Чтобы перейти в нее, вы можете нажать на ее значок на рабочем столе.
Это текстовое приложение и пока единственное приложение, которое запускается в фоновом режиме.
В моей ОС нет визуальных настроек - там рычажков, кнопочек и т.д. Все настройки через командную строку. Там можно изменить размер иконок, столбцы и строки рабочего стола и т.д.
Весь код командной строки в спрайте Command line.
Когда вы открываете ОС, вы видите панель состояния наверху (на рабочем столе). Это как навигационная панель, но я решил назвать ее модным словом. Когда вы запускаете приложение, она перемещается вниз. Соответственно там будет кнопка выхода из приложения (та самая, что передает событие выхода). Сбоку там есть ещё одна кнопка и это командная строка. Даже если вы не в самой командной строке, она все равно будет работать. Это сделано для того, чтобы
1. Получить доступ к настройкам ОС из любого места.
2. Чтобы вы не беспокоились по поводу настроек вашего приложения.
Вы через спрайт “Command line” можете сделать так, что пользователь прямо из вашего приложения, запустив командную строку может изменить какие-либо настройки.
КАК РАБОТАЕТ КОМАНДНАЯ СТРОКА
1. Вас запрашивают команду, вызывая APP Command line INPUT, которая сохраняется в переменную cmd.command.
2. Если эта команда существует, переходим к пункту три. Если нет, ошибочка.
3. Если команде нужны аргументы или доп. ввод, то она запрашивает их, вызывая APP Command line IN. Это событие вызывается столько раз, сколько нужно команде.
4. Все аргументы сохраняются в списке cmd.arguments.
5. Затем команда выполняется в виде функции в спрайте строки. Если у команды есть какой-то вывод, то он сохраняется в списке cmd.output.
Также расскажу о том, как читать командную строку. Все команды, которые вы ввели начинаются с >>>
Если вы вводили аргументы, то они начинаются с $
Если был вывод, то он просто выводится без знаков спереди.
Командная строка IdeaOS - это универсальное средство управления моей OС. С ее помощью вы много чего сможете изменить. Команды в командной строке делятся на два типа. Первый, это глобальный. Эти команды управляют ОС или приложениями и могут быть вызваны из любого места ОС. Также есть частные команды, которые могут быть вызваны только из определенных приложений.
Также могут быть созданы приложения, которые отдавая команды в командную строку будут изменять настройки ОС. Тогда можете смело называть такое приложение скриптом, так как оно запускает свою маленькую программку внутри ОС.
Команды, которые изменяют какие-либо параметры, начинаются с CHANGE.
Команды, которые покажут вам время или дату начинаются с TIME.
Если команда начинается с ADMIN, то она изменяет очень важные части ОС, соответственно должна использоваться очень аккуратно. Конечно, любой эффект от команд можно сбросить, нажав на зелёный флаг. Одной из таких “админ” команд является команда admin kill которая “убивает” приложение по его номеру. То есть после запуска вы хотите удалить камеру. Что для этого потребуется:
>>> get
$ Camera
1
>>> admin kill
$ 1
Готово!
Вернуть камеру можно командой admin add или admin insert. Также есть и другие команды, о них вы можете прочитать в описании ОС.
Также если вы запускаете некоторые команды из приложения (не командной строки), то иногда вам может потребоваться вывод из них. Весь вывод команды в командной строке сохраняется в списке cmd.output, о чем и было сказано ранее. Этот список также можно очистить функцией “Очистить вывод”. Тогда есть функция print которая выведет вам этот список на экран
Также есть и определенные примеры команд встроенных приложений, таких как камера. Камера поддерживает команды camera ghost, camera bright, camera dark, camera open, camera open reverse и camera close. Для того, чтобы вывести эти значения, введите команду about и как аргумент - номер приложения, которое вам необходимо. Эти значения хранятся в списке os.about, который вы при создании вашей копии операционной системы также должны будете модернизировать при наличии новых приложений. Командная строка в IdeaOS лишает вас нужны добавлять в ваш проект настройки, 2к19 год и ОС на Scratch 3 точно должна использовать такое нововведение, ведь написать команду гораздо легче, чем ковыряться в вашем графическом интерфейсе и пытаться разобраться где тут что вообще. А так, вы выпускаете проект, добавляете приложение. Через строку можно посмотреть какие у него есть команды, а их назначение можно будет прочитать в описании проекта. Легко!
ПРИМЕР
camera ghost - используется для изменения прозрачности видео. Запрашивает аргумент - число от 0 до 100 и меняет прозрачность.
camera bright - используется для изменения фона камеры с по умолчанию на белый. Если вы будете использовать это в паре с ghost, получится ощутимый результат.
camera dark - используется чтобы подставить на задний план черный фон, причем черный фон полностью нейтрализует эффект от ghost.
camera open - включает камеру.
camera close - выключает камеру.
camera open reverse - включает камеру в отраженном режиме.
Примерно так вы должны будете описать команды для приложения.
Чтобы понять как работает моя ОС и стать профессиональным девелопером на ней, вы можете просмотреть ее код. Также вы должны понять тему про три события, про процессы и про командную строку.
Я очень надеюсь, что вас впечатлит моя ОС, которую я грокнул за 12 часов нонстоп работы.
ДОПОЛНИТЕЛЬНО
Иногда в ваших приложениях вам будет нужно воспроизвести какую-нибудь музыку, но вы не знаете, какую громкость ставить. Поставить громкость - переменная os.volume решает вашу задачу. Ее можно изменить через командную строку, по умолчанию равна 70.
Также расскажу о уведомлениях. Встроенные уведомления, конечно, нуждаются в модернизации, но уже какая-то база есть. Когда вы получаете уведомление, оно сопровождается звуковым сигналом и появляется лампочка на панели состояния. Текст уведомления не высвечивается (пока), но его можно увидеть, введя в строку команды n или new. Также есть команда n clear для очистки журнала уведомлений. Если вы из вашего приложения хотите вызвать уведомление, задайте его текст в переменной os.notification-text и вызовете событие «Уведомление».
Если у вас появится вопрос по работе ОС, мы всегда можем списаться на Discord. Или задайте его ниже. Также я попробую выложить гайд по созданию нового приложения на мою ОС, скажем, переводчик, на мой канал YouTube. Он пустой, там 0 подписчиков (много для меня), но хоть какой-то контент будет.
Почему пока в ОС нет облачных данных, прикольно же? Так как облачные данные могут храниться только в виде цифр, то они не очень удобны, а также потому что они очень маленькие. Облачные данные будут задействованы. Аккуратно выбирайте цели для облачных данных, ведь всего максимум 10 переменных на проект.
- An_Idea
-
54 posts
Моя ОС - IdeaOS
Неа. И пожалуйста, не цитируйте ту большую статью. У тебя ОС слишком имитирует ОС на комп, винда и то быстрее загружается, чем твоя. Загрузка - вообще лишнее. Я создаю свою ОС. Может тебе присоединиться к нам. Я тоже создаю OS
- SergeyD-2010
-
500+ posts
Моя ОС - IdeaOS
Не хош как хош. если что пиши в профильНеа. И пожалуйста, не цитируйте ту большую статью. У тебя ОС слишком имитирует ОС на комп, винда и то быстрее загружается, чем твоя. Загрузка - вообще лишнее. Я создаю свою ОС. Может тебе присоединиться к нам. Я тоже создаю OS
- Scratchman1990
-
2 posts
Моя ОС - IdeaOS
Заинтересован
. Я тоже !
Last edited by Scratchman1990 (Sept. 17, 2019 20:44:51)
- White_Lord
-
1000+ posts
Моя ОС - IdeaOS
Мне понравилось. Но почему остались предыдущие версии?
- Kosstepkos
-
100+ posts
Моя ОС - IdeaOS
Все выкладывают ОС, я не исключение.
IdeaOS
Начнем, пожалуй, с моральных принципов. IdeaOS предназначена для создания полезных приложений на ее базе. Причем приложения должны помогать решать какие-нибудь задачи, но это может быть и игра. Но я бы хотел видеть мою ОС чем-то вроде собрания гигантского сборника инструментов для других скрэтчеров. Как развивать проект? Просто сделайте ремикс. На самом деле, писать приложения под мою ОС достаточно легко, и они мало чем будут отличаться от приложения, написанного с нуля. Также вы можете не только выпускать приложения, но и изменять саму ОС, делая ОС репрезентации. Самые лучшии ОС репрезентации будут избираться официальными от лиц, которые примут заинтересованность в моем проекте. Как взаимодействовать с системой вы узнаете из моих записей ниже, а также узнаете как эта ОС устроена.
Я видел много имитаций операционных систем на Scratch, где при входе вылетала фейковая страница загрузки и было что-то вроде имитатора входа в аккаунт и предлагалось свайпнуть вправо, влево, вверх и т.д. Но мы-то с вами делаем реальную ОС и нам нужен результат, поэтому при входе вы увидите… Мою аватарку. Это не шутка, но ее показ длится всего 2 секунды. Вы без проблем можете убрать эту штуку, но по моей задумке символом ОС является лампочка. Я вообще люблю называть проекты названиями с Idea так как:
1) это стильно
2) это ссылает на мой профиль
3) это означает “креативность”, “идея”
и именно это название будет оригинальным, начальным названием нашей ОС. В будущем, если вы будете делать репрезентацию ОС, вы можете изменить эту иконку на логотип своей репрезентации (если он есть). Но так как мы, ребята, подкаблучники… Да, да, мы все “под каблуком” Scratch, так как все, абсолютно все наши проекты выпускаются под лицензией Copyleft (копилефт). Это означает, что все что вы выложили, может быть просмотрено изнутри, может быть сделана копия проекта, но так как при этом копилефт гарантирует (пффф…), что истинный автор (основатель) всегда должен быть указан, то прошу вас, ребята, указывать, что именно моя ОС лежит в основе вашей репрезентации или за вас это сделает Scratch.
Теперь поговорим о таких вещах, как фейк. Фейк - он везде. У вас дома, у вас в кармане и у вас в школе. И на Scratch он есть. Сколько я видел проектов ОС, вроде бы и неплохих, но все портил весь фейк этого проекта. Там можно было пожмакать на кнопку, поиграть в понг, посмотреть время, да. Выбрать обои. Но ОС - это же не только дизайн. Это ещё и возможность быстро добавлять приложения, расширяться. ОС должна предоставлять приложениям ряд возможностей. А теперь, хочу сказать, чего в моей ОС никогда не будет:
1. Фейковые страницы входа. Это только усложняет процесс входа в ОС. На самом деле вы никуда не входите, а чтобы загрузить ОС требуется всего лишь 0.3 секунды, но весь визуальный эффект создаётся колесиком, которое крутится или “входом в аккаунт”. Если вы хотите спросить, а нельзя ли создать уч.запись на ОС, то спросите меня, я недавно воссоздал такое в своей игре ALGO 2. По моей идее она должна была быть платная и я должен был стать мультимиллионером, но Scratch заблокал мою игру после того, как ее репортнули и ее просмотрело 50 человек за один день (ебоооой). Там ты должен был написать свой активационный ключ, который был привязан к твоему аккаунту через базу данных, но теперь это все неважно, ибо игра в открытом доступе, а ее более классная - платная версия - валяется заблоченная у меня в стаффе.
2. Плохой дизайн. Я не дизайнер, но чувство дизайна у меня есть и я никогда не стану делать в ОС ярко синий фон а на нем ярко красные иконки приложений. Нет, есть такие сайты, как flaticon.com где можно халявно затариться иконками и есть Adobe Photoshop, чтобы превратить свою игру в чудо дизайна. Есть скруглённые прямоугольники и есть векторная графика. Даже редактор Scratch ее поддерживает и очень активно. О дизайне тут уже говорил умный NeonFactoryX и говорил, что у многих руки кривые и им просто лень делать нормальную графику, так что попросите сделать это хороших скрэтчеров дизайнеров, которые обычно девочки. Ну а если вы все равно сделали такую графику в репрезентации, то тут два варианта: первый, мы репрезентируем вашу репрезентацию и делаем там норм графикуили мы просто не удостоим ее нашего внимания.
3. Куча мусора в проекте. Такой мусор, как 100 спрайтов, из которых можно сделать 1 или длинная музыка в игре не только делают ваш проект слишком большим по размеру (проверить можно, скачав), но и он долго загружается, опять же, из-за размера. Те люди, которые пишут, что в Scratch 3 проекты долго загружаются, может, вы просто пишете не совсем оптимизированные программы? И поверьте, я знаю о чем говорю, ибо моя игра ALGO 1 весит 44 Мб, а ALGO 2 весит 13 Мб. Есть разница? Несмотря на то, что во второй части больше функций и лучше графика, все равно она весит меньше просто потому, что я использую клоны. В моей ОС иконки на рабочем столе - клоны. И именно тот факт, что можно было сделать спрайт с клонами вместо кучи спрайтов отличает нас от доисторических людей-кроманьонцев.
Из тех ОС, которые я пока видел, мне понравилась вроде одна, Tec OS 3, одна из самых популярных ОС на Scratch, но и она не очень помогает решать вам реальные задачи, кроме изменения обоев на рабочем столе, но с точки зрения дизайна ее концепт очень хорош. И я смотрел ее код, и он ну очееееень не оптимизирован, так что я решил, что напишу свою ОС со своими принципами, вместо того, чтобы париться над чужим кодом.
Недавно на русском форуме был бум с каким-то GRBrowser, но хоть я записался, меня абсолютно не впечатлил проект, хотя мне понравились принципы. Скажу, что графика и возможность расширения оставляют желать лучшего. Имеено этот проект, отчасти и подтолкнул меня сделать свою ОС.
Теперь, после того, как я рассказал о принципах ОС, почему бы не перейти к устройству?
После программирования на Scratch на протяжении 4 лет я понял одно: в Scratch списки лучше переменных. Они практичнее. И могут быть больше. В Scratch максимальная длинна переменной - около 10000 символов. А максимальная длина списка - 400000 элементов, плюс каждый из них имеет максимальную длину равную максимальной длине переменной.
В основе моей ОС лежат несколько списков. Я расскажу о них, но сначала, о другом. Вам никогда не приходилось использовать в своих программах такое????
Только вместо звуков у вас будут другие процессы, скажем, виден спрайт или спрятан. А теперь представьте ОС. Там много программ и необходимо понимать, какая программа сейчас запущена, чтобы воспроизводить такие циклы. Для этого я сделал список процессов.
Этот список нужен для того, чтобы отображать, какое приложение запущено в данный момент. С этим списком тесно связан сам список приложений.
В моей ОС эти два списка называются os.apps и os.activity. Почему впереди стоит os? Если вам когда-нибудь приходилось иметь дело с таким языком программирования, как Python, то там есть такое понятие, как пространство имён. Когда вы в свою программу загружаете модуль (дополнительные функции) они обозначаются таким образом:
модуль.функция()
В моей ОС такая система используется для того, чтобы и я, и вы все понимали, какая переменная где, и к какой области ОС она относится. Если впереди стоит os. то это означает, что это переменная/список относится к операционной системе. А если там стоит cmd. ,то это что-то имеет отношение к командной строке (сейчас расскажу). Такая система облегчит вам всем работу и я яро являюсь ее ярым поклонником. Также я призываю вас при изменении ОС и добавлении новых переменных называть их подобным образом, где спереди будет стоять название вашей программы, точка и название переменной.
Список приложений - по сути, то, в каком порядке приложения отображаются на рабочем столе. Рабочий стол представляет собой сетку х*у, где х и у - значения, которые тоже может изменить пользователь ОС. Если приложений больше, чем x*y, вы можете переключаться между слайдами рабочего стола, нажимая на боковую часть рабочего стола, где стрелочки. Соответственно вся эта система использует клоны, она мною уже написана, так что с ней вам работать вряд-ли придется. У каждого приложения в ОС есть номер и имя. С именем все понятно, а номер - это номер этого приложения в списке os.apps.
Текущее состояние приложения в списке процессов можно проверить так:
Процесс может быть равен 0 (выключено) и 1 (включено). Также если номер приложения = 0, то это означает, что вы на рабочем столе. Имя приложения на рабочем столе будет показываться как Desktop. Имя приложения и его номер - это переменные os.app.active и os.app.active-name - они и процессы определяются почти автоматически. Почти. Также есть переменная os.app.opened куда сохраняется имя приложения по открытию.
Иконка приложения отображается спрайтом icon, где иконка вашего приложения имеет имя вашего приложения. Напомню, что при работе с костюмами имеет значение то, в каком регистре вы пишете название (заглавные или строчные).
Когда вы жмакаете на иконку вашего приложения на моей ОС, кнопка отправляет событие, которое называется основное. Основное событие имеет определенный вид. Выглядит вот так, с учётом пробелов:
APP Camera
В данном примере рассмотрено приложение “Камера”, но событие составляется так:
APP+пробел+имя_приложения
При этом, чтобы все заработало, ваше приложение должно быть в списке os.apps и иметь иконку. По поводу списка os.activity, не беспокойтесь, все будет создано при запуске ОС.
Когда ваше приложение получает основное событие (обычно это получатель - пустой спрайт с именем вашего приложения), то это событие должно:
1. Изменить процесс приложения на 1, дать ОС понять, что приложение работает.
2. Обнулить нужные переменные в вашем приложении, причем не те, которые вы задали по щелчку зелёного флага, а именно те, которые должны обнулиться при запуске приложения.
3. Передать событие готовности.
Событие готовности - второй тип событий, выглядят как:
APP Camera READY
(APP+пробел+имя_приложения+пробел+READY)
Это означает, что ваше приложение готово к запуску. По нему начинают работать все спрайты в приложении. Причем вы должны поставить перед собой четкую задачу.
ВСЕ ВАШЕ ПРИЛОЖЕНИЕ ДОЛЖНО ИСЧЕЗНУТЬ И ЗАКРЫТЬСЯ КАК ТОЛЬКО ПРИЛОЖЕНИЕ ПОЛУЧИТ СОБЫТИЕ ВЫХОДА
Событие выхода - третий и последний тип. Говорит вашему приложению, что пора закругляться и задаёт процесс приложения 0.
КАК РАБОТАЮТ ЭТИ ТРИ СОБЫТИЯ ВЫ МОЖЕТЕ ЛЕГКО УВИДЕТЬ, ЗАГЛЯНУВ В СПРАЙТ ПРИЛОЖЕНИЯ CAMERA или COMMAND LINE
Событие выхода выглядит вот так:
APP Camera OFF
Хочу также сказать, что любой отсуп от правил названия событий ведет за собой ошибку в ОС, то есть приложение может не открываться.
Также должен сказать, что много настроек системы изменяются через списковое приложение - командную строку. Чтобы перейти в нее, вы можете нажать на ее значок на рабочем столе.
Это текстовое приложение и пока единственное приложение, которое запускается в фоновом режиме.
В моей ОС нет визуальных настроек - там рычажков, кнопочек и т.д. Все настройки через командную строку. Там можно изменить размер иконок, столбцы и строки рабочего стола и т.д.
Весь код командной строки в спрайте Command line.
Когда вы открываете ОС, вы видите панель состояния наверху (на рабочем столе). Это как навигационная панель, но я решил назвать ее модным словом. Когда вы запускаете приложение, она перемещается вниз. Соответственно там будет кнопка выхода из приложения (та самая, что передает событие выхода). Сбоку там есть ещё одна кнопка и это командная строка. Даже если вы не в самой командной строке, она все равно будет работать. Это сделано для того, чтобы
1. Получить доступ к настройкам ОС из любого места.
2. Чтобы вы не беспокоились по поводу настроек вашего приложения.
Вы через спрайт “Command line” можете сделать так, что пользователь прямо из вашего приложения, запустив командную строку может изменить какие-либо настройки.
КАК РАБОТАЕТ КОМАНДНАЯ СТРОКА
1. Вас запрашивают команду, вызывая APP Command line INPUT, которая сохраняется в переменную cmd.command.
2. Если эта команда существует, переходим к пункту три. Если нет, ошибочка.
3. Если команде нужны аргументы или доп. ввод, то она запрашивает их, вызывая APP Command line IN. Это событие вызывается столько раз, сколько нужно команде.
4. Все аргументы сохраняются в списке cmd.arguments.
5. Затем команда выполняется в виде функции в спрайте строки. Если у команды есть какой-то вывод, то он сохраняется в списке cmd.output.
Также расскажу о том, как читать командную строку. Все команды, которые вы ввели начинаются с >>>
Если вы вводили аргументы, то они начинаются с $
Если был вывод, то он просто выводится без знаков спереди.
Командная строка IdeaOS - это универсальное средство управления моей OС. С ее помощью вы много чего сможете изменить. Команды в командной строке делятся на два типа. Первый, это глобальный. Эти команды управляют ОС или приложениями и могут быть вызваны из любого места ОС. Также есть частные команды, которые могут быть вызваны только из определенных приложений.
Также могут быть созданы приложения, которые отдавая команды в командную строку будут изменять настройки ОС. Тогда можете смело называть такое приложение скриптом, так как оно запускает свою маленькую программку внутри ОС.
Команды, которые изменяют какие-либо параметры, начинаются с CHANGE.
Команды, которые покажут вам время или дату начинаются с TIME.
Если команда начинается с ADMIN, то она изменяет очень важные части ОС, соответственно должна использоваться очень аккуратно. Конечно, любой эффект от команд можно сбросить, нажав на зелёный флаг. Одной из таких “админ” команд является команда admin kill которая “убивает” приложение по его номеру. То есть после запуска вы хотите удалить камеру. Что для этого потребуется:
>>> get
$ Camera
1
>>> admin kill
$ 1
Готово!
Вернуть камеру можно командой admin add или admin insert. Также есть и другие команды, о них вы можете прочитать в описании ОС.
Также если вы запускаете некоторые команды из приложения (не командной строки), то иногда вам может потребоваться вывод из них. Весь вывод команды в командной строке сохраняется в списке cmd.output, о чем и было сказано ранее. Этот список также можно очистить функцией “Очистить вывод”. Тогда есть функция print которая выведет вам этот список на экран
Также есть и определенные примеры команд встроенных приложений, таких как камера. Камера поддерживает команды camera ghost, camera bright, camera dark, camera open, camera open reverse и camera close. Для того, чтобы вывести эти значения, введите команду about и как аргумент - номер приложения, которое вам необходимо. Эти значения хранятся в списке os.about, который вы при создании вашей копии операционной системы также должны будете модернизировать при наличии новых приложений. Командная строка в IdeaOS лишает вас нужны добавлять в ваш проект настройки, 2к19 год и ОС на Scratch 3 точно должна использовать такое нововведение, ведь написать команду гораздо легче, чем ковыряться в вашем графическом интерфейсе и пытаться разобраться где тут что вообще. А так, вы выпускаете проект, добавляете приложение. Через строку можно посмотреть какие у него есть команды, а их назначение можно будет прочитать в описании проекта. Легко!
ПРИМЕР
camera ghost - используется для изменения прозрачности видео. Запрашивает аргумент - число от 0 до 100 и меняет прозрачность.
camera bright - используется для изменения фона камеры с по умолчанию на белый. Если вы будете использовать это в паре с ghost, получится ощутимый результат.
camera dark - используется чтобы подставить на задний план черный фон, причем черный фон полностью нейтрализует эффект от ghost.
camera open - включает камеру.
camera close - выключает камеру.
camera open reverse - включает камеру в отраженном режиме.
Примерно так вы должны будете описать команды для приложения.
Чтобы понять как работает моя ОС и стать профессиональным девелопером на ней, вы можете просмотреть ее код. Также вы должны понять тему про три события, про процессы и про командную строку.
Я очень надеюсь, что вас впечатлит моя ОС, которую я грокнул за 12 часов нонстоп работы.
ДОПОЛНИТЕЛЬНО
Иногда в ваших приложениях вам будет нужно воспроизвести какую-нибудь музыку, но вы не знаете, какую громкость ставить. Поставить громкость - переменная os.volume решает вашу задачу. Ее можно изменить через командную строку, по умолчанию равна 70.
Также расскажу о уведомлениях. Встроенные уведомления, конечно, нуждаются в модернизации, но уже какая-то база есть. Когда вы получаете уведомление, оно сопровождается звуковым сигналом и появляется лампочка на панели состояния. Текст уведомления не высвечивается (пока), но его можно увидеть, введя в строку команды n или new. Также есть команда n clear для очистки журнала уведомлений. Если вы из вашего приложения хотите вызвать уведомление, задайте его текст в переменной os.notification-text и вызовете событие «Уведомление».
Если у вас появится вопрос по работе ОС, мы всегда можем списаться на Discord. Или задайте его ниже. Также я попробую выложить гайд по созданию нового приложения на мою ОС, скажем, переводчик, на мой канал YouTube. Он пустой, там 0 подписчиков (много для меня), но хоть какой-то контент будет.
Почему пока в ОС нет облачных данных, прикольно же? Так как облачные данные могут храниться только в виде цифр, то они не очень удобны, а также потому что они очень маленькие. Облачные данные будут задействованы. Аккуратно выбирайте цели для облачных данных, ведь всего максимум 10 переменных на проект.
А как ты относишся к симуляторам Windows и тому подобном?
- White_Lord
-
1000+ posts
Моя ОС - IdeaOS
Мне кажется они достаточно простые. А как ты относишся к симуляторам Windows и тому подобном?
- Mark_Rus-Scratch-Lab
-
500+ posts
Моя ОС - IdeaOS
Все выкладывают ОС, я не исключение.
IdeaOS
Начнем, пожалуй, с моральных принципов. IdeaOS предназначена для создания полезных приложений на ее базе. Причем приложения должны помогать решать какие-нибудь задачи, но это может быть и игра. Но я бы хотел видеть мою ОС чем-то вроде собрания гигантского сборника инструментов для других скрэтчеров. Как развивать проект? Просто сделайте ремикс. На самом деле, писать приложения под мою ОС достаточно легко, и они мало чем будут отличаться от приложения, написанного с нуля. Также вы можете не только выпускать приложения, но и изменять саму ОС, делая ОС репрезентации. Самые лучшии ОС репрезентации будут избираться официальными от лиц, которые примут заинтересованность в моем проекте. Как взаимодействовать с системой вы узнаете из моих записей ниже, а также узнаете как эта ОС устроена.
….
Приветствую
Хочу сказать кое-что, прежде чем обсуждать непосредственно ОС.
Очень настойчиво прошу вначале описывать самое основное, а технические подробности можно в постах ниже. Поверьте, читать очень тяжело, учитывая, что тонкости кода перемешиваются с постулатами проекта. Неясно, что важное, а что второстепенное. Плюс объёмы нужно немного уменьшать. Может, это проверка на выдержку, но с таким огромным описанием сюда никто не зайдёт. Хотя в одну строку тоже совершеннно не стоит. Однако можно найти некий баланс. И, пока помню: пробелы между абзацами, оглавление и форматирование текста сделает читабельнее данный документ. Если что это советы, не более. Вы в праве распоряжаться и действовать, как посчитаете нужным.
Идея сделать ос с открытым кодом и внутренним языком программирования (или просто основанном на командной строке) это очень классная вещь. Сам некогда мечтал создать DomOS с тем же принципом (если поискать на формуах можно наверное найти, но дальше чем обсуждение дело не пошло). Есть один минус – это сложно. Причём даже очень.
Насчёт Вашей реализации. Я смотрел команды, какие есть в проекте – ну это капли в море. Я не знаю, какое приложение можно написать, используя сей скромный набор инструментов (извините, но это так), но знаю, что оно точно не сможет соответсвовать потребностям общества, так сказать. Вообще нужно полноценно перевести Скретч на текстовую оболочку и добавить ещё и своего. А вот это почти неисполнимо, потому DomOS была заброшена. Ибо с основы всё нужно продумать и прописать огромные сценарии, ради простейших вещей. А это морока прям врагу не пожелаешь.
Разделение на процессы это дело превосходное. Оптимизация и дизайн – великолепное. Мысли правильные и хорошие. Желаю и далее продвигаться и развиваться в этом направлении. Фэйки действительно не всегда уместны, однако реалистичность некая необходима. А прописывать хешфункции, криптографически стойкую систему безопасности, систему смену профилей, синхронизацию файлов между клиентами и прочее ради только одного входа в систему – неэффективно, хотя, признаюсь, так заметно круче и лучше, чем пустышки-симуляторы.
И, к оптимизации – простите, но ваш код уже не читабелен и выглядит жутко, и вести разработку приложений элементарно впадлу, извините за выражение. Какие-то остатки неподключенных скриптов, хаотичное расположение сценариев, множество списков, переменных и сообщенеий – словом, много неудобств. Пожулайста, поправьте это, если возможно. Верно, не моё дело это лазить в чужой код и проект, но я по-человечески помочь хочу. Я не хейтер, задумка правда крутая и мне нравится многое, вот пока реализация подводит.
Насчёт того, что идёт ниже, слишком пока мне непонятно, хотя если поседеть (да, с буквой Е, от слова седой), то можно разобраться.
Очень локально, хотя пригодится при разработке. 12 часов это конечно прям круто. Хотя я бы лучше по кусочкам по 3 часа, но если есть возможность и такое терпение – то превосходно. Мой респект.
P.S. Если что заранее прошу извинить, если был где-то грубым или резким. Я не со зла. И, также извинясь, я могу допускать грамматические и пунктуационные ошибки, причём обильно. Ах да, мнение сверхсубъективное и порою нелогичное. Но как могу стараюсь поправить.
Last edited by Mark_Rus-Scratch-Lab (Dec. 29, 2019 13:31:37)
- Sociophobia
-
18 posts
Моя ОС - IdeaOS
1.Вы сказали что IdeaOS это “сборник инструментов” для других программистов скретчеров. Тут правильнее было сказать “библиотека” или “модуль” (Хотя вменяемая хоть какая-то поддержка оных так и не добленна в наш любимый конструктор лего дупло ЯП)
2.Писать ОС на скретч это нонсенс.Даже гуй для ОС надо писать на С/C++ а не на скретче,который даже более-менее шустро грузиться не может.Хотя что ожидать от школьников называющих библиотеку с GUI операционной системой?
3.Ваш встроенный “ЯП” будет работать оочень медленно.Ибо даже сама оптимизация скретча ужасна,а если ваш костыль будет на нём работать…
p.s Это был не наезд.Пожалуйста,не воспринимайте мою “критику”(если мой ответ можно назвать адекватной критикой) близко к сердцу.Бобра и печенек
2.Писать ОС на скретч это нонсенс.Даже гуй для ОС надо писать на С/C++ а не на скретче,который даже более-менее шустро грузиться не может.Хотя что ожидать от школьников называющих библиотеку с GUI операционной системой?
3.Ваш встроенный “ЯП” будет работать оочень медленно.Ибо даже сама оптимизация скретча ужасна,а если ваш костыль будет на нём работать…
p.s Это был не наезд.Пожалуйста,не воспринимайте мою “критику”(если мой ответ можно назвать адекватной критикой) близко к сердцу.Бобра и печенек
- GreVovan
-
1000+ posts
Моя ОС - IdeaOS
программистов скретчеров. Тут правильнее было сказать “библиотека” или “модуль” (Хотя вменяемая хоть какая-то поддержка оных так и не добленна в наш любимый конструктор лего дупло ЯП)Странно, твой пост совершенно не совпадает с твоим именем. 1.Вы сказали что IdeaOS это “сборник инструментов” для других
2.Писать ОС на скретч это нонсенс.Даже гуй для ОС надо писать на С/C++ а не на скретче,который даже более-менее шустро грузиться не может.Хотя что ожидать от школьников называющих библиотеку с GUI операционной системой?
3.Ваш встроенный “ЯП” будет работать оочень медленно.Ибо даже сама оптимизация скретча ужасна,а если ваш костыль будет на нём работать…
p.s Это был не наезд.Пожалуйста,не воспринимайте мою “критику”(если мой ответ можно назвать адекватной критикой) близко к сердцу.Бобра и печенек
- Sociophobia
-
18 posts
Моя ОС - IdeaOS
Такова жизнь.Люди бывают не теми,кем представлютьсяпрограммистов скретчеров. Тут правильнее было сказать “библиотека” или “модуль” (Хотя вменяемая хоть какая-то поддержка оных так и не добленна в наш любимый конструктор лего дупло ЯП)Странно, твой пост совершенно не совпадает с твоим именем. 1.Вы сказали что IdeaOS это “сборник инструментов” для других
2.Писать ОС на скретч это нонсенс.Даже гуй для ОС надо писать на С/C++ а не на скретче,который даже более-менее шустро грузиться не может.Хотя что ожидать от школьников называющих библиотеку с GUI операционной системой?
3.Ваш встроенный “ЯП” будет работать оочень медленно.Ибо даже сама оптимизация скретча ужасна,а если ваш костыль будет на нём работать…
p.s Это был не наезд.Пожалуйста,не воспринимайте мою “критику”(если мой ответ можно назвать адекватной критикой) близко к сердцу.Бобра и печенек
- Sociophobia
-
18 posts
Моя ОС - IdeaOS
Возможно это прозвучит лицимерно,ноя готов помочь вам разработкой.Я давно планировал создать консольный интерфейс на скретче,и возможно он вам пригодиться пока вы не создадите GUI
- Discussion Forums
- » Pусский
-
» Моя ОС - IdeaOS