Pyinstaller :<
Some checks failed
Build Windows EXE / build (push) Has been cancelled

This commit is contained in:
markojozsef
2026-10-19 18:31:06 +02:00
parent 10569e5886
commit 38270eabba
3 changed files with 77 additions and 34 deletions

30
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,30 @@
name: Build Windows EXE
on: [push]
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.14' # Match your local python version
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install arcade pygame pyinstaller
- name: Build with PyInstaller
run: |
pyinstaller --onefile --noconsole --add-data "res;res" src/main.py
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: Windows-Game-EXE
path: dist/main.exe

View File

@@ -5,6 +5,9 @@ Teljesen AI-generált szakaszokat egy `# !!! CHATGPT !!!` komment jelzi
## AI generálta komponensek: ## AI generálta komponensek:
### assets.py
* minden
### main.py ### main.py
* Game * Game

View File

@@ -1,44 +1,54 @@
import os
import sys
import arcade import arcade
import pygame import pygame
pygame.mixer.init() pygame.mixer.init()
def resource_path(relative_path):
"""Get absolute path to resource, works for dev and for PyInstaller builds."""
try:
base_path = sys._MEIPASS
except Exception:
base_path = os.path.abspath(".")
return os.path.join(base_path, relative_path)
sprites = { sprites = {
"cursor" : arcade.load_texture("res/sprite/handcursor.png"), "cursor" : arcade.load_texture(resource_path("res/sprite/handcursor.png")),
"title" : arcade.load_texture("res/sprite/title.png"), "title" : arcade.load_texture(resource_path("res/sprite/title.png")),
"test_bbg" : arcade.load_texture("res/sprite/test_bbg.png"), "test_bbg" : arcade.load_texture(resource_path("res/sprite/test_bbg.png")),
"kefka" : arcade.load_texture("res/sprite/kefka.png"), "kefka" : arcade.load_texture(resource_path("res/sprite/kefka.png")),
"dwagon" : arcade.load_texture("res/sprite/dwagon.png"), "dwagon" : arcade.load_texture(resource_path("res/sprite/dwagon.png")),
"dwagon_low" : arcade.load_texture("res/sprite/dwagon_low.png"), "dwagon_low" : arcade.load_texture(resource_path("res/sprite/dwagon_low.png")),
"dwagon_dead" : arcade.load_texture("res/sprite/dwagon_dead.png"), "dwagon_dead" : arcade.load_texture(resource_path("res/sprite/dwagon_dead.png")),
"zombie" : arcade.load_texture("res/sprite/zombie.png"), "zombie" : arcade.load_texture(resource_path("res/sprite/zombie.png")),
"zombie_low" : arcade.load_texture("res/sprite/zombie_low.png"), "zombie_low" : arcade.load_texture(resource_path("res/sprite/zombie_low.png")),
"zombie_dead" : arcade.load_texture("res/sprite/zombie_dead.png"), "zombie_dead" : arcade.load_texture(resource_path("res/sprite/zombie_dead.png")),
"skeleton" : arcade.load_texture("res/sprite/skeleton.png"), "skeleton" : arcade.load_texture(resource_path("res/sprite/skeleton.png")),
"skeleton_low" : arcade.load_texture("res/sprite/skeleton_low.png"), "skeleton_low" : arcade.load_texture(resource_path("res/sprite/skeleton_low.png")),
"skeleton_dead" : arcade.load_texture("res/sprite/skeleton_dead.png"), "skeleton_dead" : arcade.load_texture(resource_path("res/sprite/skeleton_dead.png")),
"witch" : arcade.load_texture("res/sprite/witch.png"), "witch" : arcade.load_texture(resource_path("res/sprite/witch.png")),
"witch_low" : arcade.load_texture("res/sprite/witch_low.png"), "witch_low" : arcade.load_texture(resource_path("res/sprite/witch_low.png")),
"witch_dead" : arcade.load_texture("res/sprite/witch_dead.png"), "witch_dead" : arcade.load_texture(resource_path("res/sprite/witch_dead.png")),
"herojoe" : arcade.load_texture("res/sprite/herojoe.png"), "herojoe" : arcade.load_texture(resource_path("res/sprite/herojoe.png")),
"herojoe_low" : arcade.load_texture("res/sprite/herojoe_low.png"), "herojoe_low" : arcade.load_texture(resource_path("res/sprite/herojoe_low.png")),
"herojoe_dead" : arcade.load_texture("res/sprite/herojoe_dead.png"), "herojoe_dead" : arcade.load_texture(resource_path("res/sprite/herojoe_dead.png")),
"heroinejane" : arcade.load_texture("res/sprite/heroinejane.png"), "heroinejane" : arcade.load_texture(resource_path("res/sprite/heroinejane.png")),
"heroinejane_low" : arcade.load_texture("res/sprite/heroinejane_low.png"), "heroinejane_low" : arcade.load_texture(resource_path("res/sprite/heroinejane_low.png")),
"heroinejane_dead" : arcade.load_texture("res/sprite/heroinejane_dead.png"), "heroinejane_dead" : arcade.load_texture(resource_path("res/sprite/heroinejane_dead.png")),
"font" : arcade.load_spritesheet("res/sprite/font.png"), "font" : arcade.load_spritesheet(resource_path("res/sprite/font.png")),
"panel" : arcade.load_spritesheet("res/sprite/panel.png"), "panel" : arcade.load_spritesheet(resource_path("res/sprite/panel.png")),
"podium" : arcade.load_spritesheet("res/sprite/podium.png"), "podium" : arcade.load_spritesheet(resource_path("res/sprite/podium.png")),
"balthasar" : arcade.load_spritesheet("res/sprite/balthasar.png"), "balthasar" : arcade.load_spritesheet(resource_path("res/sprite/balthasar.png")),
"overworld" : arcade.load_spritesheet("res/sprite/overworld_sheet.png"), "overworld" : arcade.load_spritesheet(resource_path("res/sprite/overworld_sheet.png")),
} }
sounds = { sounds = {
"mus_hatred" : pygame.mixer.Sound("res/mus/hatred.wav"), "mus_hatred" : pygame.mixer.Sound(resource_path("res/mus/hatred.wav")),
"mus_getrickrolled" : pygame.mixer.Sound("res/mus/getrickrolled.wav"), "mus_getrickrolled" : pygame.mixer.Sound(resource_path("res/mus/getrickrolled.wav")),
"mus_decisive" : pygame.mixer.Sound("res/mus/decisive.wav"), "mus_decisive" : pygame.mixer.Sound(resource_path("res/mus/decisive.wav")),
"mus_fnafsux" : pygame.mixer.Sound("res/mus/fnafsux.wav"), "mus_fnafsux" : pygame.mixer.Sound(resource_path("res/mus/fnafsux.wav")),
"mus_finale" : pygame.mixer.Sound("res/mus/finale.wav"), "mus_finale" : pygame.mixer.Sound(resource_path("res/mus/finale.wav")),
"mus_credits" : pygame.mixer.Sound("res/mus/credits.wav"), "mus_credits" : pygame.mixer.Sound(resource_path("res/mus/credits.wav")),
"sfx_encounter" : pygame.mixer.Sound("res/sfx/encounter.wav"), "sfx_encounter" : pygame.mixer.Sound(resource_path("res/sfx/encounter.wav")),
} }