!!!資料になかった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オブジェクトを発行元に指定できない。
core.keybind(88, 'z');と指定した場合、 'zbuttondown' と 'zbuttonup' のイベントが使えるようになる。 !!!既存クラスをもっと楽に クラスには、既存のクラス(SpriteやLabelなど)のプロパティの入力を簡易化する使い方もある。
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]に書いてあった。