【问题标题】:How to make a MovieClip stick to the Flash player edge?如何使 MovieClip 贴在 Flash 播放器边缘?
【发布时间】:2011-04-25 04:46:41
【问题描述】:

我已经开始使用 ActionScript 编写代码,并尝试编写此程序。它会在舞台上绘制一个形状,您可以使用箭头键移动它。我添加了一个“边缘粘贴”功能,将一半的形状粘贴到边缘。这是我的代码:

function freemove(event:KeyboardEvent):void
{
    switch (event.keyCode)
    {
        case Keyboard.UP:
        {
            testing.y -= 5;
            if(testing.y < stage.width)
            {
                testing.y = 0;
                }
            break;
        }
        case Keyboard.DOWN:
        {
            testing.y += 5;
            // FOR BOTTOM EDGE.
            break;
        }
        case Keyboard.LEFT:
        {
            testing.x -= 5;
            if(testing.x < stage.height)
            {
                testing.x = 0;
                }
            break;
        }
        case Keyboard.RIGHT:
        {
            testing.x += 5;
            // FOR RIGHT EDGE.
            break;
        }
        }

    }

问题是:它只适用于左边缘和上边缘。我怎样才能使它适用于底部和右侧边缘?谢谢! =)

【问题讨论】:

  • 为什么要根据宽度测试 y 轴?这就是问题的根源。
  • 这也让我和我展示代码的人感到困惑。它也困扰着我。在运行时,它可以在该配置打开的情况下按预期工作。看来我正在编写奇怪的代码......

标签: actionscript-3 stage


【解决方案1】:
// FOR BOTTOM EDGE.
if (shape.y + shape.height > stage.stageHeight)

// FOR RIGHT EDGE.
if (shape.x + shape.width > stage.stageWidth)

此外,您可能会混淆 LEFT 和 RIGHT 处理程序中的宽度和高度(为什么将 y 与宽度进行比较,将 x 与高度进行比较?)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2021-08-31
    • 1970-01-01
    相关资源
    最近更新 更多