【问题标题】:Platform moves way to the right before performing correctly平台在正确执行之前向右移动
【发布时间】:2018-08-12 04:53:07
【问题描述】:

我放置了一个平台,它应该从我放置的位置从左到右移动,但问题是它移动到最右边,然后来回移动。我正在使用 Unity 和 C#

//Left to Right moving platform

public float dirX, moveSpeed;
private bool moveRight = true;

private void Update() 
{
    if (transform.position.x > 4f)
        moveRight = false;
    if (transform.position.x < -4f)
        moveRight = true;
    if (moveRight)
         transform.position = new Vector2(transform.position.x + moveSpeed * Time.deltaTime, transform.position.y);
    else transform.position = new Vector2(transform.position.x - moveSpeed * Time.deltaTime, transform.position.y);
}

【问题讨论】:

  • 将 4 和 -4 替换为您在 Start 方法中设置为 transform.position.x 的变量

标签: c# unity3d platform


【解决方案1】:

你的初始变换位置是什么?它是原点(0,0,0)吗?如果是这样,请更改您的代码以检查:

if (transform.position.x < 0f) // this should be your platforms initial transform.position.x value
    moveRight = true;

【讨论】:

  • 如果我从右边重新开始,就可以了。我不能让它从我放进去的地方开始工作
  • 你最初的transform.position是什么?
猜你喜欢
  • 1970-01-01
  • 2020-07-23
  • 2011-11-05
  • 1970-01-01
  • 2014-10-17
  • 2018-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多