Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用trig在“中生成对象”;“正面”;玩家对象的名称_Java_2d_Trigonometry_Direction - Fatal编程技术网

Java 如何使用trig在“中生成对象”;“正面”;玩家对象的名称

Java 如何使用trig在“中生成对象”;“正面”;玩家对象的名称,java,2d,trigonometry,direction,Java,2d,Trigonometry,Direction,我想在标题中表达的是,屏幕上有一个玩家,使用方向变量和三角学,他在“看”一个方向。我需要在他面前产生一个物体。所谓繁殖,我的意思是创建一个x和y坐标与玩家“前方”的位置匹配的对象 这方面的代码有些困难。我无法理解,如果没有更多的信息或学习更多的trig,我需要做什么才能让它工作 基本上这就是我所拥有的,它创建了一个项目符号,另一行代码将其添加到列表中,并绘制到屏幕上。我需要知道的是如何在正确的x&y坐标中生成“bullet”对象。这就是我目前所拥有的。我可以假设在x和y变量中还需要添加一些东西,

我想在标题中表达的是,屏幕上有一个玩家,使用方向变量和三角学,他在“看”一个方向。我需要在他面前产生一个物体。所谓繁殖,我的意思是创建一个x和y坐标与玩家“前方”的位置匹配的对象

这方面的代码有些困难。我无法理解,如果没有更多的信息或学习更多的trig,我需要做什么才能让它工作

基本上这就是我所拥有的,它创建了一个项目符号,另一行代码将其添加到列表中,并绘制到屏幕上。我需要知道的是如何在正确的x&y坐标中生成“bullet”对象。这就是我目前所拥有的。我可以假设在x和y变量中还需要添加一些东西,但我不知道这是什么

Bullet b = new Bullet((int)x/2+(Math.cos(Math.toRadians(direction))), (int)y/2 + (Math.sin(Math.toRadians(direction))), "/img/bullet.png",  direction, weapon);

如果你能理解,这会有帮助,但基本上是这样的:如果你用x和y乘以同一个数字,你会离当前位置更远。当然,这取决于信号,但最简单的方法是:假设x和y是两个正数,假设x=1和y=1,然后,如果你将两者都乘以一个正数,假设3,那么最后的数字(x=3和y=3)在坐标3,3中有一个“子弹”,就在演员的正前方,在位置1,1。再一次,我假设了很多事情,而忽略了其他一些事情,比如相机的位置、透视图等。

如果你理解了这一点,这会有所帮助,但基本上是这样的:如果你将x和y乘以相同的数字,你会离当前位置更远。当然,这取决于信号,但最简单的方法是:假设x和y是两个正数,假设x=1和y=1,然后,如果你将两者都乘以一个正数,假设3,那么最后的数字(x=3和y=3)在坐标3,3中有一个“子弹”,就在演员的正前方,在位置1,1。同样,我假设了很多事情,而忽略了其他一些事情,例如相机的位置、透视图等。

创建一个指向对象生成方向的向量

x = radius * Math.cos(angle) + startX
y = radius * Math.sin(angle) + startY
将其正常化,然后根据您的喜好进行缩放

p、


radius
这里只是从繁殖点开始的初始均匀位移。

创建一个指向对象繁殖方向的向量

x = radius * Math.cos(angle) + startX
y = radius * Math.sin(angle) + startY
将其正常化,然后根据您的喜好进行缩放

p、


radius
这里只是从繁殖点开始的初始均匀位移。

@Downvoter,我可以问一下为什么吗?@Downvoter,我可以问一下为什么吗?你能给我一个半径和角度的例子吗?角度是对象生成的x/y坐标吗?我将创建一个JSFIDLE供您演示;)@李维再次检查链接,我更新了一个整洁的演示,它应该可以帮助你。很好的演示+谢谢你的努力。很抱歉我花了这么长时间,一直在工作@我喜欢这个演示,它很酷。我从未学过javascript,但我掌握了大部分。然而,这里有一些东西,规范化和缩放到底做了什么?按名称缩放听起来像是让物体变大/变小。你能给我一个半径和角度的例子吗?角度是对象生成的x/y坐标吗?我将创建一个JSFIDLE供您演示;)@李维再次检查链接,我更新了一个整洁的演示,它应该可以帮助你。很好的演示+谢谢你的努力。很抱歉我花了这么长时间,一直在工作@我喜欢这个演示,它很酷。我从未学过javascript,但我掌握了大部分。然而,这里有一些东西,规范化和缩放到底做了什么?按名称缩放听起来像是在使对象变大/变小;但是玩家对象可以朝任何方向转动,从那里我需要在角色前面产生他;但是玩家对象可以朝任何方向旋转,从那里我需要在角色前面生成他。