【发布时间】:2021-02-11 02:33:10
【问题描述】:
在我们的游戏中,我们使用 typescript、pixi.js、vscode、eslint。
我们有一个像这样的图像文件字典
export function getAllImages(): {name: string, extension: string}[] {
return [
{name: 'tile_lumber', extension: '.svg'},
{name: 'tile_brick', extension: '.svg'},
....
]
}
是这样加载的
export function loadImages() {
for(const img of getAllImages()) {
PIXI.Loader.shared.add(img.name, getImagePath(img.name + img.extension), { crossOrigin: true })
}
PIXI.Loader.shared
.on('progress', loadProgressHandler)
.load(assetsFinishedLoading)
}
当我们调用项目时,我们这样写
export function getBannerForPlayer(playerColor: PlayerColors): PIXI.Texture {
switch(playerColor) {
case PlayerColors.Bronze: return PIXI.Loader.shared.resources.banner_bronze.texture
case PlayerColors.Silver: return PIXI.Loader.shared.resources.banner_silver.texture
case PlayerColors.Gold: return PIXI.Loader.shared.resources.banner_goldf.texture
....
}
}
即使没有名为banner_goldf 的纹理,此代码在编译器中也不会出错,它应该是banner_gold。我们不小心推送了这段代码,导致游戏出现错误。
理想情况下,vscode、tsc 或其他东西应该在这种情况下显示错误。我们如何确保它显示错误?
【问题讨论】:
标签: typescript visual-studio-code pixi.js