Simple 2D scene library based on pygame
Project description
🎬 Morascene
morascene — это простая Python-библиотека для создания 2D-сцен и окон на базе pygame.
Главная идея — максимально упростить работу с графикой:
без циклов, без сложной логики, без постоянного pygame.init() и while True.
👉 Всё управление идёт через сцены и команды.
🚀 Установка
pip install morascene
⚡ Особенность
- 🔹 Внутри используется pygame (запускается 1 раз автоматически)
- 🔹 Один поток для всех сцен
- 🔹 Не нужно писать игровой цикл
- 🔹 Команды выполняются по очереди
🧠 Как это работает
Ты создаёшь сцены, и работаешь с ними по ID:
import morascene
morascene.create("Моя сцена", 1)
morascene.id_1.page(800, 600)
После этого все команды применяются к активной сцене.
🎮 Команды
🆕 Создание сцены
morascene.create("Название", id)
Создаёт сцену с уникальным ID.
🖥️ Открыть окно
morascene.id_1.page(width, height)
- Создаёт окно
- Делает сцену активной
- Выводит окно на передний план
🎨 Заливка / очистка
morascene.id_1.pagecolor(r, g, b)
morascene.id_1.pageclear(r, g, b)
Заливает экран цветом.
🔤 Текст
morascene.id_1.pagetext(x, y, font, size, text, r, g, b)
Выводит текст.
📏 Линия
morascene.id_1.pageline(x1, y1, x2, y2, thickness, r, g, b)
Рисует линию.
⬛ Прямоугольник
morascene.id_1.pagesquer(x, y, w, h, filled, thickness, r, g, b)
filled=True— залитыйfilled=False— контур
⚪ Круг
morascene.id_1.pagecircle(cx, cy, radius, filled, thickness, r, g, b)
⏳ Пауза
morascene.id_1.pagewait(seconds)
Останавливает выполнение программы.
🔁 Переход между сценами
morascene.id_1.pagecont(2)
- Окно остаётся
- Меняется сцена
- Меняется название окна
- Экран очищается
❌ Закрыть окно
morascene.id_1.pagecruch()
Полностью закрывает окно и завершает pygame.
⚠️ Важно
- Команды работают только если сцена активна
- Нужно сначала вызвать:
.page()
или перейти через:
.pagecont()
Иначе будет ошибка.
💡 Пример
import morascene
morascene.create("Сцена 1", 1)
morascene.create("Сцена 2", 2)
morascene.id_1.page(800, 600)
morascene.id_1.pagecolor(0, 0, 0)
morascene.id_1.pagetext(100, 100, "Arial", 40, "Привет!", 255, 255, 255)
morascene.id_1.pagewait(2)
morascene.id_1.pagecont(2)
morascene.id_2.pagetext(100, 100, "Arial", 40, "Это сцена 2", 255, 0, 0)
morascene.id_2.pagewait(2)
morascene.id_2.pagecruch()
🎯 Для чего это
- Быстрое создание окон
- Простые визуальные проекты
- Прототипы
- Обучение
- Мини-программы без сложного кода
📌 Итог
morascene — это "pygame без боли":
👉 без циклов 👉 без потоков (для пользователя) 👉 без лишнего кода
Просто команды — и всё работает.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file morascene-1.1.0.tar.gz.
File metadata
- Download URL: morascene-1.1.0.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6eaf507111681357fa92d715c503c6d1fbfa3a5b267f94186ee4d4298c07bfaa
|
|
| MD5 |
06ec120f6cdd7802f7830c8f8709ddee
|
|
| BLAKE2b-256 |
9b679a1feb6e38dcbd05968e2f65f75ae514209d4984b116b87785c5e7fd9726
|
File details
Details for the file morascene-1.1.0-py3-none-any.whl.
File metadata
- Download URL: morascene-1.1.0-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5df793908c463395b8b7e83478acfa38f283df74e504ea25a961447e73b648fe
|
|
| MD5 |
36f97c9069e2a74eefe6bf702372529f
|
|
| BLAKE2b-256 |
68671414c1cea01f2a7b054b6333818c3eaf86822f251ad49e048f7cfe35566d
|