- 
    
      
- 
    
      恵比寿のランチでガレットならここ おいしいイタリアンのお店「ハース (HEARTH)」
- 
    
      アプリGoogle Spotlight Storiesがやっぱり面白い
- 
    
      Googleの小ネタ
- 
    
      盆栽一日体験教室に行ってきました
- 
    
      さくっとCreateJSで遊ぶ制作部の稲葉です。 今回はCreateJS公式サイトのチュートリアルを元にtweenjsを学んでみました。 元となるチュートリアルはこちらです。 詳細はリンク先を見て頂くとして、その中のinit()内だけにフォーカスして行きますね。 
 
 // チュートリアル
 function init() {
 var stage = new createjs.Stage("demoCanvas");
 var circle = new createjs.Shape();
 circle.graphics.beginFill("Crimson").drawCircle(0, 0, 50);
 circle.x = 100;
 circle.y = 100;
 stage.addChild(circle);
 createjs.Tween.get(circle, {loop: true})
 .to({x: 400}, 1000, createjs.Ease.getPowInOut(4))
 .to({alpha: 0, y: 75}, 500, createjs.Ease.getPowInOut(2))
 .to({alpha: 0, y: 125}, 100)
 .to({alpha: 1, y: 100}, 500, createjs.Ease.getPowInOut(2))
 .to({x: 100}, 800, createjs.Ease.getPowInOut(2));
 createjs.Ticker.setFPS(60);
 createjs.Ticker.addEventListener("tick", stage);
 }
  
 ここから少しずつ変更していきます。まずさっくとネコを用意します。 
  このネコにぴょこぴょこ飛び跳ねてもらうのが目標です。 まず右にすっと移動するイージングを、飛び跳ねている風の動きに変更してみます。 
 
 function init() {
 var stage = new createjs.Stage("demoCanvas");
 var circle = new createjs.Shape();
 circle.graphics.beginFill("Crimson").drawCircle(0, 0, 50);
 circle.x = -25; //開始位置変更
 circle.y = 250; //開始位置変更
 stage.addChild(circle);
 createjs.Tween.get(circle, {loop: true})
 .to({x: 200}, 3000, createjs.Ease.elasticOut); //イージング変更
 createjs.Ticker.setFPS(60);
 createjs.Ticker.addEventListener("tick", stage);
 }
 こんな感じでしょうか。 次に、createjs.Bitmapを使って赤い円をネコの画像に変更してみます。 
 function init() {
 var stage = new createjs.Stage("demoCanvas");
 var cat = new createjs.Bitmap("http://jsrun.it/assets/i/G/L/Y/iGLYn.png"); //ネコに変更
 cat.x = -100; //開始位置変更
 cat.y = 100; //開始位置変更
 stage.addChild(cat);
 createjs.Tween.get(cat, {loop: true})
 .to({x: 200}, 3000, createjs.Ease.elasticOut);
 createjs.Ticker.setFPS(60);
 createjs.Ticker.addEventListener("tick", stage);
 }
 
  
 まだ、横に移動しているので、縦方向の移動にしましょう。
 function init() {
 var stage = new createjs.Stage("demoCanvas");
 var cat = new createjs.Bitmap("http://jsrun.it/assets/i/G/L/Y/iGLYn.png");
 cat.x = 150; //開始位置変更
 cat.y = 500; //開始位置変更
 stage.addChild(cat);
 createjs.Tween.get(cat, {loop: true})
 .to({y: 200}, 3000, createjs.Ease.elasticOut); //y軸移動に変更
 createjs.Ticker.setFPS(60);
 createjs.Ticker.addEventListener("tick", stage);
 }
 canvasサイズが500pxで基準位置がcanvasの上になるので、yは500から始めました。 
 良い感じになってきましたが、もう少しネコを増やしたくなってきました。
 適当に4匹にしてみます。
 function init() {
 var stage = new createjs.Stage("demoCanvas");
 //ネコを増やす
 var cats = [];
 for(var i = 0, l = 4; i < l; i++){
 cats[i] = new createjs.Bitmap("http://jsrun.it/assets/i/G/L/Y/iGLYn.png");
 cats[i].x = i * 100;
 cats[i].y = 500;
 stage.addChild(cats[i]);
 createjs.Tween.get(cats[i], {loop: true})
 .to({y: 200}, 3000, createjs.Ease.elasticOut);
 }
 createjs.Ticker.setFPS(60);
 createjs.Ticker.addEventListener("tick", stage);
 } 
 高さがそろったジャンプが見られるようになりました。
 でもどうせならランダムにジャンプする方が自然ですね。
 function init() {
 var stage = new createjs.Stage("demoCanvas");
 var cats = [];
 for(var i = 0, l = 4; i < l; i++){
 cats[i] = new createjs.Bitmap("http://jsrun.it/assets/i/G/L/Y/iGLYn.png");
 cats[i].x = i * 100;
 cats[i].y = 500;
 stage.addChild(cats[i]);
 createjs.Tween.get(cats[i], {loop: true})
 .to({y: (200 * Math.random())}, (3000 * (Math.random()+1)), createjs.Ease.elasticOut); //高さと時間をランダムに
 }
 createjs.Ticker.setFPS(60);
 createjs.Ticker.addEventListener("tick", stage);
 } 
 無事にぴょこぴょこ元気にジャンプするネコが見られました。
 まだ変更したい部分はありますが、今回はここまでです。最終コードはこちらから確認できます。 
 (埋め込みできなかった、、、)それではまた。 
 カテゴリー 技術 / デザイン / 制作

