Save point: Scene 3 stripped to just title + incubator text
This commit is contained in:
255
index.html
255
index.html
@@ -91,42 +91,6 @@
|
||||
transition: opacity 1s ease;
|
||||
}
|
||||
|
||||
#scene3RecruitLines {
|
||||
display: none;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
width: 100%;
|
||||
padding: 2rem;
|
||||
}
|
||||
|
||||
.scene3RecruitLine {
|
||||
display: none;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
font-size: 1.2rem;
|
||||
line-height: 2;
|
||||
color: #00ff00;
|
||||
}
|
||||
|
||||
#scene3RecruitLine1 {
|
||||
margin-top: 7.2rem;
|
||||
}
|
||||
|
||||
#scene3RecruitCursor,
|
||||
#scene3RecruitCursor2 {
|
||||
display: none;
|
||||
width: 10px;
|
||||
height: 1.4em;
|
||||
background-color: #00ff00;
|
||||
margin-left: 4px;
|
||||
flex-shrink: 0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#scene3RecruitLine3 {
|
||||
min-height: 2em;
|
||||
}
|
||||
|
||||
#scene2 {
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
@@ -134,57 +98,6 @@
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.choiceBtn {
|
||||
position: absolute;
|
||||
padding: 1rem 3rem;
|
||||
font-size: 1.1rem;
|
||||
background-color: #001100;
|
||||
color: #00ff00;
|
||||
border: 2px solid #00ff00;
|
||||
cursor: pointer;
|
||||
visibility: hidden;
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
transition: opacity 0.5s ease, background-color 0.2s ease;
|
||||
font-family: 'Courier New', monospace;
|
||||
letter-spacing: 2px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.choiceBtn:hover {
|
||||
background-color: #003300;
|
||||
}
|
||||
|
||||
#creatorBtn {
|
||||
top: 55%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
#builderBtn {
|
||||
top: 70%;
|
||||
left: 35%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
#developerBtn {
|
||||
top: 70%;
|
||||
left: 65%;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
#scene3FitInText {
|
||||
position: absolute;
|
||||
bottom: 48%;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
font-size: 1.2rem;
|
||||
color: #00ff00;
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
transition: opacity 1s ease;
|
||||
}
|
||||
|
||||
#scene2Lines {
|
||||
display: none;
|
||||
flex-direction: column;
|
||||
@@ -313,37 +226,6 @@
|
||||
<div id="scene3" class="scene">
|
||||
<div id="scene3Title">LAB 484</div>
|
||||
<div id="scene3Text"></div>
|
||||
<div id="scene3RecruitLines">
|
||||
<div id="scene3RecruitLine1" class="scene3RecruitLine">
|
||||
<span id="scene3RecruitText1"></span>
|
||||
<span id="scene3RecruitCursor"></span>
|
||||
</div>
|
||||
<div id="scene3RecruitLine2" class="scene3RecruitLine">
|
||||
<span id="scene3RecruitText2"></span>
|
||||
</div>
|
||||
<div id="scene3RecruitLine3" class="scene3RecruitLine">
|
||||
<span id="scene3RecruitCursor2"></span>
|
||||
</div>
|
||||
<div id="scene3RecruitLine4" class="scene3RecruitLine">
|
||||
<span id="scene3RecruitText4"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="scene3FitInText"></div>
|
||||
<button id="creatorBtn" class="choiceBtn">CREATOR</button>
|
||||
<button id="builderBtn" class="choiceBtn">BUILDER</button>
|
||||
<button id="developerBtn" class="choiceBtn">DEVELOPER</button>
|
||||
</div>
|
||||
|
||||
<div id="sceneCreator" class="scene">
|
||||
<div id="creatorSceneText"></div>
|
||||
</div>
|
||||
|
||||
<div id="sceneBuilder" class="scene">
|
||||
<div id="builderSceneText"></div>
|
||||
</div>
|
||||
|
||||
<div id="sceneDeveloper" class="scene">
|
||||
<div id="developerSceneText"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
@@ -691,69 +573,11 @@
|
||||
loader(to);
|
||||
}
|
||||
|
||||
// Placeholder scene loaders
|
||||
function loadSceneCreator(sceneElem) {
|
||||
sceneElem.style.display = 'flex';
|
||||
const text = document.getElementById('creatorSceneText');
|
||||
text.style.visibility = 'visible';
|
||||
text.textContent = 'CREATOR';
|
||||
let opacity = 0;
|
||||
const fadeIn = setInterval(() => {
|
||||
opacity += 0.05;
|
||||
if (opacity >= 1) {
|
||||
opacity = 1;
|
||||
clearInterval(fadeIn);
|
||||
}
|
||||
sceneElem.style.opacity = opacity;
|
||||
}, 30);
|
||||
}
|
||||
|
||||
function loadSceneBuilder(sceneElem) {
|
||||
sceneElem.style.display = 'flex';
|
||||
const text = document.getElementById('builderSceneText');
|
||||
text.style.visibility = 'visible';
|
||||
text.textContent = 'BUILDER';
|
||||
let opacity = 0;
|
||||
const fadeIn = setInterval(() => {
|
||||
opacity += 0.05;
|
||||
if (opacity >= 1) {
|
||||
opacity = 1;
|
||||
clearInterval(fadeIn);
|
||||
}
|
||||
sceneElem.style.opacity = opacity;
|
||||
}, 30);
|
||||
}
|
||||
|
||||
function loadSceneDeveloper(sceneElem) {
|
||||
sceneElem.style.display = 'flex';
|
||||
const text = document.getElementById('developerSceneText');
|
||||
text.style.visibility = 'visible';
|
||||
text.textContent = 'DEVELOPER';
|
||||
let opacity = 0;
|
||||
const fadeIn = setInterval(() => {
|
||||
opacity += 0.05;
|
||||
if (opacity >= 1) {
|
||||
opacity = 1;
|
||||
clearInterval(fadeIn);
|
||||
}
|
||||
sceneElem.style.opacity = opacity;
|
||||
}, 30);
|
||||
}
|
||||
|
||||
// Scene 3 loader with recruitment text and 3 choice buttons
|
||||
// Scene 3 loader
|
||||
function loadScene3(sceneElem) {
|
||||
sceneElem.style.display = 'flex';
|
||||
const title = document.getElementById('scene3Title');
|
||||
const textContainer = document.getElementById('scene3Text');
|
||||
const recruitLines = document.getElementById('scene3RecruitLines');
|
||||
const rl1 = document.getElementById('scene3RecruitLine1');
|
||||
const rt1 = document.getElementById('scene3RecruitText1');
|
||||
const cursor = document.getElementById('scene3RecruitCursor');
|
||||
const creatorBtn = document.getElementById('creatorBtn');
|
||||
const builderBtn = document.getElementById('builderBtn');
|
||||
const developerBtn = document.getElementById('developerBtn');
|
||||
const choiceBtns = [creatorBtn, builderBtn, developerBtn];
|
||||
scene3TypewriterTimeouts = [];
|
||||
|
||||
let opacity = 0;
|
||||
const fadeIn = setInterval(() => {
|
||||
@@ -767,46 +591,7 @@
|
||||
}, 300);
|
||||
|
||||
setTimeout(() => {
|
||||
typeCalmly(textContainer, "IS AN INCUBATOR THAT HAS MANY DECENTRALIZED STARTUPS UNDERNEATH IT", () => {
|
||||
recruitLines.style.display = 'flex';
|
||||
|
||||
setTimeout(() => {
|
||||
rl1.style.display = 'flex';
|
||||
|
||||
typeCalmly(rt1, "THE LAB IS CONNECTING WITH PEOPLE WHO SEE WHAT'S HAPPENINGG - WHO KNOW CHANGE ISN'T OPTIONAL. WE'RE LOOKING FOR THOSE READY TO STEP IN AND SHAPE THE FUTURE", () => {
|
||||
setTimeout(() => {
|
||||
const fitInText = document.getElementById('scene3FitInText');
|
||||
fitInText.textContent = 'WHERE DO YOU FIT IN?';
|
||||
fitInText.style.visibility = 'visible';
|
||||
let fiOpacity = 0;
|
||||
const fiFadeIn = setInterval(() => {
|
||||
fiOpacity += 0.05;
|
||||
if (fiOpacity >= 1) {
|
||||
fiOpacity = 1;
|
||||
clearInterval(fiFadeIn);
|
||||
}
|
||||
fitInText.style.opacity = fiOpacity;
|
||||
}, 30);
|
||||
setTimeout(() => {
|
||||
choiceBtns.forEach(btn => {
|
||||
btn.style.display = 'block';
|
||||
btn.style.visibility = 'visible';
|
||||
let btnOpacity = 0;
|
||||
const btnFadeIn = setInterval(() => {
|
||||
btnOpacity += 0.02;
|
||||
if (btnOpacity >= 1) {
|
||||
btnOpacity = 1;
|
||||
clearInterval(btnFadeIn);
|
||||
btn.style.pointerEvents = 'auto';
|
||||
}
|
||||
btn.style.opacity = btnOpacity;
|
||||
}, 30);
|
||||
});
|
||||
}, 500);
|
||||
}, 500);
|
||||
}, undefined, undefined, scene3TypewriterTimeouts);
|
||||
}, 2000);
|
||||
}, undefined, undefined, scene3TypewriterTimeouts);
|
||||
typeCalmly(textContainer, "IS AN INCUBATOR THAT HAS MANY DECENTRALIZED STARTUPS UNDERNEATH IT", undefined, undefined, undefined, scene3TypewriterTimeouts);
|
||||
}, 800);
|
||||
}
|
||||
sceneElem.style.opacity = opacity;
|
||||
@@ -820,15 +605,6 @@
|
||||
|
||||
// Button click handlers
|
||||
document.getElementById('followBtn').addEventListener('click', transitionToScene2);
|
||||
document.getElementById('creatorBtn').addEventListener('click', () => {
|
||||
transitionToScene('scene3', loadSceneCreator, 'sceneCreator');
|
||||
});
|
||||
document.getElementById('builderBtn').addEventListener('click', () => {
|
||||
transitionToScene('scene3', loadSceneBuilder, 'sceneBuilder');
|
||||
});
|
||||
document.getElementById('developerBtn').addEventListener('click', () => {
|
||||
transitionToScene('scene3', loadSceneDeveloper, 'sceneDeveloper');
|
||||
});
|
||||
document.getElementById('whatIsLabBtn').addEventListener('click', () => {
|
||||
transitionToScene('scene2', loadScene3, 'scene3');
|
||||
});
|
||||
@@ -867,33 +643,6 @@
|
||||
s2Btn.style.pointerEvents = 'auto';
|
||||
}
|
||||
|
||||
// Scene 3 skip (recruit text typing)
|
||||
const scene3 = document.getElementById('scene3');
|
||||
const recruitLines = document.getElementById('scene3RecruitLines');
|
||||
const rl1 = document.getElementById('scene3RecruitLine1');
|
||||
const rt1 = document.getElementById('scene3RecruitText1');
|
||||
const rCursor = document.getElementById('scene3RecruitCursor');
|
||||
const creatorBtn = document.getElementById('creatorBtn');
|
||||
const builderBtn = document.getElementById('builderBtn');
|
||||
const developerBtn = document.getElementById('developerBtn');
|
||||
if (scene3.style.display === 'flex' && creatorBtn.style.visibility !== 'visible') {
|
||||
scene3TypewriterTimeouts.forEach(t => clearTimeout(t));
|
||||
scene3TypewriterTimeouts = [];
|
||||
rCursor.style.display = 'none';
|
||||
recruitLines.style.display = 'flex';
|
||||
rl1.style.display = 'flex';
|
||||
rt1.textContent = "THE LAB IS CONNECTING WITH PEOPLE WHO SEE WHAT'S HAPPENINGG - WHO KNOW CHANGE ISN'T OPTIONAL. WE'RE LOOKING FOR THOSE READY TO STEP IN AND SHAPE THE FUTURE";
|
||||
[creatorBtn, builderBtn, developerBtn].forEach(btn => {
|
||||
btn.style.display = 'block';
|
||||
btn.style.visibility = 'visible';
|
||||
btn.style.opacity = '1';
|
||||
btn.style.pointerEvents = 'auto';
|
||||
});
|
||||
const fitInText = document.getElementById('scene3FitInText');
|
||||
fitInText.textContent = 'WHERE DO YOU FIT IN?';
|
||||
fitInText.style.visibility = 'visible';
|
||||
fitInText.style.opacity = '1';
|
||||
}
|
||||
}
|
||||
|
||||
if (e.key === 'Delete') {
|
||||
|
||||
Reference in New Issue
Block a user