这可能是非常基本的东西,但我卡住了,有点无能为力。
我最近用 CoffeeScript 写了一个贪吃蛇游戏,但我对自己的方式一点也不满意 structured the code .
我正在尝试使用类重写它。我有一个 Game 类,一个 Snake 类,一个 Food 类。在我看来这样做是有道理的。但是,为了访问变量和函数,我使用了“@”(this) 关键字,我觉得我完全过头了。例如,我的 Game 类顶部有一个常量列表。我必须将它们全部声明为 @CONSTANT
才能访问它们。或者,在方法内部:
clearCanvas: ->
@ctx.clearRect 0, 0, @canvas.width, @canvas.height
方法调用也是如此。例如:
init: ->
window.snake = new Snake()
@showStartScreen()
有人可以告诉我这样做是否可行,或者我应该如何构建我的代码?我可以链接到我目前正在使用的代码,如果有人愿意为我审查它的话。 (编辑:实际上 here it is )
非常感谢。
最佳答案
如果您正在使用 CoffeeScript 类,您将大量使用 @
。对象的任何属性都必须通过 @
或 this
访问。以下是您应该如何使用常量:
class Game
up: 1
right: 2
down: 4
left: 8
someMethod: ->
console.log @up, @right, @down, @left
console.log "Class accessible #{Game::up}"
g = new Game
console.log "Object accessinble #{g.up}"
g.someMethod()
此外,@thejh 是对的。您应该使用 2 个空格宽度的软制表符。
关于javascript - 构建 Coffeescript 并使用 @ 关键字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8262439/