From 9d8ecf9fecd05f1b8dc5d26fadbf3de9a6fe3ce7 Mon Sep 17 00:00:00 2001 From: Aviv Beeri Date: Wed, 15 Mar 2023 07:10:16 +0000 Subject: [PATCH] Added a small api to the spritesheet for two-dimensional indexing --- docs/modules/graphics.md | 7 +++++++ docs/modules/image.md | 0 src/modules/image.wren | 2 ++ 3 files changed, 9 insertions(+) delete mode 100644 docs/modules/image.md diff --git a/docs/modules/graphics.md b/docs/modules/graphics.md index 3fc9b927..cf926bee 100644 --- a/docs/modules/graphics.md +++ b/docs/modules/graphics.md @@ -300,6 +300,13 @@ Draw tile `index` on the spritesheet at location `(x, y)` on screen. Draw tile `index` on the spritesheet at location `(x, y)` on screen. This will also apply the given transform `parameterMap` to the tile being drawn. You can reference the `ImageData.transform` documentation for a list of available parameters. +#### `draw(tileX: Number, tileY: Number, x: Number, y: Number)` +Draw tile `(tileX, tileY)` on the spritesheet at location `(x, y)` on screen. + +#### `draw(tileX: Number, tileY: Number, x: Number, y: Number, parameterMap)` +Draw tile `(tileX, tileY)` on the spritesheet at location `(x, y)` on screen. This will also apply the given transform `parameterMap` to the tile being drawn. +You can reference the `ImageData.transform` documentation for a list of available parameters. + ### Instance Methods #### `fg: Color` diff --git a/docs/modules/image.md b/docs/modules/image.md deleted file mode 100644 index e69de29b..00000000 diff --git a/src/modules/image.wren b/src/modules/image.wren index 060d6385..9a2a2115 100644 --- a/src/modules/image.wren +++ b/src/modules/image.wren @@ -167,6 +167,8 @@ class SpriteSheet { return _cache[s] } + draw(sx, sy, x, y, modMap) { draw(sy * _width + sx, x, y, modMap) } + draw(sx, sy, x, y) { draw(sy * _width + sx, x, y) } draw(s, x, y) { draw(s, x, y, null) } draw(s, x, y, modMap) { getTile(s).modify(modMap || {