高度与高度有什么区别; as2 flash中影片剪辑的高度

时间:2012-05-19 10:30:57

标签: flash actionscript-2 zoom movieclip

我正在为影片剪辑进行放大和缩小。我通过mc.height获得原始高度。缩放动画片段后,我需要增加影片剪辑的高度。所以我使用了mc._height属性。 但它提供了更高的值,它不是原始值。但它也会在价值越来越低的情况下改变。

请帮助我。

感谢。

嗨,我正在做缩放概念。在缩放动画片段宽度工作正常。但是在补间图像宽度和宽度的情况下。身高异常增加。是什么原因我没有找到。请帮助我。

this.onMouseMove = function() {
constrainedMove(bg_mc, 4, 1);
};

function constrainedMove(target:MovieClip, speed:Number, dir:Number) {
var mousePercent:Number = _xmouse/Stage.width;
var mSpeed:Number;
if (dir == 1) {
    mSpeed = 1-mousePercent;
} else {
    mSpeed = mousePercent;
}
target.destX = Math.round(-((target._width-Stage.width)*mSpeed));

     target.onEnterFrame = function() {
    if (target._x == target.destX) {
        delete target.onEnterFrame;
    } 
              else if (target._x>target.destX) {
        target._x -= Math.ceil((target._x-target.destX)*(speed/100));
    } 
              else if (target._x<target.destX) {
        target._x += Math.ceil((target.destX-target._x)*(speed/100));
    }
};
}

2 个答案:

答案 0 :(得分:3)

在Actionscript 2中没有.height属性,正如你指出它的._height,它很可能你有ActionScript 3的代码。

作为旁注,AS3中的所有旧变量都是_visible,_width,_height等。这些变量被改为可见,宽度,高度等。

希望这有帮助。

修改

如果您使用_xscale_yscale,则可能无法获得预期的宽度和高度。以下是使用Matrix的示例。首先在舞台上创建一个框,并给出实例名称框,使其大小为100x100:

import flash.geom.Matrix;

// will trace 100
trace(box._width);

// will trace 100
trace(box._height);

// get the current matrix and scale it by factor of two - doubling it
var matrix = box.transform.matrix;
matrix.scale(2,2);

// apply the matrix back to the movieclip
box.transform.matrix = matrix;

// will trace 200
trace(box._width);

// will trace 200
trace(box._height);

有一篇关于使用 - Matrix in actionscript 2 by senoculor

的文章

我真的希望这可以帮助你,如果确实如此,那么请将答案标记为正确。

答案 1 :(得分:0)

我只是想用一些有用的信息来更新这篇文章。两个版本的高度都将突出显示为蓝色,因为它们都作为关键字存在。大多数对象使用._height属性,但Stage类使用.height。 它有点令人困惑,但却是与AS2不一致的完美例子。

Stage.height
MovieClip._height