cocos2d-js攝像機跟隨的程式碼片段

samael發表於2017-01-10

原文地址

最近專案中要實現一個Boss的進場動畫.

在Cocos2d-js中並沒有實現操作攝像機的binding, 因為只是實現一個簡單的鏡頭跟隨期間沒什麼互動, 並沒有什麼特效, 就簡單的把場景地圖的進行相對的位置操作

bossEnter: function() {
  // 場景大小變成正常大小
  this.setScale(1); 
  // 把boss座標轉為世界座標
  this._lastBossPosition = boss.getPosition();
  var pos = boss.parent.convertToWorldSpace(this._lastBossPosition); 
  // 移動到boss出現的位置
  pos = cc.pSub(cc.p(cc.winSize.width / 2, cc.winSize.height / 2), pos);
  this.runAction(cc.sequence(
               cc.moveTo(0.3, pos)
           ));
 }
 update: function(dt) {
    // 通過計算上一個frame與這個frame的boss位置差, 對場景進行相對移動
    var dp = cc.pSub(this._lastBossPosition, boss.getPosition());
    this.setPosition(cc.pAdd(dp, this.getPosition()));
    this._lastBossPosition = boss.getPosition()
 }

相關文章