cab*_*ret 2 javascript this project-structuring coffeescript
这可能是非常基本的东西,但我卡住了,有点无能为力.
我最近在CoffeeScript中写了一个Snake游戏,但我对构建代码的方式并不满意.
我正在尝试使用类重写它.我有一个Game类,一个Snake类,一个Food类.我这样做是有意义的.但是,要访问变量和函数,我使用'@'(this)关键字,我觉得我完全过度了.例如,我在Game类的顶部有一个常量列表.我必须声明所有这些@CONSTANT都能够访问它们.或者,在方法内:
clearCanvas: ->
@ctx.clearRect 0, 0, @canvas.width, @canvas.height
Run Code Online (Sandbox Code Playgroud)
方法调用也是如此.例如:
init: ->
window.snake = new Snake()
@showStartScreen()
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我这是否可行,或者我应该如何构建我的代码?我现在可以链接到我正在使用的代码,如果有人愿意为我审查它.(编辑:实际上在这里)
非常感谢.
如果您正在使用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()
Run Code Online (Sandbox Code Playgroud)
另外,@ thejh是对的.您应该使用2个空格宽度的软标签.
| 归档时间: |
|
| 查看次数: |
1103 次 |
| 最近记录: |