當變形顯示物件時,如果要得到以父容器相對座標係為基準的形變,變形矩陣就不僅要應用在顯示物件自身,同時也應用於tx和
ty。但是根據仿射變形的公式:
f(x)=ax+b
,變形矩陣的值a、
b、c、
d僅僅與物件的位置資料相乘,並不會和位移向量tx或
ty進行運算。所以修改變形矩陣內部的
d值,不會對
ty產生作用。
若要得到以父容器相對座標係為基準的形變,必須在執行公式計算之前,提前計算出修正後的位移向量。
matrix
類的內建方法,都是遵循這樣的機制。當**呼叫這些方法的時候,
as3自動執行了對tx和
ty的修正。
然而在自定義的
flip_v_1()
函式中,直接修改的僅僅是矩陣的
d值,對於
ty並未操作。在用變形矩陣替換顯示物件原有矩陣時,顯示物件的形狀被重新計算,並在下一次重繪時更新,這個過程是應用變形矩陣的過程,而不是修正變形矩陣的過程,所以在
flipobjbox.flipobj.transform.matrix=objmatrix;
語句中,變形矩陣的tx和
ty值不會被修改。而顯示物件內部採用的是其自身的內部座標,不包含tx和
ty,最終的結果,自然就是顯示物件在原地變形了。
由此可見,修正這個小問題十分簡單,只需要在
objmatrix.d=math.sin(flipstep);
後增加對
ty的修正即可:
function flip_v_1():void
再次執行程式,這次的執行結果就符合預期了。其原理可參考圖
中,許多類的屬性都不是簡單的變數,而是
setter/getter
取存器。當**為類物件的取存器屬性賦值時,
flash player
會執行取存器中的程式邏輯。最終的結果,可能會牽涉到多個相關變數的修改。
需求分析 5 分析流程
1 小型流程 需求工作項 提交的文件 所處需求層次 業務目標 目標列表 業務需求 繪製用例圖 需求規約 或 用例模型 使用者需求 編寫用例規約 行為需求 2 中型流程 需求工作項 提交的文件 所處需求層次 業務目標 願景文件 業務需求 範圍 feature 上下文圖 繪製用例圖 需求規約 或 用例模...
20090901 分析函式ratio to
ratio to report函式 syntax 分析函式ratio to report 用來計算當前記錄的指標expr佔開窗函式over中包含記錄的所有同一指標的百分比.這裡如果開窗函式的統計結果為null或者為0,就是說占用比率的被除數為0或者為null,則得到的結果也為0.開窗條件query ...
nginx大量499分析
源於乙個客戶端同事說,客戶端突然發現有大量的超時請求,讓我們查一下,下面是檢查情況 nginxaccess.log中發現大量的499狀態碼,從網上查詢資料分析有兩種可能 1.客戶端主動斷開連線 2.服務端響應超時造成客戶端連線中斷 上面兩種可能歸根接地還是一種情況,客戶端主動斷開了連線,至於是服務端...