我的LibGdx程序有问题。我为相机设置了800高度和480宽度。我在坐标下绘制目标:
randomTargetX = new Random().nextInt((350 - 100) + 1) + 100;
randomTargetY = new Random().nextInt((600 - 300) + 1) + 300;
但是在点击目标后,我的炮弹不会与目标矩形重叠。
我正在使用Touch进行此操作:
if (Gdx.input.justTouched()) {
touchX = Gdx.input.getX();
touchY = Gdx.input.getY();
camera.unproject(touch.set(touchX, touchY, 0));
if (touch.y>200) {
isTouched = true;
rectangleCannonBall.x = (width / 2) - 50 / 2;
rectangleCannonBall.y = 0;
double angle = 180.0 / Math.PI * Math.atan2(rectangleCannonBall.x - touch.x, touch.y - rectangleCannonBall.y);
spriteCannon.setRotation((float) angle);
}
}
不起作用。
这是炮弹游戏:
首先我要设置相机。
在坐标范围内随机显示目标。
具有Vector3新位置的触摸式非投影相机。
在触摸时使用大炮位置计算目标位置并获取旋转大炮的角度。
旋转大炮后,我向目标射击。
现在,当我执行Rectanglar1.overlaps(rec2)时,它不起作用,因为两个矩形具有不同的点,但是通过可见它们彼此重叠。
当我检查目标矩形的坐标并触摸其不同时。
答案 0 :(得分:0)
该行:
camera.unproject(touch.set(touchX, touchY, 0));
什么都不做。
尝试:
touch = camera.unproject(touch.set(touchX, touchY, 0));