Actionscript 3 在Flash CS6(AS3)中通过拖放动态更改文本
我有一些非常简单的代码,可以让我水平拖动滑块按钮。但是,我还希望显示在对象上方的文本根据我拖动的对象的x坐标进行更改 下面是简单的代码:Actionscript 3 在Flash CS6(AS3)中通过拖放动态更改文本,actionscript-3,flash,drag-and-drop,Actionscript 3,Flash,Drag And Drop,我有一些非常简单的代码,可以让我水平拖动滑块按钮。但是,我还希望显示在对象上方的文本根据我拖动的对象的x坐标进行更改 下面是简单的代码: var rectangle:Rectangle = new Rectangle(31,944,179,0); Button.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag); function fl_ClickToDrag(event:MouseEvent):void { Butto
var rectangle:Rectangle = new Rectangle(31,944,179,0);
Button.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
function fl_ClickToDrag(event:MouseEvent):void
{
Button.startDrag(false, rectangle);
}
Button.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
function fl_ReleaseToDrop(event:MouseEvent):void
{
Button.stopDrag();
gotoAndPlay(20);
}
我想要做的是让系统根据它的x坐标来确定按钮的位置,如果x坐标高于,比如说50,那么按钮上方的文本会说50+,如果x坐标高于100,那么文本会变为100+。我也不确定x坐标是相对于矩形还是相对于整个屏幕
非常感谢所有帮助。您可以使用布尔变量指示按钮是否被拖动,如果被拖动,则更新文本字段,如下所示:
var is_dragged:Boolean = false;
var rectangle:Rectangle = new Rectangle(0, 100, stage.stageWidth - button.width, 0);
stage.addEventListener(Event.ENTER_FRAME, _onEnterFrame);
function _onEnterFrame(e:Event):void {
if(is_dragged){
text_field.text = String(Math.round(button.x / 50) * 50) + '+';
}
}
button.addEventListener(MouseEvent.MOUSE_DOWN, button_onPress);
function button_onPress(e:MouseEvent):void {
button.startDrag(false, rectangle);
is_dragged = true;
}
button.addEventListener(MouseEvent.MOUSE_UP, button_onRelease);
function button_onRelease(e:MouseEvent):void {
button.stopDrag();
is_dragged = false;
}
您可以看到此代码正在工作
希望能有所帮助。谢谢!!。。。现在可以了,你的例子非常有用。