我在libgdx中制作数学游戏。我有生成随机问题并存储在ArrayList中。 现在我想在Scree屏幕上绘制这些Mathmatical表达式,实际上SCreen有3部分
---------------------------------------------
| Score Sound |
| |
----------------------------------------------
| 3-1=2 |
| |
| 8+9=4 |
| |
| |
| |
| |
| 5*4=20 |
| |
| |
----------------------------------------------
| Virtual keyboard of |
| numbers (0-9)for user input |
----------------------------------------------
任何人都会指导我如何画这样的表情从上到下。
答案 0 :(得分:0)
你可以使用Action
类的力量。只需创建Label's
并将MoveTo
(或MoveBy
)操作附加到他们身上即可。请阅读有关操作here的更多信息。
Stage yourStage = ...
Group root = yourStage.getRoot();
// create some label
final Label mathExpression = new Label("3-1=2", yourSkin, "labelSkinName");
// set initial position, could be random
mathExpression.setPosition(randomXPosition, topPosition);
// create sequence action, where actions are run one by one
SequenceAction sequence = new SequenceAction();
// add simple action that moves actor down by topPosition with 4sec to the sequenca
sequence.addAction(Actions.moveBy(0, -topPosition, 4));
// add Runnable action that will be run after that to the sequence
sequence.addAction(Actions.run(new Runnable()
{
@Override
void run()
{
// this code will be run after label fall, for example, remove it
mathExpression.remove();
}
}
// attach your actions sequence to the label
mathExpression.addAction(sequence);
// for example, attach label to root
root.addActor(mathExpression);
您可以逐个创建这些标签,并且操作会处理它们。
我希望它可以帮到你。
答案 1 :(得分:0)
使用包含3个表的表:headerTable,equationsTable,footerTable:
Table table = new Table();
table.settFillParent(true);
Table headerTable = new Table();
Table equationsTable = new Table();
Table footerTable = new Table();
table.add(headerTable).expandX().height(headerHeight);
table.row();
table.add(equationsTable).expandX().(equationsHeight);
table.row();
table.add(footerTable).expandX().(footerHeight);
现在你需要自己定义高度。现在你真正需要的只是Label和TextButotn。 对于标签创建LabelStyle并将其添加到如下标签:
LabelStyle labelStyle = new LabelStyle(font, Color);
Label scoreLabel = new Label("score", labelStyle);
现在只需将标签添加到相应的表格中,然后使用单元格和填充来获得所需的结果,请将此指南用于表格https://github.com/EsotericSoftware/tablelayout:
headerTable.add(scoreLabel).left();
headerTable.add(soundLabel).right();
方程式只是标签,您可以添加到方程表中并使用以下内容更改文本:
label.setText(newEqationText);