Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
Sprite kit 类似于Spritekit中的platformer游戏_Sprite Kit_Game Physics - Fatal编程技术网

Sprite kit 类似于Spritekit中的platformer游戏

Sprite kit 类似于Spritekit中的platformer游戏,sprite-kit,game-physics,Sprite Kit,Game Physics,我读到,使用物理引擎可能会导致在编程platformer类型的游戏时出现许多问题 我正在做一些类似于platformer的游戏(不是经典的platformer) 游戏将有一个平台,但不是很多 游戏将没有移动平台 游戏将不有斜坡 游戏会有梯子 英雄可以射杀敌人 英雄会跳 英雄可以从空中接近梯子 我必须在物理引擎和瓷砖技术之间做出选择 我能想到的第一个问题是: 物理引擎和梯子出现问题,因为物理规则应用于英雄及其移动,所以我猜当他的physicsBody.dynamic属性设置为“是”时,很难让他

我读到,使用物理引擎可能会导致在编程platformer类型的游戏时出现许多问题

我正在做一些类似于platformer的游戏(不是经典的platformer)

  • 游戏将有一个平台,但不是很多
  • 游戏将没有移动平台
  • 游戏将有斜坡
  • 游戏会有梯子
  • 英雄可以射杀敌人
  • 英雄会跳
  • 英雄可以从空中接近梯子
我必须在物理引擎和瓷砖技术之间做出选择

我能想到的第一个问题是:

  • 物理引擎和梯子出现问题,因为物理规则应用于英雄及其移动,所以我猜当他的physicsBody.dynamic属性设置为“是”时,很难让他上梯子

  • 瓦片技术的问题-如何让英雄以真实的弧线(当我们使用物理时,这是由引擎本身完成的…)从壁架上坠落(在运行时)

  • 根据我正在制作的游戏类型,主要的问题是,sholud我将tiles tehinque(比如说英雄的移动)和物理引擎结合起来进行碰撞检测和射击敌人

    我知道关于这个问题有很多问题,但我必须从一些事情开始


    Tnx提前

    我推荐物理引擎。这是非常直接的。。。你所期望的通常是发生的事情

    跑步、跳跃、射击、摔倒等-使用物理引擎非常容易

    梯子会有问题,但您可以设置一个bool标志,让您知道梯子和英雄何时接触,因此允许您根据此bool是否为真显示不同的行为。如果碰到梯子,使英雄不受重力影响


    这是非常聪明的,你提前计划好了,并概述了你的所有核心需求。依我看,使用物理引擎的其余要求将非常简单,它将超过在梯子较难部分花费的额外时间。

    我建议不要使用物理引擎,除非你有一些复杂的物理交互,很难用手工编写,也就是说,不仅仅是碰撞检测和基本运动,还有对碰撞的真实反应、由许多运动部件和关节构成的机械对象等。我不确定“平铺技术”是什么意思,但你可以很容易地用手编写代码,比如角色加速向地面,同时保持向前的动量(即跟踪弧).

    我建议您阅读SK physics,并做一些测试。这些问题不适合这样做,因为它们太宽泛,而且在很大程度上是基于观点的。当使用碰撞位掩码和可能的碰撞委托方法在梯子上更改碰撞行为时,梯子的碰撞处理不应该是一个问题。弧形通过重力是微不足道的,不管是否使用物理。tilemap和物理的结合是可行的。最终决定权在你,这里没有明确的答案。谢谢LearnCos2D,我希望你能回答。我已经读了你关于这方面的文章,还有一些其他的,但决定问一下,因为我不想从一开始就陷入麻烦局。记住,像SpriteKit这样的游戏引擎中的物理不是全有或全无的命题。你可以使用它进行接触检测而不让它解决碰撞,你可以在没有重力的情况下进行接触或碰撞检测,你可以对一些场景元素进行完全基于物理的行为,并为其他元素模拟自己的运动,等等。Tnx我明白了。我需要在游戏的其他部分使用物理。敌人和一些障碍物(弹跳等).对于这些类型的对象,我只需要真实的物理引擎。我不能用手来做,我认为没有必要。我只是想在开始之前意识到,完成这类游戏所需要的只是物理引擎。所谓的瓷砖技术,我指的是使用瓷砖移动英雄以及他们在场景中的位置。嗨,梅森曼,回答是tnx。我很瘦k我喜欢这个想法:“如果碰到梯子,让英雄不受重力的影响。”谢谢大家的帮助。我知道我需要更多的测试和学习,但一点帮助在行乞时意义重大。