1

こんにちは私はこれを正しい方法で行っているのだろうかと思っています。HTML5CanvasへのJquery参照を保持するためのTypescript変数が必要です。$(document).readyの行からコンストラクターに渡される型指定されていないcanvasオブジェクトがあります。

game.ts:

///<reference path="../javascripts/sprite.js" />
///<reference path="d.ts/jquery-1.8.d.ts" />
///<reference path="../javascripts/jquery-1.8.2.js/>


        $(document).ready(function () {
        canvas = $('#canvas');

        })
    });

class Game {

    canvas;

    CANVAS_WIDTH: number;
    CANVAS_HEIGHT: number;

    constructor (canvas) {
        this.canvas = canvas;
        this.CANVAS_WIDTH = canvas.width();
        this.CANVAS_HEIGHT = canvas.height();
    }

ただし、ゲームクラスでこのキャンバス変数を使用する場合、.width()のようなjquery構文のオートコンプリートは取得されません。

4

2 に答える 2

4

解決策、JQuery変数を使用します。

class Game {

     canvas : JQuery;

    CANVAS_WIDTH: number;
    CANVAS_HEIGHT: number;

    constructor (canvas:JQuery) {
        this.canvas = canvas;

        this.CANVAS_WIDTH = canvas.width();
        this.CANVAS_HEIGHT = canvas.height();
    }
于 2012-12-11T12:46:05.923 に答える
4

width()プロパティを失うことはありますが、(HTMLCanvasElementタイプを使用して)物事を行うためのさらに良い方法は、そのようにCanvasを参照することです。

  canvas: HTMLCanvasElement = <HTMLCanvasElement> document.getElementById('canvas');

context2D: CanvasRenderingContext2D;
于 2012-12-12T14:47:54.770 に答える