Flash:DisplayObject的transform/matrix的潜规则、小bug

AS3中,使用DisplayObject的transform/matrix,需要先clone出来,再变换,再赋值回去,这样才会对DisplayObject产生影响,不能直接对原Matrix操作。

详细见下边的代码:

var a:Sprite = new Sprite();
a.graphics.beginFill(0);
a.graphics.drawRect(0,0,100,100);
a.graphics.endFill();
a.x = a.y = 10;
addChild(a);
trace (a.transform.matrix );
 
var m:Matrix = a.transform.matrix .clone();
m.translate(30,30);
a.transform.matrix = m;
trace (a.x, a.y);
trace (a.transform.matrix );
 
m.translate(30,30);
a.transform.matrix = m;            //只有赋值Matrix的时候,才会有反应
trace (a.x, a.y);
trace (a.transform.matrix);
 
a.transform.matrix .translate(30,30);             //这里不会有任何效果,不会对a产生影响
trace (a.x, a.y);
trace (a.transform.matrix );

输出:

(a=1, b=0, c=0, d=1, tx=10, ty=10)

40 40

(a=1, b=0, c=0, d=1, tx=40, ty=40)

70 70

(a=1, b=0, c=0, d=1, tx=70, ty=70)

70 70

(a=1, b=0, c=0, d=1, tx=70, ty=70)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我和未来有约会

[Silverlight 4 RC]RichTextBox概览

我们知道在silverlight 4 beta的时候增加了RichTextArea的控件。做过RIA开发的朋友富媒体在动态文本的表现渲染方面是很弱的。我们看到的...

1828
来自专栏LeoXu的博客

Flex笔记_处理用户输入 原

        Label、RichText、RichEditableText、TextInput、TextArea、RichTextEditor(MX)

682
来自专栏Windows Community

New UWP Community Toolkit - RotatorTile

概述 UWP Community Toolkit  中有一个为图片或磁贴提供轮播效果的控件 - RotatorTile,本篇我们结合代码详细讲解  Rotato...

3028
来自专栏蜉蝣禅修之道

android之自定义渐变颜色(一)

1385
来自专栏游戏杂谈

DOM的事件模拟

只有根据DOM2级事件实现这些事件的浏览器才返回true,以非标准方式支持这些事件的浏览器会返回false;

1151
来自专栏九彩拼盘的叨叨叨

学习前端 第6周 第1天

641
来自专栏hightopo

基于 HTML5 的电力接线图 SCADA 应用

1173
来自专栏iKcamp

翻译 | 玩转 React 表单 —— 受控组件详解

原文地址:React.js Forms: Controlled Components 原文作者:Loren Stewart 译者:小 B0Y 校对者:珂珂君 本...

38010
来自专栏非典型技术宅

简单放置一张图片,实现放大缩小旋转效果1 image和imageView的区别2 创建控件显示到view上的标准步骤3 CGRectOffset函数的含义4 小飞机-监听四个按钮的点击事件(代码)5

1173
来自专栏Hans362 's Lab

使用WPScan扫描WordPress博客安全性

最近看到隔壁的@崇宫苟道的一篇文章《冻果果?00后网络团队?抄袭?(持续更新ing)》,看完真的是被吓到了...我暂且先不对冻果果的行为做任何评价,毕竟今天的主...

4673

扫码关注云+社区