国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Matrix的set,pre,post調用順序詳解

2019-12-12 03:07:15
字體:
來源:轉載
供稿:網友

Matrix調用一系列set,pre,post方法時,可視為將這些方法插入到一個隊列。當然,按照隊列中從頭至尾的順序調用執行。

其中pre表示在隊頭插入一個方法,post表示在隊尾插入一個方法。而set表示把當前隊列清空,并且總是位于隊列的最中間位置。當執行了一次set后:pre方法總是插入到set前部的隊列的最前面,post方法總是插入到set后部的隊列的最后面。

例一:

Matrix m = new Matrix();m.setRotate(45); m.setTranslate(80, 80);

只有m.setTranslate(80, 80)有效,因為m.setRotate(45);被清除.

例子二:

Matrix m = new Matrix();m.setTranslate(80, 80);m.postRotate(45);

先執行m.setTranslate(80, 80);后執行m.postRotate(45);

例子三:

Matrix m = new Matrix();m.setTranslate(80, 80);m.preRotate(45);

先執行m.setTranslate(80, 80);后執行m.preRotate(45);

例子四:

Matrix m = new Matrix();m.preScale(2f,2f);  m.preTranslate(50f, 20f);  m.postScale(0.2f, 0.5f);  m.postTranslate(20f, 20f); 

執行順序:m.preTranslate(50f, 20f)-->m.preScale(2f,2f)-->m.postScale(0.2f, 0.5f)-->m.postTranslate(20f, 20f)

注意:m.preTranslate(50f, 20f)比m.preScale(2f,2f)先執行,因為它查到了隊列的最前端.

例子五:

Matrix m = new Matrix();m.postTranslate(20, 20);  m.preScale(0.2f, 0.5f);m.setScale(0.8f, 0.8f);  m.postScale(3f, 3f);m.preTranslate(0.5f, 0.5f);

執行順序:m.preTranslate(0.5f, 0.5f)-->m.setScale(0.8f, 0.8f)-->m.postScale(3f, 3f)

注意:m.setScale(0.8f, 0.8f)清除了前面的m.postTranslate(20, 20)和m.preScale(0.2f, 0.5f);

以上這篇Matrix的set,pre,post調用順序詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴仁县| 洪江市| 淮南市| 屯留县| 襄汾县| 郎溪县| 句容市| 大悟县| 宝鸡市| 淮安市| 望城县| 阿瓦提县| 梁山县| 富源县| 昌黎县| 光泽县| 正宁县| 银川市| 嵊泗县| 响水县| 古丈县| 普洱| 兴国县| 澳门| 宁晋县| 弥渡县| 肃宁县| 诸城市| 五河县| 新野县| 苍山县| 巨野县| 上饶县| 高雄县| 南部县| 英吉沙县| 长海县| 新建县| 湖州市| 钦州市| 贵州省|