3D小遊戲(three)-分數顯示更新
- src/view3d/font.js匯入字型
- Src/view3d/ScoreText.js
import font from './font'
export default class Text {
constructor () {
}
init (options) {//初始化
this.material = new THREE.MeshBasicMaterial({ color: (options && options.fillStyle) ? options.fillStyle : 0xffffff, transparent: true })
if (options && options.opacity) this.material.opacity = options.opacity
this.options = options || {}
const geometry = new THREE.TextGeometry('0', { 'font': font, 'size': 6.0, 'height': 0.1 })
this.instance = new THREE.Mesh(geometry, this.material)
this.instance.name = 'scoreText'
}
updateScore (score) {//更新分數模型
const scoreStr = score.toString()
this.instance = new THREE.Mesh(new THREE.TextGeometry(scoreStr, { 'font': font, 'size': 6.0, 'height': 0.1 }), this.material)
}
}
- game-page.js
Init
this.score = 0
this.scoreText = new ScoreText()//分數初始化
this.scoreText.init({
fillStyle: 0x666699
})
this.render()
this.addScore()
JS中
addScore () {
this.scene.addScore(this.scoreText.instance)//載入文字
}
updateScore (score) {
this.scoreText.updateScore(score)
this.scene.updateScore(this.scoreText.instance)
}
checkBottleHit中
this.updateScore(++this.score)//更新分數
Restrat
this.updateScore(0)
- scene/scene.js
addScore (scoreInstance) {//載入文字
this.currentScore = scoreInstance
this.camera.instance.add(scoreInstance)
scoreInstance.position.x = -20
scoreInstance.position.y = 40
}
updateScore (scoreInstance) {//更新
this.camera.instance.remove(this.currentScore)
this.currentScore = scoreInstance
this.camera.instance.add(scoreInstance)
scoreInstance.position.x = -20
scoreInstance.position.y = 40
}
注:此時會有一BUG當再次重新開始是background會出現一個三角空白、視覺補救方法:
renderer.setClearColor(0xd7dbe6, 1.0)//與background一致
相關文章
- unity 分數的顯示Unity
- Three.js 實現3D全景偵探小遊戲?️JS3D遊戲
- Three.js 進階之旅:物理效果-3D乒乓球小遊戲 ?JS3D遊戲
- 小遊戲使用three.js遊戲JS
- php分頁顯示PHP
- Three.js 實現3D開放世界小遊戲:阿狸的多元宇宙 ?JS3D遊戲元宇宙
- three.js 顯示中文字型 和 tween應用JS
- Three.js控制物體顯示與隱藏的方法JS
- CSS實現限制顯示的字數,超出顯示"..."CSS
- 【分類不顯示】後臺設定了分類,前臺怎麼不顯示?
- grail中數字顯示AI
- three-gltf-viewer 3d模型展示View3D模型
- C# GridView 分頁顯示C#View
- iOS SceneKit顯示與互動3D建模(二)iOS3D
- iOS - SceneKit顯示與互動3D建模(一)iOS3D
- 分貝顯示器,實時顯示聲音強度(附原始碼)原始碼
- MySQL百分比顯示和顯示前百分之幾的方法MySql
- 靜態數碼管顯示、動態數碼管顯示、矩陣按鍵矩陣
- jQuery 動態數字顯示jQuery
- 友好的顯示小數ORACLEOracle
- 數碼管動態顯示
- 研究顯示玩3D遊戲能提高記憶力3D遊戲
- 調查顯示:大多數的Windows使用者對7.8更新表示滿意Windows
- 電腦顯示器引數詳解 看完秒懂! 顯示器引數怎麼看?
- 實時更新顯示問題清高手幫忙!!
- 顯示資料庫所有引數資料庫
- Three.js - 走進3D的奇妙世界JS3D
- 求定製jsp商城(能顯示3D圖片)JS3D
- Laravel 固定每頁顯示條數和顯示頁數(超過部分直接返回空資料)Laravel
- MongoDB之資料查詢(分頁顯示)MongoDB
- ListView分頁顯示 上拉載入更多View
- java web實現分頁顯示資料JavaWeb
- three.js實現數字孿生3D倉庫一期(開源)JS3D
- QChartView顯示實時更新的溫度曲線圖(二)View
- 數碼管顯示動態資料
- ORACLE COL SET 設定顯示引數Oracle
- 使用xml來顯示數學公式 (轉)XML公式
- 在 CRM WebClient UI 中使用純 JavaScript 顯示 3D 足球效果WebclientUIJavaScript3D