2015-11-01 53 views
0

因此,在我的游戏中,我在滚动窗格中显示不同的图像。现在在这些图像上,我想要显示动态文本,它们将随滚动窗格一起滚动,同时保持在图像上的相同位置。我一直在环顾四周,看到不同的做法,但我不知道哪个是最好的。 我看到的方式是:
使用堆栈将图像上的文本分层。
使用帧缓冲区。 感谢您的帮助。分层叠加在图像上的文字libgdx

回答

1

虽然我从来没有使用Stack,我认为这是解决您的问题。

堆栈允许您放置几个演员在彼此之上。所以这个策略是创建几个堆栈。每个堆栈都会包含一个图像以及图像顶部的相应文本,然后将堆栈添加到ScrollPane中;

Image image1, image2, ... imageN; 
Label label1, label2, ... labelN; 
Stack stack1, stack2, ... stackN; 
ScrollPane scrollPane; 
Stage stage; 

public Screen(final MyGdxGame gam){ 
    /* 
    * Define all your images, labels, the scrollPane and the stage 
    */ 

    //Add images and labels to the corresponding stack 
    stack1.add(image1); 
    stack1.add(label1); 
    . 
    . 
    . 
    stackN.add(imageN); 
    stackN.add(labelN); 

    //Add the stacks to the scrollPane 
    scrollPane.addActor(stack1); 
    . 
    . 
    . 
    scrollPane.addActor(stackN); 

    stage.addActor(scrollPane); 
} 
+0

谢谢。我最终使用了一个包含两个表格的堆栈(一个用于图像,另一个用于覆盖信息)。然而,在试图将每个标签放在正确的位置时遇到了问题。我通过JSON数据记录了几条记录。通过for循环显示图像的每条记录,然后从图像左上角的json数据顶部标记。我做了什么来匹配这些图像下面的每个图像设置图像单元格的宽度和高度,然后使用它们来设置信息表的宽度和高度。 – bob565

+0

这是问题的解决方案,应标记为答案。 –