Решение для радостного Марти сработало для вас, хотя оно не слишком эффективно (этот слушатель MouseEvent.MOUSE_MOVE - убийца).Проблема с исходным кодом заключалась в том, что прямоугольник, в котором вы ограничиваете границы перетаскивания, должен быть относительно родительских координат .Кроме того, в зависимости от того, где у вас есть точка регистрации вашего квадрата, вам, возможно, придется принять во внимание его width , если вы не хотите, чтобы какая-либо его часть вышла изthe stage.
Например, если ваш красный квадрат находится прямо на сцене, его точка регистрации расположена в его центре, и вы хотите ограничить перетаскивание всей осью x сцены, это будетработа:
e.currentTarget.startDrag(
false,
new Rectangle(
e.currentTarget.width/2,
e.currentTarget.y,
stage.stageWidth-e.currentTarget.width,
0
)
);