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 条评论
登录 后参与评论

相关文章

来自专栏hightopo

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

903
来自专栏蜉蝣禅修之道

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

1335
来自专栏程序员叨叨叨

Andorid自定义控件属性值设置

今天写一个简单的自定义控件,实现宽固定,高度根据自定义宽高比例自动调整;或高固定,宽度随比例调整。其中有一个 solid属性,想要像android:layout...

842
来自专栏Java帮帮-微信公众号-技术文章全总结

WAI-ARIA无障碍网页应用属性完全展示

WAI-ARIA指无障碍网页应用。主要针对的是视觉缺陷,失聪,行动不便的残疾人以及假装残疾的测试人员。尤其像盲人,眼睛看不到,其浏览网页则需要借助辅助设备,如屏...

1624
来自专栏iKcamp

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

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

33610
来自专栏LeoXu的博客

Flex笔记_处理用户输入 原

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

652
来自专栏IMWeb前端团队

JavaScript强化教程——Prototype

本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —— Prototype 引用 Prototype 如需测试 Jav...

1979
来自专栏Hans362 's Lab

使用WPScan扫描WordPress博客安全性

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

3453
来自专栏Linux驱动

24.QTableView函数使用,右击菜单实现

对于QStandardItem的setData()成员 函数的第二个参数role 是模型数据角色 

834
来自专栏xx_Cc的学习总结专栏

iOS-UITextField 全面解析iOS中UITextField 使用全面解析UITextField的代理方法通知UITextField 在storyboard 中设置属性

4056

扫码关注云+社区