update: プリロード処理を実装(テスト段階)
This commit is contained in:
parent
a0e5a5b16d
commit
d5d5c09191
@ -4,3 +4,30 @@ console.log(' そんなにこのサイトの仕組みが知りたいの?')
|
|||||||
console.log(' ↓ ここにコードがあるから、Starつけてよね❤️')
|
console.log(' ↓ ここにコードがあるから、Starつけてよね❤️')
|
||||||
console.log(' https://github.com/yuki540net/DropOut')
|
console.log(' https://github.com/yuki540net/DropOut')
|
||||||
console.log('##############################################')
|
console.log('##############################################')
|
||||||
|
|
||||||
|
import * as util from './lib/util'
|
||||||
|
import preload_json from './config/preload'
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
testPreload(() => {
|
||||||
|
|
||||||
|
}, (per) => {
|
||||||
|
util.updateCharPanel(per)
|
||||||
|
util.updateProgressBar(per)
|
||||||
|
})
|
||||||
|
}, 1200)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* プリロードのテスト
|
||||||
|
*/
|
||||||
|
function testPreload(fn, progress) {
|
||||||
|
let per = 0
|
||||||
|
let timer = setInterval(() => {
|
||||||
|
per += 0.04
|
||||||
|
progress(per)
|
||||||
|
if(per >= 1) {
|
||||||
|
clearInterval(timer)
|
||||||
|
fn()
|
||||||
|
}
|
||||||
|
}, 200)
|
||||||
|
}
|
||||||
|
|||||||
9
src/scripts/config/preload.js
Normal file
9
src/scripts/config/preload.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
export default [
|
||||||
|
'./images/load-view/charcters/char-1.png',
|
||||||
|
'./images/load-view/charcters/char-2.png',
|
||||||
|
'./images/load-view/charcters/char-3.png',
|
||||||
|
'./images/load-view/charcters/char-4.png',
|
||||||
|
'./images/load-view/charcters/char-5.png',
|
||||||
|
'./images/load-view/charcters/char-6.png',
|
||||||
|
'./images/load-view/charcters/char-7.png',
|
||||||
|
]
|
||||||
@ -1,3 +1,6 @@
|
|||||||
|
const char_panel = document.querySelectorAll('.blocks .block')
|
||||||
|
const progress_bar = document.getElementById('progress-bar')
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 画像のプリロード
|
* 画像のプリロード
|
||||||
* @param images : 画像パスの配列
|
* @param images : 画像パスの配列
|
||||||
@ -53,3 +56,25 @@ export const hiddenTimeout = (selector, time) => {
|
|||||||
document.querySelector(selector).style.display = 'none'
|
document.querySelector(selector).style.display = 'none'
|
||||||
}, time)
|
}, time)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* キャラクターパネルの更新
|
||||||
|
* @param per : 割合
|
||||||
|
*/
|
||||||
|
export const updateCharPanel = (per) => {
|
||||||
|
if(per >= 0.14) char_panel[0].setAttribute('data-state', 'true')
|
||||||
|
if(per >= 0.28) char_panel[1].setAttribute('data-state', 'true')
|
||||||
|
if(per >= 0.42) char_panel[2].setAttribute('data-state', 'true')
|
||||||
|
if(per >= 0.57) char_panel[3].setAttribute('data-state', 'true')
|
||||||
|
if(per >= 0.71) char_panel[4].setAttribute('data-state', 'true')
|
||||||
|
if(per >= 0.85) char_panel[5].setAttribute('data-state', 'true')
|
||||||
|
if(per >= 1.00) char_panel[6].setAttribute('data-state', 'true')
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* プログレスバーの更新
|
||||||
|
* @param per : 割合
|
||||||
|
*/
|
||||||
|
export const updateProgressBar = (per) => {
|
||||||
|
progress_bar.children[0].style.width = `${ per * 100 }%`
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user