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

在3个点之间移动模型会导致模型偏离位置

东博瀚
2023-03-14

我有一个立方体,我只在x轴上的3个点(浮动位置)之间移动它。所以立方体将从0.00开始,我按下右键,它在x轴上向右移动到2.0f。然后我按下左键,它会回到0.0f。然后我再次按下左键,它会移动到-2.0f。按下右键应该会将其返回到0.0f,但会超出0。误差的大小取决于我移动的速度。

如果我从左键开始,结果也是一样的。

    if(MoveLeftFlag == true)
    {
        if(PositionFlag == 0)
        {
            if(Cube1.PositionX > MinCubeMovement)
            {
                Cube1.MoveLocalX(-CubeMoveSpeed * FrameTime );
            }
            else if(Cube1.PositionX < MinCubeMovement)
            {

                PositionFlag = -1;
                MoveLeftFlag = false;
            }
        }
        if(PositionFlag == 1)
        {
            if(Cube1.PositionX > Middle)
            {
                Cube1.MoveLocalX(-CubeMoveSpeed *  FrameTime );
            }
            else if(Cube1.PositionX < Middle)
            {
                MoveLeftFlag = false;
                PositionFlag = 0;
            }
        }
    }
    if(MoveRightFlag == true)
    {
        if(PositionFlag == 0)
        {
            if(Cube1.PositionX < MaxCubeMovement)
            {
                Cube1.MoveLocalX(CubeMoveSpeed *  FrameTime );
            }
            else if(Cube1.PositionX > MaxCubeMovement)
            {
                MoveRightFlag = false;
                PositionFlag = 1;
            }
        }
        if(PositionFlag == -1)
        {
            if(Cube1.PositionX < Middle)
            {
                Cube1.MoveLocalX(CubeMoveSpeed * FrameTime );
            }
            else if(Cube1.PositionX > Middle)
            {
                MoveRightFlag = false;
                PositionFlag = 0;
            }
        }
    }

帧时间是float FrameTime=getTimeInMillSeconds()/1000 且速度设置为'0.000001f;对我来说,它的移动速度非常平稳。正如我所说,如果我使速度大于立方体第二次返回0.0f时,偏移误差会变得更大。

有人能给我指出正确的方向吗?


共有1个答案

司马狐若
2023-03-14

好吧,我已经解决了这个问题,很惊讶我没有拿起这个,但基本上我正在使用

 类似资料:
  • 问题内容: 因此,大约一年前,我开始了一个项目,像所有新开发人员一样,我并没有真正专注于结构,但是现在与Django一起,我开始觉得我的项目布局主要是我的模型在结构上很糟糕。 我的模型主要保存在单个应用程序中,实际上这些模型中的大多数应该放在自己的单个应用程序中,我确实尝试解决了此问题并将其向南移动,但是由于外键等原因,我发现它很棘手,而且确实很困难。 但是由于Django 1.7并内置了对迁移的

  • 对于我的一个项目,我目前想构建一个Ionic应用程序,为iOS和Android平台编写一次代码。我正在寻找一种方法来测量两个移动设备之间的距离。一个设备应放置在特定位置,另一个设备应在其进入第一个设备的范围(或更具体地说,第一个设备所在的位置)时被检测到。 位于特定位置的设备1将连接到internet,访问该位置的设备2也是如此。 我已经读过很多不同的实现,但大多数时候它需要Android或iOS

  • 我有3个模型:用户、宠物和诊所。 让我们假设表格:用户、宠物和诊所。关系是,一个用户可以有多个宠物,而一个宠物只有一个诊所。 在“Pets”表中,我有一个FK到用户id,另一个FK到诊所id。 我想做一些类似的事情: 在用户模型上,返回与用户关联的所有不同诊所。现在我只能做: 但我只想返回不同的诊所。 用户模态: 宠物模式: 有什么建议吗?

  • 模型定义 {#md} type User struct { gorm.Model Birthday time.Time Age int Name string `gorm:"size:255"` // string默认长度为255, 使用这种tag重设。 Num int `go

  • 仅供参考,我是一个TYPO3菜鸟:)我在我的TYPO3个人网站上做我自己的extbase/流体扩展来管理画廊。现在,我下面这个留档:开发与Extbase和流体TYPO3扩展 目前,我只在Domain/Model中构建了2个类: 加利。php 变量已设置,getter/setter也已设置。 我很清楚我需要在一段关系中把两者联系起来(“1: n”?)但是我不使用扩展生成器,我想自己理解如何做到这一点

  • 模型(Model)之间存在各种各样的关系,如:一对一(One-To-One )、一对多(One-To-Many)等。模型间的关系本质上是对其代表的数据库中表之间的关系描述,通过这些关系可以实现数据库中表之间主/外键约束的创建。查询时也可以基于这些关系,生成在数据库中执行的连接查询或复合查询SQL语句。 关系/关联的使用 1.1 一对一(One-To-One)关联 1.2 一对多(One-To-Ma