使用JavaScript / HTML5编写一个简单的视频游戏,我想在一个类中收集所有资源......目前它们遍布整个地方。
所以,举个例子,目前我有一些基本的东西
function c_enemy_sprites() {
this.image = new Image();
this.image.src = "res/enemies.png";
..
..
}
function c_tilemap() {
this.image = new Image();
this.image.src = "res/tilemap.png";
..
..
}
我想把它归为一个类,就像这样
function c_resource() {
this.enemies.image = new Image();
this.enemies.image.src = "res/enemies.png";
this.tilemap.image = new Image();
this.tilemap.image.src = "res/tilemap.png";
..
..
}
但是,我不认为这是正确的做法。当我尝试第二次实现时,程序崩溃了。有没有一种简化资源加载的好方法?
答案 0 :(得分:1)
尝试创建一个对象文字来保存所有内容:
function C_resource(src) {
this.image = new Image();
this.image.src = src;
}
var resources = {
enemies : new C_resource('res/enemies.png'),
tilemap : new C_resource('res/tilemap.png')
};
resources.enemies.image; // your enemies image.
答案 1 :(得分:0)
尝试初始化对象以将图像资源放入:
function c_resource() {
this.enemies = {};
this.enemies.image = new Image();
this.enemies.image.src = "res/enemies.png";
this.tilemap = {};
this.tilemap.image = new Image();
this.tilemap.image.src = "res/tilemap.png";
..
}
你也可以使用:
function Resource(path){
this.image = new Image();
this.image.src = path;
... further initialization, etc.
}
...然后
function resources(){
this.enemies = new Resource('res/enemies.png');
this.tilemap = new Resource('res/tilemap.png');
}