在 Flash CS6 (AS3) 中通过拖放动态更改文本
Changing text dynamically with drag / drop in Flash CS6 (AS3)
我有一些非常简单的代码,可以很好地让我水平拖动 "slider" 按钮。但是,我还希望显示在对象上方的文本根据我正在拖动的对象的 x 坐标发生变化。
这是简单的代码:
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 坐标确定 "Button" 的位置,以及 x 坐标是否高于文本的 50在 "Button" 上方表示“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;
}
您可以看到此代码有效 here。
希望能帮到你。
我有一些非常简单的代码,可以很好地让我水平拖动 "slider" 按钮。但是,我还希望显示在对象上方的文本根据我正在拖动的对象的 x 坐标发生变化。
这是简单的代码:
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 坐标确定 "Button" 的位置,以及 x 坐标是否高于文本的 50在 "Button" 上方表示“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;
}
您可以看到此代码有效 here。
希望能帮到你。