原创 使用LocalStorage把數據存儲在設備上

  Laya官方文檔的解釋是“用於沒有時間限制的數據存儲”。 w3c上給出的說法是“用於長久保存整個網站的數據,保存的數據沒有過期時間,直到手動去除。” 個人覺得w3c給出的釋義更好理解。 作用就是將數據不設置過期時間,永久保留在本地,除

原创 BUG檢查思路

1、賦值是對的但是表現上沒設上去--檢查賦值對象是不是錯了,是不是沒有父對象,比如賦值的對象只是個item,但是這個item並不在舞臺。而實際在舞臺上的對象,數據源並沒有變化;

原创 升級模塊讀配置的代碼設計方案

遊戲中設計到升級時,那麼肯定有滿級配置,讀取下一級配置時,當沒有滿級時,根據index讀取下一個配置,沒毛病,但是滿級的時候,沒有下一級配置。最開始的做法是,判斷玩家是否滿級,如果滿級,下一級數據讀取當前配置的數據,如果沒有滿級,下一級的

原创 for循環內外定義變量的區別

直接上代碼 var attrOuter:Object={}; var objOuter:Object={}; var indexOuter:int; var objInner:Object={}; for

原创 定位JS死循環位置

上週寫代碼寫了個死循環,當時不知道是死循環,整個代碼重構了一遍,還是跑不起來,Chrome一直在加載,控制檯JS代碼都顯示不出來,當時懷疑是死循環,但是代碼量那麼多,無從查起,而且沒有做版本管理,只能重寫代碼,難受 嘗試過重裝Chrom

原创 LAYA屏幕適配

相關概念 1、物理分辨率:簡單來講,就是設備像素,也就是一般人所理解的屏幕尺寸,例如 iPhone8 的物理分辨率是1334 × 750 2、縮放因子:機型物理分辨率也越來越高,一個point所佔用的物理像素越來越高,縮放因子表達式爲@n

原创 圖片顯存計算

  顯存容量=顯示分辨率×顏色位數/8bit 注意,圖片在顯存中的佔用空間和存儲時的佔用空間,是不同的概念,顯存主要是解碼後的每個點的數據,文件數據要看你的格式、壓縮比、文件頭、附加信息等等,因此文件數據和圖片在內存和顯存中的數據差別可能

原创 Laya自定義頁面繼承

低版本的Laya頁面類型只有View和Dialog,高版本的加了Scene類型,但是開發時可能並不滿足於官方默認的這幾種自定義頁面繼承基類。比如需要加入資源管理或者其他項目特殊的功能邏輯等,希望繼承自個人編寫的頁面繼承基類。 具體操作步驟

原创 requestAnimationFrame

Javascript 中可以通過定時器 setTimeout 和setinterval來實現 但是這兩種定時器的實現並不精確,會受到其他定時器的影響,setTimeout 任務被放進了異步隊列中,只有當主線程上的任務執行完以後,纔會去檢查

原创 SVN插件對文件提交前進行檢查

多人合作開發項目時,頻繁出現其中一個人提交的文件不合標準,導致項目出問題或者影響他人提交 如:H5開發時,圖片資源不能超過2048*2048,提交資源時,忘記提交.rec文件,導致他人提交時,會覆蓋之前的修改,而且一般這種還不好改,因爲中

原创 Laya版本管理

1.7.15beta開始,打開發布界面,最後一項是管理是否啓用版本管理的功能 啓用版本管理之後,將會生成帶hash的文件名,並生成一個version.json的文件名映射文件,在項目中可以通過使用ResourceVersion類進行版本控

原创 SVN插件的使用

1、SVN插件的下載安裝,這裏就不提了 2、打開SVN設置,點擊選中Hook Scripts腳本 3、點擊add添加腳本 4、選擇腳本文件以及腳本生效的目錄,腳本生效的目錄無特殊需要,選擇整個系統盤就行了 5、結果如下 、 6、給腳本

原创 Chrome設置不設緩存

幾乎每個排期的功能都會出現測試或者策劃追問,刷新了,界面還是沒變,程序回清緩存,浪費了不必要的時間,影響工作效率,故整理了一份設置Chrome不設緩存的操作步驟,同時,也簡化了測試步驟,不必每次測試都手動清一次緩存,時刻打開控制檯也方便第

原创 innerHTML內嵌文字圖片

經常遇到這種需求(策劃特別喜歡),一行文字中間需要嵌入圖片,但是這行包括圖片的文字又需要根據文字長度或者圖片寬度自適應居中。 比較原始的方法是每種情況都放進去試下,量座標,然後寫if條件進行判斷,不同條件設置不同的座標實現居中。 後來發現

原创 panel滾動區域

panel是LAYA提供的一種滾動組件,LIST也可以滾動。 給panel直接添加子元素,發現panel的滾動區域有點大,最後一個子元素可以一直滑到panel中間,而策劃想要的效果確實panel的最後一個子元素,滑到panel邊緣就不要再