当前位置: 首页 > 知识库问答 >
问题:

Sprite Kit物理变量与Cocos2d Box2d的比较

漆雕安晏
2023-03-14

我试图使用精灵套件框架重写简单的游戏(由我前段时间使用Cocos2d Box2d开发)。在Sprite Kit中,一切看起来都简单得多,这很棒,但是我在调整新项目中的物理世界参数时遇到了问题。我注意到使用完全相同的图形图像创建的精灵(都有基本的基于矩形的主体)在精灵套件中的质量比在Cocos2d Box2d中的质量低四倍。将主体密度设置为 4 可以解决问题,不幸的是,这不是主要问题。看起来4倍乘数的相同问题适用于物理世界中的所有力。我在精灵套件中做了一些测试,并创建了一个质量比Cocos2d Box2d高四倍的身体,我还将世界重力设置为比Cocos2d Box2d低四倍。因此,两个项目(首先使用 Cocos2d Box2,第二使用精灵工具包)的物理场表现相似。我在精灵套件中找不到类似PIXEL_TO_METER_RATIO(在Box2中可用)的东西。是否有任何选项可以调整精灵套件中的物理世界,使其表现得像在Cocos2d Box2d中一样,而不会增加所有力,质量等?也许有某种配置属性可以调整它。如果我在精灵套件中保留与我在Cocos2d Box2d中使用的相同的重力,质量和力值,则游戏中的所有内容都将被模拟得太快。我的问题是,在从带有Box2d的Cocos2d迁移到精灵套件框架时如何处理这样的问题?

共有1个答案

堵雅健
2023-03-14

唯一的解决方案是重新调整力和其他设置,直到感觉正确为止。

内部Sprite Kit使用Box2D,但我们无法知道苹果是否以及如何修改它。已知的是,他们使用不同的默认设置为Box2D世界,这意味着物理值不能被移植,并期望相同的结果。

我相信这是在开发者论坛(Sprite Kit下)讨论的,在那里有人调查了更改设置的实际数字。请注意,这些是Box2D代码中的设置,大多数用户甚至都不会考虑修改,因此我们必须假设苹果首先有理由更改这些设置。

 类似资料:
  • 我有4个物理体,它们都很好地检测到碰撞。然而,有两个物理体不会检测到它们何时相互碰撞。不过,它们会检测到它们何时与其他物理体碰撞。我有所有这些物理体的联系人测试位掩码,所以我不明白为什么会有问题。以下是一些代码:这是我设置物理体的地方: 以下是我用于设置玩家物理体(其中一个问题物理体)的代码: 以下是检测碰撞的函数: 下面是我用来设置蓝球的代码。这是另一个有问题的物理体: 这里的任何想法都会有所帮

  • 我想用Java做一个程序来比较两个三角形。比较角度的顺序无关紧要,我知道我可以用语句来做,但有没有其他更有效的方法来比较3个角度和另外3个角度,因为三角形旋转并不重要,因为完全相同?(Java语言)

  • 问题内容: 我想编写一段简单的代码来获取一些格式良好的“时间戳”。将时间花在我的两个变量上Start,End效果很好。我也可以将其打印为0:0:0。我想要一个小于零的前导零,但是很显然我得到一个错误,说“未找到或错误键入参数10”。我发现这似乎是要比较的变量,但未能解决。有任何想法吗? 问题答案: 1.调试批处理文件 为了调试批处理文件以查找代码中的语法错误,建议在对批处理文件进行每次echo o

  • 测试变量的常用方法是检查它是否引用singletone: 根据PEP-8,建议将此方法作为检查的唯一方法: 与None之类的单例进行比较时,应始终使用is或is,永远不要使用相等运算符。 虽然有时我发现以下测试在不同的来源: 这种方式看起来不错,但是我不太明白为什么简单易读的结构可以被所取代。它在某些情况下更有用,还是指代码风格? UPD:使用我发现非常有用(到目前为止):

  • 本文向大家介绍Python中全局变量和局部变量的理解与区别,包括了Python中全局变量和局部变量的理解与区别的使用技巧和注意事项,需要的朋友参考一下 前言 学过编程的人应该对全局变量与局部变量这两个名词并不陌生,Python也同多数编程语言一样,也有全局变量与局部变量的概念 但是与其他编程语言又有所不同 全局变量与局部变量两者的本质区别就是在于作用域 用通俗的话来理解的话, 全局变量是在整个py

  • 我在R中有一个数据框,其中有一列表示“低”、“中”和“高”,还有一列表示年份(2019年、2020年或2021),平均值如下。我想找出与第一年(2019年)(即2020-2019年和2021-2020年)相比的水平变化。我正在使用函数:df%