当前位置: 首页 > 知识库问答 >
问题:

如何在图片中添加clicklistener

邓欣可
2023-03-14

我刚刚开始用libGDX做原型,以了解它是如何工作的。我想实现一个网格(像象棋游戏),当我点击/触摸网格的一个盒子,这改变了它的形象。

我找到了一个很好的教程,但它只使用键盘监听器,在网络上,我找不到一个很好的例子来阐明这些机制。

我不明白的是:用什么来渲染框(目前我只使用了SpriteBatch和ShapeRenderer)以及如何检测何时哪个框被点击(我认为计算坐标不是一个好方法。我认为最好的方法是在每个框中添加一个点击监听器来确定它何时被点击,但是我不知道如何编码)。

谢谢大家的任何建议,如果有例子的话,能给我很大帮助。

共有2个答案

曾骁
2023-03-14

Scene2d最适合您的目的,请查看文档。https://github.com/libgdx/libgdx/wiki/Scene2d

例如,您可以将演员手势列表添加到创建的演员中。要使用形状渲染器渲染某些内容,您可以覆盖 Actor 的绘制方法并对它们应用矩阵。但是,如果您只需要绘制框,最好使用带有矩形的简单图像,而不是使用ShapeRenderer。选择您更喜欢的款式/规格。

宋弘壮
2023-03-14
Image image = new Image();

image.addListener(new ClickListener(){
    @Override
    public void clicked(InputEvent event, float x, float y) {
        System.out.println("You clicked an image...");
    }
});

现在,我们可以将此图像添加到类似< code >表的东西中,或者直接添加到< code >舞台中。

就像dtx12提到的,你应该看看场景2D。您可能希望使用这样的表来设置网格。

Table chessTable = new Table();
int boardHeight = 8;
int boardWidth = 8;

for (int y = 0; y < boardHeight; y++)
{
    for (int x = 0; x < boardWidth; x++)
    {
        //Check if dividable by two to make checker pattern and add cell to table.
        if (x + y % 2 == 0)
            chessTable.add(blackImage);
        else 
            chessTable.add(whiteImage);
    }
    //Add a new row to table
    chessTable.row();
}
 类似资料:
  • 我有一个关于在LinkedList中添加“像素”的问题。 完成方法: > public Pixel pixelAt(int zeile,int spalte)这个方法在“图片”的行/列中返回一个后面的“Pixel”。如果没有黑色“像素”,则返回NULL。 public void printBild()为黑色像素打印一个“*”,为白色像素打印一个“-”。 公共空像素(int zeile,int sp

  • 编辑文档时,还可以插入图片。每个主题下可以添加多张图片,支持多种插入方式,以及方便的编辑功能。 如何插入 1、使用快捷键「Alt + Enter」呼出菜单; 2、鼠标悬停在主题的圆点上,在出现的菜单中选择添加图片; 3、直接将电脑中的图片,拖到某一个主题下; 4、直接从剪切板粘贴图片,使用快捷键「Ctrl + V」。 注:高级版用户才可以使用图片功能,支持 jpg、png、gif 等格式的图片,单

  • 问题内容: 在SO和Web上,我都经常看到这个问题。但是它们都不是我要找的东西。 如何仅使用CSS将颜色叠加层添加到背景图像? HTML示例: CSS示例: 请注意: 我想仅通过使用CSS来解决此问题。即我不想在颜色叠加的div“ testclass”内添加子div。 这不应该是“悬停效果”,我只想向背景图像添加色彩过渡。 我希望能够使用不透明度,即我正在寻找一种允许RGBA颜色的解决方案。 我正

  • 问题内容: 想象一下这个非常简单的模型: 我想从图像URL创建照片(即,不是在django管理站点中手动创建)。 我认为我需要做这样的事情: 如果不告诉我,我希望我已经很好地解释了问题。 谢谢 :) 编辑: 这可能有效,但我不知道如何转换为Django文件: 问题答案: 我刚刚针对同一问题创建了http://www.djangosnippets.org/snippets/1890/。该代码与上面的

  • 6.9.1.添加图片 先给界面加上背景图片。在Android中,多数图片都是放在一个名为drawable的资源目录中。可以留意,我们有三个这样的目录: /res/drawable-hdpi 用于较高分辨率的设备 /res/drawable-mdpi 用于中等分辨率的设备 /res/drawable-ldpi 用于较低分辨率的设备 我们新建另一个目录,名为/res/drawable。右键单击res目

  • 我已经设置了一个宏,它将Excel电子表格中的一些图表保存为图片(作为更大程序的一部分),并且需要一些代码来将这些图片(每张幻灯片一张)粘贴到幻灯片中。 目前,我已经成功地打开了一个带有4张空白幻灯片的PowerPoint演示文稿,甚至还没有成功导入1张图片。 我一直在使用形状之类的方法。addpicture(“C:\Users\restoppathname”),但尚未使其工作