0
こんにちは、私はキャンバスの成分を増やすためにどのように行列を使うことができるのだろうかと思っていました。 可能であれば、研究のコードを表示してください)Flex。キャンバスをマトリックスで拡大する
こんにちは、私はキャンバスの成分を増やすためにどのように行列を使うことができるのだろうかと思っていました。 可能であれば、研究のコードを表示してください)Flex。キャンバスをマトリックスで拡大する
まずはcorresponding documentationを探索する必要があります。
その後、次のコードを試すことができます。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application layout="absolute" minHeight="600" minWidth="955" xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
/**
* Stores the button size multiplier on roll over.
*/
public static const SIZE_MULTIPLIER:Number = 2.5;
/**
* Stores initial button's transfrom matrix.
*/
private var buttonMatrix:Matrix;
protected function zoomedButton_rollOverHandler(event:MouseEvent):void
{
var zoomedButton:Button = event.currentTarget as Button;
// Get initial button transform matrix
var matrix:Matrix = zoomedButton.transform.matrix;
buttonMatrix = matrix.clone();
// Modify matrix to move button's center to the Canvas (0, 0) point.
matrix.translate(-zoomedButton.width/2 - zoomedButton.x,
-zoomedButton.height/2 - zoomedButton.y);
// Modify matrix to scale using multiplier value
matrix.scale(SIZE_MULTIPLIER, SIZE_MULTIPLIER);
// Modify matrix to return button back
matrix.translate(zoomedButton.width/2 + zoomedButton.x,
zoomedButton.height/2 + zoomedButton.y);
// Apply resulting matrix
zoomedButton.transform.matrix = matrix;
}
protected function zoomedButton_rollOutHandler(event:MouseEvent):void
{
var zoomedButton:Button = event.currentTarget as Button;
// Restore buttons position
zoomedButton.transform.matrix = buttonMatrix;
}
]]>
</mx:Script>
<mx:Panel height="50%" horizontalCenter="0" verticalCenter="0" width="50%" layout="absolute">
<mx:Button label="Test" rollOut="zoomedButton_rollOutHandler(event)"
rollOver="zoomedButton_rollOverHandler(event)" x="100" y="50" />
</mx:Panel>
</mx:Application>
を私は説明の目的のためにレイアウト=「絶対」でパネルを使用するが、それはキャンバス(あなたが問題なくキャンバスを使用することができます)と同じです。ショートカットとして
そしてもちろん、あなたが(マトリックスを形成し、規模を考慮するCONCAT()メソッドを使用します)と(変換できます)方法:
protected function zoomedButton_rollOverHandler(event:MouseEvent):void
{
var zoomedButton:Button = event.currentTarget as Button;
var matrix:Matrix = zoomedButton.transform.matrix;
buttonMatrix = matrix.clone();
matrix.
concat(new Matrix(1, 0, 0, 1, -zoomedButton.width/2 - zoomedButton.x,
-zoomedButton.height/2 - zoomedButton.y));
matrix.concat(new Matrix(SIZE_MULTIPLIER, 0, 0, SIZE_MULTIPLIER));
matrix.
concat(new Matrix(1, 0, 0, 1, zoomedButton.width/2 + zoomedButton.x,
zoomedButton.height/2 + zoomedButton.y));
zoomedButton.transform.matrix = matrix;
}
・ホープこのことができます:)
「のコンポーネントをキャンバス "はいくつかのことを意味することができます。どうか明らかにしてください。 – cwallenpoole
**キャンバスのサイズをスライダで変更する必要があり、キャンバスの量がスクロールするように見える親コンポーネントよりも大きい** –