This commit is contained in:
Михаил Капелько
2024-06-28 23:17:27 +03:00
parent bc17aa6ade
commit 430b918a99
5 changed files with 24 additions and 4 deletions

View File

@@ -48,3 +48,5 @@ def desktop_createSelectedTiles(p):
tile.top = pos[1]
# Invisible by default.
tile.visible = False
#}
#}

View File

@@ -3,7 +3,9 @@ import arcade
class desktop_Platform:
def __init__(self):
self.c = None
self.ctrl = None
self.deselectedTiles = []
self.mousePosition = []
self.selectedTiles = []
self.sprites = arcade.SpriteList()
self.textures = []

View File

@@ -1,4 +1,5 @@
import arcade
from desktop_aux import *
class desktop_Window(arcade.Window):
def __init__(self, p):
@@ -16,10 +17,11 @@ class desktop_Window(arcade.Window):
self.p.sprites.draw()
def on_mouse_press(self, x, y, button, key_modifiers):
print("click", x, y)
sprites = arcade.get_sprites_at_point([x, y], self.p.sprites)
id = sprites[0].guid
print("selected id: ", id)
id = desktop_aux_tileIdAt(self.p, x, y)
if (
id != None
):
self.p.ctrl.set("selectedId", id)
def on_update(self, delta):
self.p.sprites.update_animation()

12
v5/desktop_aux.py Normal file
View File

@@ -0,0 +1,12 @@
import arcade
# Find tile id at the specified location
def desktop_aux_tileIdAt(p, x, y):
sprites = arcade.get_sprites_at_point([x, y], p.sprites)
if (
len(sprites) != 0
):
return sprites[0].guid
#}
return None
#}

View File

@@ -81,6 +81,8 @@ ctrl.registerCallback(printOutput)
ctrl.registerFieldCallback("exit", lambda c: sys.exit(0))
p = desktop_Platform()
# Keep copy of ctrl in platform, too.
p.ctrl = ctrl
# Copy context to platform.
def copyContext(c):