Compare commits
2 Commits
8509608ba9
...
21585bad7a
| Author | SHA1 | Date | |
|---|---|---|---|
|
21585bad7a
|
|||
|
53b2361e2b
|
+1
-1
@@ -26,7 +26,7 @@ export class Menu extends GUI {
|
||||
this.settings = this.addFolder("Options")
|
||||
this.settings.add(settings, "startLevel").name("Niveau initial").min(1).max(15).step(1)
|
||||
|
||||
this.settings.add(settings, "theme", ["Plasma", "Space", "Retro"]).name("Thème").onChange(theme => {
|
||||
this.settings.add(settings, "theme", ["Plasma", "Space"]).name("Thème").onChange(theme => {
|
||||
scene.theme = theme
|
||||
if (dev) changeMaterial()
|
||||
})
|
||||
|
||||
+2
-2
@@ -181,10 +181,10 @@ class Stats {
|
||||
this.b2b = -1
|
||||
}
|
||||
|
||||
if (this.speechSynthesisAvailable && this.settings.sfxVolume) {
|
||||
/*if (this.speechSynthesisAvailable && this.settings.sfxVolume) {
|
||||
if (tSpin) this.speak(tSpin, this.settings.sfxVolume);
|
||||
if (nbClearedLines > 1) this.speak(CLEARED_LINES_NAMES[nbClearedLines], this.settings.sfxVolume);
|
||||
}
|
||||
}*/
|
||||
|
||||
this.goal -= awardedLineClears
|
||||
if (this.goal <= 0) return this.level++
|
||||
|
||||
+4
-14
@@ -71,8 +71,8 @@ export class TetraScene extends THREE.Scene {
|
||||
set theme(theme) {
|
||||
switch (theme) {
|
||||
case "Plasma":
|
||||
this.ambientLight.intensity = 0
|
||||
this.directionalLight.intensity = 3
|
||||
this.ambientLight.intensity = 1
|
||||
this.directionalLight.intensity = 1
|
||||
this.directionalLight.position.set(5, -20, 20)
|
||||
this.music.src = "audio/Moon-Over-Moscow-DJ-ResiDance-Mix-2022.mp3"
|
||||
this.background = new THREE.Color(0xffffff)
|
||||
@@ -81,22 +81,12 @@ export class TetraScene extends THREE.Scene {
|
||||
this.playfield.retroEdge.visible = false
|
||||
break
|
||||
case "Space":
|
||||
this.ambientLight.intensity = 5
|
||||
this.directionalLight.intensity = 10
|
||||
this.ambientLight.intensity = 3
|
||||
this.directionalLight.intensity = 1
|
||||
this.directionalLight.position.set(2, 15, 20)
|
||||
this.music.src = "audio/benevolence.m4a"
|
||||
this.background = new THREE.Color(0x000000)
|
||||
this.fog.color.set(0x000000)
|
||||
this.playfield.edge.visible = true
|
||||
this.playfield.retroEdge.visible = false
|
||||
break
|
||||
case "Retro":
|
||||
this.ambientLight.intensity = 1
|
||||
this.directionalLight.intensity = 10
|
||||
this.directionalLight.position.set(19, 120, 200)
|
||||
this.music.src = "audio/Tetris_MkVaffQuasi_Ultimix_OC_ReMix.mp3"
|
||||
this.background = new THREE.Color(0x000000)
|
||||
this.fog.color.set(0x000000)
|
||||
this.playfield.edge.visible = false
|
||||
this.playfield.retroEdge.visible = true
|
||||
break
|
||||
|
||||
+26
-16
@@ -79,7 +79,7 @@ export class InstancedMino extends THREE.InstancedMesh {
|
||||
}
|
||||
|
||||
set theme(theme) {
|
||||
if (theme == "Retro") {
|
||||
if (theme == "Space") {
|
||||
this.resetColor()
|
||||
this.update = this.updateOffset
|
||||
if (this.materials["Retro"]) {
|
||||
@@ -94,8 +94,10 @@ export class InstancedMino extends THREE.InstancedMesh {
|
||||
map: texture,
|
||||
bumpMap: texture,
|
||||
bumpScale: 1.5,
|
||||
roughness: 0.25,
|
||||
metalness: 0.9,
|
||||
envMap: environment,
|
||||
envMapIntensity: 5,
|
||||
roughness: 0.07,
|
||||
metalness: 1,
|
||||
transparent: true,
|
||||
}, 8, 8)
|
||||
})
|
||||
@@ -108,8 +110,10 @@ export class InstancedMino extends THREE.InstancedMesh {
|
||||
map: texture,
|
||||
bumpMap: texture,
|
||||
bumpScale: 1.5,
|
||||
roughness: 0.25,
|
||||
metalness: 0.9,
|
||||
envMap: environment,
|
||||
envMapIntensity: 5,
|
||||
roughness: 0.07,
|
||||
metalness: 1,
|
||||
transparent: true,
|
||||
}, 1, 1)
|
||||
})
|
||||
@@ -165,8 +169,8 @@ InstancedMino.prototype.materials = {
|
||||
side: THREE.DoubleSide,
|
||||
transparent: true,
|
||||
opacity: 0.55,
|
||||
roughness: 0.5,
|
||||
metalness: 0.9,
|
||||
roughness: 0.1,
|
||||
metalness: 0.95,
|
||||
}),
|
||||
Space: new THREE.MeshStandardMaterial({
|
||||
envMap: environment,
|
||||
@@ -483,8 +487,8 @@ class Playfield extends THREE.Group {
|
||||
.lineTo(COLUMNS, 0)
|
||||
.lineTo(COLUMNS, SKYLINE)
|
||||
.lineTo(COLUMNS + 1, SKYLINE)
|
||||
.lineTo(COLUMNS + 1, -1/3)
|
||||
.lineTo(-1, -1/3)
|
||||
.lineTo(COLUMNS + 1, -1)
|
||||
.lineTo(-1, -1)
|
||||
.moveTo(-1, SKYLINE)
|
||||
const retroEdgeTexture = new THREE.TextureLoader(loadingManager).load("images/edge.png", (texture) => {
|
||||
texture.wrapS = THREE.RepeatWrapping
|
||||
@@ -494,9 +498,11 @@ class Playfield extends THREE.Group {
|
||||
color: COLORS.RETRO,
|
||||
map: retroEdgeTexture,
|
||||
bumpMap: retroEdgeTexture,
|
||||
envMap: environment,
|
||||
envMapIntensity: 5,
|
||||
bumpScale: 1.5,
|
||||
roughness: 0.25,
|
||||
metalness: 0.8,
|
||||
roughness: 0.07,
|
||||
metalness: 1
|
||||
})
|
||||
this.retroEdge = new THREE.Mesh(
|
||||
new THREE.ExtrudeGeometry(retroEdgeShape, {
|
||||
@@ -506,11 +512,15 @@ class Playfield extends THREE.Group {
|
||||
[retroEdgeMaterial, sideMaterial, sideMaterial, sideMaterial, sideMaterial, sideMaterial],
|
||||
)
|
||||
const back = new THREE.Mesh(
|
||||
new THREE.PlaneGeometry(COLUMNS, SKYLINE),
|
||||
new THREE.MeshStandardMaterial({
|
||||
color: 0xc5d0a1,
|
||||
roughness: 0.1,
|
||||
metalness: 0.9,
|
||||
new THREE.PlaneGeometry(COLUMNS, SKYLINE),
|
||||
new THREE.MeshStandardMaterial({
|
||||
color: 0xc5d0a1,
|
||||
envMap: environment,
|
||||
envMapIntensity: 5,
|
||||
roughness: 0.1,
|
||||
metalness: 0.9,
|
||||
opacity: 0.1,
|
||||
transparent: true
|
||||
})
|
||||
)
|
||||
back.position.set(COLUMNS/2, SKYLINE/2)
|
||||
|
||||
+3
-9
@@ -17,7 +17,7 @@ export class Vortex extends THREE.Group {
|
||||
|
||||
this.opaqueCylinder = new THREE.Mesh(
|
||||
new THREE.CylinderGeometry(40, 40, 1000, 12, 1, true),
|
||||
new THREE.MeshBasicMaterial({
|
||||
new THREE.MeshLambertMaterial({
|
||||
side: THREE.BackSide,
|
||||
blending: THREE.MultiplyBlending
|
||||
})
|
||||
@@ -44,7 +44,7 @@ export class Vortex extends THREE.Group {
|
||||
texture.wrapT = THREE.MirroredRepeatWrapping
|
||||
texture.repeat.set(1, 2)
|
||||
this.transparentCylinder.material.map = texture
|
||||
this.transparentCylinder.material.opacity = 0.15
|
||||
this.transparentCylinder.material.opacity = 0.3
|
||||
this.add(this.transparentCylinder)
|
||||
})
|
||||
|
||||
@@ -78,7 +78,7 @@ export class Vortex extends THREE.Group {
|
||||
|
||||
loader.load("./images/stars_space.jpg", texture => {
|
||||
texture.wrapS = THREE.RepeatWrapping
|
||||
texture.wrapT = THREE.RepeatWrapping
|
||||
texture.wrapT = THREE.MirroredRepeatWrapping
|
||||
texture.repeat.set(3, 6)
|
||||
this.opaqueCylinder.material.map = texture
|
||||
this.opaqueCylinder.material.blending = THREE.AdditiveBlending
|
||||
@@ -93,12 +93,6 @@ export class Vortex extends THREE.Group {
|
||||
|
||||
this.visible = true
|
||||
break
|
||||
|
||||
case "Retro":
|
||||
this.remove(this.transparentCylinder)
|
||||
this.remove(this.opaqueCylinder)
|
||||
this.visible = false
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user