var EHDI = EHDI || Object.create(nul); EHDI.components = EHDI.components || Object.create(null); EHDI.components.StarParticle = function() { //PIXI.particles.ParticleContainer.call(this); EHDI.aka.Container.call(this); //this.animationTimeline = new TimelineMax(); this.interactive=false; //this.visible = false; // this.addChild(containerSprite); this.stars = new Array(); var star; for(i=0; i<40; i++) { star = new EHDI.aka.Sprite(EHDI.Assets.images["timetravel_sparkle"]); this.stars.push(star); this.addChild(star); star.anchor.x=0.5; star.anchor.y=0.5; } this.alpha=0; //this.starUpdate = this.updateTime.bind(this); // EHDI.GAME.updateManager.addFrameListener(this.starUpdate); }; EHDI.components.StarParticle.prototype = Object.create(EHDI.aka.Container.prototype); EHDI.components.StarParticle.prototype.loopTransition=function(originX,originY,originWidth,originHeight,targetX,targetY) { if(this.animationTimeline!=null) { this.animationTimeline.kill(); this.animationTimeline.clear(); } this.alpha=1; for(i=0; i<this.stars.length; i++) { this.stars[i].position.set(originX+(Math.random()*originWidth),originY+(Math.random()*originHeight)); this.stars[i].rotation = Math.random()*2; this.stars[i].alpha=0; this.stars[i].scale.set(0.5+(Math.random()*0.5)); } //this.visible=true; //this.animationTimeline.kill(); this.animationTimeline = new TimelineMax(); //var scene = this; this.animationTimeline.to(this.stars[0], 0.01, {alpha:1}); this.animationTimeline.to(this.stars[0], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:50},0.01); this.animationTimeline.to(this.stars[1], 0.1, {alpha:1},0.02); this.animationTimeline.to(this.stars[1], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:-50},0.12); this.animationTimeline.to(this.stars[2], 0.1, {alpha:1},0.03); this.animationTimeline.to(this.stars[2], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:50},0.13); this.animationTimeline.to(this.stars[3], 0.1, {alpha:1},0.04); this.animationTimeline.to(this.stars[3], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:-50},0.14); this.animationTimeline.to(this.stars[4], 0.1, {alpha:1},0.05); this.animationTimeline.to(this.stars[4], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:50},0.15); this.animationTimeline.to(this.stars[5], 0.1, {alpha:1},0.06); this.animationTimeline.to(this.stars[5], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:-50},0.16); this.animationTimeline.to(this.stars[6], 0.1, {alpha:1},0.07); this.animationTimeline.to(this.stars[6], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:50},0.17); this.animationTimeline.to(this.stars[7], 0.1, {alpha:1},0.08); this.animationTimeline.to(this.stars[7], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:-50},0.18); this.animationTimeline.to(this.stars[8], 0.1, {alpha:1},0.09); this.animationTimeline.to(this.stars[8], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:2},0.19); this.animationTimeline.to(this.stars[9], 0.1, {alpha:1},0.1); this.animationTimeline.to(this.stars[9], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:-2},0.2); this.animationTimeline.to(this.stars[10], 0.02, {alpha:1}); this.animationTimeline.to(this.stars[10], 0.25, {x:targetX,y:targetY,alpha:0.1,rotation:2},0.02); this.animationTimeline.to(this.stars[11], 0.1, {alpha:1},0.02); this.animationTimeline.to(this.stars[11], 0.25, {x:targetX,y:targetY,alpha:0.1,rotation:-2},0.12); this.animationTimeline.to(this.stars[12], 0.1, {alpha:1},0.03); this.animationTimeline.to(this.stars[12], 0.25, {x:targetX,y:targetY,alpha:0.1,rotation:2},0.13); this.animationTimeline.to(this.stars[13], 0.1, {alpha:1},0.04); this.animationTimeline.to(this.stars[13], 0.25, {x:targetX,y:targetY,alpha:0.1,rotation:-2},0.14); this.animationTimeline.to(this.stars[14], 0.1, {alpha:1},0.05); this.animationTimeline.to(this.stars[14], 0.25, {x:targetX,y:targetY,alpha:0.1,rotation:2},0.15); this.animationTimeline.to(this.stars[15], 0.1, {alpha:1},0.06); this.animationTimeline.to(this.stars[15], 0.25, {x:targetX,y:targetY,alpha:0.1,rotation:-2},0.16); this.animationTimeline.to(this.stars[16], 0.1, {alpha:1},0.07); this.animationTimeline.to(this.stars[16], 0.25, {x:targetX,y:targetY,alpha:0.1,rotation:2},0.17); this.animationTimeline.to(this.stars[17], 0.1, {alpha:1},0.08); this.animationTimeline.to(this.stars[17], 0.25, {x:targetX,y:targetY,alpha:0.1,rotation:-2},0.18); this.animationTimeline.to(this.stars[18], 0.1, {alpha:1},0.09); this.animationTimeline.to(this.stars[18], 0.25, {x:targetX,y:targetY,alpha:0.1,rotation:2},0.19); this.animationTimeline.to(this.stars[19], 0.1, {alpha:1},0.1); this.animationTimeline.to(this.stars[19], 0.25, {x:targetX,y:targetY,alpha:0.1,rotation:-2},0.2); this.animationTimeline.play(); } EHDI.components.StarParticle.prototype.cardTransition=function(originX,originY,originWidth,originHeight,targetX,targetY) { if(this.animationTimeline) { this.animationTimeline.kill(); this.animationTimeline.clear(); } this.alpha=1; var randomWidth = 20; var randomHeight = 30; var targetXArray = new Array(); var targetYArray = new Array(); for(i=0; i<this.stars.length; i++) { this.stars[i].position.set(originX+(originWidth*0.1)+(Math.random()*originWidth*0.8),originY+(originHeight*0.1)+(Math.random()*originHeight*0.8)); //this.stars[i].rotation = Math.random()*2; this.stars[i].alpha=0; this.stars[i].scale.set(0.25+(Math.random()*0.4)); targetXArray.push((targetX-randomWidth)+(randomWidth*2*Math.random())); targetYArray.push((targetY-randomHeight)+(randomHeight*2*Math.random())); } //this.visible=true; //this.animationTimeline.kill(); this.animationTimeline = new TimelineMax(); //var scene = this; this.animationTimeline.to(this.stars[0], 0.01, {alpha:1}); this.animationTimeline.to(this.stars[0], 0.75, {x:targetXArray[0],y:targetYArray[0],alpha:0.25},0.02); this.animationTimeline.to(this.stars[1], 0.01, {alpha:1},0.02); this.animationTimeline.to(this.stars[1], 0.75, {x:targetXArray[1],y:targetYArray[1],alpha:0.25},0.03); this.animationTimeline.to(this.stars[2], 0.01, {alpha:1},0.03); this.animationTimeline.to(this.stars[2], 0.75, {x:targetXArray[2],y:targetYArray[2],alpha:0.25},0.04); this.animationTimeline.to(this.stars[3], 0.01, {alpha:1},0.04); this.animationTimeline.to(this.stars[3], 0.75, {x:targetXArray[3],y:targetYArray[3],alpha:0.25},0.05); this.animationTimeline.to(this.stars[4], 0.01, {alpha:1},0.05); this.animationTimeline.to(this.stars[4], 0.75, {x:targetXArray[4],y:targetYArray[4],alpha:0.25},0.06); this.animationTimeline.to(this.stars[5], 0.01, {alpha:1},0.06); this.animationTimeline.to(this.stars[5], 0.75, {x:targetXArray[5],y:targetYArray[5],alpha:0.25},0.07); this.animationTimeline.to(this.stars[6], 0.01, {alpha:1},0.07); this.animationTimeline.to(this.stars[6], 0.75, {x:targetXArray[6],y:targetYArray[6],alpha:0.25},0.08); this.animationTimeline.to(this.stars[7], 0.01, {alpha:1},0.08); this.animationTimeline.to(this.stars[7], 0.75, {x:targetXArray[7],y:targetYArray[7],alpha:0.25},0.09); this.animationTimeline.to(this.stars[8], 0.01, {alpha:1},0.09); this.animationTimeline.to(this.stars[8], 0.75, {x:targetXArray[8],y:targetYArray[8],alpha:0.25},0.1); this.animationTimeline.to(this.stars[9], 0.01, {alpha:1},0.1); this.animationTimeline.to(this.stars[9], 0.75, {x:targetXArray[9],y:targetYArray[9],alpha:0.25},0.11); this.animationTimeline.to(this.stars[10], 0.02, {alpha:1}); this.animationTimeline.to(this.stars[10], 0.5, {x:targetXArray[10],y:targetYArray[10],alpha:0.2},0.02); this.animationTimeline.to(this.stars[11], 0.01, {alpha:1},0.02); this.animationTimeline.to(this.stars[11], 0.5, {x:targetXArray[11],y:targetYArray[11],alpha:0.2},0.03); this.animationTimeline.to(this.stars[12], 0.01, {alpha:1},0.03); this.animationTimeline.to(this.stars[12], 0.5, {x:targetXArray[12],y:targetYArray[12],alpha:0.2},0.04); this.animationTimeline.to(this.stars[13], 0.01, {alpha:1},0.04); this.animationTimeline.to(this.stars[13], 0.5, {x:targetXArray[13],y:targetYArray[13],alpha:0.2},0.05); this.animationTimeline.to(this.stars[14], 0.01, {alpha:1},0.05); this.animationTimeline.to(this.stars[14], 0.5, {x:targetXArray[14],y:targetYArray[14],alpha:0.2},0.06); this.animationTimeline.to(this.stars[15], 0.01, {alpha:1},0.06); this.animationTimeline.to(this.stars[15], 0.5, {x:targetXArray[15],y:targetYArray[15],alpha:0.2},0.07); this.animationTimeline.to(this.stars[16], 0.01, {alpha:1},0.07); this.animationTimeline.to(this.stars[16], 0.5, {x:targetXArray[16],y:targetYArray[16],alpha:0.2},0.08); this.animationTimeline.to(this.stars[17], 0.01, {alpha:1},0.08); this.animationTimeline.to(this.stars[17], 0.5, {x:targetXArray[17],y:targetYArray[17],alpha:0.2},0.09); this.animationTimeline.to(this.stars[18], 0.01, {alpha:1},0.09); this.animationTimeline.to(this.stars[18], 0.5, {x:targetXArray[18],y:targetYArray[18],alpha:0.2},0.1); this.animationTimeline.to(this.stars[19], 0.01, {alpha:1},0.1); this.animationTimeline.to(this.stars[19], 0.5, {x:targetXArray[19],y:targetYArray[19],alpha:0.2},0.12); this.animationTimeline.to(this.stars[20], 0.02, {alpha:1}); this.animationTimeline.to(this.stars[20], 0.5, {x:targetXArray[10],y:targetYArray[10],alpha:0.2},0.02); this.animationTimeline.to(this.stars[21], 0.01, {alpha:1},0.02); this.animationTimeline.to(this.stars[21], 0.5, {x:targetXArray[11],y:targetYArray[11],alpha:0.2},0.03); this.animationTimeline.to(this.stars[22], 0.01, {alpha:1},0.03); this.animationTimeline.to(this.stars[22], 0.5, {x:targetXArray[12],y:targetYArray[12],alpha:0.2},0.04); this.animationTimeline.to(this.stars[23], 0.01, {alpha:1},0.04); this.animationTimeline.to(this.stars[23], 0.5, {x:targetXArray[13],y:targetYArray[13],alpha:0.2},0.05); this.animationTimeline.to(this.stars[24], 0.01, {alpha:1},0.05); this.animationTimeline.to(this.stars[24], 0.5, {x:targetXArray[14],y:targetYArray[14],alpha:0.2},0.06); this.animationTimeline.to(this.stars[25], 0.01, {alpha:1},0.06); this.animationTimeline.to(this.stars[25], 0.5, {x:targetXArray[15],y:targetYArray[15],alpha:0.2},0.07); this.animationTimeline.to(this.stars[26], 0.01, {alpha:1},0.07); this.animationTimeline.to(this.stars[26], 0.5, {x:targetXArray[16],y:targetYArray[16],alpha:0.2},0.08); this.animationTimeline.to(this.stars[27], 0.01, {alpha:1},0.08); this.animationTimeline.to(this.stars[27], 0.5, {x:targetXArray[17],y:targetYArray[17],alpha:0.2},0.09); this.animationTimeline.to(this.stars[28], 0.01, {alpha:1},0.09); this.animationTimeline.to(this.stars[28], 0.5, {x:targetXArray[18],y:targetYArray[18],alpha:0.2},0.1); this.animationTimeline.to(this.stars[29], 0.01, {alpha:1},0.1); this.animationTimeline.to(this.stars[29], 0.5, {x:targetXArray[19],y:targetYArray[19],alpha:0.2},0.12); this.animationTimeline.to(this.stars[30], 0.01, {alpha:1}); this.animationTimeline.to(this.stars[30], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:50},0.01); this.animationTimeline.to(this.stars[31], 0.1, {alpha:1},0.02); this.animationTimeline.to(this.stars[31], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:-50},0.12); this.animationTimeline.to(this.stars[32], 0.1, {alpha:1},0.03); this.animationTimeline.to(this.stars[32], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:50},0.13); this.animationTimeline.to(this.stars[33], 0.1, {alpha:1},0.04); this.animationTimeline.to(this.stars[33], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:-50},0.14); this.animationTimeline.to(this.stars[34], 0.1, {alpha:1},0.05); this.animationTimeline.to(this.stars[34], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:50},0.15); this.animationTimeline.to(this.stars[35], 0.1, {alpha:1},0.06); this.animationTimeline.to(this.stars[35], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:-50},0.16); this.animationTimeline.to(this.stars[36], 0.1, {alpha:1},0.07); this.animationTimeline.to(this.stars[36], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:50},0.17); this.animationTimeline.to(this.stars[37], 0.1, {alpha:1},0.08); this.animationTimeline.to(this.stars[37], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:-50},0.18); this.animationTimeline.to(this.stars[38], 0.1, {alpha:1},0.09); this.animationTimeline.to(this.stars[38], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:2},0.19); this.animationTimeline.to(this.stars[39], 0.1, {alpha:1},0.1); this.animationTimeline.to(this.stars[39], 0.5, {x:targetX,y:targetY,alpha:0.1,rotation:-2},0.2); this.animationTimeline.play(); } EHDI.components.StarParticle.prototype.stopAllAnimations = function() { if(this.animationTimline) { this.animationTimeline.clear(); this.animationTimeline.kill(); } this.alpha=0; } EHDI.components.StarParticle.prototype.pauseAllAnimations = function() { if(this.animationTimeline) { this.animationTimeline.pause(); } } EHDI.components.StarParticle.prototype.resumeAllAnimations = function() { if(this.animationTimeline) { this.animationTimeline.resume(); } } EHDI.components.StarParticle.prototype.updateTime = function(dt) { if(this.visible=false) return; };