Metadata-Version: 2.4
Name: WGameEngine
Version: 2026.4.3
Summary: A Python game engine module designed for educational scenarios
Home-page: https://github.com/walimaker/walimaker
Download-URL: https://github.com/walimaker/walimaker/archive/v2026.4.tar.gz
Author: Walimaker Team
Author-email: Walimaker Team <contact@walimaker.org>
License: MIT
Project-URL: Homepage, https://github.com/walimaker/walimaker
Project-URL: Documentation, https://github.com/walimaker/walimaker#readme
Project-URL: Repository, https://github.com/walimaker/walimaker.git
Project-URL: Bug Tracker, https://github.com/walimaker/walimaker/issues
Keywords: game,engine,education,pygame,physics
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Education
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Education
Classifier: Topic :: Games/Entertainment
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Operating System :: OS Independent
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: pygame>=2.6.0
Requires-Dist: pymunk>=6.6.0
Requires-Dist: pytmx>=3.30
Dynamic: author
Dynamic: download-url
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-python

# Walimaker

> 专为教学场景设计的Python游戏引擎模块

[![Python Version](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
[![Pygame](https://img.shields.io/badge/pygame-2.6.1-green.svg)](https://www.pygame.org)
[![Pymunk](https://img.shields.io/badge/pymunk-5.6.0-orange.svg)](https://www.pymunk.org)

Walimaker 是一个专为教学场景设计的Python游戏引擎模块，采用笛卡尔坐标系（像素单位），提供完整的游戏开发功能，包括窗口管理、角色动画、文本渲染、事件处理等核心组件。

## ✨ 特性

- 🎮 **完整的游戏开发套件** - 窗口管理、角色动画、物理引擎、音效系统
- 📚 **教学友好** - 简洁的API设计，适合初学者快速上手
- 🎯 **笛卡尔坐标系** - 采用像素单位的直观坐标系统
- 🎨 **丰富的动画支持** - 单图、序列动画、状态动画等多种角色创建方式
- 🎵 **音效系统** - 背景音乐、音效播放、音量控制
- 🖱️ **事件处理** - 完整的鼠标和键盘事件支持
- 📝 **文本渲染** - 文本框组件，支持字体、颜色自定义

## 🚀 快速开始

### 安装

```bash
pip install WGameEngine
```

### 基本用法

```python
import Walimaker as wm

# 创建窗口
wm.setup(800, 600)
wm.title("我的游戏")

# 创建角色
player = wm.Character("player.png")
player.x = 400
player.y = 300

# 主循环
while True:
    # 更新画面
    wm.update()
    
    # 处理事件
    if wm.key_pressed("w"):
        player.forward(5)
    if wm.key_pressed("s"):
        player.backward(5)
```

## 📖 核心模块

### 窗口管理

```python
# 窗口设置
wm.setup(800, 600)  # 创建窗口
wm.title("游戏标题")  # 设置标题
wm.bgpic("background.jpg")  # 设置背景图片
wm.bgmusic("bgm.mp3")  # 播放背景音乐
wm.set_volume(0.8)  # 设置音量

# 画面更新
wm.update()  # 刷新画面
wm.tracer(True)  # 自动刷新控制
```

### 角色系统

```python
# 创建角色（三种方式）
# 1. 单图模式
character1 = wm.Character("character.png")

# 2. 动画序列
frames = ["frame1.png", "frame2.png", "frame3.png"]
character2 = wm.Character(frames)

# 3. 状态动画
animations = {
    "idle": ["idle1.png", "idle2.png"],
    "walk": ["walk1.png", "walk2.png", "walk3.png"]
}
character3 = wm.Character(animations)

# 角色控制
character.x = 100  # 设置X坐标
character.y = 200  # 设置Y坐标
character.forward(50)  # 向前移动
character.left(90)  # 左转90度
character.scale(2, 2)  # 放大2倍

# 动画控制
character.play_anim()  # 开始播放动画
character.state = "walk"  # 切换动画状态
```

### 事件处理

```python
# 鼠标事件
mouse_pos = wm.get_mouse_pos()  # 获取鼠标位置
if wm.get_mouse_clicked():  # 检测鼠标按下
    print("鼠标被按下")

# 键盘事件
if wm.key_pressed("K_SPACE"):  # 检测空格键
    print("空格键被按下")

input_char = wm.key_input()  # 获取按键输入
```

### 文本框

```python
# 创建文本框
textbox = wm.TextBox(24)  # 24号字体
textbox.print("Hello, World!")  # 显示文本
textbox.goto(100, 100)  # 移动文本框
```

## 📁 项目结构

```
Walimaker/
├── __init__.py          # 包入口
├── API.py               # 主要API接口
├── game_object.py       # 游戏对象基类
├── sprite.py            # 精灵系统
├── screen.py            # 屏幕管理
├── physics.py           # 物理引擎
├── events.py            # 事件处理
├── textbox.py           # 文本框组件
├── music.py             # 音效系统
├── tiledmap.py          # 瓦片地图
├── camera.py            # 相机系统
└── config.py            # 配置管理
```

## 🔧 依赖要求

- Python 3.8+
- Pygame >=2.6.0
- Pymunk >=6.6.0
- PyTMX >=3.30

## 📦 PyPI 安装

本项目已发布到 PyPI，可以直接通过 pip 安装：

```bash
pip install WGameEngine
```

从 PyPI 查看项目：https://pypi.org/project/WGameEngine/

## 📄 许可证

本项目采用MIT许可证。

## 🤝 贡献

欢迎提交Issue和Pull Request来改进这个项目！

## 📞 联系方式

如有问题，请通过以下方式联系：
- 提交Issue
- 发送邮件至项目维护者

