diff --git a/CHANGELOG.md b/CHANGELOG.md index e9c313070d..cc98725a11 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,11 @@ You can grab pre-release versions from PyPi. See the available versions from the Arcade [PyPi Release History](https://pypi.org/project/arcade/#history) page. +## Unreleased + +### Breaking Change +- Tilemap: Sprites of an object tile layer will now apply visibility of the object. + ## 4.0.0.dev3 ### Fixes diff --git a/arcade/resources/assets/tiled_maps/test_objects.json b/arcade/resources/assets/tiled_maps/test_objects.json index b64ec9db0c..fdfb4ed3db 100644 --- a/arcade/resources/assets/tiled_maps/test_objects.json +++ b/arcade/resources/assets/tiled_maps/test_objects.json @@ -171,7 +171,7 @@ "name":"crate1", "rotation":-45, "type":"crate", - "visible":true, + "visible":false, "width":400, "x":1500, "y":1800 diff --git a/arcade/tilemap/tilemap.py b/arcade/tilemap/tilemap.py index 3828c6c9c8..b107df8192 100644 --- a/arcade/tilemap/tilemap.py +++ b/arcade/tilemap/tilemap.py @@ -896,6 +896,7 @@ def _process_object_layer( my_sprite.position = (x + rotated_center_x, y + rotated_center_y) my_sprite.angle = angle_degrees + my_sprite.visible = cur_object.visible if layer.tint_color: my_sprite.color = ArcadeColor.from_iterable(layer.tint_color) diff --git a/tests/unit/tilemap/test_tilemap_objects.py b/tests/unit/tilemap/test_tilemap_objects.py index 648a08c343..73a31231df 100644 --- a/tests/unit/tilemap/test_tilemap_objects.py +++ b/tests/unit/tilemap/test_tilemap_objects.py @@ -23,11 +23,12 @@ def test_one(): sprite_1 = tile_list[0] assert sprite_1 is not None # - # Test width, height and angle + # Test width, height, angle and visibility # assert sprite_1.width == 400 assert sprite_1.height == 1000 assert sprite_1.angle == -45 + assert sprite_1.visible == False # # Test type and name properties