如何检测用户是否触摸了我的精灵/屏幕?

时间:2015-05-23 13:49:16

标签: java android libgdx touch spawning

基本上,精灵是在每隔(1,2或3秒)和无限时间随机产生的。我希望精灵在触摸屏幕后消失。 (android触摸事件)

public void ReadEncryptedFile(File deInFile) {
        try {
            FileInputStream fis = new FileInputStream(deInFile);
            int length = (int) deInFile.length();
            byte[] filebyte = new byte[length]
            // Decrypt the byte contents from the file using the cipher setup
            byte[] tmpTxT = mDecipher.doFinal(filebyte);
            fis.read(tmpTxT);
            fis.close();

         // Read into a string since we got the contents
         String plaintxt = new String(tmpTxt, "UTF-8");

         } catch (Exception e) {
            e.printStackTrace();
        }
    }

1 个答案:

答案 0 :(得分:1)

您需要设置触控侦听器。关于here

的信息

然后,您需要检查触摸位置是否在您的精灵范围内。 一种常见的方法是创建一个矩形并检查触摸位置是否在矩形内部,如此

 Rectangle2D bounds = new Rectangle2D.Float(x, y, width, height);

`if(bounds.contains(`the touch x value`,` the touch y value`){`

         //your code to remove the sprite
    }

或者你可以在sprite中编写自己的方法,如果你需要的只是contains方法,这将是一个更好的决定。这样,您就不必导入另一个库。 (请注意,它并没有太大的区别,但它是一种很好的做法)

public boolean contains(int x, int y) {
     return (x > this.x && y > this.y && x < this.x + this.width && y < this.y + this.height);
}