继续修改start方法里边的代码,改动如下
start() { this.log("初始状态"); this.node.angle = 30; this.log("旋转30°"); this.node.rotation = 30; this.log("旋转30°"); this.node.skewX = 30; this.node.skewY = 30; this.log("XY倾斜30°"); this.node.scale = 0.5; this.log("缩小50%"); this.node.setPosition(10, 10); this.log("平移(10,10)"); }重新编译,您将在浏览器看到平移后的图形,显示如下
回到控制台,输出日志如下
------------------平移(10,10)------------------- ---1. [世界坐标矩阵]--- [ 0.5773502691896257, 2.7755575615628914e-17, 0, 0, 0.5, 0.288675134594813, 0, 0, 0, 0, 1, 0, 490, 330, 0, 1 ] ---2. [本地坐标矩阵]--- [ 0.5773502691896257, 2.7755575615628914e-17, 0, 0, 0.5, 0.288675134594813, 0, 0, 0, 0, 1, 0, 10, 10, 0, 1 ] ---3. [当前各属性状态]--- 1. position: (10.00, 10.00, 0.00) 2. scale: 0.5 3. angle: -30 4. skewX: 30 5. skewY: 30 6. width: 100 7. height: 100 8. parentWidth: 960 9. parentHeight: 640 ---4. [锚点角(0,0)坐标信息]--- 原点的世界坐标:(490.00, 330.00) 本地坐标: (10.00, 10.00) ---5. [右上角(50,50)坐标信息]--- 右上角的世界坐标:(543.87, 344.43) 本地坐标: (63.87, 24.43)对比输出结果可知,平移对a b c d并无影响。仅仅是将m12和m13的值分别加上(x,y)方向的平移量。从输出4和5可知,平移改变了原点的位置。
9. 总结游戏中的matrix,欧拉角,四元素,复数。这些基础知识在学习时不知其有何用。当真实使用起来时,才发现其中的奥秘。技术这块路,不一定要追新。往往原理性的东西,那些伟人早都研究透彻了。这三篇文章,从计划到完成预计2月时间。确实很多基础知识需要补充。当然,其中肯定有理解不对的地方,如有发现,希望热心的同行,能加我wx反馈。在此先谢谢了
原创欢迎感兴趣的朋友关注我的微信订阅号"小院不小",或者点击下方的二维码关注。我将多年开发中遇到的难点,以及一些有意思的功能,体会都会一一发布到我的订阅号中。需要本文demo可以在公众号中回复matrix
维护了一个Coscos Creator 的游戏开发群,欢迎喜欢聊技术的朋友加入
闲来无事,采用cocos creator开发了一个小游戏【坦克侠】,感兴趣的朋友一个可以来玩玩