2017-02-11 13 views
-2

私は、オブジェクトを取り込むクラスを持っています。これは、関数を返したいものです。しかし、返される型は、オブジェクトへの参照と見なされる数値です。JSのパラメータとしてオブジェクトを渡して返しますか?

class Sprite { 
    constructor(img, x, y) { 
     this._img = img; 
     this._x = x; 
     this._y = y; 
    } 

    get x() { 
     return this._x; 
    } 

    setX(x) { 
     this._x = x; 
    } 

    get y() { 
     return this._y; 
    } 

    setY(y) { 
     this._y = y; 
    } 

    get image() { 
     return this._img; 
    } 
} 

function main() { 
    var gameCanvas = document.getElementById("gameCanvas"); 
    var avatarImage = new Image(); 

    avatarImage.src = "avatar.png"; 

    var avatar = new Sprite(150, 150, avatarImage); 

    gameCanvas.getContext("2d").drawImage(avatar.image, avatar.x, avatar.y); 
} 

参照の代わりにオブジェクトを返すにはどうすればよいですか?

console.log(typeof(avatar.image)); // prints number instead of object 

答えて

2

あなたは

// change this 
var avatar = new Sprite(150, 150, avatarImage); 

// to this 
var avatar = new Sprite(avatarImage, 150, 150); 
+0

はありがとうございタイプミスを持っています。私は自分のクラスの秩序を乱したとは信じられません。 – drum

+0

心配はありません - それは起こります:) – aaaaaa

関連する問題