PyScene 1.0.7__tar.gz → 1.0.9__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. {pyscene-1.0.7 → pyscene-1.0.9}/PKG-INFO +4 -3
  2. {pyscene-1.0.7 → pyscene-1.0.9}/README.md +2 -1
  3. {pyscene-1.0.7 → pyscene-1.0.9}/pyproject.toml +2 -2
  4. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/Game.py +3 -0
  5. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/__init__.py +1 -1
  6. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/objs/GameObj.py +1 -0
  7. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/objs/Text.py +6 -0
  8. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/objs/Timer.py +2 -2
  9. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/objs/animation.py +3 -0
  10. {pyscene-1.0.7 → pyscene-1.0.9}/.gitignore +0 -0
  11. {pyscene-1.0.7 → pyscene-1.0.9}/LICENSE +0 -0
  12. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/Collisions.py +0 -0
  13. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/Keys.py +0 -0
  14. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/Math.py +0 -0
  15. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/Net.py +0 -0
  16. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/objs/Collision_shapes.py +0 -0
  17. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/objs/Shapes.py +0 -0
  18. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/objs/__init__.py +0 -0
  19. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/utils/Assets.py +0 -0
  20. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/utils/Subscreen.py +0 -0
  21. {pyscene-1.0.7 → pyscene-1.0.9}/src/PyScene/utils/__init__.py +0 -0
  22. {pyscene-1.0.7 → pyscene-1.0.9}/test.py +0 -0
  23. {pyscene-1.0.7 → pyscene-1.0.9}/tests/flappy_bird.py +0 -0
  24. {pyscene-1.0.7 → pyscene-1.0.9}/tests/pause.png +0 -0
  25. {pyscene-1.0.7 → pyscene-1.0.9}/tests/testColl.py +0 -0
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: PyScene
3
- Version: 1.0.7
4
- Summary: A small example package
3
+ Version: 1.0.9
4
+ Summary: A python and pygame Game Engine
5
5
  Project-URL: Homepage, https://github.com/sfertig/PyScene
6
6
  Project-URL: Issues, https://github.com/sfertig/PyScene/issues
7
7
  Author-email: Sam Fertig <sfertig007@gmail.com>
@@ -15,8 +15,9 @@ Description-Content-Type: text/markdown
15
15
  # PyScene
16
16
 
17
17
  PyScene is a custom python + pygame framework / engine developed to streamline 2d game development.
18
+ This is not a pygame wrapper, as it goed beyons the basic helper features and dives into a mini engine / framework.
18
19
 
19
20
  Please Note: This engine is still in development and many features, like tilemaps and audio, are a work in progress. It also lack any form of documentation, I ask for patience as docs will be rolled out once the core features are more solidified.
20
21
 
21
- PyScene is in developement and API's may change offten, a fully stable version should come with v2.0.0, currently on v1.0.7
22
+ PyScene is in developement and API's may change offten, a fully stable version should come with v2.0.0, currently on v1.0.9
22
23
 
@@ -1,8 +1,9 @@
1
1
  # PyScene
2
2
 
3
3
  PyScene is a custom python + pygame framework / engine developed to streamline 2d game development.
4
+ This is not a pygame wrapper, as it goed beyons the basic helper features and dives into a mini engine / framework.
4
5
 
5
6
  Please Note: This engine is still in development and many features, like tilemaps and audio, are a work in progress. It also lack any form of documentation, I ask for patience as docs will be rolled out once the core features are more solidified.
6
7
 
7
- PyScene is in developement and API's may change offten, a fully stable version should come with v2.0.0, currently on v1.0.7
8
+ PyScene is in developement and API's may change offten, a fully stable version should come with v2.0.0, currently on v1.0.9
8
9
 
@@ -3,11 +3,11 @@ requires = ["hatchling >= 1.26"]
3
3
  build-backend = "hatchling.build"
4
4
  [project]
5
5
  name = "PyScene"
6
- version = "1.0.7"
6
+ version = "1.0.9"
7
7
  authors = [
8
8
  { name="Sam Fertig", email="sfertig007@gmail.com" },
9
9
  ]
10
- description = "A small example package"
10
+ description = "A python and pygame Game Engine"
11
11
  readme = "README.md"
12
12
  requires-python = ">=3.9"
13
13
  classifiers = [
@@ -56,6 +56,9 @@ class _game:
56
56
  self.scenes = {}
57
57
  self.id = 0
58
58
 
59
+ #other flags
60
+ self.always_global = False
61
+
59
62
 
60
63
  def _queue_add(self, obj):
61
64
  if self.active_scene is None: self.queue_creation.append(obj)
@@ -1,6 +1,6 @@
1
1
  #imports
2
2
  "PyScene is a custom python + pygame framework / engine developed to streamline 2d game development."
3
- "Version: 1.0.7"
3
+ "Version: 1.0.9"
4
4
 
5
5
  from .Game import Game, Scene, handle_collision
6
6
  from .Math import *
@@ -12,6 +12,7 @@ class GameObj: #this will be the base class of every game obj
12
12
  self._id = Game._get_id()
13
13
 
14
14
  #add to creation
15
+ if Game.always_global: Global = True
15
16
  if not Global: Game._queue_add(self)
16
17
  else: Game.queue_creation.append(self) #if obj is just global anyway
17
18
 
@@ -37,6 +37,9 @@ class Text(GameObj):
37
37
  def render(self):
38
38
  if not self.visible: return
39
39
  Game.cam.draw_text(self.surface, self.rect, self.offset)
40
+ def render_to(self, surface):
41
+ if not self.visible: return
42
+ surface.blit(self.surface, self.rect)
40
43
 
41
44
  class Image(GameObj):
42
45
  def __init__(self, image, pos=Vector2D(0, 0), z_index=0, active=True, visible=True, offset=True, Global=False):
@@ -47,4 +50,7 @@ class Image(GameObj):
47
50
  def render(self):
48
51
  if not self.visible: return
49
52
  Game.cam.draw_image(self.image, self.pos, self.offset)
53
+ def render_to(self, surface):
54
+ if not self.visible: return
55
+ surface.blit(self.image, self.pos.to_int())
50
56
 
@@ -20,10 +20,10 @@ class Timer(GameObj):
20
20
  def get_time(self):
21
21
  return self.elapsed
22
22
 
23
- def update(self, dt):
23
+ def update(self):
24
24
  if not self.active: return
25
25
  if self.running:
26
- self.elapsed += dt
26
+ self.elapsed += Game.dt
27
27
  if self.elapsed >= self.duration:
28
28
  self.running = False
29
29
  return True
@@ -67,6 +67,9 @@ class Animation(GameObj):
67
67
  def render(self):
68
68
  if not self.visible: return
69
69
  Game.cam.draw_image(self.get_image(), self.pos, self.offset)
70
+ def render_to(self, screen):
71
+ if not self.visible: return
72
+ screen.blit(self.get_image(), self.pos.to_int())
70
73
 
71
74
  class AnimationManager(GameObj):
72
75
  def __init__(self, animations: dict[str, Animation], current_anim=None, z_index=0, active=True, visible=True, offset=True, Global=False):
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes