java – 多个夹具在一个身体或多个身体?
假设我想在屏幕上创建1000个或甚至5000个静态体线.我想知道的是,将所有这些线(灯具)附接到单个主体上,或将每个夹具放置在自己的身体上有什么区别.两种方法之间是否存在性能差异,还是一种方法提供更多的功能或控制其他方法?
下面显示了两种方法的区别. 将每条线连接到一个单一的身体上: // Create our body definition BodyDef groundBodyDef = new BodyDef(); groundBodyDef.type = BodyType.StaticBody; // Create a body from the defintion and add it to the world Body groundBody = world.createBody(groundBodyDef); for (int i = 0; i < 1000; i++) { // Create our line EdgeShape ground = new EdgeShape(); ground.set(x1,y1,x2,y2); groundBody.createFixture(ground,0.0f); ground.dispose(); } 将每条线连接到自己的身体: // Create our body definition BodyDef groundBodyDef = new BodyDef(); groundBodyDef.type = BodyType.StaticBody; for (int i = 0; i < 1000; i++) { // Create a body from the defintion and add it to the world Body groundBody = world.createBody(groundBodyDef); // Create our line EdgeShape ground = new EdgeShape(); ground.set(x1,0.0f); ground.dispose(); } 这个代码示例特别在libGDX中,但是我想象这是一个相当基本的box2D概念,即使没有libGDX体验也可以回答. 可能的功能差异的一个例子是,如果所有行都附加到单个主体,并且我们调用world.destroyBody(groundBody);它也会销毁所有行,但是如果每行都附加到不同的身体,我们只会破坏一条线. 即使这样做有很大的不同吗?我们可以简单地调用groundBody.destroyFixture(fixture);如果它们都连接到单个身体,则销毁一条线. 解决方法
从
Box2D Manual(7.3车身厂):
这确实比较好.很明显吗取决于,如果你有很多身体与一个夹具,你使他们的一个单一的身体,但可能不是大多数游戏. 我会建议您使用更容易实现的功能,只有当您真正需要它时,才能使其更具性能. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- JSP Response.setHeader()方法:设置头信息
- java – MessageBodyReader找不到媒体type = application /
- java HashMap和HashTable的区别详解
- java – Collection.shuffle无效 – GWT
- Java ArrayList对象集合去重
- Month和java.util.Formatter
- JAVA实现简单抢红包算法(模拟真实抢红包)
- java – 如何使用Spring 4在我的webSocket服务器中捕获连接
- java – 如何使用默认值将String解析为int?
- java – 在SpringMVC中将@Controller中的变量传递给@Contro
- SpringBoot集成多数据源解析
- java – SFTP上传使用Apache Commons VFS下载Exi
- .net – 用字符串初始化的StringBuilder是否包含
- java – 如何在spring-boot中禁用ErrorPageFilte
- java搭建一个Socket服务器响应多用户访问
- 反序列化 – 用于java.util.Date的Gson Deserial
- java – Hibernate Session.save()不返回值?
- java-如何将数据从servlet发送到REST API
- Java Server Faces:仅在业务逻辑层中进行验证
- java – 为什么Oracle规范不告诉任何有关元空间的