Ct.js — полноценный редактор игр. Ещё и бесплатный!
С ct.js обучаться программированию легко, а разработка игр становится увлекательным занятием — в нём множество визуальных редакторов, хорошая документация и гибкая модульная библиотека.
Котэ бесплатен и опен-сорсный, а любят его профессионалы, любители геймдева, учителя и их студенты.
Скачать v3.2.0Плавная разработка
Плохие инструменты снижают качество работы. Ct.js же — как кисть, с которой создаются игры мановением руки, а не противник или череда препятствий.
Подходит новичкам
ct.js содержит документацию, гайды и редактируемые демки и примеры. Редактор кода подсвечивает ошибки, а также даёт подсказки с документацией по мере ввода.
Программируй на простом языке CoffeeScript, на JavaScript — стандарте веб-разработки —, или же на TypeScript — в зависимости от своих навыков и потребностей.
Мощный
ct. js основан на Pixi.js, работает на WebGL и шустр в браузерах и на десктопе. Модули дают новые силы, а если вдруг ct.js оказалось недостаточно, закиньте любой JS-код или внешнюю библиотеку.
Создавайте игры любого жанра
Шутеры, аркады, адвенчуры, выживание, паззлы, визуальные новеллы — всё, что угодно!
Играть
Ill Fated
Шутер в духе Vampire Survivors, в котором твой герой со временем становится только слабее. Отбивайся от бесчисленных врагов и узнай, сколько проклятий ты вынесешь, прежде чем падёшь перед противниками.
Играть
Vacation of Fusion
Добродушная игра, в которой ты строишь свой остров, смешивая природные элементы. В игре милая мультяшная графика, творческий режим, и функция создания селфи!
Играть
Welcome to the VOID
История о перезагрузке вселенной. Плывите сквозь безграничную тьму космоса, сражайтесь в космических баталиях, проводите экспедиции на поверхности планет и изучайте древние технологии.
Сделано с ct. js
В ct.js есть всё, что нужно для создания игры
Редактор уровней с поддержкой тайлов (плиток)
Интегрированный редактор кода с подсветкой ошибок
Обработка столкновений и другие модули
Покадровые и скелетные анимации
Фоновая музыка и менеджер звуков
Шейдеры, системы частиц и система освещения
Заметки и документация в выдвижной панеле, на каждой форме
Возможность использовать любой JavaScript-код
Простые инструменты упаковки и релиза
Все фичи
Присоединись к миру геймдева
Это бесплатно!Скачать
Партнёр
Mini Jam — конкурс по разработке игр, который проводится на itch.io каждые две недели. Присоединись к их Discord серверу или посети официальный сайт!
Последнее из девлога
v3.2.0 — Support for CoffeeScript, a simple, easy to write language that can do everything JavaScript does!
Sun, 25 Dec 2022 17:04:16 GMT
Читать дальше…Work in progress: CoffeeScript in ct.
js!Sun, 20 Nov 2022 10:11:24 GMT
Читать дальше…v3.1.0 — TypeScript support, multiple ct.js windows support, translations, and a bunch of QoL improvements and fixes
Tue, 08 Nov 2022 07:08:48 GMT
Читать дальше…Ct.js v3.0.1 is out! 🎉
Mon, 12 Sep 2022 11:41:06 GMT
Читать дальше…Ct.js v3 — new room editor & events framework!
Fri, 09 Sep 2022 11:23:51 GMT
Читать дальше…Все посты
Помоги коту!
Расскажи о нём своим друзьям:
CliCli — редактор, который мы заслужили? — CliCli / Game Dev / Разработка игр
UsernameE-mailPasswordRepeat passwordLanguageРусский / RussianEnglish / EnglishAfrikaans / AfrikaansShqip / Albanianአማርኛ / Amharicالعربية / ArabicAragonés / AragoneseՀայերեն / ArmenianAsturianu / AsturianAzərbaycan dili / AzerbaijaniEuskara / BasqueБеларуская / Belarusianবাংলা / BengaliBosanski / BosnianBrezhoneg / BretonБългарски / BulgarianCatalà / Catalanکوردی (دەستنوسی عەرەبی) / Central Kurdish中文 / Chinese中文(香港) / Chinese (Hong Kong)中文(简体) / Chinese (Simplified)中文(繁體) / Chinese (Traditional)Corsican / CorsicanHrvatski / CroatianČeština / CzechDansk / DanishNederlands / DutchEnglish (Australia) / English (Australia)English (Canada) / English (Canada)English (India) / English (India)English (New Zealand) / English (New Zealand)English (South Africa) / English (South Africa)English (United Kingdom) / English (United Kingdom)English (United States) / English (United States)Esperanto / EsperantoEesti / EstonianFøroyskt / FaroeseFilipino / FilipinoSuomi / FinnishFrançais / FrenchFrançais (Canada) / French (Canada)Français (France) / French (France)Français (Suisse) / French (Switzerland)Galego / GalicianᲥართული / GeorgianDeutsch / GermanDeutsch (Österreich) / German (Austria)Deutsch (Deutschland) / German (Germany)Deutsch (Liechtenstein) / German (Liechtenstein)Deutsch (Schweiz) / German (Switzerland)Ελληνικά / GreekGuarani / Guaraniગુજરાતી / GujaratiHausa / HausaʻŌlelo Hawaiʻi / Hawaiianעברית / Hebrewहिन्दी / HindiMagyar / HungarianÍslenska / IcelandicIndonesia / IndonesianInterlingua / InterlinguaGaeilge / IrishItaliano / ItalianItaliano (Italia) / Italian (Italy)Italiano (Svizzera) / Italian (Switzerland)日本語 / Japaneseಕನ್ನಡ / KannadaҚазақ тілі / Kazakhខ្មែរ / Khmer한국어 / KoreanKurdî / KurdishКыргызча / Kyrgyzລາວ / LaoLatin / LatinLatviešu / LatvianLingála / LingalaLietuvių / LithuanianМакедонски / MacedonianBahasa Melayu / Malayമലയാളം / MalayalamMalti / Malteseमराठी / MarathiМонгол / Mongolianनेपाली / NepaliNorsk / NorwegianNorsk bokmål / Norwegian BokmålNynorsk / Norwegian NynorskOccitan / Occitanଓଡ଼ିଆ / OriyaOromoo / Oromoپښتو / Pashtoفارسی / PersianPolski / PolishPortuguês / PortuguesePortuguês (Brasil) / Portuguese (Brazil)Português (Portugal) / Portuguese (Portugal)ਪੰਜਾਬੀ / PunjabiQuechua / QuechuaRomână / RomanianRomână (Moldova) / Romanian (Moldova)Rumantsch / RomanshScottish Gaelic / Scottish GaelicСрпски / SerbianCroatian / SerboChiShona / ShonaSindhi / Sindhiසිංහල / SinhalaSlovenčina / SlovakSlovenščina / SlovenianSoomaali / SomaliSouthern Sotho / Southern SothoEspañol / SpanishEspañol (Argentina) / Spanish (Argentina)Español (Latinoamérica) / Spanish (Latin America)Español (México) / Spanish (Mexico)Español (España) / Spanish (Spain)Español (Estados Unidos) / Spanish (United States)Sundanese / SundaneseKiswahili / SwahiliSvenska / SwedishТоҷикӣ / Tajikதமிழ் / TamilTatar / Tatarతెలుగు / Teluguไทย / Thaiትግርኛ / TigrinyaLea fakatonga / TonganTürkçe / TurkishTurkmen / TurkmenTwi / TwiУкраїнська / Ukrainianاردو / UrduUyghur / UyghurO‘zbek / UzbekTiếng Việt / VietnameseWa / WalloonCymraeg / WelshWestern Frisian / Western FrisianXhosa / XhosaYiddish / YiddishÈdè Yorùbá / YorubaIsiZulu / ZuluI confirm that I have read Terms of use of the site.
Публикация проектов — Construct 3 Documentation
Чтобы опубликовать проект, используйте параметр Menu►Project►Export. Construct позволяет экспортировать на различные платформы, такие как Интернет (HTML5), Android и iOS (через Cordova) и настольные приложения (через оболочки Windows/macOS или NW.js). Для каждой платформы есть сопроводительное руководство, в котором рассказывается, как работает экспортер, и описываются любые настройки, специфичные для экспортера. Обратите внимание, что в некоторых случаях может взиматься плата, например за подписку разработчика, разрешающую загрузку в магазины приложений, или за размещение веб-контента, если у вас еще нет сервера.
Каждый вид экспорта имеет следующие общие настройки:
- Дедупликация изображений будет искать идентичные изображения во всем проекте и удалять дубликаты. Это помогает сэкономить память и уменьшить размер загрузки за счет удаления избыточных изображений.
- Формат без потерь позволяет вам выбрать формат для экспорта изображений в вашем проекте, настроенном на использование качества без потерь (т. е. идеального).
- Формат с потерями позволяет вам выбрать формат для экспорта изображений в вашем проекте, настроенном на использование качества с потерями (т. е. разрешение некоторого снижения качества для большего уменьшения размера файла).
- Повторное сжатие изображений повторно сжимает все изображения без потерь в проекте с улучшенным сжатием. Это может занять некоторое время, но часто значительно уменьшает размер загружаемого экспортируемого проекта. Этот шаг выполняется без потерь, поэтому гарантирует сохранение качества всех ваших работ.
- Сценарий Minify запутывает и сжимает основной файл JavaScript для экспортируемого проекта. Это также помогает уменьшить размер загружаемого файла, сокращает время загрузки и значительно затрудняет реинжиниринг проекта. Обычно Расширенный режим безопасен в использовании, но если вы используете функцию сценариев, вы можете переключиться на Простой режим или изменить способ написания кода — дополнительные сведения см. в разделе Экспорт с расширенным минимизацией в разделе сценариев.
Каждый параметр помогает оптимизировать экспортируемый проект, но может увеличить время экспорта. Рекомендуется включить все три при экспорте финального готового проекта для публикации. Однако, если вы просто выполняете пробный экспорт, вы можете отключить их, чтобы ускорить процесс.
Большинство опций экспорта будут запрашивать дополнительные настройки, специфичные для этого экспортера. Например, экспортер Android имеет настройку для минимальной поддерживаемой версии Android.
Когда экспорт завершится, вам будет предоставлена ссылка для загрузки zip-файла, содержащего окончательный экспортированный проект. Вы также можете просмотреть некоторые статистические данные об экспорте, например, какой размер загружаемого файла был сохранен за счет повторного сжатия изображения (если оно было включено). Менеджер экспорта также можно использовать для поиска нескольких последних экспортированных проектов и их повторной загрузки.
Дополнительная информация о публикации
Процесс публикации зависит от выбранного параметра экспорта. В разделе «Учебники» есть руководства, которые помогут вам экспортировать на каждую платформу. Вот некоторые из них для начала:
- Публикация в Интернете
- Публикация в Scirra Arcade
- Как публиковать мобильные приложения
- Экспорт в Windows
- Экспорт в macOS
Javascript в Construct — Документация по Construct 3
В этом разделе приведены некоторые сведения о том, как код JavaScript запускается в Construct.
Выражения не доступны сценарию
Листы событий Construct принципиально работают иначе, чем код. Следовательно, объектные выражения, которые вы можете вводить в условия и действия, недоступны напрямую из сценария. Обратитесь к справочнику по скриптам, чтобы узнать о методах и свойствах, которые доступны напрямую из скриптов. Вы также можете косвенно получить доступ к вещам, которые напрямую не доступны сценариям, путем передачи значений между сценариями и таблицами событий — например, см. Интеграция событий со сценарием.
Чувствительность к регистру
Многие функции в Construct нечувствительны к регистру, например, «Игрок» считается эквивалентным «игроку». Однако язык программирования JavaScript чувствителен к регистру. Поэтому при обращении к объектам, переменным и другим элементам в вашем проекте из кода JavaScript вы должны использовать тот же регистр, что и в Construct.
Модули
Все сценарии в Construct являются модулями JavaScript. Это позволяет использовать импорт
и экспортировать
синтаксис. Он также имеет несколько отличий от устаревших сценариев «классического» режима, а именно:
- Каждый модуль (файл сценария) имеет свою собственную область верхнего уровня. Это означает, что объявления верхнего уровня недоступны глобально. Вместо этого предпочтительнее использовать импорт и экспорт или, если необходимо, явно использовать свойства
globalThis
, чтобы сделать их глобальными. - Модули запускают код в строгом режиме. Это устраняет распространенные проблемы, такие как тихие ошибки, опечатки, случайно создающие переменные, и исправляет некоторые аспекты языка, считающиеся ошибками. В частности, это помогает избежать запутанных проблем, с которыми часто сталкиваются новички. Поскольку весь код уже выполняется в строгом режиме, нет необходимости добавлять
"использовать строгую" директиву
для любого вашего кода.
См. пример Imports & Exports для демонстрации использования модулей в Construct.
Рабочий режим
Если для свойства проекта Use worker установлено значение Yes , среда выполнения Construct размещается в Web Worker, а не в DOM, и визуализируется с использованием OffscreenCanvas. Как правило, это хорошо для производительности, поскольку среда выполнения может работать независимо от основного потока браузера, который может быть заблокирован задачами браузера, такими как макет. Однако Web Workers имеют ограниченный набор доступных API. Примечательно, что нет окно
или документ
доступных объектов, поэтому прямой доступ к DOM невозможен. Однако по-прежнему доступны многие другие API, такие как выборка (и более старый XMLHttpRequest), IndexedDB, WebSocket и другие — дополнительные сведения см. в разделе Функции и классы, доступные для рабочих процессов.
Режим по умолчанию для Use worker : Auto . Это означает, что Construct автоматически решает, запускать ли ваш проект в Web Worker или в DOM. В настоящее время это означает, что он будет работать в рабочем потоке, если ваш проект не использует какой-либо код JavaScript, и в этом случае он будет работать в DOM при условии, что ваш код должен будет использовать API DOM. Однако обратите внимание, что при этом теряются преимущества производительности рабочего режима. Если ваш код JavaScript может выполняться в Web Worker, вы можете изменить значение параметра обратно на 9. 0026 Да и получить преимущества производительности.
Доступ к глобальной области
Иногда объект окна
используется для ссылки на глобальную область, например, window.myGlobal = 1;
. Однако обратите внимание, что объект window
недоступен в рабочем режиме, поэтому он не будет работать там.
Стандартный способ доступа к глобальной области — globalThis
, например globalThis.myGlobal = 1;
. Поскольку это доступно как в DOM, так и в Web Workers, этот код будет работать везде. Construct также заполняет его, если он отсутствует, поэтому не нужно беспокоиться о поддержке браузера.
В контексте браузера вы также можете использовать self
для ссылки на глобальную область как в DOM, так и в рабочих процессах. Однако это недоступно в других средах JavaScript, таких как node.js, поэтому, если вы хотите написать код, который может работать где угодно, лучше использовать globalThis
.
Поддержка браузеров/платформ
При использовании самых последних функций JavaScript вам может потребоваться проверить, какие браузеры их поддерживают. Если вы используете функцию JavaScript, которую поддерживают не все браузеры или платформы, вы можете получить сообщение об ошибке при попытке запустить игру на этой платформе. Мы рекомендуем веб-документы MDN как хорошее место для проверки совместимости.
Вы также можете рассчитывать на наличие современной поддержки JavaScript, поскольку Construct поддерживает сценарии только в среде выполнения C3, а сама среда выполнения C3 поддерживает только относительно современные браузеры. Например, среда выполнения C3 не поддерживает Internet Explorer, поэтому вам вообще не нужно беспокоиться о ее поддержке. Вы можете использовать многие современные функции JavaScript, такие как классы, стрелочные функции, параметры по умолчанию, оставшиеся параметры, асинхронные функции, функции генератора и итераторы, карты и наборы с уверенностью, что они будут работать везде, где поддерживается ваша игра.
Обратите внимание, что во многих старых примерах кода в Интернете используется старый стиль, предназначенный для поддержки несуществующих браузеров. Например, во многих старых примерах кода для объявления переменных используется var
, тогда как в современном JavaScript предпочтительны let
и const
. Имейте это в виду при просмотре других примеров кода и обратите внимание, что могут быть современные функции, которые могут значительно упростить код. Может быть хорошей идеей обновить все фрагменты кода, которые вы используете в своих проектах, до современного стиля.
Недокументированные функции
Если вы изучите функции и переменные, доступные в отладчике, вы можете найти недокументированные API, характерные для механизма Construct. Единственная причина, по которой их можно найти, заключается в том, что способ работы JavaScript затрудняет их скрытие.