我怎样才能在AIR Android中上下移动内容?
我正在使用FlashCS5和Flex4为android构建一个AIR应用程序。我想知道如何允许用户上下移动内容(图像或文本)(如地图,在本例中仅垂直移动)。目前还没有可用的触摸UI控件,因此您需要自己实现它。这里有一些代码可以帮助您开始。我把它写在时间表上,这样我可以快速测试它。如果你在课堂上使用它,你需要做一些调整 变量我怎样才能在AIR Android中上下移动内容?,android,flash,apache-flex,air,air-android,Android,Flash,Apache Flex,Air,Air Android,我正在使用FlashCS5和Flex4为android构建一个AIR应用程序。我想知道如何允许用户上下移动内容(图像或文本)(如地图,在本例中仅垂直移动)。目前还没有可用的触摸UI控件,因此您需要自己实现它。这里有一些代码可以帮助您开始。我把它写在时间表上,这样我可以快速测试它。如果你在课堂上使用它,你需要做一些调整 变量content是舞台上的电影剪辑。如果它大于舞台的高度,你可以用鼠标(或用手指在触摸屏上)拖动它来滚动它。如果它小于舞台的高度,那么它根本不会滚动,因为它不需要滚动 var m
content
是舞台上的电影剪辑。如果它大于舞台的高度,你可以用鼠标(或用手指在触摸屏上)拖动它来滚动它。如果它小于舞台的高度,那么它根本不会滚动,因为它不需要滚动
var maxY:Number = 0;
var minY:Number = Math.min(0, stage.stageHeight - content.height);
var _startY:Number;
var _startMouseY:Number;
addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler);
function mouseDownHandler(event:MouseEvent):void
{
_startY = content.y;
_startMouseY = mouseY;
stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler, false, 0, true);
stage.addEventListener(MouseEvent.MOUSE_UP, stage_mouseUpHandler, false, 0, true);
}
function stage_mouseMoveHandler(event:MouseEvent):void
{
var offsetY:Number = mouseY - _startMouseY;
content.y = Math.max(Math.min(maxY, _startY + offsetY), minY);
}
function stage_mouseUpHandler(event:MouseEvent):void
{
stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMoveHandler);
stage.removeEventListener(MouseEvent.MOUSE_UP, stage_mouseUpHandler);
}
或者,您可以使用
scrollRect
属性。这是非常好的,因为它将为您屏蔽矩形区域的内容。如果您只是像上面的代码那样更改y
,您可以在滚动内容的顶部绘制其他显示对象以模拟遮罩。它的速度也比scrollRect快。1,在Flex中,我尝试使用带有歌词的TextArea组件。因此,用户可以使用滚动条上下滚动。但是我更希望看到有艺术家背景图片的歌词(看起来更吸引人),所以我用FlashCS5来做到这一点。但是,由于我必须在Flash中设置文档属性,文本控件中的歌词在我发布后被截断。我不希望这些文字被切碎,我希望允许用户在android设备上按下并上下滚动屏幕以查看完整的歌词。谢谢你,这就是我到目前为止所尝试的。