DIR : /home/kozerus/public_html/jkwii/js/jsdoit/wheelreotate/index.js

/home/kozerus/public_html/jkwii/js/jsdoit/wheelreotate

var canvas=document.getElementById('spec');
var c = canvas.getContext('2d');
var pi=Math.PI;
function f(h){return Math.floor(Math.sin(frame/180*pi)*h);}
function $(a){return document.getElementById(a);}

//画像読込
var magic = new Image();	magic.src='http://jsrun.it/assets/e/L/H/b/eLHbC.png';
var img01 = new Image();	img01.src='http://jsrun.it/assets/i/G/l/C/iGlCy.jpg';
var img02 = new Image();	img02.src='http://jsrun.it/assets/v/0/i/3/v0i3H.jpg';
var img03 = new Image();	img03.src='http://jsrun.it/assets/u/V/K/C/uVKCn.jpg';
var img04 = new Image();	img04.src='http://jsrun.it/assets/4/9/R/d/49Rdv.jpg';
var kira  = new Image();	kira.src='http://jsrun.it/assets/A/k/V/Q/AkVQE.png';
var levelUp = new Image();	levelUp.src='http://jsrun.it/assets/8/J/R/P/8JRP9.png';

//音読込
var jump1 = new Audio();	jump1.src='http://springreen.jp/INDEX/themes/ShunsuiKobo/bg/jump.mp3';
var jump2 = new Audio();	jump2.src='http://springreen.jp/INDEX/themes/ShunsuiKobo/bg/jump.mp3';
var jump3 = new Audio();	jump3.src='http://springreen.jp/INDEX/themes/ShunsuiKobo/bg/jump.mp3';


var koto = new Audio();	koto.src='http://springreen.jp/INDEX/themes/ShunsuiKobo/bg/kotoarp.mp3';
var kotoCount =0;
//カードの初期パラメータ
card01={visible:false,size:0,x:30,y:200,name:'MainCard',
        lev:1,attack:99,defence:99,cost:99,skill:99,dx:0,dy:0,alpha:0.3};
card02={visible:false,size:0,x:180,y:200,name:'Card1',
        lev:1,attack:99,defence:99,cost:99,skill:99,dx:0,dy:0,alpha:0.3};
card03={visible:false,size:0,x:330,y:200,name:'Card2',
        lev:1,attack:99,defence:99,cost:99,skill:99,dx:0,dy:0,alpha:0.3};

//初期化
var frame = 0;
var mouse={x:0,y:0};
var scene=1;
var sparkInterval=10;
var msg="SELECT Main card!";
var rotateInterval=0;
var g=c.createLinearGradient(0,120,0,150);
g.addColorStop(0,'white');
g.addColorStop(0.5,'#eecc99');
g.addColorStop(1,'white');

//アニメーション
setInterval(anime,30);
function anime(){
    frame++; 
    magicDraw(); 
    if(frame>200)scene1();
    if(scene==2 && card01.x<180)scene25();
    if(scene==4 && card01.y<110)scene45();
    if(scene==4 && card01.y>=110)scene=5;
    if(scene<5)scene49();
    if(scene==5)scene5();
    if(scene==6)scene6();
    if(scene==7)scene7();
}



function clk(){   
    if(	(scene==1) && (mouse.x>card01.x) && (mouse.x<card01.x+120) &&(mouse.y>card01.y) && (mouse.y<card01.y+260)){
        scene2();jump1.play();	
    }
    if( (scene==2) && (mouse.x>card02.x) && (mouse.x<card02.x+120) && (mouse.y>card02.y) && (mouse.y<card02.y+260)){
        scene3();jump2.play();
    }   
    if(	(scene==3) && (mouse.x>card03.x) && (mouse.x<card03.x+120) &&(mouse.y>card03.y) && (mouse.y<card03.y+260)){
        scene4(); jump3.play();
    } 
}



//scene1(opening)/////////////////////////
function scene1(){
    card01.visible=true;
    card02.visible=true;
    card03.visible=true;    
}
//scene2(メインクリック)/////////////////////////
function scene2(){
    scene=2;
    card01.alpha=1;
    card01.dx=4;card01.dy=-4;
    card02.dx=-4;card02.dy=0; 
    msg='CLICK Card1';
}
//scene25(移動)/////////////////////////
function scene25(){   
    card01.x +=card01.dx;	card01.y +=card01.dy;   
    card02.x +=card02.dx;	card02.y +=card02.dy;     
}
//scene3(サブ1クリック)/////////////////////////
function scene3(){
    scene=3;
    card02.alpha=1;
    msg='CLICK Card2';
}
//scene4(サブ2クリック)/////////////////////////
function scene4(){
    scene=4;  
    card03.alpha=1;
    card01.dx=0;card01.dy=2;
    card02.dx=4;card02.dy=-2;
    card03.dx=-4;card03.dy=-2;
}
//scene45(移動)/////////////////////////
function scene45(){
    card01.x +=card01.dx;	card01.y +=card01.dy;
    card02.x +=card02.dx;	card02.y +=card02.dy;
    card03.x +=card03.dx;	card03.y +=card03.dy;
}
//scene4(5になるまで)/////////////////////////
function scene49(){
    cardDraw(card03,img03);
    cardDraw(card02,img02);
    cardDraw(card01,img01);
}
//scene5(spark)/////////////////////////
function scene5(){    
   sparkDraw(card03,img03);
    sparkDraw(card02,img02);
    sparkDraw(card01,img01); 
}
//scene6(spark)/////////////////////////
function scene6(){
    createDraw(card01,img04); 
}
//scene7(levelup)/////////////////////////
function scene7(){
    if(kotoCount===0){koto.play();kotoCount=1;}
    levelUpDraw(card01,img04);
    c.drawImage(levelUp,150,360);
    c.drawImage(kira,Math.random()*270+100,Math.random()*360+50);
}





