このCDNバージョンのcreatejsを使用しています
<script type="text/javascript" src="http://code.createjs.com/createjs-2013.09.25.min.js"></script>
YouTubeのこの紹介スクリーンキャストhttp://www.youtube.com/watch?v=OWHJa0jKJgoをフォローしようとしているからです。線があります
createjs.Sound.addEventListener("loadComplete", this.handleComplete);
ただし、「loadComplete」は最近廃止され、「fileLoad」イベントに置き換えられました。バックボーンビューの関数内でこれを行うと
loadRegisterSound: function(){
createjs.Sound.addEventListener("fileload", this.handleLoad);
createjs.Sound.registerSound("img/pop.mp3", "sound");
}
それから私はこれを手に入れます
Uncaught TypeError: Cannot read property 'handleEvent' of undefined
上記の関数の後半を handleLoad 関数に移動すると
loadRegisterSound: function(){
createjs.Sound.addEventListener("fileload", this.handleLoad);
},
handleLoad: function(){
createjs.Sound.registerSound("img/pop.mp3", "sound");
var ball = new createjs.Shape();
ball.graphics.beginFill("#000000").drawCircle(0, 0, 50);
createjs.Tween.get(ball, {loop:true}).to({x:450}, 3000).to({x:50}, 3000);
createjs.Ticker.addEventListener("tick", this.tick);
ball.addEventListener("click", this.handleClick);
ball.x = 50;
ball.y = 200;
stage.addChild(ball);
}
その場合、handleLoad 関数が呼び出されたことを示す兆候はありません。何も起こりません。
createjs http://www.createjs.com/Docs/SoundJS/classes/Sound.htmlのドキュメントには、fileload イベントで使用される奇妙な createjs.proxy 関数があります。
createjs.Sound.addEventListener("fileload", createjs.proxy(this.loadHandler, (this));
ただし、バックボーン ビューで自分のコードで使用しようとすると、予期しない;
エラーが発生します。
fileload
イベントを createjs.registerSound api と連携させる方法を誰かが説明できますか?