Cocos Creator學習過程中的知識整理

自學研究Cocos Creator中整理記錄的一些比較重要的知識點,作一些記錄方便自己查詢,會不定期更新。

一、Cocos Creator相關

1.屏幕分辨率和異形屏適配

適配各種分辨率和屏幕比例:
這個Cocos Creator已經(jīng)做的很完善了,使用起來也比較簡單。
Cocos官網(wǎng)文檔教程說明,也是Cocos Creator適配屏幕的基礎知識:
http://docs.cocos.com/creator/manual/zh/ui/multi-resolution.html
http://docs.cocos.com/creator/manual/zh/ui/widget-align.html
主要是使用Canvas作為根節(jié)點,然后使用widget組件防止可交互內容跑出屏幕外。

適配異形屏:
參考知乎一個關于unity適配iPhoneX的思路https://www.zhihu.com/question/68199219/answer/262488809
自己目前的想法是,canvas的Fit Height和Fit Width都不勾選(為了不產(chǎn)生黑邊,代價是會有裁剪,但是裁剪總比黑邊好),在canvas下創(chuàng)建兩個節(jié)點,一個是游戲背景background,使用widget組件使其鋪滿canvas(widget的top、left、bottom、right均設置為0px),background會隨分辨率比例變化會有裁剪,但會始終保持沒有黑邊全屏覆蓋;還有一個是safe_area,這個safe_area安全區(qū)作為所有可交互節(jié)點的根節(jié)點,safe_area的子節(jié)點要使用widget保證自己不會超出safe_area。只要保證safe_area的位置和尺寸正確,不被劉海遮住,那么所有的可交互節(jié)點便也不會被劉海遮住了。所有只需控制好safe_area的widget組件的top、left、bottom、right就好了。具體要在代碼中讀取當前手機設備的信息,并設置好safe_area的widget的值。

二、JavaScript相關

1.JavaScript的單線程解疑

作為一名使用Java的Android開發(fā)者,用js寫網(wǎng)絡請求時,怎么也找不到怎么開多線程異步處理。后來才了解到js使用的是單線程,這篇文章講解得很好https://blog.csdn.net/w2765006513/article/details/53743051
js中異步操作setTimeout https://zhuanlan.zhihu.com/p/26962590
簡單總結來說,js是單線程模型,js代碼都是在一個線程中執(zhí)行的,無法手動開啟新線程執(zhí)行操作,但js調用http網(wǎng)絡請求、讀取文件等常用耗時操作的api,執(zhí)行時會自動在別的工作線程中執(zhí)行,此外還會提供一些事件的回調,例如http請求完成、超時等事件,回調回js執(zhí)行的主線程中去。你只需關注一些事件的回調,在回調方法中執(zhí)行你自己的邏輯。但是對于代碼中需要進行的一些復雜耗時的算法計算,可能需要通過jsb調用C++開啟新線程執(zhí)行了。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容