Difference between revisions of "Team:KU Leuven/HP/HP Main"

(Replaced content with "{{KU_Leuven}} {{KU_Leuven_footer}}")
Line 1: Line 1:
 
{{KU_Leuven}}
 
{{KU_Leuven}}
 +
<html>
 +
<style type="text/css">
 +
@import 'https://fonts.googleapis.com/css?family=Source+Sans+Pro:300';
  
{{KU_Leuven_footer}}
+
*{
 +
font-family: 'Source Sans Pro', sans-serif;
 +
box-sizing: border-box;
 +
font-weight: 300;
 +
padding: 0;
 +
margin: 0;
 +
}
 +
 
 +
.btn-wrapper{
 +
position: fixed;
 +
top: calc(50% - 22px);
 +
left: 0;
 +
width: 100%;
 +
text-align: center;
 +
}
 +
 
 +
.btn{
 +
display: inline-block;
 +
box-shadow: none;
 +
appearance: none;
 +
border: 0;
 +
outline: 0;
 +
background-color: rgb(0, 240, 168);
 +
height: 45px;
 +
line-height: 42px;
 +
padding: 0 30px;
 +
font-size: 20px;
 +
border-radius: 30px;
 +
color: rgb(40, 45, 50);
 +
cursor: pointer;
 +
transition: all .5s;
 +
transition-timing-function: cubic-bezier(.2, 3, .4, 1);
 +
user-select: none;
 +
 +
&:hover{
 +
transform: scale(1.1, 1.1);
 +
}
 +
 +
&:active{
 +
transform: scale(1.05, 1.05);
 +
}
 +
}
 +
</style>
 +
 
 +
<div class="btn-wrapper">
 +
<button type="button" class="btn">Touch Me!</button>
 +
</div>
 +
<canvas id="canvas"></canvas>
 +
 
 +
<script>
 +
var c = document.getElementById('canvas');
 +
var ctx = c.getContext('2d');
 +
var btn = document.getElementsByClassName('btn')[0];
 +
 
 +
c.width = window.innerWidth;
 +
c.height = window.innerHeight;
 +
 
 +
var mouseX = c.width / 2;
 +
var mouseY = c.height / 2;
 +
var txtPosition = 0;
 +
 
 +
var particles = [];
 +
 
 +
btn.addEventListener('mouseup', function(e){
 +
mouseX = e.clientX;
 +
mouseY = e.clientY;
 +
 +
createParticles();
 +
changeText();
 +
});
 +
 
 +
setTimeout(function(){
 +
createParticles();
 +
}, 250);
 +
 
 +
draw();
 +
 
 +
function draw(){
 +
 +
drawBg();
 +
incParticles();
 +
drawParticles();
 +
 +
window.requestAnimationFrame(draw);
 +
 +
}
 +
 
 +
function drawBg(){
 +
ctx.rect(0, 0, c.width, c.height);
 +
ctx.fillStyle = "rgb(40, 45, 50)";
 +
ctx.fill();
 +
}
 +
 
 +
function drawParticles(){
 +
for(i = 0; i < particles.length; i++){
 +
ctx.beginPath();
 +
ctx.arc(particles[i].x,
 +
particles[i].y,
 +
particles[i].size,
 +
0,
 +
Math.PI * 2);
 +
ctx.fillStyle = particles[i].color;
 +
ctx.closePath();
 +
ctx.fill();
 +
}
 +
}
 +
 
 +
function incParticles(){
 +
for(i = 0; i < particles.length; i++){
 +
particles[i].x += particles[i].velX;
 +
particles[i].y += particles[i].velY;
 +
 +
particles[i].size = Math.max(0, (particles[i].size - .05));
 +
 +
if(particles[i].size === 0){
 +
particles.splice(i, 1);
 +
}
 +
}
 +
}
 +
 
 +
function createParticles(){
 +
for(i = 0; i < 30; i++){
 +
particles.push({
 +
x: mouseX,
 +
y: mouseY,
 +
size: parseInt(Math.random() * 10),
 +
color: 'rgb(' + ranRgb() + ')',
 +
velX: ranVel(),
 +
velY: ranVel()
 +
});
 +
}
 +
}
 +
 
 +
function ranRgb(){
 +
var colors = [
 +
'255, 122, 206',
 +
'0, 157, 255',
 +
'0, 240, 168',
 +
'0, 240, 120'
 +
];
 +
 +
var i = parseInt(Math.random() * 10);
 +
 +
return colors[i];
 +
}
 +
 
 +
function ranVel(){
 +
var vel = 0;
 +
 +
if(Math.random() < 0.5){
 +
vel = Math.abs(Math.random());
 +
} else {
 +
vel = -Math.abs(Math.random());
 +
}
 +
 +
return vel;
 +
}
 +
 
 +
// Text
 +
 
 +
var btnTxt = [
 +
'Ooh',
 +
'Ouch!?',
 +
'Stop!',
 +
'It hurtsssss',
 +
'You like it?',
 +
'Stoooopppp?',
 +
'Okay! How about this?',
 +
                'I will tell you a secret if you stop pushing!',
 +
                'Stop! Okay okay! I will tell you!',
 +
'Stop pushing!',
 +
'Okay Victor',
 +
'Likes to eat Donkey!!',
 +
'He knows what animals are good :)',
 +
'Facts of the day!',
 +
'Come back tomorrow for more!',
 +
'See you!',
 +
'Xoxo KU Leuven'
 +
];
 +
 
 +
function changeText(){
 +
if(txtPosition !== btnTxt.length){
 +
btn.innerHTML = btnTxt[txtPosition];
 +
txtPosition += 1;
 +
}
 +
}
 +
</script>
 +
</html>

Revision as of 20:10, 20 September 2017