Add script by dawnbringer that performs spritesheet animation.
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@1677 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
c802a9acfd
commit
9a941c4512
47
share/grafx2/scripts/ani_db_spritesheet.lua
Normal file
47
share/grafx2/scripts/ani_db_spritesheet.lua
Normal file
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user