Added missing sprite texture for level elements
parent
bb19ba4602
commit
f25bc0112c
|
@ -26,17 +26,18 @@
|
|||
#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#
|
||||
#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#
|
||||
#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,#
|
||||
#,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,x,x,x,x,x,x,x,x,x,,,,,,,,,,,P,,,,,,,,,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,,,,,,,,,,,,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,,,,,,,,,,,,,,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,,,,,,,,,,,,,,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,,,,,,,,,,,,,,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,,,,,,,,,,,,,,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,,,,,,,,,,,,,,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,,,,,,,,,,,,,,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,,,,,,,,,,,,,,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,,,,,,,,,,,,,,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,,,,,,,,,,,,,,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,,,,,,,,,,,,,,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,,,,,,,,,,,,,,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
3,3,id=HEBEL
|
||||
#,,,,,,,,,,,,,,,,P,,,,,,,,,,,,,,,,,,,,,,,,,,x,x,x,x,x,x,x,x,x,,,,,,,,,,,,,,,,,D,,,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,r,,,,,,,,,,,l,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,r,,,,,,,,,,,,,,l,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,r,,,,,,,,,,,,,,l,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,r,,,,,,,,,,,,,,l,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,r,,,,,,,,,,,,,,l,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,r,,,,,,,,,,,,,,l,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,r,,,,,,,,,,,,,,l,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,r,,,,,,,,,,,,,,l,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,r,,,,,,,,,,,,,,l,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,r,,,,,,,,,,,,,,l,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,r,,,,,,,,,,,,,,l,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,r,,,,,,,,,,,,,,l,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#,#
|
||||
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
||||
16,28,id=HEBEL,emitter_state=false,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
Can't render this file because it has a wrong number of fields in line 42.
|
Binary file not shown.
After Width: | Height: | Size: 513 B |
Binary file not shown.
Before Width: | Height: | Size: 575 B After Width: | Height: | Size: 963 B |
|
@ -1,4 +1,18 @@
|
|||
[
|
||||
{
|
||||
"id": "missing",
|
||||
"subsheets": [
|
||||
{
|
||||
"id": "1",
|
||||
"delays": [
|
||||
60,
|
||||
60
|
||||
],
|
||||
"width": 12,
|
||||
"height": 12
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "goal_door",
|
||||
"subsheets": [
|
||||
|
|
|
@ -39,6 +39,8 @@ class Level:
|
|||
tile[split_item[0]] = split_item[1]
|
||||
elif split_item[0] == 'requires':
|
||||
tile[split_item[0]] = split_item[1].split(';')
|
||||
elif split_item[0] == 'emitter_state':
|
||||
tile[split_item[0]] = split_item[1].split(';')
|
||||
else:
|
||||
raise ValueError('Incorrect attribute name: ' + split_item[0])
|
||||
tiles[x][y] = tile
|
||||
|
|
|
@ -8,15 +8,12 @@ from sprite.SpritesheetManager import SpritesheetManager
|
|||
class ButtonInputLevelElement(InputLevelElement):
|
||||
|
||||
def load(self, sprite_manager: SpriteManager, spritesheet_manager: SpritesheetManager, level: Level):
|
||||
name = self.tile['name']
|
||||
position = self.tile['position']
|
||||
|
||||
self.spritesheet = spritesheet_manager.get_sheet('pressureplate')
|
||||
self.set_animation_state('on' if self.emitter_state else 'off')
|
||||
self.position_scale.position = position
|
||||
self.position_scale.position = self.tile['position']
|
||||
|
||||
def tick(self, tick_data: TickData):
|
||||
super().tick(tick_data)
|
||||
|
||||
collisions = self.get_collides_with()
|
||||
print(collisions)
|
||||
# print(collisions)
|
||||
|
|
|
@ -1,13 +1,20 @@
|
|||
|
||||
from level.Level import Level
|
||||
from level.elements.ButtonInputLevelElement import ButtonInputLevelElement
|
||||
from level.elements.SimpleBlockLevelElement import SimpleBlockLevelElement
|
||||
from level.elements.UnknownTileLevelElement import UnknownTileLevelElement
|
||||
from physics import ConstantsParser
|
||||
from physics.SpriteManager import SpriteManager, DrawLayers
|
||||
from sprite.SpritesheetManager import SpritesheetManager
|
||||
|
||||
TILES = {
|
||||
'#': SimpleBlockLevelElement,
|
||||
'+': SimpleBlockLevelElement,
|
||||
'-': SimpleBlockLevelElement,
|
||||
'l': SimpleBlockLevelElement,
|
||||
'r': SimpleBlockLevelElement,
|
||||
'~': SimpleBlockLevelElement,
|
||||
'|': SimpleBlockLevelElement,
|
||||
|
||||
'L': ButtonInputLevelElement, # TODO
|
||||
'P': ButtonInputLevelElement
|
||||
}
|
||||
|
@ -25,17 +32,21 @@ class LoadedLevel:
|
|||
position = (tile_number * ConstantsParser.CONFIG.block_size[0],
|
||||
row_number * ConstantsParser.CONFIG.block_size[1])
|
||||
tile['position'] = position
|
||||
|
||||
name = tile['name']
|
||||
|
||||
element = None
|
||||
|
||||
if name in TILES:
|
||||
element = TILES[name](tile, self)
|
||||
elif not name == '':
|
||||
print(f"Unknown tile at {position}: {name}")
|
||||
element = UnknownTileLevelElement(tile, self)
|
||||
|
||||
if element:
|
||||
self.blocks.append(element)
|
||||
self.sprite_manager.add_ui_element(DrawLayers.OBJECTS, element)
|
||||
element.load(self.sprite_manager, self.spritesheet_manager, level)
|
||||
|
||||
elif not name == '':
|
||||
print(f"Unknown tile: {name}")
|
||||
|
||||
def destroy_level(self):
|
||||
for block in self.blocks:
|
||||
self.sprite_manager.remove_ui_element(block)
|
||||
|
|
|
@ -6,7 +6,13 @@ from physics.SpriteManager import SpriteManager
|
|||
from sprite.SpritesheetManager import SpritesheetManager
|
||||
|
||||
BLOCK_TYPES = {
|
||||
'#': 'block_full'
|
||||
'#': 'block_full',
|
||||
'+': 'block_top',
|
||||
'-': 'block_bottom',
|
||||
'l': 'block_left',
|
||||
'r': 'block_right',
|
||||
'~': 'block_top_left',
|
||||
'|': 'block_top_right'
|
||||
}
|
||||
|
||||
|
||||
|
@ -15,10 +21,12 @@ class SimpleBlockLevelElement(StaticLevelElement):
|
|||
super().__init__(tile, loaded_level)
|
||||
|
||||
def load(self, sprite_manager: SpriteManager, spritesheet_manager: SpritesheetManager, level: Level):
|
||||
name = self.tile['name']
|
||||
position = self.tile['position']
|
||||
block_type = BLOCK_TYPES[name]
|
||||
if self.tile['name'] in BLOCK_TYPES:
|
||||
block_type = BLOCK_TYPES[self.tile['name']]
|
||||
else:
|
||||
block_type = 'block_full'
|
||||
print(f"Unknown block type: {self.tile['name']} {self.tile['position']}")
|
||||
|
||||
self.spritesheet = spritesheet_manager.get_sheet(level.theme + '_' + block_type)
|
||||
self.set_animation_state(str(random.randint(1, 3)))
|
||||
self.position_scale.position = position
|
||||
self.position_scale.position = self.tile['position']
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
from level.Level import Level
|
||||
from level.elements.StaticLevelElement import StaticLevelElement
|
||||
from physics.SpriteManager import SpriteManager
|
||||
from sprite.SpritesheetManager import SpritesheetManager
|
||||
|
||||
|
||||
class UnknownTileLevelElement(StaticLevelElement):
|
||||
def load(self, sprite_manager: SpriteManager, spritesheet_manager: SpritesheetManager, level: Level):
|
||||
self.spritesheet = spritesheet_manager.get_sheet('missing')
|
||||
self.set_animation_state('1')
|
||||
self.position_scale.position = self.tile['position']
|
Loading…
Reference in New Issue