2012-12-15 149 views
0

我得到这个在game.js文件的顶部(从game.ts编译)定义声明:的Javascript =>遗漏的类型错误:未定义是不是一个函数

define(["require", "exports", "GameObjects"], function(require, exports, __GameObjects__) { 
var GameObjects = __GameObjects__; 

$(document).ready(function() { 
    var game = new Game(); 
    $(document).keydown(game.onKeyDown); 
    $(document).keyup(game.onKeyUp); 
    $(document).keyup(game.onKeyUp); 
}); 
function collides(a, b) { 

与此错误:遗漏的类型错误:未定义是不是一个函数

从这个页面:

<head> 
    <title>Space Demo</title> 
    <link href="/stylesheets/screen.css" media="all" rel="stylesheet" type="text/css" /> 


    <script language="javascript" src="javascripts/require.js" type="text/javascript" data-main="ts/game.js"> </script> 
    <script language="javascript" src="javascripts/jquery-1.8.2.min.js" type="text/javascript"> </script> 

</head> 

什么想法?

edit_ _ __ _ __ _ __ _ __ _ __ _

游戏类是thegame.js文件

类游戏{

// canvas: JQuery; 

CANVAS_WIDTH: number = 400; 
CANVAS_HEIGHT: number = 400; 

FPS: number = 30; 

enemies = []; 
playerBullets: Array = new Array[40]; 
player: GameObjects.GameObjects.Player; 


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

context2D: CanvasRenderingContext2D; 

constructor() { 
    // this.canvas = canvas; 

    this.context2D = this.canvas.getContext("2d"); 
    this.canvas.width = this.CANVAS_WIDTH; 
    this.canvas.height = this.CANVAS_HEIGHT; 

    this.initGame(); 
} 

回答

0

有一些函数正在尝试调用,即没有定义/初始化。

  • Game类是从那里访​​问你正在构造吗?
  • 是与ID="canvas"一个<canvas> - 元素的元素?
  • Game类是否有initGame方法?

如果您使用Google Chrome打开您的页面并查看开发者控制台,您应该会看到堆栈跟踪。这应该告诉你错误来自哪里。

+0

对不起,但它在game.ts文件 – Nikos

+0

看到编辑上面:) – Nikos

相关问题