Metadata-Version: 2.4
Name: easy2d
Version: 0.2.1
Summary: A simple Python 2D game library for building games easily
Author: You
Author-email: Daniel <tolmmu979@gmail.com>
License: MIT
Project-URL: Homepage, https://pypi.org/project/easy2d/
Keywords: 2d,game,engine,pygame
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Games/Entertainment
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.8
Description-Content-Type: text/plain
Requires-Dist: pygame>=2.5
Dynamic: author

# Easy2D

Easy2D is a lightweight 2D engine wrapper built on top of pygame.
It gives you a clean scene/object architecture, timing helpers, camera controls,
tilemaps, and particles so building a game is faster and cleaner.

## Install

```bash
pip install easy2d
```

## Quick Start

```python
import pygame
import easy2d as e

class Player(e.Rect):
	def __init__(self):
		super().__init__(150, 150, 32, 32, color=(70, 230, 170), gravity=0.0, floor_y=None)
		self.speed = 240

	def update(self, game):
		dx = dy = 0
		if game.key_pressed(pygame.K_a):
			dx -= self.speed * game.delta_time
		if game.key_pressed(pygame.K_d):
			dx += self.speed * game.delta_time
		if game.key_pressed(pygame.K_w):
			dy -= self.speed * game.delta_time
		if game.key_pressed(pygame.K_s):
			dy += self.speed * game.delta_time
		self.move(dx, dy)

scene = e.Scene()
player = scene.add(Player())

game = e.Game("My Easy2D Game", 960, 540)
game.set_scene(scene)
game.run()
```

## Core Concepts

- Game loop with delta-time (`game.delta_time`) and FPS tracking.
- Input helpers (`key_pressed`, `key_just_pressed`, mouse helpers).
- Scene lifecycle (`on_enter`, `on_exit`) and event forwarding.
- GameObject lifecycle (`on_added`, `on_removed`, `destroy`).
- Camera utilities (`follow`, `world_to_screen`, `screen_to_world`).
- Built-in `Rect`, `ParticleSystem`, and `TileMap`.

## Built-in Objects

- `Rect`: Basic drawable rectangle with optional gravity and simple collision helpers.
- `ParticleSystem`: Configurable particles with speed/life/size/gravity ranges.
- `TileMap`: Color tile grid with fast visible-tile drawing and palette loading.
