學(xué)習(xí)ThreeJS 02 最簡(jiǎn)單的demo

創(chuàng)建最簡(jiǎn)單的demo

  • 建立一個(gè)空網(wǎng)頁(yè)
  • 在body后面添加引擎接口
<script src="http://threejs.org/build/three.min.js"></script>
  • 在網(wǎng)頁(yè)內(nèi), 或者新建一個(gè)js用于模塊開(kāi)發(fā), 在這里我使用了擴(kuò)展js方式開(kāi)發(fā)
    擴(kuò)展開(kāi)發(fā)的好處:
    1. 可擴(kuò)展靈活
    2. 可方便壓縮
    3. 不局限于當(dāng)前網(wǎng)頁(yè)本身
<script src="src/major.js" ></script>
  • major.js中代碼


var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );

var renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight, false );
document.body.appendChild( renderer.domElement );

var geometry = new THREE.BoxGeometry( 1, 1, 1 );
var material = new THREE.MeshBasicMaterial( { color: 0x00ff00 } );
var cube = new THREE.Mesh( geometry, material );
scene.add( cube );

camera.position.z = 5;

function animate() {
    requestAnimationFrame( animate );
    cube.geometry.rotateX(.01);
    cube.geometry.rotateZ(.02);
    cube.geometry.rotateY(-.015);
    renderer.render( scene, camera );
}
animate();

上面幾句就可以實(shí)現(xiàn)在網(wǎng)頁(yè)上看到一個(gè)旋轉(zhuǎn)的方塊
animate更新方式有些特殊, 它并不是定時(shí)器來(lái)控制的, 而是通過(guò)請(qǐng)求引擎是否可以再次循環(huán), 貌似是可以在后臺(tái)切換時(shí)優(yōu)化

這里有對(duì)requestAnimationFrame 詳細(xì)說(shuō)明
http://www.lxweimin.com/p/98e32000b0c9

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,150評(píng)論 25 708
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,223評(píng)論 4 61
  • 要經(jīng)歷多少無(wú)情的錯(cuò)過(guò)才能磨練成無(wú)感的人。不會(huì)害羞不會(huì)害怕,值得就擁有錯(cuò)過(guò)不可惜!一個(gè)平凡又孤獨(dú)的人。
    winter_4527閱讀 263評(píng)論 0 0
  • convenience init 只作為補(bǔ)充和提供使用上的方便。并且convenience init 不能被子類重...
    GUGUCoder閱讀 2,762評(píng)論 0 0