1

ムービークリップのズームインとズームアウトを行っています。元の高さはmc.heightで取得します。ムービークリップを拡大縮小した後、ムービークリップの高さを増やす必要があります。だから私はmc._heightプロパティを使用しました。ただし、元の値ではなく、より高い値が得られます。ただし、ロールオーバー時に値が少なくなるほど変化します。

plsは私を助けます。

ありがとう。

こんにちは、私はズームの概念をやっています。ズーム時にムービークリップの幅が正しく機能しています。しかし、トゥイーン画像の場合、幅と高さが異常に増加しています。私がそれを見つけられなかった理由は何ですか。plsは私を助けます。

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));
    }
};
}
4

2 に答える 2

3

Actionscript 2には._heightプロパティはありません。その._heightを指摘したように、Actionscript3のコードがある可能性が高いです。

ちなみに、AS3の古い変数はすべて_visible、_width、_heightなどでした。これらは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-senoculorによるactionscript2で

これがお役に立てば幸いです。もしそうなら、答えを正解としてマークしてください。

于 2012-05-19T15:53:30.943 に答える
0

この記事をいくつかの有用な情報で更新したかっただけです。高さの両方のバージョンは、両方ともキーワードとして存在するため、青色で強調表示されます。ほとんどのオブジェクトは._heightプロパティを使用しますが、Stageクラスは.heightを使用します。少し紛らわしいですが、AS2との不整合の完璧な例です。

Stage.height
MovieClip._height
于 2016-05-20T17:56:55.347 に答える