原创 babylon.js 學習筆記(7)

前面我們學習瞭如何畫一堆房子(如下圖),顯然這單調的綠色大地,看上去效果並不好。 babylon.js中,可以用圖片模擬出地勢高低不同的效果,比如下面這張圖片: 顏色越深的地方,表示地勢越低(即:盆地),而顏色越淺的地方,地勢越高(即:

原创 babylon.js 學習筆記(6)

接上回繼續,今天繼續搗騰動畫,上一節咱們讓汽車的輪子動了起來,回顧一下核心代碼: //輪子轉動 const wheelAnimation = (scene, wheels) => { //定義一個動畫,每秒30幀,繞y軸轉動

原创 babylon.js 學習筆記(4)

按上回繼續,上節知道了如何用 『方塊+三棱柱+貼圖』結合起來,畫一個簡單的小房子,實際應用中可以把這3個打包在一起,組成1個house對象,這樣更方便一些 const buildHouse = () => { const box1

原创 babylon.js 學習筆記(5)

前面我們畫的小房子,基本上都是用內置的標準形狀組合而成,但並非所有對象都這麼簡單,今天我們來畫一個小汽車,汽車由多個零件組成,控制這些零件的縮放、位置、旋轉,如果每個都單獨用代碼來修改position/roration/scaling,未免

原创 babylon.js 學習筆記(3)

一、理解babylon.js 座標系 const createScene = function () { const scene = new BABYLON.Scene(engine); const camera =

原创 babylon.js 學習筆記(1)

簡單來說,babylon.js 是一個能跑在瀏覽器上的(3D)遊戲渲染引擎,而且官方提供了一個友好在線交互學習平臺Playground,其開源項目在github上star數截止2023.05.14高達20.6K。下面是官方文檔的學習筆記 :

原创 babylon.js 學習筆記(2)

如何在網頁中嵌入設計好的模型? 接上回繼續,我們設計好精美的模型後,最終總要展示給客戶,比如利用playground畫了1個方塊: const createScene = () => { const scene = new BA

原创 java線程池使用小技巧:自定義拒絕策略

java 線程池默認提供了幾種拒絕策略: 這幾個策略都實現了RejectedExecutionHandler,拿DiscardOldestPolicy來說,查看源碼: 核心代碼只有2行: e.getQueue().poll() 從列表

原创 java中如何處理夏令時?

在國際化的項目中,處理時間時經常會遇到夏令時(BST,British Summer Time)問題,發明夏令時(以及冬令時)主要是爲了省電。   冷知識:中國歷史上也曾經採用過(1986-1991)夏令時,後來因爲各種原因,最終取消了這一制

原创 Rust常用併發示例代碼

記錄幾個常用的併發用法: 1、如何讓線程只創建1次 先看一段熟悉的java代碼: void method1() { new Thread(() -> { while (true) { Sys

原创 tauri學習(7)-事件(event) tauri學習(3)-前端調用Rust代碼

接上節繼續,今天來研究tauri的事件(event),假設老闆提了個需求,希望能實時監控cpu、內存等性能指標,你會怎麼做? 思路1: 後端Rust暴露1個command,前端js不停去輪詢(參考前文:tauri學習(3)-前端調用Rust

原创 tauri學習(5)-Splashscreen啓動界面

接上節繼續,本文將研究splashscreen,也就是程序的啓動界面,通常有2二種應用場景: 1、程序太複雜,主界面完成加載需要很長時間,爲了優化用戶體驗,可以先放一個啓動圖片,緩解用戶等待的焦慮。 2、播放啓動廣告,手機應用上很常見,進入

原创 tauri學習(4)-多窗口

接上節繼續,今天研究tauri中的多窗口,要實現多窗口有幾種方式: 一、改配置tauri.conf.json 仍然以react項目模式爲例,假設我們有2個頁面效果: 在瀏覽器中運行起來長這樣: tauri中,如果想開2個窗口,分別對應於

原创 tauri學習(3)-前端調用Rust代碼 react+rust+webAssembly(wasm)示例

接上節繼續,今天研究tauri中,前端如何調用Rust代碼。 一、無返回值&無傳參 main.rs中加1個hello方法: 然後在main方法中,參考下圖暴露hello1: Rust代碼準備好之後,前端(假設是react框架)就能調用了

原创 tauri學習(2)-a鏈接僞類visited失效問題

接上節繼續,在前端開發中,a鏈接常用a:visited僞類,用於區分鏈接點擊過後的呈現效果。 在tauri項目模板中,把App組件中添加3個鏈接:  然後在App.css中添加幾個樣式:  程序跑起來後,卻意外發現:其它幾個僞類都起作用