我刚开始游戏开发,并决定使用LibGDX
制作2048克隆来学习基础知识。
我开始使用一个简单的2D数组实现它,它可以工作,但问题是没有任何动画。因此,例如,如果有一个位于[0][0]
位置的磁贴,并且在用户滑动屏幕后它必须移动到[0][3]
,那么转换会立即发生(因为我基本上只是更新我的2D数组并重新渲染瓷砖。
我被告知这种类似棋盘游戏的UI是使用Scene2D
的完美场景。我可以使用Actors轻松实现基本的4x4网格,但我的问题是,如何使用Scene2D正确管理基本上是2D结构?
如果用户滑动电路板(左,右,上,下)并更新2D数组,我已经有了算法来处理移动磁贴的位置,但感觉就像我使用的是Scene2D,使用这个二级二维数组数据结构过度。
现在我的方法是:
我只是喜欢我在这里有不必要的步骤和不必要的数据结构。
处理这种情况的正确方法是什么?
感谢有用的建议,谢谢!
答案 0 :(得分:0)
您是否将瓷砖放在TableLayout中?正如你所发现的那样,只是把它拉过来就行不了。
要为其设置动画,您需要定义一个MoveAction。
MoveToAction moveAction = new MoveToAction();
moveAction.setPosition(300f, 0f);
moveAction.setDuration(10f);
myActor.addAction(moveAction);
示例复制自: http://www.gamefromscratch.com/post/2013/12/09/LibGDX-Tutorial-9-Scene2D-Part-2-Actions.aspx
如果您使用TableLayout,我不确定如何实现。