canvas和白鷺引擎中平移,旋轉,縮放

2022-09-01 08:51:08 字數 497 閱讀 2054

canvas中的translate()和白鷺引擎中的.x或者.y所導致的平移效果並不是移動 目標元素,而是移動目標元素父親所在的座標系。

例如 bgg.translate(100,100) 所表達的含義是將父親元素所在的座標系 向右和向下 偏移100 px。

而設定元素大小時 context.fillrect(0, 0, 100, 100) 這裡的前兩個引數是 真 的 設定偏移量,表示 向右和向下 偏移100px。是設定距離父親元素的偏移量。

設定旋轉,不管是canvas還是白鷺引擎,本質都是旋轉的目標元素所依賴的那個座標系。

canvas中的縮放回同時縮放元素圓點,線條,大小。

究其根本,平移變換、旋轉變換、縮放變換都屬於座標變換,或者說是畫布變換。因此,縮放並非縮放的是影象,而是整個座標系、整個畫布!就像是對座標系的單位距離縮放了一樣,所以座標和線條都會進行縮放。仔細想想,這一切貌似挺神奇的。

Egret 白鷺引擎實踐

官方提供的examples egret core原始碼 egret程式設計指南 1 examples執行方法 編譯 egret build coreexample e 執行 egret startserver coreexample 1,如何輸出log egret.log 2,新建乙個模組如new ...

白鷺引擎一些知識

egret.settimeout this.ontimeout,this,500 延遲呼叫 ontimeout 就是呼叫的方法 500 就是延遲的時間 應該是1000為一秒必須使用this加方法this.initialtime private initialtime private timerfun...

基於HTML5 Canvas的引擎

laro,乙個基於html5 canvas的用於平面2d或者2.5d遊戲製作的輕量級遊戲引擎,為了簡化使用canvas製作遊戲時的api呼叫。同時提供了一套 有限狀態機 的開發模式,這種模式在對於遊戲這一類的典型的 事件驅動 的模型的開發上。能夠很好的做到模組間的低耦合,利於開發者梳理整個開發邏輯。...