前の質問から、私は次のことを知っています:
だから私はリソースクラスを実装しました、今私はそれを拡張し続けて、すべての定数と列挙型を追加したいと思います(またはJSが許す限り...)。
これは私が現在持っているものです:
var resources = {
// images
player : new c_resource("res/player.png"),
enemies : new c_resource("res/enemies.png"),
tilemap : new c_resource("res/tilemap.png")
};
そして、これは私がそれを拡張し続けたいものです:
var resources = {
// images
player : new c_resource("res/player.png"),
enemies : new c_resource("res/enemies.png"),
tilemap : new c_resource("res/tilemap.png"),
// enums
directions : {up:0, right:1, down:2, left:3},
speeds : {slow: 1, medium: 3, fast: 5}
};
...
function enemies() {
this.dir = resources.directions.down; // initialize to down
}
resources.directions.upにアクセスしようとすると、JSスクリプトが燃えるようなコードの山に落ちてしまいます。このコンテキストで列挙型は許可されていますか?許可されていない場合、通常の関数の外部で使用するために列挙型を適切に挿入するにはどうすればよいですか?同様の効果のために、それらをグローバルとして定義しようとしました。
編集:コンマを修正しました...それはそれを転記する際の単なるエラーでした。
Firefoxで実行してコンソールを見ると、というエラーが表示されますresources is undefined
。
リソース「クラス」はスクリプトの上部で定義されており、function enemies()
直接続きます...したがって、私が理解していることから、それはまだスコープ内にあるはずです...