【问题标题】:Image Click event in Java LibGdxJava LibGdx 中的图像单击事件
【发布时间】:2014-03-04 00:41:43
【问题描述】:

我正在开发一款街头霸王游戏。我需要为用户提供一个字符选择屏幕。如何在 Java libGDX 中进行此字符选择?这是我的图像代码。我可以使用 ImageClick 事件吗?

splashTexture1 = new Texture(Gdx.files.internal("assets/gui/Character1.PNG"));
splashTexture1.setFilter(TextureFilter.Linear, TextureFilter.Linear);
splashSprite1 = new Sprite(splashTexture1);     
splashSprite1.setX(100);
splashSprite1.setY(180);

【问题讨论】:

    标签: java libgdx desktop-application


    【解决方案1】:

    我的建议是使用scene2d 来制作菜单或HUD 的东西。 看看这个:https://github.com/libgdx/libgdx/wiki/Scene2d

    scene2d 是一个 2D 场景图,用于使用角色层次结构构建应用程序和 UI:

    • 按钮
    • 标签
    • 滑块
    • 文本按钮
    • 可滚动视图(列表)
    • 表格
    • 您的自定义小部件
    • 演员组

    您可以将 ClickListener 添加到演员。 (在你的情况下,演员是一个按钮)

    【讨论】:

      【解决方案2】:

      您可以通过两种方式进行操作。我建议同时使用。

      常见的东西
      您可以列出屏幕中所有字符的图像。并让用户使用以下之一选择任何一个。

      1. 点击事件
        每张图片都有一个单独的ClickListener(如果您对此有疑问,您应该搜索“如何将点击侦听器添加到 libgdx 演员”。
        单击任何图像时,存储所选角色的变量(用于游戏的其余部分)将设置为已单击的图像。画面也变了。
      2. 键盘事件
        其中一张图片将在其周围绘制焦点。用户可以使用箭头键将焦点移动到其他字符图像。当用户按下回车键时,当前具有焦点的字符被选中并改变屏幕。

      希望这会有所帮助。

      【讨论】:

        【解决方案3】:

        我建议使用 libgdx 中的Table-Layout。将ImageButton 添加到Table 并将ClickListener 添加到ImageButton。添加相同的Texture 和上下Texture,你就完成了。也许稍后更改它,以便用户看到他点击了一个数字。

        表格使您能够以您喜欢的方式排列这些按钮,并且它是结构化的。此外,创建动态视图很容易,例如,对于您添加到文件夹的每个新纹理,它都有新的ImageButton。只需创建一个 ScrollPane 和一个 Table 的“数字”(这是带有侦听器的 ImageButton),您可以添加一堆它并让用户向下和向上滚动以检查他喜欢哪个。

        【讨论】:

          猜你喜欢
          • 2015-07-22
          • 1970-01-01
          • 2015-01-12
          • 1970-01-01
          • 2020-03-16
          • 1970-01-01
          • 1970-01-01
          • 2013-04-09
          • 2014-05-19
          相关资源
          最近更新 更多