【发布时间】:2014-10-24 19:21:15
【问题描述】:
我的 Renderer 类中有 2 个 Animation 类的对象,它们包含 2 个猴子动画文件:一个描绘猴子向前走,另一个描绘右侧。
现在,我正在尝试创建第三个动画对象,以绘制向左移动的猴子。
我正在尝试翻转第二个动画的图像(猴子向右)并将它们添加到一个数组中,该数组最终将用作第三个对象的资源。
问题是当我翻转第二个动画的图像然后添加它们时,原始动画对象被“损坏”。当我说损坏时,我的意思是包含猴子向右走的图像的动画突然也“翻转”到左侧,现在我有 2 个动画对象描述了向左走的猴子。
这是处理它的代码部分:
monkeyAnimStraight = new Animation(1/20.0f, AssetsManager.getAsset("animations/monkeywalkaway.txt", TextureAtlas.class).getRegions());
monkeyAnimStraight.setPlayMode(Animation.PlayMode.LOOP_REVERSED);
monkeyAnimRight = new Animation(1/10.0f, AssetsManager.getAsset("animations/monkeywalk.txt", TextureAtlas.class).getRegions());
monkeyAnimRight.setPlayMode(Animation.PlayMode.LOOP_REVERSED);
Array<AtlasRegion> temp = AssetsManager.getAsset("animations/monkeywalk.txt", TextureAtlas.class).getRegions();
Array<AtlasRegion> keyFramesTemp = new Array<TextureAtlas.AtlasRegion>();
keyFramesTemp.addAll(temp);
for(AtlasRegion keyFrame : keyFramesTemp) {
keyFrame.flip(true, false);
}
monkeyAnimLeft = new Animation(1/20.0f, keyFramesTemp);
如您所见,我正在尝试复制原始图像,这样它们就不会被翻转,但它仍然不起作用。
如何成功复制原始 AtlasRegion 数组?
【问题讨论】:
标签: java arrays copy libgdx texture-atlas