浏览代码

Added .getColorIndex() method to ISurface and extending classes.

dev-tmpl
Bryan Miller 5 年前
父节点
当前提交
20fa69bcc3
共有 2 个文件被更改,包括 13 次插入0 次删除
  1. +4
    -0
      app/js/ifaces/ISurface.js
  2. +9
    -0
      app/js/models/NESBank.js

+ 4
- 0
app/js/ifaces/ISurface.js 查看文件

@@ -49,6 +49,10 @@ export default class ISurface{
return this.__default_pi[4];
}

getColorIndex(x, y){
return 0;
}

setColorIndex(x, y, ci, pi){
return this;
}

+ 9
- 0
app/js/models/NESBank.js 查看文件

@@ -193,6 +193,15 @@ export default class NESBank extends ISurface{
return this.__default_pi[ci];
}

getColorIndex(x, y){
var res = LRIdx2TileIdxCo((y*256)+x);
var list = (res.lid === 0) ? this.__LP : this.__RP;
return {
pi: list[res.index].paletteIndex,
ci: list[res.index].getPixelIndex(res.x, res.y);
};
}

setColorIndex(x, y, ci, pi){
if (x < 0 || x >= 256 || y < 0 || y > 128)
throw new RangeError("Coordinates out of bounds.");

正在加载...
取消
保存