在Adobe Flash/Animate中,可以使用transform.matrix
属性来进行变换操作。下面是一个示例代码,展示如何使用ActionScript 3中的变换点等效。
// 创建一个 MovieClip 实例
var myMovieClip:MovieClip = new MovieClip();
addChild(myMovieClip);
// 设置初始位置
myMovieClip.x = 100;
myMovieClip.y = 100;
// 设置初始缩放
myMovieClip.scaleX = 1.5;
myMovieClip.scaleY = 1.5;
// 设置初始旋转角度
myMovieClip.rotation = 45;
// 创建一个 Transform 实例
var transform:Transform = new Transform(myMovieClip);
// 获取当前的矩阵变换对象
var matrix:Matrix = transform.matrix;
// 设置变换点(等效于注册点)
var registrationPoint:Point = new Point(50, 50);
matrix.translate(-registrationPoint.x, -registrationPoint.y);
// 应用变换
transform.matrix = matrix;
上述代码中,首先创建一个MovieClip实例,并设置其初始位置、缩放和旋转角度。然后创建一个Transform实例,通过Transform实例获取该MovieClip的矩阵变换对象。接下来,创建一个Point实例来表示变换点的位置。通过矩阵的translate
方法将变换点移动到原点,即将其坐标减去变换点的x和y坐标。最后,将修改后的矩阵应用到MovieClip的Transform实例上,从而实现变换点的等效效果。
请注意,这个示例中的变换点是指相对于MovieClip自身的点,而不是舞台上的绝对坐标点。如果需要使用舞台上的绝对坐标点作为变换点,请将注册点的坐标转换为MovieClip内部坐标系中的值。
上一篇:Adobe Flash Player PowerShell远程安装问题
下一篇:Adobe Fonts(又名Typekit,又名Creative Cloud Fonts)在我的Mac上存储字体的位置在哪里?