//Draw関係の関数////////////////////////////////////////////////////////////////////
magicDraw =function(){
    c.fillStyle="black";

    c.globalAlpha=0.03;
    c.fillRect(0,0,500,500);
    c.globalAlpha=1;
    
    c.save();
    c.translate(250,350);
    c.scale(0.98,0.5);
    c.rotate(frame/180/3*pi);
    c.shadowBlur=3;	c.shadowColor="#aaa";	c.shadowOffsetX=0;	c.shadowOffsetY=5;
    c.drawImage(magic,-250,-250,500,500);
    c.shadowBlur=0;	c.shadowColor="";	c.shadowOffsetX=0;	c.shadowOffsetY=0;
	c.restore();
};

cardDraw =function(card,img){
     for(var y=0;y<16;y++){
         for(var x=0;x<12;x++){
             c.globalAlpha=card.alpha;
             c.drawImage(img,x*10,y*10,10,10,x*10+card.x,y*10+card.y,card.size,card.size);
             c.globalAlpha=1;
             if(card.size<10){card.size+=0.001;}
         }
     }
     if(card.size>5){
         c.fillStyle="white";        
         c.font='15px "serif"';
         c.fillText(card.name,card.x,card.y+180);  
         c.fillText("Lev:"+card.lev,card.x,card.y+200);  
         c.fillText("攻 :"+card.attack,card.x,card.y+220);   
         c.fillText("防 :"+card.defence,card.x,card.y+240); 
         c.fillText("コスト"+card.cost,card.x,card.y+260);   
         c.fillText("スキル"+card.skill,card.x,card.y+280); 
         c.font='50px "serif"'; 
         c.globalAlpha=1;
         c.fillStyle=g;   
         c.strokeStyle="black";  
         c.textAlign="center";
         c.lineWidth="3";
         c.strokeText(msg,250,150); 
         c.fillText(msg,250,150); 
         c.textAlign="left";
     }
    
};
sparkDraw = function(card,img){
    for(var y=0;y<16;y++){for(var x=0;x<12;x++){
        c.drawImage(img,x*10,y*10,10,10,x*sparkInterval+card.x,y*sparkInterval+card.y,card.size,card.size);      
        c.fillStyle="white";
        c.globalAlpha = 0.05*card.size-0.5;
        c.fillRect(x*sparkInterval+card.x,y*sparkInterval+card.y,card.size,card.size);               
        c.globalAlpha = 1;
        
    }}
    sparkInterval +=0.14;
    card.y -=3.2;
    card.x -=2.4;
    card.size +=0.32;
    if(card.size>30)scene=6;
};
createDraw=function(card,img){
    for(var y=0;y<16;y++){for(var x=0;x<12;x++){    
        c.drawImage(img,x*10,y*10,10,10,x*sparkInterval+card.x,y*sparkInterval+card.y,card.size,card.size);   
        c.fillStyle="white";
        c.globalAlpha = 0.1*card.size-2;
        c.fillRect(x*sparkInterval+card.x,y*sparkInterval+card.y,card.size,card.size);               
        c.globalAlpha = 1;
    }}
    sparkInterval -=0.25;
    card.y +=1.76;
    card.x +=1.52;
    card.size -=0.156;
    if(card.size<20)scene=7;
};
levelUpDraw=function(card,img){  
    for(var y=0;y<16;y++){
        for(var x=0;x<12;x++){
            c.drawImage(img,x*10,y*10,10,10,x*sparkInterval+card.x,y*sparkInterval+card.y,card.size,card.size);
        }
    }
};

//マウスの位置を把握
function mouseArea(card){return (mouse.x>card.x) && (mouse.x<card.x+120) &&(mouse.y>card.y) && (mouse.y<card.y+160);}

canvas.onmousemove = function(e){
    var rect = e.target.getBoundingClientRect();
    mouse.x	= e.clientX - rect.left;
    mouse.y	= e.clientY - rect.top;
    
    if((scene>0)&&(scene<4)){
        if(mouseArea(card01)){
            c.strokeStyle="red";
        	c.lineWidth=2;
        	c.strokeRect(card01.x-2,card01.y-2,124,164);
        }
        if(mouseArea(card02)){
            c.strokeStyle="blue";
            c.lineWidth=2;
            c.strokeRect(card02.x-2,card02.y-2,124,164);
        }
        if(mouseArea(card03)){
        	c.strokeStyle="green";
        	c.lineWidth=2;
        	c.strokeRect(card03.x-2,card03.y-2,124,164);
    	}
    }
};


//google
  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-3233827-65']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();
//google
//


koh5_pano



Your browser does not support the HTML5 canvas element.


Drag mouse to navigate.

Navigation





17.Aug.2010, Martin Wengenmayer