【问题标题】:How to make an object move in increments [closed]如何使对象以增量移动[关闭]
【发布时间】:2020-02-19 12:09:10
【问题描述】:

我被困在如何编写代码以使对象以增量方式移动到所需的数量,而不仅仅是直接跳到最终目标。

例如

通过 1, 2, 3, 4, 5........ 将对象从 1 - 500(x,y,坐标 [0,1] 到 [0,500])移动 而不是一个动作 1 到 500?

      else if(direction == 'D'){
         xInc = 0;
         yInc = 1;
         this.setXPos(this.xPos +(distance * xInc));
         this.setYPos(this.yPos +(distance * yInc));
         this.alignAll();
         this.delay(20);
      }

   }  

这是我到目前为止的完整代码,任何帮助将不胜感激 TIA。

【问题讨论】:

  • 什么是this?你能发一个minimal reproducible example吗?这不是可以复制/粘贴和运行的东西。
  • @sleepToken 我的完整代码如下
  • 请改为编辑您的原始问题 - 因为您的完整代码不是答案。
  • @sleepToken 它不会让我
  • 另外,我不确定您是否阅读过minimal reproducible example。缺少类 - 并且没有 main 方法,所以我假设您有一些驱动程序。你用什么来展示你的身材?再说一遍 - 我们不能复制/粘贴您的 StickFigure 类并运行它。

标签: java bluej


【解决方案1】:

您可以在分配之间添加一个循环,例如:

  if(direction == 'R'){
  xInc = 1;
  yInc = 0;
  for(int index= 0; index <= distance;index ++){
    this.setXPos(this.xPos +(xInc));
    this.setYPos(this.yPos +(yInc));
    this.alignAll();
    this.delay(20);  
  }

}

我还强烈建议您将此功能外部化,因为根据您的方向,它几乎相同。

【讨论】:

  • 我已经为 'R' 尝试过这个,我收到错误“不是声明”
  • 对不起,我粘贴了错误的代码,你可以试试新的吗?
猜你喜欢
  • 1970-01-01
  • 2015-01-21
  • 2011-11-11
  • 2023-03-25
  • 2014-11-29
  • 2020-11-16
  • 2021-12-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多