1

createjs でビットマップ イメージを変更しようとしていて、リセット ボタンがクリックされたときにコンテナー内のすべての子を削除したいと考えています。しかし、removeAllChildren は私の中では機能しません。

function drawPhoneImage() {
  stage = new createjs.Stage('canvas');
  container = new createjs.Container();

  phone = new createjs.Bitmap(phoneImg);
  phone.x = 268;
  phone.y = 64;

  stage.addChild(container);
  container.addChild(phone);
  stage.update();

  phone.addEventListener("click", function() {
    console.log('phone clicked');
    createjs.Ticker.addEventListener("tick", movePhoneImage);
  });
}

function movePhoneImage(event) {
  phone.x -=10;

  if(phone.x <  156) { 
    phone.x =156;
    showPhoneSnap();
  }
  stage.update(event);
}

次に、電話オブジェクトをクリックした後、別のビットマップに置き換える必要があります (動作します)。

function showPhoneSnap() {
  snap = new createjs.Bitmap(snapImg);
  snap.x = 156;
  snap.y = 64;

  container.removeAllChildren();
  container.addChild(snap);
  stage.update();
}

最初はコンテナの最初の子でremoveAllChildrenが動いているのですが、コンテナに別のビットマップを追加してステージをリセットしようとすると..removeAllChildren()が動きません。

function resetStage() {
  container.removeAllChildren();
  stage.update();
} 

この問題を解決するのに苦労しています。助けてくれる人に感謝します。

4

1 に答える 1