我在游戏地图上有两个矩形(称之为A和B),我已经计算了从B中心到A的角度。我有生成第三个(C)并从B到A“射击”它的代码。问题是在我的游戏中,这些游戏元素中的两个不应该重叠(它们通常有碰撞代码),所以“射击”代码停止了——在顶部生成C在逻辑上不起作用。
我的解决方案(告诉我是否有更好的方法)是在父对象的边缘旁边生成第三个矩形-但为了让UI正常工作,它需要始终从面向矩形a的父对象的边缘生成。
我知道矩形B的中心坐标,我知道从B到A的角度(可以是弧度或度数),如何确定角度将指向哪一侧(左、上、右、下)?
假设角
是从B
的中心到A
的中心的角度,以间隔-pi... pi中的弧度给出,那么下面应该做你想要的(请记住,就像@Jared建议的那样,正角度是向下而不是向上):
double halfPi = Math.PI/2;
double theta = Math.atan2(B.height, B.width);
if (angle >= theta+halfPi || angle <= -theta-halfPi) {
// left side
} else if (angle >= theta) {
// bottom side
} else if (angle >= -theta) {
// right side
} else {
// top side
}
当我用这样的碰撞引擎编写游戏,并需要弹丸发射行为时,我采取了几种不同的方法。
首先,我保留了对发射弹丸的实体的引用。然后在碰撞检测方法中,我与这个参考进行了比较。
另一种可能更可取的选择是将实体与“派系”联系起来。这可以建模为枚举。然后可以检查碰撞检测代码,以确保两个实体不在同一阵营中。您还可以使用映射来确定哪些派系相互冲突。例如,你可以有“敌对”、“中立”和“玩家”派系,并且让玩家派系实体不与中立等发生冲突。这取决于你游戏的“商业规则”。
如果你这样做,你可以在任何你想要的地方生成投射物。
假设正方形位于单位圆上,其中心位于原点。然后找出Java的行为是否像JavaScript,这与标准三角测量法相反。(pi/2在JS中是直线下降的,而在标准trig中是直线上升的)。矩形对象也有边界和相交方法,这可能会有所帮助。
本页下方的图形可能有助于:http://en.wikipedia.org/wiki/Unit_circle
根据坐标系,如果只给定矩形的中心坐标以及宽度和高度,您将如何确定矩形的左上角坐标? 例如,矩形的中心坐标是(40,40),矩形的宽度为90,高度为60。
我的问题是:如何确定已拆分的旋转矩形几何体的和是拆分该几何体的任意的“左”和“右”边? 对于这个问题,"左"和"右"被定义为从节点到节点"行走"时,按顺序的拆分器的左边和右边。 我创建了此函数,用于将任意几何体(非集合)拆分为两个面——“左”和“右”: 上面的想法在此处链接的笔记本中进行了说明(与上面的链接相同): http://nbviewer.jupyter.org/urls/dl.dropb
问题内容: 情况1: 我想在默认WordPress主题的标题中的照片上方放置徽标徽标 我的解决方案:在照片前添加徽标,然后在其上 进行 设置, 而无需 设置任何属性: HTML: CSS: 案例2: 另一个示例是水平多级菜单,其宽度为100%,并带有布局,但不支持 它适用于IE6-7,Firefox1.5,不适用于Firefox 0.8等。 您认为这是一个很好的解决方案,还是非标准的破解程序,可以
有人知道一种算法可以用来确定两个矩形重叠的程度和方向吗?我花了好几个小时试图弄清楚这一点,这样我就可以将它实现为一个用slick2d java编写的基本平铺游戏。
当使用dialogFragment时,我在片段顶部得到一个空白矩形,而不知道为什么。 我的对话片段: select_frag.xml
这里有一个关于使用方法关闭一组轴给定侧的刻度的问题。我想更改和属性在默认情况下关闭在我的,但我不知道如何做到这一点,作为文件的刻度部分处理在和方面的东西。我错过了什么?