2014年10月19日 星期日

20141019 今日學習

蘇文鈺老師推薦的文章

程式碼解析


在threex.godrays\examples\basic.html裡看到一個奇怪的寫法
var mesh = new THREE.Mesh(geometry, material)
mesh.userData.domClasses += 'godRays'

用WebStorm去查發現居然找不到出處,估狗才發現是IE專屬的寫法 (不喜歡)
下面這篇感覺滿詳細的
  • js本地存储解决方案(localStorage与userData) - BeiYuu - 博客园
  • WEB應用的快速發展,是的本地存儲一些數據也成為一種重要的需求,實現的方案也有很多,最普通的就是cookie了,大家也經常都用,但是cookie的缺點是顯而易見的,其他的方案比如:IE6以上的userData,Firefox下面的globalStorage
讀這篇時,裡頭說有一個object .addBehavior ("#default#userData"),但是我回去看basic.html時發現找不到這玩意,於是估狗了另一個關鍵字:mesh.userData,發現
於是我回去找Three.js的documentation,在Object3D()裡找到userData
不過讀了一下大都是採用object3D.userData,而不是範例裡的mesh.userData

找了老半天終於給我找到原因了
Object3D裡的userData
  • An object that can be used to store custom data about the Object3d.

看到basic.html裡有
mesh.scale.set(1,1,1).multiplyScalar(1)
回去documentation找,發現scale會跑去Vector3,裡面有set() 這method,也有multiplyScalar()這method

看到basic.html裡有
mesh.userData.domClasses
奇怪,這個domClasses是什麼??? 估狗一下發現那似乎是自定義的,估狗一下發現兩篇
他們的userData後面也接不同的東西,目前已看過接了domClasses、id、URL,跑去three.js-master\src\core\Object3D.js看原始碼,也沒看到類似的東西,所以應該要回到JavaScript的本質去找了


水!!!我找到了,辜狗鍵入:JavaScript 建構式,在下面這篇文章的範例code裡找到
白天時在hree.js-master\src\core\Object3D.js裡看過userData的定義,就如同這篇文章的範例一樣,只有給個 userData = {}; 感謝估狗大神,從這篇可以知道mesh.userData.domClasses,是給userData一個屬性domClasses


疲勞了,今晚來看有什麼能用

各種火焰與控制火焰教學,還有聲音可用
  • threex-master\src\threex.flamethrower
有點疲勞,跑去THREEx的網頁看了一個如何製作遊戲的投影片
這個如何製作雲端遊戲的GitHub
裡面還提到一個管理前端的工具Bower,改天研究一下這能幹嘛用
沒靈感來看Jerome Etienne的Learning Three.js blogger,讀到這篇
這篇提供的demo,threex.cubecamera-master\examples\basic.html裡面有我要的元素,場景,人物自動移動,其他物體,所以明天來研究他的code





沒有留言:

張貼留言