Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
mamayaya1
GitHub Repository: mamayaya1/game
Path: blob/main/projects/HexGL/launch.coffee
4626 views
1
$ = (_) -> document.getElementById _
2
3
init = (controlType, quality, hud, godmode) ->
4
hexGL = new bkcore.hexgl.HexGL(
5
document: document
6
width: window.innerWidth
7
height: window.innerHeight
8
container: $ 'main'
9
overlay: $ 'overlay'
10
gameover: $ 'step-5'
11
quality: quality
12
difficulty: 0
13
hud: hud is 1
14
controlType: controlType
15
godmode: godmode
16
track: 'Cityscape'
17
)
18
window.hexGL=hexGL
19
20
progressbar = $ 'progressbar'
21
hexGL.load(
22
onLoad: ->
23
console.log 'LOADED.'
24
hexGL.init()
25
$('step-3').style.display = 'none'
26
$('step-4').style.display = 'block'
27
hexGL.start()
28
onError: (s) ->
29
console.error "Error loading #{ s }."
30
onProgress: (p, t, n) ->
31
console.log("LOADED "+t+" : "+n+" ( "+p.loaded+" / "+p.total+" ).")
32
progressbar.style.width = "#{ p.loaded / p.total * 100 }%"
33
)
34
35
u = bkcore.Utils.getURLParameter
36
37
defaultControls = if bkcore.Utils.isTouchDevice() then 1 else 0
38
39
s = [
40
['controlType', ['KEYBOARD', 'TOUCH', 'LEAP MOTION CONTROLLER',
41
'GAMEPAD'], defaultControls, defaultControls, 'Controls: ']
42
['quality', ['LOW', 'MID', 'HIGH', 'VERY HIGH'], 3, 3, 'Quality: ']
43
['hud', ['OFF', 'ON'], 1, 1, 'HUD: ']
44
['godmode', ['OFF', 'ON'], 0, 1, 'Godmode: ']
45
]
46
47
for a in s
48
do(a)->
49
a[3] = u(a[0]) ? a[2]
50
e = $ "s-#{a[0]}"
51
(f = -> e.innerHTML = a[4]+a[1][a[3]])()
52
e.onclick = -> f(a[3] = (a[3]+1)%a[1].length)
53
$('step-2').onclick = ->
54
$('step-2').style.display = 'none'
55
$('step-3').style.display = 'block'
56
init s[0][3], s[1][3], s[2][3], s[3][3]
57
$('step-5').onclick = ->
58
window.location.reload()
59
$('s-credits').onclick = ->
60
$('step-1').style.display = 'none'
61
$('credits').style.display = 'block'
62
$('credits').onclick = ->
63
$('step-1').style.display = 'block'
64
$('credits').style.display = 'none'
65
66
hasWebGL = ->
67
gl = null
68
canvas = document.createElement('canvas');
69
try
70
gl = canvas.getContext("webgl")
71
if not gl?
72
try
73
gl = canvas.getContext("experimental-webgl")
74
return gl?
75
76
if not hasWebGL()
77
getWebGL = $('start')
78
getWebGL.innerHTML = 'WebGL is not supported!'
79
getWebGL.onclick = ->
80
window.location.href = 'http://get.webgl.org/'
81
else
82
$('start').onclick = ->
83
$('step-1').style.display = 'none'
84
$('step-2').style.display = 'block'
85
$('step-2').style.backgroundImage = "url(css/help-#{s[0][3]}.png)"
86
87