程式碼解析
今天稍微瀏覽player.html裡面的code看到一行覺得很奇怪
character.armR.rotation.z = position.armRRotationZ ? position.armRRotationZ : 0;
什??? 問號是幹嘛用的啊
- syntax - Question mark in JavaScript - Stack Overflow
- 其實就是簡單的if else
- 這解釋得很好,然後我想起來以前寫安卓時有在Java上看過類似的寫法 =..=
今天瀏覽threex.minecraftcharbodyanim.js看到裡面的註解有Setup 'run' animation、Setup 'walk' animation、Setup 'stand' animation。也就是說我只要一樣畫狐狸改寫threex.minecraftcharbodyanim.js,就可以嘗試做出連續技的動作了
今日小目標:讀懂threex.minecraftcharheadanim.js
onCapture與onUpdate這兩段看不太懂
想把JavaScript裡namespace與chain methoding的關係弄清楚,又開始找資料看了
- Forsource: [心得]JavaScript設計模式之五-物件建立模式(Namespace Pattern)
- Javascirpt只有function有作用域(scope)的概念,所以可以用一個(理論上應該是一個模組一個)全域變數,來實作Namespace 。
- javascript - How to chain a method that has a namespace? - Stack Overflow
- JavaScript inheritance – how and why - Robert's talk
- javascript namespace寫法筆記 @ 松鼠的樹洞2.0
- 關鍵字:Module Pattern (Module 模塊)
看到一篇不錯喔!!!!
- Patterns for modules and namespaces in JavaScript
- 搜尋:Use the same namespace in several files
- You can spread out a module definition across several files. Each file contributes features to the module.
看了一些資料後,稍微有一點概念是,不同的.js檔下定義相同的命名空間,則他們的方法可以在不同的.js檔裡頭互相調用
tweenangle 似乎是拿來旋轉用的 (tween 在...之間)
在threex.minecraftcharheadanim.js看到最後一行
THREEx.MinecraftCharHeadAnimations.prototype= Object.create(THREEx.Animations.prototype);
THREEx.MinecraftCharHeadAnimations.prototype= Object.create(THREEx.Animations.prototype);
- Understanding “Prototypes” in JavaScript « Katz Got Your Tongue?
- 查的時候看到一個關鍵字:Object Literals
查看了一下W3School似乎不是我要的
對於這議題,瀏覽了幾篇文章都是要透過Object.create與prototype來取代new 這個operator
- JavaScript object creation: Learning to live without "new" | Adobe Developer Connection
- Fortunately, most browsers now support the Object.create method. This method takes an existing object as a parameter. It returns a new object that has the existing object assigned as its Prototype .
prototype 原型、樣板
沒有留言:
張貼留言