Flash AS2中央位置からMCをスケールする

私はAS2を使用しています。私はMCから中心までの幅を拡大する方法を探しています。これは幅が両側に等しく広がることを意味します。

たとえば、ムービークリップを+10倍に拡大する必要がある場合は、左側が+5、右側が+5になります。

したがって、前方に進むムービークリップをシミュレートするには、左の位置が-5、次にスケールをオフセットします。

私に知らせるだけではないなら、これが意味をなさないことを望みます。

0
センターピボットはどこにありますか?
追加された 著者 felipemaia,

2 答え

セットアップウィンドウで新しいムービークリップを作成すると、登録ポイントが表示されます。あなたはセンターのどちらを選択する必要があります。

enter image description here

if you want to change the registration point dynamically then check this link

さらに、新しいオブジェクトをMCにロードしたときに、新しいオブジェクト0,0(トプレットコーナー)がホルダーMCの中心に等しくなるように注意してください。

1
追加された

あなたが気にすることがスケーリングであるなら、それはやや簡単です:

var widthDiff : Number = newWidth - mc._width;
var heightDiff : Number = newHeight - mc._height;

var bounds:Object = mc.getBounds(this);
var moveXPerc : Number = (bounds.xMin/(bounds.xMin + bounds.xMax))-0.5;
var moveYPerc : Number = (bounds.yMin/(bounds.yMin + bounds.yMax))-0.5;
mc._width = newWidth;
mc._height = newHeight;
mc._x = mc._x + (moveXPerc * widthDiff);
mc._y = mc._y + (moveYPerc * heightDiff);
1
追加された