这个提交包含在:
2024-07-14 23:21:10 +03:00
父节点 ae30636af6
当前提交 cf901c5793
共有 7 个文件被更改,包括 44 次插入1 次删除

查看文件

@@ -8,7 +8,8 @@ windowTitle = Прототип: Отель
windowWidth = 900
[player]
base = 25
base = 75
left = 50
texture = stub
visible = true

查看文件

@@ -44,6 +44,7 @@ def process(c):
# Perform context dependent calls of desktop functions.
# Similar to context functions, but no platform is returned.
desktop_applyConfigInit(p)
desktop_createConfigPlayerSprites(p)
desktop_createConfigStaticSprites(p)
desktop_loadConfigTextures(p)
ctrl.registerCallback(process)

查看文件

@@ -18,6 +18,26 @@ def desktop_applyConfigInit(p):
value = desktop_aux_convertValue(val)
p.ctrl.set(key, value)
# Create player sprites
#
# Conditions:
# 1. Config textures has just been loaded
def desktop_createConfigPlayerSprites(p):
if (
p.c.recentField != "didLoadConfigTextures"
):
return
for key in p.c.cfgTree:
if (
key == "player"
):
sprite = desktop_aux_createPlayerSprite(p, key, p.c.cfgTree[key])
p.player = sprite
p.playerSprites.append(sprite)
# Report finish.
p.ctrl.set("didCreateConfigPlayerSprites", True)
# Create static sprites
#
# Conditions:

查看文件

@@ -4,6 +4,8 @@ class desktop_Platform:
def __init__(self):
self.c = None
self.ctrl = None
self.player = None
self.statics = {}
self.playerSprites = arcade.SpriteList()
self.staticSprites = arcade.SpriteList()
self.textures = {}

查看文件

@@ -14,6 +14,7 @@ class desktop_Window(arcade.Window):
def on_draw(self):
arcade.start_render()
self.p.staticSprites.draw()
self.p.playerSprites.draw()
def on_mouse_press(self, x, y, button, key_modifiers):
print("mouse press:", x, y)

查看文件

@@ -23,6 +23,23 @@ def desktop_aux_convertValue(
# String.
return value
def desktop_aux_createPlayerSprite(
p: desktop_Platform,
name: str,
desc: dict[str, str]
):
sp = arcade.Sprite()
sp.guid = name
texName = desc["texture"]
sp.texture = p.textures[texName]
# Position.
sp.left = float(desc["left"])
sp.top = float(desc["base"])
# Visibility.
sp.visible = True if desc["visible"] == "true" else False
return sp
def desktop_aux_createStaticSprite(
p: desktop_Platform,
name: str,

查看文件

@@ -4,6 +4,7 @@ class ht_Context:
self.cfgDir = None
self.cfgPath = None
self.cfgTree = {}
self.didCreateConfigPlayerSprites = False
self.didCreateConfigStaticSprites = False
self.didLaunch = False
self.didLoadConfigTextures = False