2017-08-29 15 views
1

私は、requestAnimationFrameに渡されるメソッドを持つオブジェクトを持っています。 現在、オブジェクトを作成するには、矢印関数を使用してメソッドを再割り当てする必要があります。 requestAnimationFrameに渡されるメソッドとして矢印関数を使用します。

var player={fn:function(){return()=>{game.circle(this.x,this.y,this.radius)}}, 
x:200,y:300,radius:20}; 
player.fn=player.fn(); 

が、これは、オブジェクトを作成した後に再割り当てする方法なしで行うことができますか?

答えて

2

あなたは可能性だけuse a static reference to player instead

const player = { 
    fn() { 
    game.circle(player.x, player.y, player.radius); 
    }, 
    x:200, 
    y:300, 
    radius:20 
}; 
requestAnimationFrame(player.fn); 

しかし、いや、そうでない場合は別の割り当てなしでこれを書くための方法はありません。通常は、しかし、ちょうどbind or use the arrow function​​を呼び出すときになります。

var player = { 
    fn() { 
    game.circle(this.x, this.y, this.radius); 
    }, 
    x:200, 
    y:300, 
    radius:20 
}; 
requestAnimationFrame(() => player.fn()); 
+0

あなたの答えは動作しますが、私はそれが結合することがあなたのリンクを動作しないような方法でアニメーションフレームを要求するための方法を渡していることは正常に動作する必要がありますが、あなたに感謝します – user7951676

+0

@ user7951676質問にコードの一部が表示されていないので、助言できません – Bergi

+0

これは問題ありません – user7951676

関連する問題