VertexEngine 1.9__tar.gz → 1.9.2__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.
- {vertexengine-1.9/src/VertexEngine.egg-info → vertexengine-1.9.2}/PKG-INFO +22 -4
- {vertexengine-1.9 → vertexengine-1.9.2}/README.md +10 -3
- vertexengine-1.9.2/pyproject.toml +60 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/PygameVWidgets/__init__.py +1 -1
- vertexengine-1.9.2/src/VertexEngine/WHY.mp3 +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/engine.py +11 -9
- vertexengine-1.9.2/src/VertexEngine/examples/MajorSystemTest/Wangi.png +0 -0
- vertexengine-1.9.2/src/VertexEngine/examples/MajorSystemTest/main.py +105 -0
- vertexengine-1.9.2/src/VertexEngine/examples/MajorSystemTest/universfield-ui-button-click-147358.mp3 +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/examples/games/snake/main.py +0 -3
- vertexengine-1.9.2/src/VertexEngine/examples/pygwidget_test.py +69 -0
- {vertexengine-1.9 → vertexengine-1.9.2/src/VertexEngine.egg-info}/PKG-INFO +22 -4
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine.egg-info/SOURCES.txt +5 -0
- vertexengine-1.9/pyproject.toml +0 -27
- {vertexengine-1.9 → vertexengine-1.9.2}/LICENSE +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/setup.cfg +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/Collisions/__init__.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/Collisions/collisions.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/InputSystem/BtnInputs.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/InputSystem/Events.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/InputSystem/KeyInputs.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/Math/_Vector2.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/Math/__init__.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/Vertex/__init__.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexScreenModifiers.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/ChatBubble.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/CheckBox.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/Counter.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/Dropdown.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/List.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/OptionBtnWidget.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/StatusLight.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/ToggleSwitch.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/WindowMods.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/Windows.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/BasicWidgets/SimpleGUI.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/__init__.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/_base.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/assets.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/audio.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/examples/test.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/scenes.py +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine.egg-info/dependency_links.txt +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine.egg-info/requires.txt +0 -0
- {vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: VertexEngine
|
|
3
|
-
Version: 1.9
|
|
3
|
+
Version: 1.9.2
|
|
4
4
|
Summary: A high-performance SDK for Python Development.
|
|
5
5
|
Author-email: Tyrel Miguel <annbasilan0828@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -11,6 +11,17 @@ Project-URL: Official Tech Site, https://tyrel.onrender.com
|
|
|
11
11
|
Project-URL: Source, https://github.com/VertexEngine-Projects/VertexEngine-Code
|
|
12
12
|
Project-URL: Issues, https://github.com/VertexEngine-Projects/VertexEngine-Code/issues
|
|
13
13
|
Project-URL: Discord, https://discord.gg/jqG8kQjX
|
|
14
|
+
Keywords: gamedev,game-development,game-engine,pyqt6,pygame,pygame-ce,sdk,gui
|
|
15
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
16
|
+
Classifier: Intended Audience :: Developers
|
|
17
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
18
|
+
Classifier: Topic :: Games/Entertainment
|
|
19
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
20
|
+
Classifier: Programming Language :: Python :: 3
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Operating System :: OS Independent
|
|
14
25
|
Requires-Python: >=3.10
|
|
15
26
|
Description-Content-Type: text/markdown
|
|
16
27
|
License-File: LICENSE
|
|
@@ -49,12 +60,19 @@ VertexEngine is a GUI and Game Engine for python applications, it works best if
|
|
|
49
60
|
Discord is out NOW!
|
|
50
61
|
[Discord Server](https://discord.gg/VertexEngine)
|
|
51
62
|
|
|
52
|
-
## Change Logs (1.7.0 - 1.9)
|
|
63
|
+
## Change Logs (1.7.0 - 1.9.2)
|
|
64
|
+
### 1.9.2
|
|
65
|
+
- NEW DEMO
|
|
66
|
+
- How to run: python3.x -m VertexEngine.examples.MajorSystemTest.main
|
|
67
|
+
### 1.9.1
|
|
68
|
+
- NEW DEMO
|
|
69
|
+
- How to Run: python3.x -m VertexEngine.examples.pygwidget_test
|
|
70
|
+
- Fixed engine clash bug (pygame and pyqt6 bug)
|
|
53
71
|
### 1.9
|
|
54
72
|
- FINALLY fixed the demos!
|
|
55
73
|
- how to run:
|
|
56
|
-
- Snake: python3.
|
|
57
|
-
- Event tester: python3.
|
|
74
|
+
- Snake: python3.x -m VertexEngine.examples.games.snake.main
|
|
75
|
+
- Event tester: python3.x -m VertexEngine.examples.test
|
|
58
76
|
- I was very tired while making this so the RNG text was generated by AI. sory abt that :q
|
|
59
77
|
### 1.8.9
|
|
60
78
|
- Small optimizations
|
|
@@ -28,12 +28,19 @@ VertexEngine is a GUI and Game Engine for python applications, it works best if
|
|
|
28
28
|
Discord is out NOW!
|
|
29
29
|
[Discord Server](https://discord.gg/VertexEngine)
|
|
30
30
|
|
|
31
|
-
## Change Logs (1.7.0 - 1.9)
|
|
31
|
+
## Change Logs (1.7.0 - 1.9.2)
|
|
32
|
+
### 1.9.2
|
|
33
|
+
- NEW DEMO
|
|
34
|
+
- How to run: python3.x -m VertexEngine.examples.MajorSystemTest.main
|
|
35
|
+
### 1.9.1
|
|
36
|
+
- NEW DEMO
|
|
37
|
+
- How to Run: python3.x -m VertexEngine.examples.pygwidget_test
|
|
38
|
+
- Fixed engine clash bug (pygame and pyqt6 bug)
|
|
32
39
|
### 1.9
|
|
33
40
|
- FINALLY fixed the demos!
|
|
34
41
|
- how to run:
|
|
35
|
-
- Snake: python3.
|
|
36
|
-
- Event tester: python3.
|
|
42
|
+
- Snake: python3.x -m VertexEngine.examples.games.snake.main
|
|
43
|
+
- Event tester: python3.x -m VertexEngine.examples.test
|
|
37
44
|
- I was very tired while making this so the RNG text was generated by AI. sory abt that :q
|
|
38
45
|
### 1.8.9
|
|
39
46
|
- Small optimizations
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "VertexEngine"
|
|
3
|
+
version = "1.9.2"
|
|
4
|
+
description = "A high-performance SDK for Python Development."
|
|
5
|
+
authors = [
|
|
6
|
+
{ name = "Tyrel Miguel", email = "annbasilan0828@gmail.com" }
|
|
7
|
+
]
|
|
8
|
+
readme = "README.md"
|
|
9
|
+
license = { text = "MIT" }
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
|
|
12
|
+
dependencies = [
|
|
13
|
+
"PyQt6>=6.7",
|
|
14
|
+
"pygame>=2.6; python_version < '3.14'",
|
|
15
|
+
"pygame-ce>=2.5.0; python_version >= '3.14'"
|
|
16
|
+
]
|
|
17
|
+
|
|
18
|
+
keywords = [
|
|
19
|
+
"gamedev",
|
|
20
|
+
"game-development",
|
|
21
|
+
"game-engine",
|
|
22
|
+
"pyqt6",
|
|
23
|
+
"pygame",
|
|
24
|
+
"pygame-ce",
|
|
25
|
+
"sdk",
|
|
26
|
+
"gui"
|
|
27
|
+
]
|
|
28
|
+
|
|
29
|
+
classifiers = [
|
|
30
|
+
"Development Status :: 5 - Production/Stable",
|
|
31
|
+
"Intended Audience :: Developers",
|
|
32
|
+
"Topic :: Software Development :: Build Tools",
|
|
33
|
+
"Topic :: Games/Entertainment",
|
|
34
|
+
"License :: OSI Approved :: MIT License",
|
|
35
|
+
"Programming Language :: Python :: 3",
|
|
36
|
+
"Programming Language :: Python :: 3.10",
|
|
37
|
+
"Programming Language :: Python :: 3.11",
|
|
38
|
+
"Programming Language :: Python :: 3.12",
|
|
39
|
+
"Operating System :: OS Independent"
|
|
40
|
+
]
|
|
41
|
+
|
|
42
|
+
[project.urls]
|
|
43
|
+
Homepage = "https://vertexengine-zii6.onrender.com"
|
|
44
|
+
Documentation = "https://vertexenginedocs.netlify.app"
|
|
45
|
+
Tutorials = "https://www.youtube.com/watch?v=-P4t6UabuDU&t=0s"
|
|
46
|
+
"Official Tech Site" = "https://tyrel.onrender.com"
|
|
47
|
+
Source = "https://github.com/VertexEngine-Projects/VertexEngine-Code"
|
|
48
|
+
Issues = "https://github.com/VertexEngine-Projects/VertexEngine-Code/issues"
|
|
49
|
+
Discord = "https://discord.gg/jqG8kQjX"
|
|
50
|
+
|
|
51
|
+
[tool.setuptools]
|
|
52
|
+
# Instructs setuptools to bundle non-python data assets
|
|
53
|
+
include-package-data = false
|
|
54
|
+
|
|
55
|
+
[tool.setuptools.packages.find]
|
|
56
|
+
where = ["src"]
|
|
57
|
+
|
|
58
|
+
[tool.setuptools.package-data]
|
|
59
|
+
# Tells setuptools to look inside src/VertexEngine for these asset types
|
|
60
|
+
"*" = ["*.json", "*.txt", "*.png", "*.jpg", "*.wav", "*.ogg", "*.mp3"]
|
{vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/PygameVWidgets/__init__.py
RENAMED
|
@@ -217,6 +217,7 @@ class Slider(Widget):
|
|
|
217
217
|
start_value=50,
|
|
218
218
|
on_change=None,
|
|
219
219
|
style=None,
|
|
220
|
+
debug=True
|
|
220
221
|
):
|
|
221
222
|
super().__init__(x, y, width, height, style)
|
|
222
223
|
|
|
@@ -254,7 +255,6 @@ class Slider(Widget):
|
|
|
254
255
|
# -----------------------------
|
|
255
256
|
def handle_event(self, event):
|
|
256
257
|
rect = self.rect()
|
|
257
|
-
print("SLIDER GOT:", event.type)
|
|
258
258
|
|
|
259
259
|
if event.type == pygame.MOUSEBUTTONDOWN:
|
|
260
260
|
if rect.collidepoint(event.pos):
|
|
Binary file
|
|
@@ -36,16 +36,17 @@ class GameEngine(QWidget):
|
|
|
36
36
|
self.move(*self.position)
|
|
37
37
|
|
|
38
38
|
def _sync_qimage(self):
|
|
39
|
-
"""Helper to
|
|
40
|
-
#
|
|
41
|
-
#
|
|
39
|
+
"""Helper to sync the Pygame surface into a Qt-friendly image buffer."""
|
|
40
|
+
# Always rebuild the image from the current frame so the Qt widget
|
|
41
|
+
# doesn't keep rendering the stale black buffer created at startup.
|
|
42
|
+
raw = pygame.image.tobytes(self.screen, "RGB")
|
|
42
43
|
self.img = QImage(
|
|
43
|
-
|
|
44
|
+
raw,
|
|
44
45
|
self.width,
|
|
45
46
|
self.height,
|
|
46
|
-
self.
|
|
47
|
-
QImage.Format.
|
|
48
|
-
)
|
|
47
|
+
self.width * 3,
|
|
48
|
+
QImage.Format.Format_RGB888
|
|
49
|
+
).copy()
|
|
49
50
|
|
|
50
51
|
# ---------------------- RENDER ----------------------
|
|
51
52
|
|
|
@@ -73,9 +74,10 @@ class GameEngine(QWidget):
|
|
|
73
74
|
self.screen.fill(self.color)
|
|
74
75
|
self.scene_manager._update()
|
|
75
76
|
self.scene_manager.draw(self.screen)
|
|
76
|
-
|
|
77
|
+
self._sync_qimage()
|
|
78
|
+
|
|
77
79
|
# Schedule the visual swap
|
|
78
|
-
self.update()
|
|
80
|
+
self.update()
|
|
79
81
|
|
|
80
82
|
# ---------------------- INPUT ----------------------
|
|
81
83
|
|
|
Binary file
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
from VertexEngine import GameEngine, AssetManager, Scene, AudioManager, VertexScreen
|
|
2
|
+
from VertexEngine.Vertex import App
|
|
3
|
+
from VertexEngine.VertexWidgets.PygameVWidgets import Button, UIManager
|
|
4
|
+
from VertexEngine.InputSystem.KeyInputs import Input
|
|
5
|
+
from pathlib import Path
|
|
6
|
+
|
|
7
|
+
# 1. Get the directory where this script file lives
|
|
8
|
+
script_dir = Path(__file__).resolve().parent
|
|
9
|
+
|
|
10
|
+
class Player():
|
|
11
|
+
def __init__(self, x, y, w, h):
|
|
12
|
+
self.x = x
|
|
13
|
+
self.y = y
|
|
14
|
+
self.w = w
|
|
15
|
+
self.h = h
|
|
16
|
+
self.speed = 5
|
|
17
|
+
|
|
18
|
+
def update(self, input):
|
|
19
|
+
if input.is_pressed("w"):
|
|
20
|
+
self.y -= self.speed
|
|
21
|
+
if input.is_pressed("s"):
|
|
22
|
+
self.y += self.speed
|
|
23
|
+
if input.is_pressed("a"):
|
|
24
|
+
self.x -= self.speed
|
|
25
|
+
if input.is_pressed("d"):
|
|
26
|
+
self.x += self.speed
|
|
27
|
+
if input.is_pressed("up"):
|
|
28
|
+
self.h -= 1
|
|
29
|
+
if input.is_pressed("down"):
|
|
30
|
+
self.h += 1
|
|
31
|
+
if input.is_pressed("left"):
|
|
32
|
+
self.w -= 1
|
|
33
|
+
if input.is_pressed("right"):
|
|
34
|
+
self.w += 1
|
|
35
|
+
if input.is_pressed("r"):
|
|
36
|
+
self.h = 50
|
|
37
|
+
self.w = 50
|
|
38
|
+
|
|
39
|
+
class Main(Scene):
|
|
40
|
+
def __init__(self, engine):
|
|
41
|
+
super().__init__(engine)
|
|
42
|
+
self.ui = UIManager()
|
|
43
|
+
self.engine = engine
|
|
44
|
+
self.drawer = VertexScreen.Draw()
|
|
45
|
+
self.player = Player(400, 300, 50, 50)
|
|
46
|
+
self.asset_manager = AssetManager()
|
|
47
|
+
self.audio_manager = AudioManager()
|
|
48
|
+
self.target_audio = str(script_dir / "universfield-ui-button-click-147358.mp3")
|
|
49
|
+
self.target_image = str(script_dir / "Wangi.png")
|
|
50
|
+
self.asset_manager.load_image("logo", self.target_image)
|
|
51
|
+
self.audio_manager.load_sound("click", self.target_audio)
|
|
52
|
+
self.button = Button(300, 370, 200, 50, "Click Me", lambda: self.click())
|
|
53
|
+
self.switch = Button(300, 450, 200, 50, "Switch Scene", lambda: self.engine.scene_manager.set_scene(Side(self.engine)))
|
|
54
|
+
self.ui.add(self.button)
|
|
55
|
+
self.ui.add(self.switch)
|
|
56
|
+
|
|
57
|
+
def update(self):
|
|
58
|
+
# Update game logic here
|
|
59
|
+
self.ui.update()
|
|
60
|
+
self.player.update(Input())
|
|
61
|
+
def draw(self, surface):
|
|
62
|
+
self.drawer.rect(surface, (255, 0, 0), (self.player.x, self.player.y, self.player.w, self.player.h))
|
|
63
|
+
self.asset_manager.draw(surface, "logo", (-100, 0), (1000, 500))
|
|
64
|
+
self.ui.draw(surface)
|
|
65
|
+
def handle_event(self, event):
|
|
66
|
+
self.ui.handle_event(event)
|
|
67
|
+
|
|
68
|
+
def click(self):
|
|
69
|
+
self.audio_manager.play_sound("click")
|
|
70
|
+
print("Button clicked!")
|
|
71
|
+
|
|
72
|
+
class Side(Scene):
|
|
73
|
+
def __init__(self, engine):
|
|
74
|
+
super().__init__(engine)
|
|
75
|
+
self.ui = UIManager()
|
|
76
|
+
self.engine = engine
|
|
77
|
+
self.asset_manager = AssetManager()
|
|
78
|
+
self.screen1 = VertexScreen()
|
|
79
|
+
self.target_image = str(script_dir / "Wangi.png")
|
|
80
|
+
self.asset_manager.load_image("logo", self.target_image)
|
|
81
|
+
self.switch = Button(300, 450, 200, 50, "Switch Scene", lambda: self.engine.scene_manager.set_scene(Main(self.engine)))
|
|
82
|
+
self.ui.add(self.switch)
|
|
83
|
+
|
|
84
|
+
def update(self):
|
|
85
|
+
# Update game logic here
|
|
86
|
+
self.ui.update()
|
|
87
|
+
|
|
88
|
+
def draw(self, surface):
|
|
89
|
+
self.ui.draw(surface)
|
|
90
|
+
font = self.screen1.Font(None, 50)
|
|
91
|
+
font2 = self.screen1.Font(None, 25)
|
|
92
|
+
font.draw(surface, "This is the second scene!", (200, 200), (255, 255, 255))
|
|
93
|
+
font2.draw(surface, "Press the button to go back. AERIS IS UGLY!!!!!!!!!!!!!!!", (175, 300), (255, 255, 255))
|
|
94
|
+
|
|
95
|
+
def handle_event(self, event):
|
|
96
|
+
self.ui.handle_event(event)
|
|
97
|
+
|
|
98
|
+
if __name__ == "__main__":
|
|
99
|
+
app = App()
|
|
100
|
+
engine = GameEngine(color=(0, 0, 0))
|
|
101
|
+
engine.scene_manager.set_scene(Main(engine))
|
|
102
|
+
engine.setWindowTitle("Vertex Engine Example")
|
|
103
|
+
engine.show()
|
|
104
|
+
|
|
105
|
+
app.run()
|
vertexengine-1.9.2/src/VertexEngine/examples/MajorSystemTest/universfield-ui-button-click-147358.mp3
ADDED
|
Binary file
|
|
@@ -115,9 +115,6 @@ if __name__ == "__main__":
|
|
|
115
115
|
engine.scene_manager.add_scene("main", scene)
|
|
116
116
|
engine.scene_manager.switch_to("main")
|
|
117
117
|
|
|
118
|
-
# =============================
|
|
119
|
-
# 🔑 QT INPUT — THIS IS THE FIX
|
|
120
|
-
# =============================
|
|
121
118
|
def engine_key_press(event):
|
|
122
119
|
key = event.key()
|
|
123
120
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
from VertexEngine import GameEngine, Scene, VertexScreen
|
|
2
|
+
from VertexEngine.VertexWidgets.PygameVWidgets import *
|
|
3
|
+
from VertexEngine.Vertex import App
|
|
4
|
+
class Main(Scene):
|
|
5
|
+
def __init__(self, engine):
|
|
6
|
+
super().__init__(engine)
|
|
7
|
+
self.ui = UIManager()
|
|
8
|
+
self.engine = engine
|
|
9
|
+
self.style1 = Style((255, 255, 255), (0, 255, 0), (0, 100, 0), text_color=(0, 0, 0), font_size=24)
|
|
10
|
+
self.slider = Slider(300, 200, 200, 20)
|
|
11
|
+
self.button1 = Button(300, 300, 100, 50, text="Button 1", on_click=lambda: self.switch())
|
|
12
|
+
self.slider.style = self.style1
|
|
13
|
+
self.ui.add(self.slider)
|
|
14
|
+
self.ui.add(self.button1)
|
|
15
|
+
self.ui.update()
|
|
16
|
+
|
|
17
|
+
def draw(self, surface):
|
|
18
|
+
self.ui.draw(surface)
|
|
19
|
+
font = VertexScreen.Font(None, 36)
|
|
20
|
+
header = VertexScreen.Font(None, 48)
|
|
21
|
+
header.draw(surface, "Pygame Widgets Test", (25, 25), (255, 255, 255))
|
|
22
|
+
font.draw(surface, "Slider Test", (300, 150), (255, 255, 255))
|
|
23
|
+
font.draw(surface, f"Value: {self.slider.value:.2f}", (300, 250), (255, 255, 255))
|
|
24
|
+
font.draw(surface, "Button Test", (300, 375), (255, 255, 255))
|
|
25
|
+
|
|
26
|
+
def update(self):
|
|
27
|
+
self.ui.update()
|
|
28
|
+
|
|
29
|
+
def handle_event(self, event):
|
|
30
|
+
self.ui.handle_event(event)
|
|
31
|
+
|
|
32
|
+
def switch(self):
|
|
33
|
+
self.engine.scene_manager.set_scene(Side(self.engine))
|
|
34
|
+
|
|
35
|
+
class Side(Scene):
|
|
36
|
+
def __init__(self, engine):
|
|
37
|
+
super().__init__(engine)
|
|
38
|
+
self.engine = engine
|
|
39
|
+
self.ui = UIManager()
|
|
40
|
+
self.style2 = Style((255, 255, 255), (255, 0, 0), (100, 0, 0), text_color=(0, 0, 0), font_size=24)
|
|
41
|
+
self.button2 = Button(300, 300, 100, 50, text="Back", on_click=lambda: self.switch_back())
|
|
42
|
+
self.button2.style = self.style2
|
|
43
|
+
self.ui.add(self.button2)
|
|
44
|
+
self.ui.update()
|
|
45
|
+
|
|
46
|
+
def draw(self, surface):
|
|
47
|
+
self.ui.draw(surface)
|
|
48
|
+
font = VertexScreen.Font(None, 36)
|
|
49
|
+
header = VertexScreen.Font(None, 48)
|
|
50
|
+
header.draw(surface, "Side Scene", (25, 25), (255, 255, 255))
|
|
51
|
+
font.draw(surface, "This is the side scene.", (300, 150), (255, 255, 255))
|
|
52
|
+
|
|
53
|
+
def update(self):
|
|
54
|
+
self.ui.update()
|
|
55
|
+
|
|
56
|
+
def handle_event(self, event):
|
|
57
|
+
self.ui.handle_event(event)
|
|
58
|
+
|
|
59
|
+
def switch_back(self):
|
|
60
|
+
self.engine.scene_manager.set_scene(Main(self.engine))
|
|
61
|
+
if __name__ == "__main__":
|
|
62
|
+
app = App()
|
|
63
|
+
engine = GameEngine(color=(0, 0, 0))
|
|
64
|
+
engine.setWindowTitle("Pygame Widgets Test")
|
|
65
|
+
engine.show()
|
|
66
|
+
|
|
67
|
+
scene = Main(engine)
|
|
68
|
+
engine.scene_manager.set_scene(scene)
|
|
69
|
+
app.exec()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: VertexEngine
|
|
3
|
-
Version: 1.9
|
|
3
|
+
Version: 1.9.2
|
|
4
4
|
Summary: A high-performance SDK for Python Development.
|
|
5
5
|
Author-email: Tyrel Miguel <annbasilan0828@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -11,6 +11,17 @@ Project-URL: Official Tech Site, https://tyrel.onrender.com
|
|
|
11
11
|
Project-URL: Source, https://github.com/VertexEngine-Projects/VertexEngine-Code
|
|
12
12
|
Project-URL: Issues, https://github.com/VertexEngine-Projects/VertexEngine-Code/issues
|
|
13
13
|
Project-URL: Discord, https://discord.gg/jqG8kQjX
|
|
14
|
+
Keywords: gamedev,game-development,game-engine,pyqt6,pygame,pygame-ce,sdk,gui
|
|
15
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
16
|
+
Classifier: Intended Audience :: Developers
|
|
17
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
18
|
+
Classifier: Topic :: Games/Entertainment
|
|
19
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
20
|
+
Classifier: Programming Language :: Python :: 3
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
24
|
+
Classifier: Operating System :: OS Independent
|
|
14
25
|
Requires-Python: >=3.10
|
|
15
26
|
Description-Content-Type: text/markdown
|
|
16
27
|
License-File: LICENSE
|
|
@@ -49,12 +60,19 @@ VertexEngine is a GUI and Game Engine for python applications, it works best if
|
|
|
49
60
|
Discord is out NOW!
|
|
50
61
|
[Discord Server](https://discord.gg/VertexEngine)
|
|
51
62
|
|
|
52
|
-
## Change Logs (1.7.0 - 1.9)
|
|
63
|
+
## Change Logs (1.7.0 - 1.9.2)
|
|
64
|
+
### 1.9.2
|
|
65
|
+
- NEW DEMO
|
|
66
|
+
- How to run: python3.x -m VertexEngine.examples.MajorSystemTest.main
|
|
67
|
+
### 1.9.1
|
|
68
|
+
- NEW DEMO
|
|
69
|
+
- How to Run: python3.x -m VertexEngine.examples.pygwidget_test
|
|
70
|
+
- Fixed engine clash bug (pygame and pyqt6 bug)
|
|
53
71
|
### 1.9
|
|
54
72
|
- FINALLY fixed the demos!
|
|
55
73
|
- how to run:
|
|
56
|
-
- Snake: python3.
|
|
57
|
-
- Event tester: python3.
|
|
74
|
+
- Snake: python3.x -m VertexEngine.examples.games.snake.main
|
|
75
|
+
- Event tester: python3.x -m VertexEngine.examples.test
|
|
58
76
|
- I was very tired while making this so the RNG text was generated by AI. sory abt that :q
|
|
59
77
|
### 1.8.9
|
|
60
78
|
- Small optimizations
|
|
@@ -3,6 +3,7 @@ README.md
|
|
|
3
3
|
pyproject.toml
|
|
4
4
|
setup.cfg
|
|
5
5
|
src/VertexEngine/VertexScreenModifiers.py
|
|
6
|
+
src/VertexEngine/WHY.mp3
|
|
6
7
|
src/VertexEngine/__init__.py
|
|
7
8
|
src/VertexEngine/_base.py
|
|
8
9
|
src/VertexEngine/assets.py
|
|
@@ -34,5 +35,9 @@ src/VertexEngine/VertexWidgets/AdvancedVWidgets/WindowMods.py
|
|
|
34
35
|
src/VertexEngine/VertexWidgets/AdvancedVWidgets/Windows.py
|
|
35
36
|
src/VertexEngine/VertexWidgets/BasicWidgets/SimpleGUI.py
|
|
36
37
|
src/VertexEngine/VertexWidgets/PygameVWidgets/__init__.py
|
|
38
|
+
src/VertexEngine/examples/pygwidget_test.py
|
|
37
39
|
src/VertexEngine/examples/test.py
|
|
40
|
+
src/VertexEngine/examples/MajorSystemTest/Wangi.png
|
|
41
|
+
src/VertexEngine/examples/MajorSystemTest/main.py
|
|
42
|
+
src/VertexEngine/examples/MajorSystemTest/universfield-ui-button-click-147358.mp3
|
|
38
43
|
src/VertexEngine/examples/games/snake/main.py
|
vertexengine-1.9/pyproject.toml
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
[project]
|
|
2
|
-
name = "VertexEngine"
|
|
3
|
-
version = "1.9"
|
|
4
|
-
description = "A high-performance SDK for Python Development."
|
|
5
|
-
authors = [
|
|
6
|
-
{ name = "Tyrel Miguel", email = "annbasilan0828@gmail.com" }
|
|
7
|
-
]
|
|
8
|
-
readme = "README.md"
|
|
9
|
-
license = { text = "MIT" }
|
|
10
|
-
requires-python = ">=3.10"
|
|
11
|
-
|
|
12
|
-
dependencies = [
|
|
13
|
-
"PyQt6>=6.7",
|
|
14
|
-
"pygame>=2.6; python_version < '3.14'",
|
|
15
|
-
"pygame-ce>=2.5.0; python_version >= '3.14'"
|
|
16
|
-
]
|
|
17
|
-
|
|
18
|
-
[project.urls]
|
|
19
|
-
Homepage = "https://vertexengine-zii6.onrender.com"
|
|
20
|
-
Documentation = "https://vertexenginedocs.netlify.app"
|
|
21
|
-
Tutorials = "https://www.youtube.com/watch?v=-P4t6UabuDU&t=0s"
|
|
22
|
-
"Official Tech Site" = "https://tyrel.onrender.com"
|
|
23
|
-
Source = "https://github.com/VertexEngine-Projects/VertexEngine-Code"
|
|
24
|
-
Issues = "https://github.com/VertexEngine-Projects/VertexEngine-Code/issues"
|
|
25
|
-
Discord = "https://discord.gg/jqG8kQjX"
|
|
26
|
-
[tool.setuptools.packages.find]
|
|
27
|
-
where = ["src"]
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/CheckBox.py
RENAMED
|
File without changes
|
{vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/Counter.py
RENAMED
|
File without changes
|
{vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/Dropdown.py
RENAMED
|
File without changes
|
{vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/List.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/AdvancedVWidgets/Windows.py
RENAMED
|
File without changes
|
{vertexengine-1.9 → vertexengine-1.9.2}/src/VertexEngine/VertexWidgets/BasicWidgets/SimpleGUI.py
RENAMED
|
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
|
|
File without changes
|