【1024程式設計師節】為什麼有些程式設計師下班比你早?

ThingJS發表於2021-10-22
1024是什麼?
遊戲?2的十次方?某論壇節日?
10月24日,其實是程式猿翻身做主,拒絕加班的日子——程式設計師節(又稱碼農節)。
所以,請關愛身邊的瀕危物種程式猿吧!
為什麼是10月24日?因為1024是2的十次方,二進位制計數的基本計量單位,是程式設計師最熟悉的數字,就像醫生的刀、畫家的筆。
江湖上流傳著這樣一首詩:
床前明月光,我會寫程式碼;千山鳥飛絕,我會寫程式碼;
松下問童子,我會寫程式碼;春眠不覺曉,我會寫程式碼;
白日依山盡,我會寫程式碼;紅豆生南國,我會寫程式碼;
鋤禾日當午,我會寫程式碼;欲窮千里目,我會寫程式碼!
但理想豐滿現實卻很骨感,“加班多禿的快”已經成了程式設計師的御用段子。
【1024程式設計師節】為什麼有些程式設計師下班比你早?
俗話說:“工欲善其事必先利其器”,工具用得好,效率必然高。拿3D視覺化應用開發來說,3D視覺化應用開發對每個企業來說都是大工程,需要投入大量的人力物力財力才能做好這項工程,但其實可以化繁為簡,不需要大費周章,具體來說,ThingJS 3D視覺化開發平臺,基於webgl3D繪製標準,使用最熱門的Javascript語言,封裝threejs庫,前端工程師可實現線上開發,視覺化場景通過拖拽和簡單寫一些程式碼,對接資料來源,專案部署之後就可以執行在伺服器了~真是簡單好用,工具用的好,下班走得早!
【1024程式設計師節】為什麼有些程式設計師下班比你早?
ThingJS 3D框架簡化了開發工作,物件導向和模組化的特點使得網頁程式碼更加易於管理和維護,並且提供幾百個個官方示例,直接獲取API能力,不需要基於3D概念進行開發,適合3D商業專案快速生成!距離業務僅一層之隔,是非開發者也容易理解的一種應用方法。採用原生JavaScript的開發語言,配合簡捷易用的3D搭建工具,讓前端程式設計師和實施人員都可以立即上手。

僅需幾行程式碼實現第一人稱行走

這種3D場景中的第一人稱行走僅需幾十行程式碼就能輕鬆實現,程式碼如下:
var app = new THING.App({
 url: '
 skyBox: 'Night',
 env: 'Seaside',
});
 
// 載入場景後執行
app.on('load', function () 
 // 建立按鈕
 new THING.widget.Button('新增控制元件', add_control);
 new THING.widget.Button('重置', remove_control);
});
 
/**
 * 新增控制元件
 */
var ctrl = null;
var gui = null;
 
function add_control() {
 if (ctrl) {
 return;
 }
 // 攝像機飛行到某位置
 app.camera.flyTo({
 'position': [2.8321649862532032, 1.800003570690751, 19.142406079541555],
 'target': [8.238903690935196, 1.4337976272817292, 14.458302731727938],
 'time': 1000,
 'complete': function () {
 ctrl = app.addControl(
 new THING.WalkControl({
 // 引數可以動態修改
 walkSpeed: 0.02, // 行走速度
 turnSpeed: 0.25, // 右鍵旋轉速度
 gravity: 29.8, // 物體重量
 eyeHeight: 1.8, // 人高度
 jumpSpeed: 10, // 按空格鍵 跳躍的速度
 enableKeyRotate: false, // 預設不開啟鍵盤控制旋轉
 useCollision: false, // 預設不開啟碰撞檢測
 useGravity: true // 預設開啟重力
 })
 );
 // GUI
 gui = new THING.widget.Panel({ 'titleText': '第一人稱行走', 'hasTitle': true });
 
 gui.position = [10, 200];
 
 gui.addBoolean(ctrl, 'enableKeyRotate').caption('鍵盤控制旋轉');
 gui.addBoolean(ctrl, 'useCollision').caption('碰撞檢測');
 gui.addBoolean(ctrl, 'useGravity').caption('重力檢測');
 
 gui.addNumberSlider(ctrl, 'gravity').caption('重力').step(1).min(0).max(50).isChangeValue(true);
 gui.addNumberSlider(ctrl, 'jumpSpeed').caption('跳起速度').step(1).min(0).max(30).isChangeValue(true);
 }
 });
}
 
/**
 * 刪除控制元件
 */
function remove_control() {
 if (ctrl) {
 // 攝像機飛行到某位置
 app.camera.flyTo({
 'position': [36.013, 42.67799999999998, 61.72399999999999],
 'target': [1.646, 7.891, 4.445],
 'time': 1000,
 'complete': function () {
 app.removeControl(ctrl);
 ctrl = null;
 gui.destroy();
 }
 });
 }
}
看下效果:
【1024程式設計師節】為什麼有些程式設計師下班比你早?
ThingJS提供的視覺化能力可以讓物聯網應用場景更易於被理解和掌控,大幅提升客戶滿意度和解決方案競爭力。簡單好用threejs庫3D視覺化平臺ThingJS,前端工程師會js就可以的,試一下你就知道如何做啦~


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69980539/viewspace-2838812/,如需轉載,請註明出處,否則將追究法律責任。

相關文章