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

如何防止物理体在Sprite套件中改变x位置

锺离自明
2023-03-14

我有一个无休止的跑步游戏,我的主角有一个物理身体,我用它来处理跳跃
在他撞上障碍物之前,一切都很好。他开始后退,我希望他一直保持在他的x位置。

我尝试将身体动态设置为NO,但这停止了跳跃。

我该怎么做?我不想让角色在x轴上移动。

共有2个答案

邹铭
2023-03-14

也可以使用约束

let range = SKRange(lowerLimit: 300, upperLimit: 340)

let lockToCenter = SKConstraint.positionX(range, y: range)

node.constraints = [ lockToCenter ]

并将下限和上限设置为相同的值,以便将其锁定到位。

唐烨煜
2023-03-14

在更新方法上执行此操作

- (void)didSimulatePhysics {

    CGPoint fixedXPos = myCharacter.position;
    fixedXPos.x = fixedX;

    [myCharacter setPosition:fixedXPos];
}
 类似资料:
  • 问题内容: 我在Swift中编写了这个简单的太空游戏,直到遇到碰撞检测问题为止。在浏览论坛,教程等之后,我尝试通过声明位掩码来实现冲突,如下所示: 对象1 对象2 我也将打印声明放在 这是我配置精灵的方法: 创造敌人(被召唤进入查看功能) 和另一个精灵 这个是用计时器创建的 不幸的是,当我看到两个对象接触后,它无法在控制台中打印任何内容。 问题答案: 定义唯一的类别,确保您的班级是a ,并使自己成

  • 我目前创建了一个动态的身体,并且用Vector2()以恒定的速度移动。我想要的是当身体离开屏幕边缘时,立即从当前点回到原点。我该怎么做?

  • 我目前正在使用JUnit4.x和AssertJ。我想确保没有使用Hamcrest偷偷摸摸的。但是,Hamcrest核心是JUnit运行时必需的依赖项,请参见JUnit问题#1429:JUnit4.12关于org/Hamcrest/selfdescription#1429,因此直接从pom.xml中排除依赖项或调整类路径都不起作用。 如何确保测试不使用Hamcrest断言?我想在构建时使用Maven

  • 我试图使用精灵套件框架重写简单的游戏(由我前段时间使用Cocos2d Box2d开发)。在Sprite Kit中,一切看起来都简单得多,这很棒,但是我在调整新项目中的物理世界参数时遇到了问题。我注意到使用完全相同的图形图像创建的精灵(都有基本的基于矩形的主体)在精灵套件中的质量比在Cocos2d Box2d中的质量低四倍。将主体密度设置为 4 可以解决问题,不幸的是,这不是主要问题。看起来4倍乘数

  • 一般把token放在请求头呢?还是每次发消息都携带呢?如果放在请求头的话,怎么重置呢?当重新连接的话,又会引发一个socketid变化的问题,又该怎么处理好点?

  • 我有个问题。当然,我以前在互联网上搜索过解决方案。不幸的是,我还没有找到解决办法。 我有一个处理来自客户的信息的Spring Boot应用程序。但是这个应用程序不应该像往常一样指向一个表,而是指向一个从两个表请求信息的视图。我必须如何修改我的实体才能重新返回到视图? 我的观点 我的实体