如何让 Rect 以线性方式不断颤动/火焰移动

问题描述

我一直在尝试使用火焰游戏引擎实现一种在颤动中移动 Rect 的方法时遇到问题。最终目标是向一个方向滑动并让 Rect 以恒定速度沿该方向移动。我找到了这个代码:

  void dragUpdate(DragUpdateDetails d)
  {
    final delta = d.delta;
    final size = gameController.screenSize;
    double translateX = delta.dx;
    double translateY = delta.dy;

    // Make sure that the player never goes outside of the screen in the X-axis
    if (playerRect.right + delta.dx >= size.width) {
      translateX = size.width - playerRect.right;
    } else if (playerRect.left + delta.dx <= 0) {
      translateX = -playerRect.left;
    }
    // Make sure that the player never goes outside of the screen in the Y-axis
    if (playerRect.bottom + delta.dy >= size.height) {
      translateY = size.height - playerRect.bottom;
    } else if (playerRect.top + delta.dy <= 0) {
      translateY = -playerRect.top;
    }

    playerRect = playerRect.translate(translateX,translateY);
  }

至少允许 Rect 在屏幕上根据手指位置自由移动。我尝试使用“translate()”方法来根据提供的增量进行 x/y 增量/减量,但无济于事。任何指向正确方向的提示或点都将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)