Metadata-Version: 2.4
Name: morascene
Version: 1.1.0
Summary: Simple 2D scene library based on pygame
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: pygame

# 🎬 Morascene

**morascene** — это простая Python-библиотека для создания 2D-сцен и окон на базе **pygame**.

Главная идея — максимально упростить работу с графикой:
без циклов, без сложной логики, без постоянного `pygame.init()` и `while True`.

👉 Всё управление идёт через **сцены и команды**.

---

## 🚀 Установка

```bash
pip install morascene
```

---

## ⚡ Особенность

* 🔹 Внутри используется **pygame (запускается 1 раз автоматически)**
* 🔹 Один поток для всех сцен
* 🔹 Не нужно писать игровой цикл
* 🔹 Команды выполняются по очереди

---

## 🧠 Как это работает

Ты создаёшь **сцены**, и работаешь с ними по ID:

```python
import morascene

morascene.create("Моя сцена", 1)
morascene.id_1.page(800, 600)
```

После этого все команды применяются к активной сцене.

---

## 🎮 Команды

### 🆕 Создание сцены

```python
morascene.create("Название", id)
```

Создаёт сцену с уникальным ID.

---

### 🖥️ Открыть окно

```python
morascene.id_1.page(width, height)
```

* Создаёт окно
* Делает сцену активной
* Выводит окно на передний план

---

### 🎨 Заливка / очистка

```python
morascene.id_1.pagecolor(r, g, b)
morascene.id_1.pageclear(r, g, b)
```

Заливает экран цветом.

---

### 🔤 Текст

```python
morascene.id_1.pagetext(x, y, font, size, text, r, g, b)
```

Выводит текст.

---

### 📏 Линия

```python
morascene.id_1.pageline(x1, y1, x2, y2, thickness, r, g, b)
```

Рисует линию.

---

### ⬛ Прямоугольник

```python
morascene.id_1.pagesquer(x, y, w, h, filled, thickness, r, g, b)
```

* `filled=True` — залитый
* `filled=False` — контур

---

### ⚪ Круг

```python
morascene.id_1.pagecircle(cx, cy, radius, filled, thickness, r, g, b)
```

---

### ⏳ Пауза

```python
morascene.id_1.pagewait(seconds)
```

Останавливает выполнение программы.

---

### 🔁 Переход между сценами

```python
morascene.id_1.pagecont(2)
```

* Окно остаётся
* Меняется сцена
* Меняется название окна
* Экран очищается

---

### ❌ Закрыть окно

```python
morascene.id_1.pagecruch()
```

Полностью закрывает окно и завершает pygame.

---

## ⚠️ Важно

* Команды работают **только если сцена активна**
* Нужно сначала вызвать:

```python
.page()
```

или перейти через:

```python
.pagecont()
```

Иначе будет ошибка.

---

## 💡 Пример

```python
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 без боли":

👉 без циклов
👉 без потоков (для пользователя)
👉 без лишнего кода

Просто команды — и всё работает.
