MakeTiles: abstract tile mapping into prepareFrames() method
This commit is contained in:
parent
409f338e6b
commit
ec7641eadf
1 changed files with 25 additions and 23 deletions
|
@ -173,29 +173,7 @@ public class MakeTiles
|
|||
continue;
|
||||
}
|
||||
|
||||
TileImage dest;
|
||||
|
||||
if (ref.getFrameEndTime(0) > 0) {
|
||||
|
||||
Animation ani = new Animation();
|
||||
int t = 0;
|
||||
int n = ref.getFrameEndTime(t);
|
||||
while (n > 0) {
|
||||
TileImageSprite s = c.prepareTile(TILE_SIZE);
|
||||
Animation.Frame f = new Animation.Frame(s, n-t);
|
||||
|
||||
ani.addFrame(f);
|
||||
|
||||
t = n;
|
||||
n = ref.getFrameEndTime(t);
|
||||
}
|
||||
dest = ani;
|
||||
}
|
||||
else {
|
||||
TileImageSprite s = c.prepareTile(TILE_SIZE);
|
||||
dest = s;
|
||||
}
|
||||
|
||||
TileImage dest = prepareFrames(ref, c);
|
||||
TileMapping m = new TileMapping(tileName, ref, dest);
|
||||
mappings.add(m);
|
||||
}
|
||||
|
@ -236,6 +214,30 @@ public class MakeTiles
|
|||
writeIndexFile(mappings, indexFile);
|
||||
}
|
||||
|
||||
static TileImage prepareFrames(TileImage ref, Composer c)
|
||||
{
|
||||
if (ref.getFrameEndTime(0) > 0) {
|
||||
|
||||
Animation ani = new Animation();
|
||||
int t = 0;
|
||||
int n = ref.getFrameEndTime(t);
|
||||
while (n > 0) {
|
||||
TileImageSprite s = c.prepareTile(TILE_SIZE);
|
||||
Animation.Frame f = new Animation.Frame(s, n-t);
|
||||
|
||||
ani.addFrame(f);
|
||||
|
||||
t = n;
|
||||
n = ref.getFrameEndTime(t);
|
||||
}
|
||||
return ani;
|
||||
}
|
||||
else {
|
||||
TileImageSprite s = c.prepareTile(TILE_SIZE);
|
||||
return s;
|
||||
}
|
||||
}
|
||||
|
||||
static void writeIndexFile(Collection<TileMapping> mappings, File indexFile)
|
||||
throws IOException
|
||||
{
|
||||
|
|
Reference in a new issue