我试图在作为传感器的圆形物体上产生漩涡效果.

我一直在寻找它,我寻找的所有示例都在C或Objective C中进行,但我似乎翻译得不太好.

当我的对象归类时,它将调用beginContact(..)并设置一个标志,以便我可以调用bodyToUpdate.applyForce(…);

public void beginContact(Contact contact) {

setColliding(true);

}

//updating collition every frame

public void act(){

if (colliding) {

ball.getBody().applyForce(....);

}

如何计算施加于每个框架以使其涡旋的力大小?

编辑:

所以我现在使物体直接到达涡旋中心,但没有“旋转”

public void act() {

if (colliding) {

ball.getBody().setLinearVelocity(0, 0);

ball.getBody().applyForce((portal.getBody().getPosition().x - ball.getBody().getPosition().x) * i,

(portal.getBody().getPosition().y - ball.getBody().getPosition().y) * i,

ball.getBody().getPosition().x, ball.getBody().getPosition().y, true);

i++;

} else

i = 10;

}

解决方法:

如果“旋转”是指下落的物体将沿着曲线或螺旋线移动,而不是立即改变向黑洞的移动方向,那么这很容易解决.

ball.getBody().setLinearVelocity(0, 0);

这完全停止了身体的当前运动.我将从删除该行开始.另外,为了获得更好的逼真的行为,您可以按照正确的公式来计算吸引力,如下所示:

force = mass1 * mass2 * [some constant] / (distance ^ 2)

当具有从身体到黑洞的向量(计算为黑洞位置-身体位置)时,向量的长度就是该距离,并且在对力进行归一化并乘以后,便得到了所需的forceX和forceY力向量只要它保持在孔的范围内,每次更新都需要将其应用于身体.

但是,此公式将使力随着物体靠近孔而增大到无穷大,因此如果引起任何麻烦,您可以尝试更改为线性转换(最接近= 1,最接近= 0).

force = mass1 * mass2 * [some constant] * ( (maxDistance - distance) / maxDistance )

标签:java,libgdx,box2d,whirlpool,blackhole

来源: https://codeday.me/bug/20191012/1903407.html

java 绘制螺旋线,java-如何创建漩涡/漩涡效果?相关推荐

  1. java 绘制长方形_Java入门:绘制简单图形

    在上一节,我们学习了如何使用swing和awt工具创建一个空的窗口,本节学习如何绘制简单图形. 基本绘图介绍 Java中绘制基本图形,可以使用Java类库中的Graphics类,此类位于java.aw ...

  2. 京东百万年薪大佬用JAVA绘制“五子棋棋盘”(附代码)

    这篇文章主要为大家详细介绍了java绘制五子棋棋盘,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 具体内容如下 源码: import javax.imageio.Ima ...

  3. Java绘制椭圆和矩形(实现自由变化大小的功能)

    一个简单的画板应用程序,用户可以通过鼠标在画板上自由绘制任意大小的矩形或椭圆. 用户通过点击按钮,选择要绘制的矩形(rect)或者椭圆(oval),以及选择画笔的颜色(红色.蓝色.以及黑色).绘制完成 ...

  4. java绘制棋盘_java绘制五子棋棋盘

    本文实例为大家分享了java绘制五子棋棋盘的具体代码,供大家参考,具体内容如下 源码: import javax.imageio.ImageIO; import javax.swing.*; impo ...

  5. java绘制五子棋棋盘

    java绘制棋盘 文章目录 java绘制棋盘 源码 效果图 源码 import javax.imageio.ImageIO; import javax.swing.*; import java.awt ...

  6. java 绘制长方形_Java基础之在窗口中绘图——绘制直线和矩形(Sketcher 2 drawing lines and rectangles)...

    控制台程序. import javax.swing.JComponent; import java.util.*; import java.awt.*; import java.awt.geom.*; ...

  7. java绘制五子棋_java绘制五子棋棋盘

    免费资源网,https://freexyz.cn/ 本文实例为大家分享了java绘制五子棋棋盘的具体代码,供大家参考,具体内容如下 源码: import javax.imageio.ImageIO; ...

  8. java ppt 绘图,Java 在PPT中绘制图形

    原标题:Java 在PPT中绘制图形 Microsoft PowerPoint可支持在幻灯片中插入各种类型的图形并且可设置图形填充.线条颜色.图形大小.位置等.下面将通过Java编程来演示在PPT中绘 ...

  9. Java绘制基本图形

    版权声明:本文为博主原创文章,转载请注明出处. https://blog.csdn.net/twilight_karl/article/details/53053505 import java.awt ...

最新文章

  1. 零基础学java培训怎么选择学校
  2. MySQL中你必须知道的10件事,1.5万字!
  3. 洛谷P2486 [SDOI2011]染色(树链剖分+线段树判断边界)
  4. linux read函数_浅谈Linux内核IO体系之磁盘IO
  5. window.location.href 跳转失败
  6. 打开.net web项目,出现Unable to get the project ile from the web server错误
  7. emu8086汇编——字符串匹配算法程序
  8. 成都焱炎 抖音AI大数据 不root 不装xp
  9. 使用jQuery快速高效制作网页交互特效 第三章 上机练习三 制作课工场论坛发帖
  10. 《矩阵理论与方法》lambda矩阵及Jordan标准形
  11. Draggabilly中文文档
  12. 搜索引擎Lucene(2):索引文件结构及格式
  13. TPS和QPS 并发量区别;日活 访问量 活跃度
  14. 深度学习(七)梯度弥散(消散)和梯度爆炸
  15. css 文本超出就隐藏并且显示省略号
  16. 《那些年啊,那些事——一个程序员的奋斗史》十
  17. LeetCode:911. 在线选举————中等
  18. Vegas中的Vignette暗角视频特效如何使用?
  19. 勉强算是面经——3.中软国际
  20. python运行github项目_从gitHub上拉取并运行项目

热门文章

  1. 博客园动态小老鼠特效
  2. 牛逼的uniapp+Java微信小程序商城来了
  3. FTP中MLST概要解读---解决获取ftpFile为null的另外一种方式
  4. 【usb】linux内核USB键盘驱动解析--特殊键值转化及上报
  5. phoenix复制表
  6. Python之字符串转译
  7. Android 禁止屏幕旋转
  8. 测试-http接口测试点
  9. 机器学习-定序回归及python实现
  10. 如何创建一个四维的矩阵,存储多个3通道彩色图片