问题描述
我一直在尝试使用火焰游戏引擎实现一种在颤动中移动 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 (将#修改为@)