aboutsummaryrefslogtreecommitdiff
path: root/assets/js/index.js
blob: cbcf1431204f2ca42c8260e892e9ad853e704149 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
var map, wingr,wingl,muscler, musclel, stringr, stringl, cavity, flight_path, flight_path_length, last_point, step;

var prev_step       = 0
step		= 0;
map             = Snap('#left-bits');
wingr           = map.select('#wingr');
wingrbbox       = wingr.getBBox();
wingl           = map.select('#wingl');
winglbbox       = wingl.getBBox();
musclel         = map.select('#musclel');
musclelbbox     = musclel.getBBox();
muscler         = map.select('#muscler');
musclerbbox     = muscler.getBBox();
stringl         = map.select('#stringl');
stringlbbox     = stringl.getBBox();
stringr         = map.select('#stringr');
stringrbbox     = stringr.getBBox();
cavity          = map.select('#cavity');
cavitybbox      = cavity.getBBox();
flight_path     = map.select('#path');
flight_path_l   = Snap.path.getTotalLength(flight_path);
last_point      = flight_path.getPointAtLength(flight_path_length);

console.log('step', step, 'final', flight_path_l)

function angle(n) {
    return Math.random() * (n * 2) + n;
}

let cb = function() {

    prev_step = step
    step = step + parseInt(pas.innerHTML) * 10;
    if (step > flight_path_l) prev_step = step = 0
    $('#pas').text(step)

    $('#prev_step').text(prev_step)
    $('#step').text(step)
    $('#next_step').text(flight_path_l)

    console.log('pas', pas.innerHTML)

    Snap.animate(prev_step, step, function(val) {
	//console.log('pas');
	step = val;
	moveToPoint = Snap.path.getPointAtLength( flight_path, val );
        x = moveToPoint.x ;
        y = moveToPoint.y ;
	//        console.log('animating ' + x + ' ' + y);        
        wingr.transform('translate(' + x + ',' + y + ') '+', '+wingrbbox.cx+', '+wingrbbox.cy);
        wingl.transform('translate(' + x + ',' + y + ')' + (moveToPoint.alpha - 90)+', '+winglbbox.cx+', '+winglbbox.cy);
        cavity.transform('translate(' + x + ',' + y + ') rotate('+ (moveToPoint.alpha - angle(-10))+', '+cavitybbox.cx+', '+cavitybbox.cy+')');
        musclel.transform('translate(' + x + ',' + y + ') rotate('+ (moveToPoint.alpha - angle(20))+', '+musclelbbox.cx+', '+musclelbbox.cy+')');
        muscler.transform('translate(' + x + ',' + y + ') rotate('+ (moveToPoint.alpha - angle(30))+', '+musclerbbox.cx+', '+musclerbbox.cy+')');
        stringr.transform('translate(' + x + ',' + y + ') rotate('+ (moveToPoint.alpha - angle(-20))+', '+stringrbbox.cx+', '+stringrbbox.cy+')');
	stringl.transform('translate(' + x + ',' + y + ') rotate('+ (moveToPoint.alpha - angle(9))+', '+stringlbbox.cx+', '+stringlbbox.cy+')');
    },5000, mina.easeout); 
  
}

document.addEventListener("requestMove", cb,false);