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

按下矩形时打印文本libgdx

崔宜修
2023-03-14

我创造了一个长方形

public Rectangle rectangle_hitbox;

它具有敌人的坐标和尺寸。在渲染方法中,我希望当按下此矩形时,打印字符串“完成”。我尝试了:

if(Gdx.input.isTouched()){
   System.out.println("Done");
} else {
   System.out.println("Missed");
}

但它在地图上的任何地方都有效,而不仅仅是矩形

共有1个答案

宰坚
2023-03-14

Gdx。输入isTouched()方法不知道矩形的位置。它只是检查屏幕是否被触摸。

尝试使用Gdx。输入getX()和Gdx。输入getY()获取触摸屏幕时单击或触摸事件的坐标,并对照矩形的坐标检查这些坐标。

如果您使用的是摄像机,也不要忘记取消投影坐标。有关更多信息,请参阅此答案。

if(Gdx.input.isTouched()){
    Vector3 touchPosition = new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0f);
    // TODO maybe unproject the position using camera.unproject(touchPosition);
    if (isTouchInsideRectangle(touchPosition)) {
        System.out.println("Done");
    }
    else {
        System.out.println("Missed");
    }
}
 类似资料:
  • NowCoder 题目描述 下图的矩阵顺时针打印结果为:1, 2, 3, 4, 8, 12, 16, 15, 14, 13, 9, 5, 6, 7, 11, 10 解题思路 // java public ArrayList printMatrix(int[][] matrix) { ArrayList ret = new ArrayList<>(); int r1 = 0, r2

  • 一、题目 输入一个矩阵,按照从外向里以顺时针的顺序依次扫印出每一个数字。 二、解题思路 把打印一圈分为四步:第一步从左到右打印一行,第二步从上到下打印一列,第三步从右到左打印一行,第四步从下到上打印一列。每一步我们根据起始坐标和终止坐标用一个循环就能打印出一行或者一列。 不过值得注意的是,最后一圈有可能退化成只有一行、只有一列,甚至只有一个数字,因此打印这样的一圈就不再需要四步。 因此我们要仔细分

  • 本文向大家介绍螺旋打印矩阵,包括了螺旋打印矩阵的使用技巧和注意事项,需要的朋友参考一下 该算法用于以螺旋方式打印数组元素。首先,从第一行开始,先打印全部内容,然后按照最后一列打印,然后再最后一行,依此类推,从而以螺旋方式打印元素。  该算法的时间复杂度为O(MN),M为行数,N为列数。 输入输出 算法 输入: 矩阵矩阵,行和列m和n。 输出:以螺旋方式打印矩阵的元素。 示例 输出结果

  • 你能直接在一台已连接到你的计算机上的打印机上打印一个MATLAB图形,或输出图形到一种MATLAB所支持的图象文件格式。这里提供两种打印或输出图形的方法。 在File菜单下用Print选项 用print命令 从菜单打印 在File菜单下方有四个菜单选择是关于打印的。 Page Setup选项显示一个对话框, 它使你能调整打印页图形的特征。 Print Setup选项显示一个对话框,它设置打印默认值

  • 我想把html附加到D3中的矩形上,给我一个多行工具提示。底部是如何添加一个矩形,这可能是问题的一部分。最上面是应该在我的世界里工作的代码。 这会将文本字段插入SVG,但它只是不显示: html: 我有一个鼠标移过函数,它运行以下内容: 我想我应该这么做,但这不起作用。它只是删除了我试图追加到的g.node。 问题:为什么我的文字没有出现?我试过.html,.textarea。我想要一个多行标签,

  • NowCoder 题目描述 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 解题思路 // java public ArrayList<arraylist> Print(TreeNode pRoot) { ArrayList<arraylist> ret = new ArrayList<>()