d
This commit is contained in:
51
v5/Window.py
51
v5/Window.py
@@ -4,12 +4,15 @@ CELL = 25
|
||||
HEIGHT = 600
|
||||
WIDTH = 900
|
||||
|
||||
images = [
|
||||
class Context:
|
||||
def __init__(self):
|
||||
self.images = [
|
||||
["res/tiles_0.png", 0, 0, 75, 100],
|
||||
["res/tiles_0.png", 75, 0, 75, 100],
|
||||
["res/tiles_1.png", 0, 0, 75, 100],
|
||||
]
|
||||
positions = [
|
||||
]
|
||||
|
||||
self.positions = [
|
||||
[9, 1],
|
||||
[14, 1],
|
||||
[19, 1],
|
||||
@@ -29,22 +32,26 @@ positions = [
|
||||
[14, 19],
|
||||
[19, 19],
|
||||
[24, 19],
|
||||
]
|
||||
textures = None
|
||||
deselected_tiles = []
|
||||
selected_tiles = []
|
||||
]
|
||||
self.textures = None
|
||||
self.deselected_tiles = None
|
||||
self.selected_tiles = None
|
||||
|
||||
class Window(arcade.Window):
|
||||
def __init__(self):
|
||||
super().__init__(WIDTH, HEIGHT, "OGS Memory")
|
||||
arcade.set_background_color(arcade.color.WHITE)
|
||||
self.all_sprites = arcade.SpriteList()
|
||||
self.c = Context()
|
||||
c = self.c
|
||||
|
||||
textures = load_textures(images)
|
||||
deselected_tiles = create_deselected_tiles(positions, textures)
|
||||
for t in deselected_tiles:
|
||||
c.textures = load_textures(c.images)
|
||||
c.deselected_tiles = create_deselected_tiles(c.positions, c.textures)
|
||||
for t in c.deselected_tiles:
|
||||
self.all_sprites.append(t)
|
||||
c.selected_tiles = create_selected_tiles(c.positions, c.textures)
|
||||
for t in c.selected_tiles:
|
||||
self.all_sprites.append(t)
|
||||
#selected_tiles = create_selected_tiles(positions, textures)
|
||||
|
||||
def on_draw(self):
|
||||
arcade.start_render()
|
||||
@@ -53,8 +60,12 @@ class Window(arcade.Window):
|
||||
def on_mouse_press(self, x, y, button, key_modifiers):
|
||||
print("click", x, y)
|
||||
sprites = arcade.get_sprites_at_point([x, y], self.all_sprites)
|
||||
if len(sprites) == 1:
|
||||
print("selected: ", sprites[0].guid)
|
||||
id = sprites[0].guid
|
||||
print("selected id: ", id)
|
||||
#print("deselected_tiles: ", self.c.deselected_tiles)
|
||||
#print("selected_tiles: ", self.c.selected_tiles)
|
||||
self.c.deselected_tiles[id].visible = False
|
||||
self.c.selected_tiles[id].visible = True
|
||||
|
||||
def on_update(self, delta):
|
||||
self.all_sprites.update_animation()
|
||||
@@ -83,3 +94,17 @@ def create_deselected_tiles(positions, textures):
|
||||
tile.center_x = CELL * 2 + p[0] * CELL
|
||||
tile.center_y = HEIGHT - CELL * 2 - p[1] * CELL
|
||||
return tiles
|
||||
|
||||
def create_selected_tiles(positions, textures):
|
||||
tiles = []
|
||||
for (id, p) in enumerate(positions):
|
||||
tile = arcade.Sprite()
|
||||
tiles.append(tile)
|
||||
tile.guid = id
|
||||
tile.texture = textures[2]
|
||||
# Position.
|
||||
tile.center_x = CELL * 2 + p[0] * CELL
|
||||
tile.center_y = HEIGHT - CELL * 2 - p[1] * CELL
|
||||
# Invisible by default.
|
||||
tile.visible = False
|
||||
return tiles
|
||||
|
||||
Reference in New Issue
Block a user