!!!資料になかったSceneについてのメモ どうやら、replaceSceneには、「置き換えたはずのシーンがメモリを食う」という問題があるらしい。([参考|https://github.com/wise9/enchant.js/issues/280])
参照先にある通り、
game.replaceScene(置き換えるシーン);
ではなく
game.popScene().remove();
game.pushScene(置き換えるシーン);
にした方が無難かもしれない。(gameは親Nodeの名前に合わせて) !!!キー操作に関するメモ !!その1:キー操作とイベント 弊班ではキー操作の感知を
node.on('enterframe', function(e){
  if(game.input.up){
    //中身は省略
  }
});
のように書いていたが、「キーを押している間ずっと入力を感知し続ける」という問題が発生した。
たとえば、キャラクターを指定した方向に動かすならこれでいい。
しかし、メニュー画面など動きっぱなしだと困る場合もある。その場合、
scene.on('upbuttondown', function(e){
  //中身は省略
});
でこの問題は一応解決できるが、button系のイベントを発行できるのはSceneオブジェクトまたはCoreオブジェクトのみであるため、Nodeオブジェクトを発行元に指定できない。
ただし、この関数の内部からNodeに関する変更はできるため、こちらの方が望ましい。 !!その2:キー操作とキーバインド キーバインドで指定した定数は、ボタンイベントでも扱えるようになる。たとえば
core.keybind(88, 'z');
と指定した場合、 'zbuttondown' と 'zbuttonup' のイベントが使えるようになる。 !!!既存クラスをもっと楽に クラスには、既存のクラス(SpriteやLabelなど)のプロパティの入力を簡易化する使い方もある。
[これ|http://wiki.cis.iwate-u.ac.jp/~yamanaka/csd/2019/material/js/enchant/#_6]を参考に書き換えてみよう。 ""var kuma = new Sprite(32, 32); // <-- 画像サイズに合わせる
kuma.image = core.assets[IMG];
kuma.frame = 3; // 表示したいフレーム番号
kuma.x = 120;
kuma.y = 50;
core.rootScene.addChild(kuma); '''こんなんSpriteを追加するたびに書くの面倒じゃない!?'''
ということでSpriteを元にした簡略化用の新しいクラスを追加してみよう!
!!引数の説明 ||gazou|画像パス ||spx, spy|生成するSpriteの大きさ ||x, y|生成するSpriteの座標 ||scalex, scaley|生成するSpriteのスケール ||frame|生成するSpriteのフレーム番号
var Sprite2 = enchant.Class.create(enchant.Sprite, {
    initialize: function(gazou, spx, spy, x, y, scalex, scaley, frame){
        enchant.Sprite.call(this, spx, spy);
        this.image = core.assets[gazou];
        this.x = x;
        this.y = y;
        this.scaleX = scalex;
        this.scaleY = scaley;
        this.frame = frame;
    }
});
のように事前に書いておけば、呼び出すときには
var kuma = new Sprite2(IMG, 32, 32, 120, 50, 1, 1, 3);
core.rootScene.addChild(kuma);
と簡略化できる。クラスにはこういう使い方もある。 !!!gitlabに関するメモ 自分の手元にある作業ファイルを削除してもう一回clone、pullするという力技で突破したけど、ちゃんと[講義ページ|http://wiki.cis.iwate-u.ac.jp/~kimura/csd/2018/material/gitlab/#git]に書いてあった。
「Gitのもう少し進んだ使い方」項目に。一応自分が調べたリンクも貼っておく。 *[gitでいろいろ取り消したい|https://qiita.com/tani-shi/items/3419600447292abf6c79] *[git rmしたファイルを元に戻す方法|https://qiita.com/shungok/items/82a06b1c4c93922a8622]