From 9a941c4512d99880da27e88daa1b0d776fe5d255 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sat, 15 Jan 2011 17:34:19 +0000 Subject: [PATCH] Add script by dawnbringer that performs spritesheet animation. git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1677 416bcca6-2ee7-4201-b75f-2eb2f807beb1 --- share/grafx2/scripts/ani_db_spritesheet.lua | 47 +++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 share/grafx2/scripts/ani_db_spritesheet.lua diff --git a/share/grafx2/scripts/ani_db_spritesheet.lua b/share/grafx2/scripts/ani_db_spritesheet.lua new file mode 100644 index 00000000..9c964047 --- /dev/null +++ b/share/grafx2/scripts/ani_db_spritesheet.lua @@ -0,0 +1,47 @@ +--ANIM: Sprite Animator v0.1 +--Spare page holds data - Plays on current +--by Richard Fhager + +require("memory") + +arg=memory.load({XS=16,YS=16,SPACE=1,FRAMES=8,XOFF=0,YOFF=0,FPS=10}) + +OK, XS, YS, SPACE, FRAMES, XOFF, YOFF, FPS = inputbox("Sprite-Sheet +Animator", + "Sprite X-size", arg.XS, 1, 256,0, + "Sprite Y-size", arg.YS, 1, 256,0, + "Spacing", arg.SPACE, 0, 32,0, + "# of Frames", arg.FRAMES,2, 100,0, + "X-offset", arg.XOFF, 0, 256,0, + "Y-offset", arg.YOFF, 0, 256,0, + "Play Speed (FPS)",arg.FPS, 1, 60,0 +); + + +if OK == true then + +memory.save({XS=XS,YS=YS,SPACE=SPACE,FRAMES=FRAMES,XOFF=XOFF,YOFF=YOFF,FPS=FPS}) + + MAXPLAYS = 25 + + w,h = getpicturesize() + OX = w / 2 - XS/2 + OY = h / 2 - YS/2 + + for play = 1, MAXPLAYS, 1 do + + for f = 0, FRAMES-1, 1 do + for y = 0, YS-1, 1 do + for x = 0, XS-1, 1 do + sx = x + XOFF + f * (XS + SPACE) + sy = y + YOFF + putpicturepixel(OX+x, OY+y, getsparepicturepixel(sx, sy)) + end + end + updatescreen(); if (waitbreak(1/FPS)==1) then return; end + end + + end -- plays + +end --OK +