欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Matrix的set,pre,post調(diào)用順序詳解

 更新時(shí)間:2017年04月12日 08:53:52   投稿:jingxian  
下面小編就為大家?guī)硪黄狹atrix的set,pre,post調(diào)用順序詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

Matrix調(diào)用一系列set,pre,post方法時(shí),可視為將這些方法插入到一個(gè)隊(duì)列。當(dāng)然,按照隊(duì)列中從頭至尾的順序調(diào)用執(zhí)行。

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

例一:

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

只有m.setTranslate(80, 80)有效,因?yàn)閙.setRotate(45);被清除.

例子二:

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

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

例子三:

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

先執(zhí)行m.setTranslate(80, 80);后執(zhí)行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); 

執(zhí)行順序: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)先執(zhí)行,因?yàn)樗榈搅岁?duì)列的最前端.

例子五:

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);

執(zhí)行順序: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調(diào)用順序詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論