#28 修复解析properties
This commit is contained in:
Vendored
+4
-2
@@ -1627,8 +1627,8 @@ declare module es {
|
|||||||
name: string;
|
name: string;
|
||||||
}
|
}
|
||||||
class TmxImage {
|
class TmxImage {
|
||||||
bitmap: egret.Bitmap;
|
texture: egret.Bitmap;
|
||||||
readonly texture: egret.Texture;
|
bitmap: egret.SpriteSheet;
|
||||||
source: string;
|
source: string;
|
||||||
format: string;
|
format: string;
|
||||||
data: any;
|
data: any;
|
||||||
@@ -1803,6 +1803,8 @@ declare module es {
|
|||||||
class TiledRendering {
|
class TiledRendering {
|
||||||
static renderMap(map: TmxMap, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
static renderMap(map: TmxMap, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
||||||
static renderLayer(layer: TmxLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
static renderLayer(layer: TmxLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
||||||
|
static renderLayerRenderCamera(layer: ITmxLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number, camerClipBounds: Rectangle): void;
|
||||||
|
static renderLayerCamera(layer: TmxLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number, camerClipBounds: Rectangle): void;
|
||||||
static renderImageLayer(layer: TmxImageLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
static renderImageLayer(layer: TmxImageLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
||||||
static renderObjectGroup(objGroup: TmxObjectGroup, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
static renderObjectGroup(objGroup: TmxObjectGroup, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
||||||
static renderGroup(group: TmxGroup, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
static renderGroup(group: TmxGroup, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
||||||
|
|||||||
@@ -3372,7 +3372,7 @@ var es;
|
|||||||
else {
|
else {
|
||||||
for (var i = 0; i < this.tiledMap.layers.length; i++) {
|
for (var i = 0; i < this.tiledMap.layers.length; i++) {
|
||||||
if (this.tiledMap.layers[i].visible && this.layerIndicesToRender.contains(i))
|
if (this.tiledMap.layers[i].visible && this.layerIndicesToRender.contains(i))
|
||||||
es.TiledRendering.renderLayer(this.tiledMap.layers[i], this.displayObject, es.Vector2.add(this.entity.transform.position, this._localOffset), this.transform.scale, this.renderLayer);
|
es.TiledRendering.renderLayerRenderCamera(this.tiledMap.layers[i], this.displayObject, es.Vector2.add(this.entity.transform.position, this._localOffset), this.transform.scale, this.renderLayer, camera.bounds);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -7632,16 +7632,9 @@ var es;
|
|||||||
var TmxImage = (function () {
|
var TmxImage = (function () {
|
||||||
function TmxImage() {
|
function TmxImage() {
|
||||||
}
|
}
|
||||||
Object.defineProperty(TmxImage.prototype, "texture", {
|
|
||||||
get: function () {
|
|
||||||
return this.bitmap.texture;
|
|
||||||
},
|
|
||||||
enumerable: true,
|
|
||||||
configurable: true
|
|
||||||
});
|
|
||||||
TmxImage.prototype.dispose = function () {
|
TmxImage.prototype.dispose = function () {
|
||||||
if (this.bitmap) {
|
if (this.bitmap) {
|
||||||
this.texture.dispose();
|
this.bitmap.dispose();
|
||||||
this.bitmap = null;
|
this.bitmap = null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -7807,7 +7800,6 @@ var es;
|
|||||||
})(es || (es = {}));
|
})(es || (es = {}));
|
||||||
var es;
|
var es;
|
||||||
(function (es) {
|
(function (es) {
|
||||||
var Bitmap = egret.Bitmap;
|
|
||||||
var TiledMapLoader = (function () {
|
var TiledMapLoader = (function () {
|
||||||
function TiledMapLoader() {
|
function TiledMapLoader() {
|
||||||
}
|
}
|
||||||
@@ -8070,12 +8062,14 @@ var es;
|
|||||||
if (!prop)
|
if (!prop)
|
||||||
return null;
|
return null;
|
||||||
var dict = new Map();
|
var dict = new Map();
|
||||||
for (var _i = 0, _a = prop["property"]; _i < _a.length; _i++) {
|
for (var _i = 0, prop_1 = prop; _i < prop_1.length; _i++) {
|
||||||
var p = _a[_i];
|
var p = prop_1[_i];
|
||||||
var pname = p["name"];
|
var pname = p["name"];
|
||||||
var valueAttr = p["value"];
|
var valueAttr = p["value"];
|
||||||
var pval = valueAttr ? valueAttr : p;
|
if (p["type"] == "color")
|
||||||
dict.set(pname, pval);
|
dict.set(pname, es.TmxUtils.color16ToUnit(valueAttr).toString());
|
||||||
|
else
|
||||||
|
dict.set(pname, valueAttr);
|
||||||
}
|
}
|
||||||
return dict;
|
return dict;
|
||||||
};
|
};
|
||||||
@@ -8151,9 +8145,9 @@ var es;
|
|||||||
tileset.tileRegions = new Map();
|
tileset.tileRegions = new Map();
|
||||||
if (tileset.image && tileset.image.bitmap) {
|
if (tileset.image && tileset.image.bitmap) {
|
||||||
id = firstGid;
|
id = firstGid;
|
||||||
for (y = tileset.margin; y < tileset.image.bitmap.height - tileset.margin; y += tileset.tileHeight + tileset.spacing) {
|
for (y = tileset.margin; y < tileset.image.height - tileset.margin; y += tileset.tileHeight + tileset.spacing) {
|
||||||
column = 0;
|
column = 0;
|
||||||
for (x = tileset.margin; x < tileset.image.bitmap.width - tileset.margin; x += tileset.tileWidth + tileset.spacing) {
|
for (x = tileset.margin; x < tileset.image.width - tileset.margin; x += tileset.tileWidth + tileset.spacing) {
|
||||||
tileset.tileRegions.set(id++, new es.Rectangle(x, y, tileset.tileWidth, tileset.tileHeight));
|
tileset.tileRegions.set(id++, new es.Rectangle(x, y, tileset.tileWidth, tileset.tileHeight));
|
||||||
if (++column >= tileset.columns)
|
if (++column >= tileset.columns)
|
||||||
break;
|
break;
|
||||||
@@ -8162,7 +8156,7 @@ var es;
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tileset.tiles.forEach(function (tile) {
|
tileset.tiles.forEach(function (tile) {
|
||||||
tileset.tileRegions.set(firstGid + tile.id, new es.Rectangle(0, 0, tile.image.bitmap.width, tile.image.bitmap.height));
|
tileset.tileRegions.set(firstGid + tile.id, new es.Rectangle(0, 0, tile.image.width, tile.image.height));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return [2, tileset];
|
return [2, tileset];
|
||||||
@@ -8345,28 +8339,28 @@ var es;
|
|||||||
};
|
};
|
||||||
TiledMapLoader.loadTmxImage = function (image, xImage) {
|
TiledMapLoader.loadTmxImage = function (image, xImage) {
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
return __awaiter(this, void 0, void 0, function () {
|
||||||
var xSource, _a, _b, xData;
|
var xSource, _a, _b, _c, xData;
|
||||||
return __generator(this, function (_c) {
|
return __generator(this, function (_d) {
|
||||||
switch (_c.label) {
|
switch (_d.label) {
|
||||||
case 0:
|
case 0:
|
||||||
xSource = xImage["image"];
|
xSource = xImage["image"];
|
||||||
if (!xSource) return [3, 2];
|
if (!xSource) return [3, 2];
|
||||||
image.source = "resource/assets/" + xSource;
|
image.source = "resource/assets/" + xSource;
|
||||||
_a = image;
|
_a = image;
|
||||||
_b = Bitmap.bind;
|
_c = (_b = egret.SpriteSheet).bind;
|
||||||
return [4, RES.getResByUrl(image.source, null, this, RES.ResourceItem.TYPE_IMAGE)];
|
return [4, RES.getResByUrl(image.source, null, this, RES.ResourceItem.TYPE_IMAGE)];
|
||||||
case 1:
|
case 1:
|
||||||
_a.bitmap = new (_b.apply(Bitmap, [void 0, _c.sent()]))();
|
_a.bitmap = new (_c.apply(_b, [void 0, _d.sent()]))();
|
||||||
return [3, 3];
|
return [3, 3];
|
||||||
case 2:
|
case 2:
|
||||||
image.format = xImage["format"];
|
image.format = xImage["format"];
|
||||||
xData = xImage["data"];
|
xData = xImage["data"];
|
||||||
image.data = es.TmxUtils.decode(xData, xData["encoding"], xData["compression"]);
|
image.data = es.TmxUtils.decode(xData, xData["encoding"], xData["compression"]);
|
||||||
_c.label = 3;
|
_d.label = 3;
|
||||||
case 3:
|
case 3:
|
||||||
image.trans = es.TmxUtils.color16ToUnit(xImage["trans"]);
|
image.trans = es.TmxUtils.color16ToUnit(xImage["trans"]);
|
||||||
image.width = xImage["width"] != undefined ? xImage["width"] : 0;
|
image.width = xImage["imagewidth"] != undefined ? xImage["imagewidth"] : 0;
|
||||||
image.height = xImage["height"] != undefined ? xImage["height"] : 0;
|
image.height = xImage["imageheight"] != undefined ? xImage["imageheight"] : 0;
|
||||||
return [2, image];
|
return [2, image];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -8378,6 +8372,7 @@ var es;
|
|||||||
})(es || (es = {}));
|
})(es || (es = {}));
|
||||||
var es;
|
var es;
|
||||||
(function (es) {
|
(function (es) {
|
||||||
|
var Bitmap = egret.Bitmap;
|
||||||
var TiledRendering = (function () {
|
var TiledRendering = (function () {
|
||||||
function TiledRendering() {
|
function TiledRendering() {
|
||||||
}
|
}
|
||||||
@@ -8403,7 +8398,7 @@ var es;
|
|||||||
return;
|
return;
|
||||||
var tileWidth = layer.map.tileWidth * scale.x;
|
var tileWidth = layer.map.tileWidth * scale.x;
|
||||||
var tileHeight = layer.map.tileHeight * scale.y;
|
var tileHeight = layer.map.tileHeight * scale.y;
|
||||||
var color = es.DrawUtils.getColorMatrix(0x000000);
|
var color = es.DrawUtils.getColorMatrix(0xFFFFFF);
|
||||||
for (var i = 0; i < layer.tiles.length; i++) {
|
for (var i = 0; i < layer.tiles.length; i++) {
|
||||||
var tile = layer.tiles[i];
|
var tile = layer.tiles[i];
|
||||||
if (!tile)
|
if (!tile)
|
||||||
@@ -8411,18 +8406,61 @@ var es;
|
|||||||
this.renderTile(tile, container, position, scale, tileWidth, tileHeight, color, layerDepth);
|
this.renderTile(tile, container, position, scale, tileWidth, tileHeight, color, layerDepth);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
TiledRendering.renderLayerRenderCamera = function (layer, container, position, scale, layerDepth, camerClipBounds) {
|
||||||
|
if (layer instanceof es.TmxLayer && layer.visible) {
|
||||||
|
this.renderLayerCamera(layer, container, position, scale, layerDepth, camerClipBounds);
|
||||||
|
}
|
||||||
|
else if (layer instanceof es.TmxImageLayer && layer.visible) {
|
||||||
|
this.renderImageLayer(layer, container, position, scale, layerDepth);
|
||||||
|
}
|
||||||
|
else if (layer instanceof es.TmxGroup && layer.visible) {
|
||||||
|
this.renderGroup(layer, container, position, scale, layerDepth);
|
||||||
|
}
|
||||||
|
else if (layer instanceof es.TmxObjectGroup && layer.visible) {
|
||||||
|
this.renderObjectGroup(layer, container, position, scale, layerDepth);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
TiledRendering.renderLayerCamera = function (layer, container, position, scale, layerDepth, camerClipBounds) {
|
||||||
|
if (!layer.visible)
|
||||||
|
return;
|
||||||
|
position = position.add(layer.offset);
|
||||||
|
camerClipBounds.location = camerClipBounds.location.subtract(position);
|
||||||
|
var tileWidth = layer.map.tileWidth * scale.x;
|
||||||
|
var tileHeight = layer.map.tileHeight * scale.y;
|
||||||
|
var minX, minY, maxX, maxY = 0;
|
||||||
|
if (layer.map.requiresLargeTileCulling) {
|
||||||
|
minX = layer.map.worldToTilePositionX(camerClipBounds.left - (layer.map.maxTileWidth * scale.x - tileWidth));
|
||||||
|
minY = layer.map.worldToTilePositionY(camerClipBounds.top - (layer.map.maxTileHeight * scale.y - tileHeight));
|
||||||
|
maxX = layer.map.worldToTilePositionX(camerClipBounds.right + (layer.map.maxTileWidth * scale.x - tileWidth));
|
||||||
|
maxY = layer.map.worldToTilePositionY(camerClipBounds.bottom + (layer.map.maxTileHeight * scale.y - tileHeight));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
minX = layer.map.worldToTilePositionX(camerClipBounds.left);
|
||||||
|
minY = layer.map.worldToTilePositionY(camerClipBounds.top);
|
||||||
|
maxX = layer.map.worldToTilePositionX(camerClipBounds.right);
|
||||||
|
maxY = layer.map.worldToTilePositionY(camerClipBounds.bottom);
|
||||||
|
}
|
||||||
|
var color = es.DrawUtils.getColorMatrix(0xFFFFFF);
|
||||||
|
for (var y = minY; y <= maxY; y++) {
|
||||||
|
for (var x = minX; x <= maxX; x++) {
|
||||||
|
var tile = layer.getTile(x, y);
|
||||||
|
if (tile)
|
||||||
|
this.renderTile(tile, container, position, scale, tileWidth, tileHeight, color, layerDepth);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
TiledRendering.renderImageLayer = function (layer, container, position, scale, layerDepth) {
|
TiledRendering.renderImageLayer = function (layer, container, position, scale, layerDepth) {
|
||||||
if (!layer.visible)
|
if (!layer.visible)
|
||||||
return;
|
return;
|
||||||
var color = es.DrawUtils.getColorMatrix(0x000000);
|
var color = es.DrawUtils.getColorMatrix(0xFFFFFF);
|
||||||
var pos = es.Vector2.add(position, new es.Vector2(layer.offsetX, layer.offsetY).multiply(scale));
|
var pos = es.Vector2.add(position, new es.Vector2(layer.offsetX, layer.offsetY).multiply(scale));
|
||||||
if (!layer.image.bitmap.parent)
|
if (!layer.image.texture.parent)
|
||||||
container.addChild(layer.image.bitmap);
|
container.addChild(layer.image.texture);
|
||||||
layer.image.bitmap.x = pos.x;
|
layer.image.texture.x = pos.x;
|
||||||
layer.image.bitmap.y = pos.y;
|
layer.image.texture.y = pos.y;
|
||||||
layer.image.bitmap.scaleX = scale.x;
|
layer.image.texture.scaleX = scale.x;
|
||||||
layer.image.bitmap.scaleY = scale.y;
|
layer.image.texture.scaleY = scale.y;
|
||||||
layer.image.bitmap.filters = [color];
|
layer.image.texture.filters = [color];
|
||||||
};
|
};
|
||||||
TiledRendering.renderObjectGroup = function (objGroup, container, position, scale, layerDepth) {
|
TiledRendering.renderObjectGroup = function (objGroup, container, position, scale, layerDepth) {
|
||||||
if (!objGroup.visible)
|
if (!objGroup.visible)
|
||||||
@@ -8455,14 +8493,14 @@ var es;
|
|||||||
var tileset = objGroup.map.getTilesetForTileGid(obj.tile.gid);
|
var tileset = objGroup.map.getTilesetForTileGid(obj.tile.gid);
|
||||||
var sourceRect = tileset.tileRegions[obj.tile.gid];
|
var sourceRect = tileset.tileRegions[obj.tile.gid];
|
||||||
pos.y -= obj.tile.tilesetTile.image.height;
|
pos.y -= obj.tile.tilesetTile.image.height;
|
||||||
if (!obj.tile.tilesetTile.image.bitmap)
|
if (!obj.tile.tilesetTile.image.texture)
|
||||||
container.addChild(obj.tile.tilesetTile.image.bitmap);
|
container.addChild(obj.tile.tilesetTile.image.texture);
|
||||||
obj.tile.tilesetTile.image.bitmap.x = pos.x;
|
obj.tile.tilesetTile.image.texture.x = pos.x;
|
||||||
obj.tile.tilesetTile.image.bitmap.y = pos.y;
|
obj.tile.tilesetTile.image.texture.y = pos.y;
|
||||||
obj.tile.tilesetTile.image.bitmap.filters = [];
|
obj.tile.tilesetTile.image.texture.filters = [];
|
||||||
obj.tile.tilesetTile.image.bitmap.rotation = 0;
|
obj.tile.tilesetTile.image.texture.rotation = 0;
|
||||||
obj.tile.tilesetTile.image.bitmap.scaleX = scale.x;
|
obj.tile.tilesetTile.image.texture.scaleX = scale.x;
|
||||||
obj.tile.tilesetTile.image.bitmap.scaleY = scale.y;
|
obj.tile.tilesetTile.image.texture.scaleY = scale.y;
|
||||||
break;
|
break;
|
||||||
case es.TmxObjectType.ellipse:
|
case es.TmxObjectType.ellipse:
|
||||||
pos = new es.Vector2(obj.x + obj.width * 0.5, obj.y + obj.height * 0.5).multiply(scale);
|
pos = new es.Vector2(obj.x + obj.width * 0.5, obj.y + obj.height * 0.5).multiply(scale);
|
||||||
@@ -8522,21 +8560,21 @@ var es;
|
|||||||
var rotation = 0;
|
var rotation = 0;
|
||||||
if (tile.diagonalFlip) {
|
if (tile.diagonalFlip) {
|
||||||
if (tile.horizontalFlip && tile.verticalFlip) {
|
if (tile.horizontalFlip && tile.verticalFlip) {
|
||||||
rotation = es.MathHelper.PiOver2;
|
rotation = es.MathHelper.toDegrees(es.MathHelper.PiOver2);
|
||||||
tx += tileHeight + (sourceRect.height * scale.y - tileHeight);
|
tx += tileHeight + (sourceRect.height * scale.y - tileHeight);
|
||||||
ty -= (sourceRect.width * scale.x - tileWidth);
|
ty -= (sourceRect.width * scale.x - tileWidth);
|
||||||
}
|
}
|
||||||
else if (tile.horizontalFlip) {
|
else if (tile.horizontalFlip) {
|
||||||
rotation = -es.MathHelper.PiOver2;
|
rotation = es.MathHelper.toDegrees(-es.MathHelper.PiOver2);
|
||||||
ty += tileHeight;
|
ty += tileHeight;
|
||||||
}
|
}
|
||||||
else if (tile.verticalFlip) {
|
else if (tile.verticalFlip) {
|
||||||
rotation = es.MathHelper.PiOver2;
|
rotation = es.MathHelper.toDegrees(es.MathHelper.PiOver2);
|
||||||
tx += tileWidth + (sourceRect.height * scale.y - tileHeight);
|
tx += tileWidth + (sourceRect.height * scale.y - tileHeight);
|
||||||
ty += (tileWidth - sourceRect.width * scale.x);
|
ty += (tileWidth - sourceRect.width * scale.x);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rotation = -es.MathHelper.PiOver2;
|
rotation = es.MathHelper.toDegrees(-es.MathHelper.PiOver2);
|
||||||
ty += tileHeight;
|
ty += tileHeight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8544,25 +8582,33 @@ var es;
|
|||||||
ty += (tileHeight - sourceRect.height * scale.y);
|
ty += (tileHeight - sourceRect.height * scale.y);
|
||||||
var pos = new es.Vector2(tx, ty).add(position);
|
var pos = new es.Vector2(tx, ty).add(position);
|
||||||
if (tile.tileset.image) {
|
if (tile.tileset.image) {
|
||||||
if (!tile.tileset.image.bitmap.parent)
|
if (!tile.tileset.image.bitmap.getTexture(gid.toString())) {
|
||||||
container.addChild(tile.tileset.image.bitmap);
|
tile.tileset.image.texture = new Bitmap(tile.tileset.image.bitmap.createTexture(gid.toString(), sourceRect.x, sourceRect.y, sourceRect.width, sourceRect.height));
|
||||||
tile.tileset.image.bitmap.x = pos.x;
|
container.addChild(tile.tileset.image.texture);
|
||||||
tile.tileset.image.bitmap.y = pos.y;
|
}
|
||||||
tile.tileset.image.bitmap.scaleX = scale.x;
|
tile.tileset.image.texture.x = pos.x;
|
||||||
tile.tileset.image.bitmap.scaleY = scale.y;
|
tile.tileset.image.texture.y = pos.y;
|
||||||
tile.tileset.image.bitmap.rotation = rotation;
|
tile.tileset.image.texture.scaleX = scale.x;
|
||||||
tile.tileset.image.bitmap.filters = [color];
|
tile.tileset.image.texture.scaleY = scale.y;
|
||||||
|
tile.tileset.image.texture.rotation = rotation;
|
||||||
|
tile.tileset.image.texture.anchorOffsetX = 0;
|
||||||
|
tile.tileset.image.texture.anchorOffsetY = 0;
|
||||||
|
tile.tileset.image.texture.filters = [color];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (tilesetTile.image.bitmap) {
|
if (tilesetTile.image.texture) {
|
||||||
if (!tilesetTile.image.bitmap.parent)
|
if (!tilesetTile.image.bitmap.getTexture(gid.toString())) {
|
||||||
container.addChild(tilesetTile.image.bitmap);
|
tilesetTile.image.texture = new Bitmap(tilesetTile.image.bitmap.createTexture(gid.toString(), sourceRect.x, sourceRect.y, sourceRect.width, sourceRect.height));
|
||||||
tilesetTile.image.bitmap.x = pos.x;
|
container.addChild(tilesetTile.image.texture);
|
||||||
tilesetTile.image.bitmap.y = pos.y;
|
}
|
||||||
tilesetTile.image.bitmap.scaleX = scale.x;
|
tilesetTile.image.texture.x = pos.x;
|
||||||
tilesetTile.image.bitmap.scaleY = scale.y;
|
tilesetTile.image.texture.y = pos.y;
|
||||||
tilesetTile.image.bitmap.rotation = rotation;
|
tilesetTile.image.texture.scaleX = scale.x;
|
||||||
tilesetTile.image.bitmap.filters = [color];
|
tilesetTile.image.texture.scaleY = scale.y;
|
||||||
|
tilesetTile.image.texture.rotation = rotation;
|
||||||
|
tilesetTile.image.texture.anchorOffsetX = 0;
|
||||||
|
tilesetTile.image.texture.anchorOffsetY = 0;
|
||||||
|
tilesetTile.image.texture.filters = [color];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -8673,7 +8719,7 @@ var es;
|
|||||||
};
|
};
|
||||||
TmxUtils.color16ToUnit = function ($color) {
|
TmxUtils.color16ToUnit = function ($color) {
|
||||||
if (!$color)
|
if (!$color)
|
||||||
return 0x000000;
|
return 0xFFFFFF;
|
||||||
var colorStr = "0x" + $color.slice(1);
|
var colorStr = "0x" + $color.slice(1);
|
||||||
return parseInt(colorStr, 16);
|
return parseInt(colorStr, 16);
|
||||||
};
|
};
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
File diff suppressed because one or more lines are too long
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"groups": [
|
"groups": [
|
||||||
{
|
{
|
||||||
"keys": "checkbox_select_disabled_png,checkbox_select_down_png,checkbox_select_up_png,checkbox_unselect_png,selected_png,border_png,header_png,radiobutton_select_disabled_png,radiobutton_select_down_png,radiobutton_select_up_png,radiobutton_unselect_png,roundthumb_png,thumb_png,track_png,tracklight_png,handle_png,off_png,on_png,button_down_png,button_up_png,thumb_pb_png,track_pb_png,track_sb_png,bg_jpg,egret_icon_png,description_json,isometric_grass_and_water_json",
|
"keys": "checkbox_select_disabled_png,checkbox_select_down_png,checkbox_select_up_png,checkbox_unselect_png,selected_png,border_png,header_png,radiobutton_select_disabled_png,radiobutton_select_down_png,radiobutton_select_up_png,radiobutton_unselect_png,roundthumb_png,thumb_png,track_png,tracklight_png,handle_png,off_png,on_png,button_down_png,button_up_png,thumb_pb_png,track_pb_png,track_sb_png,bg_jpg,egret_icon_png,description_json,isometric_grass_and_water_json,orthogonal-outside_json",
|
||||||
"name": "preload"
|
"name": "preload"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
@@ -150,6 +150,11 @@
|
|||||||
"url": "assets/000010000.img.json",
|
"url": "assets/000010000.img.json",
|
||||||
"type": "json",
|
"type": "json",
|
||||||
"name": "000010000.img_json"
|
"name": "000010000.img_json"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"url": "assets/orthogonal-outside.json",
|
||||||
|
"type": "json",
|
||||||
|
"name": "orthogonal-outside_json"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
@@ -31,7 +31,7 @@ module scene {
|
|||||||
// player2.addComponent(new es.BoxCollider());
|
// player2.addComponent(new es.BoxCollider());
|
||||||
}
|
}
|
||||||
|
|
||||||
let mapData = await es.TiledMapLoader.loadTmxMap(new es.TmxMap(), "isometric_grass_and_water_json");
|
let mapData = await es.TiledMapLoader.loadTmxMap(new es.TmxMap(), "orthogonal-outside_json");
|
||||||
let map = this.createEntity("map");
|
let map = this.createEntity("map");
|
||||||
map.addComponent(new es.TiledMapRenderer(mapData));
|
map.addComponent(new es.TiledMapRenderer(mapData));
|
||||||
console.log(mapData);
|
console.log(mapData);
|
||||||
|
|||||||
Vendored
+4
-2
@@ -1627,8 +1627,8 @@ declare module es {
|
|||||||
name: string;
|
name: string;
|
||||||
}
|
}
|
||||||
class TmxImage {
|
class TmxImage {
|
||||||
bitmap: egret.Bitmap;
|
texture: egret.Bitmap;
|
||||||
readonly texture: egret.Texture;
|
bitmap: egret.SpriteSheet;
|
||||||
source: string;
|
source: string;
|
||||||
format: string;
|
format: string;
|
||||||
data: any;
|
data: any;
|
||||||
@@ -1803,6 +1803,8 @@ declare module es {
|
|||||||
class TiledRendering {
|
class TiledRendering {
|
||||||
static renderMap(map: TmxMap, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
static renderMap(map: TmxMap, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
||||||
static renderLayer(layer: TmxLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
static renderLayer(layer: TmxLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
||||||
|
static renderLayerRenderCamera(layer: ITmxLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number, camerClipBounds: Rectangle): void;
|
||||||
|
static renderLayerCamera(layer: TmxLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number, camerClipBounds: Rectangle): void;
|
||||||
static renderImageLayer(layer: TmxImageLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
static renderImageLayer(layer: TmxImageLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
||||||
static renderObjectGroup(objGroup: TmxObjectGroup, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
static renderObjectGroup(objGroup: TmxObjectGroup, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
||||||
static renderGroup(group: TmxGroup, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
static renderGroup(group: TmxGroup, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number): void;
|
||||||
|
|||||||
+110
-64
@@ -3372,7 +3372,7 @@ var es;
|
|||||||
else {
|
else {
|
||||||
for (var i = 0; i < this.tiledMap.layers.length; i++) {
|
for (var i = 0; i < this.tiledMap.layers.length; i++) {
|
||||||
if (this.tiledMap.layers[i].visible && this.layerIndicesToRender.contains(i))
|
if (this.tiledMap.layers[i].visible && this.layerIndicesToRender.contains(i))
|
||||||
es.TiledRendering.renderLayer(this.tiledMap.layers[i], this.displayObject, es.Vector2.add(this.entity.transform.position, this._localOffset), this.transform.scale, this.renderLayer);
|
es.TiledRendering.renderLayerRenderCamera(this.tiledMap.layers[i], this.displayObject, es.Vector2.add(this.entity.transform.position, this._localOffset), this.transform.scale, this.renderLayer, camera.bounds);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -7632,16 +7632,9 @@ var es;
|
|||||||
var TmxImage = (function () {
|
var TmxImage = (function () {
|
||||||
function TmxImage() {
|
function TmxImage() {
|
||||||
}
|
}
|
||||||
Object.defineProperty(TmxImage.prototype, "texture", {
|
|
||||||
get: function () {
|
|
||||||
return this.bitmap.texture;
|
|
||||||
},
|
|
||||||
enumerable: true,
|
|
||||||
configurable: true
|
|
||||||
});
|
|
||||||
TmxImage.prototype.dispose = function () {
|
TmxImage.prototype.dispose = function () {
|
||||||
if (this.bitmap) {
|
if (this.bitmap) {
|
||||||
this.texture.dispose();
|
this.bitmap.dispose();
|
||||||
this.bitmap = null;
|
this.bitmap = null;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -7807,7 +7800,6 @@ var es;
|
|||||||
})(es || (es = {}));
|
})(es || (es = {}));
|
||||||
var es;
|
var es;
|
||||||
(function (es) {
|
(function (es) {
|
||||||
var Bitmap = egret.Bitmap;
|
|
||||||
var TiledMapLoader = (function () {
|
var TiledMapLoader = (function () {
|
||||||
function TiledMapLoader() {
|
function TiledMapLoader() {
|
||||||
}
|
}
|
||||||
@@ -8070,12 +8062,14 @@ var es;
|
|||||||
if (!prop)
|
if (!prop)
|
||||||
return null;
|
return null;
|
||||||
var dict = new Map();
|
var dict = new Map();
|
||||||
for (var _i = 0, _a = prop["property"]; _i < _a.length; _i++) {
|
for (var _i = 0, prop_1 = prop; _i < prop_1.length; _i++) {
|
||||||
var p = _a[_i];
|
var p = prop_1[_i];
|
||||||
var pname = p["name"];
|
var pname = p["name"];
|
||||||
var valueAttr = p["value"];
|
var valueAttr = p["value"];
|
||||||
var pval = valueAttr ? valueAttr : p;
|
if (p["type"] == "color")
|
||||||
dict.set(pname, pval);
|
dict.set(pname, es.TmxUtils.color16ToUnit(valueAttr).toString());
|
||||||
|
else
|
||||||
|
dict.set(pname, valueAttr);
|
||||||
}
|
}
|
||||||
return dict;
|
return dict;
|
||||||
};
|
};
|
||||||
@@ -8151,9 +8145,9 @@ var es;
|
|||||||
tileset.tileRegions = new Map();
|
tileset.tileRegions = new Map();
|
||||||
if (tileset.image && tileset.image.bitmap) {
|
if (tileset.image && tileset.image.bitmap) {
|
||||||
id = firstGid;
|
id = firstGid;
|
||||||
for (y = tileset.margin; y < tileset.image.bitmap.height - tileset.margin; y += tileset.tileHeight + tileset.spacing) {
|
for (y = tileset.margin; y < tileset.image.height - tileset.margin; y += tileset.tileHeight + tileset.spacing) {
|
||||||
column = 0;
|
column = 0;
|
||||||
for (x = tileset.margin; x < tileset.image.bitmap.width - tileset.margin; x += tileset.tileWidth + tileset.spacing) {
|
for (x = tileset.margin; x < tileset.image.width - tileset.margin; x += tileset.tileWidth + tileset.spacing) {
|
||||||
tileset.tileRegions.set(id++, new es.Rectangle(x, y, tileset.tileWidth, tileset.tileHeight));
|
tileset.tileRegions.set(id++, new es.Rectangle(x, y, tileset.tileWidth, tileset.tileHeight));
|
||||||
if (++column >= tileset.columns)
|
if (++column >= tileset.columns)
|
||||||
break;
|
break;
|
||||||
@@ -8162,7 +8156,7 @@ var es;
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tileset.tiles.forEach(function (tile) {
|
tileset.tiles.forEach(function (tile) {
|
||||||
tileset.tileRegions.set(firstGid + tile.id, new es.Rectangle(0, 0, tile.image.bitmap.width, tile.image.bitmap.height));
|
tileset.tileRegions.set(firstGid + tile.id, new es.Rectangle(0, 0, tile.image.width, tile.image.height));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
return [2, tileset];
|
return [2, tileset];
|
||||||
@@ -8345,28 +8339,28 @@ var es;
|
|||||||
};
|
};
|
||||||
TiledMapLoader.loadTmxImage = function (image, xImage) {
|
TiledMapLoader.loadTmxImage = function (image, xImage) {
|
||||||
return __awaiter(this, void 0, void 0, function () {
|
return __awaiter(this, void 0, void 0, function () {
|
||||||
var xSource, _a, _b, xData;
|
var xSource, _a, _b, _c, xData;
|
||||||
return __generator(this, function (_c) {
|
return __generator(this, function (_d) {
|
||||||
switch (_c.label) {
|
switch (_d.label) {
|
||||||
case 0:
|
case 0:
|
||||||
xSource = xImage["image"];
|
xSource = xImage["image"];
|
||||||
if (!xSource) return [3, 2];
|
if (!xSource) return [3, 2];
|
||||||
image.source = "resource/assets/" + xSource;
|
image.source = "resource/assets/" + xSource;
|
||||||
_a = image;
|
_a = image;
|
||||||
_b = Bitmap.bind;
|
_c = (_b = egret.SpriteSheet).bind;
|
||||||
return [4, RES.getResByUrl(image.source, null, this, RES.ResourceItem.TYPE_IMAGE)];
|
return [4, RES.getResByUrl(image.source, null, this, RES.ResourceItem.TYPE_IMAGE)];
|
||||||
case 1:
|
case 1:
|
||||||
_a.bitmap = new (_b.apply(Bitmap, [void 0, _c.sent()]))();
|
_a.bitmap = new (_c.apply(_b, [void 0, _d.sent()]))();
|
||||||
return [3, 3];
|
return [3, 3];
|
||||||
case 2:
|
case 2:
|
||||||
image.format = xImage["format"];
|
image.format = xImage["format"];
|
||||||
xData = xImage["data"];
|
xData = xImage["data"];
|
||||||
image.data = es.TmxUtils.decode(xData, xData["encoding"], xData["compression"]);
|
image.data = es.TmxUtils.decode(xData, xData["encoding"], xData["compression"]);
|
||||||
_c.label = 3;
|
_d.label = 3;
|
||||||
case 3:
|
case 3:
|
||||||
image.trans = es.TmxUtils.color16ToUnit(xImage["trans"]);
|
image.trans = es.TmxUtils.color16ToUnit(xImage["trans"]);
|
||||||
image.width = xImage["width"] != undefined ? xImage["width"] : 0;
|
image.width = xImage["imagewidth"] != undefined ? xImage["imagewidth"] : 0;
|
||||||
image.height = xImage["height"] != undefined ? xImage["height"] : 0;
|
image.height = xImage["imageheight"] != undefined ? xImage["imageheight"] : 0;
|
||||||
return [2, image];
|
return [2, image];
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -8378,6 +8372,7 @@ var es;
|
|||||||
})(es || (es = {}));
|
})(es || (es = {}));
|
||||||
var es;
|
var es;
|
||||||
(function (es) {
|
(function (es) {
|
||||||
|
var Bitmap = egret.Bitmap;
|
||||||
var TiledRendering = (function () {
|
var TiledRendering = (function () {
|
||||||
function TiledRendering() {
|
function TiledRendering() {
|
||||||
}
|
}
|
||||||
@@ -8403,7 +8398,7 @@ var es;
|
|||||||
return;
|
return;
|
||||||
var tileWidth = layer.map.tileWidth * scale.x;
|
var tileWidth = layer.map.tileWidth * scale.x;
|
||||||
var tileHeight = layer.map.tileHeight * scale.y;
|
var tileHeight = layer.map.tileHeight * scale.y;
|
||||||
var color = es.DrawUtils.getColorMatrix(0x000000);
|
var color = es.DrawUtils.getColorMatrix(0xFFFFFF);
|
||||||
for (var i = 0; i < layer.tiles.length; i++) {
|
for (var i = 0; i < layer.tiles.length; i++) {
|
||||||
var tile = layer.tiles[i];
|
var tile = layer.tiles[i];
|
||||||
if (!tile)
|
if (!tile)
|
||||||
@@ -8411,18 +8406,61 @@ var es;
|
|||||||
this.renderTile(tile, container, position, scale, tileWidth, tileHeight, color, layerDepth);
|
this.renderTile(tile, container, position, scale, tileWidth, tileHeight, color, layerDepth);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
TiledRendering.renderLayerRenderCamera = function (layer, container, position, scale, layerDepth, camerClipBounds) {
|
||||||
|
if (layer instanceof es.TmxLayer && layer.visible) {
|
||||||
|
this.renderLayerCamera(layer, container, position, scale, layerDepth, camerClipBounds);
|
||||||
|
}
|
||||||
|
else if (layer instanceof es.TmxImageLayer && layer.visible) {
|
||||||
|
this.renderImageLayer(layer, container, position, scale, layerDepth);
|
||||||
|
}
|
||||||
|
else if (layer instanceof es.TmxGroup && layer.visible) {
|
||||||
|
this.renderGroup(layer, container, position, scale, layerDepth);
|
||||||
|
}
|
||||||
|
else if (layer instanceof es.TmxObjectGroup && layer.visible) {
|
||||||
|
this.renderObjectGroup(layer, container, position, scale, layerDepth);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
TiledRendering.renderLayerCamera = function (layer, container, position, scale, layerDepth, camerClipBounds) {
|
||||||
|
if (!layer.visible)
|
||||||
|
return;
|
||||||
|
position = position.add(layer.offset);
|
||||||
|
camerClipBounds.location = camerClipBounds.location.subtract(position);
|
||||||
|
var tileWidth = layer.map.tileWidth * scale.x;
|
||||||
|
var tileHeight = layer.map.tileHeight * scale.y;
|
||||||
|
var minX, minY, maxX, maxY = 0;
|
||||||
|
if (layer.map.requiresLargeTileCulling) {
|
||||||
|
minX = layer.map.worldToTilePositionX(camerClipBounds.left - (layer.map.maxTileWidth * scale.x - tileWidth));
|
||||||
|
minY = layer.map.worldToTilePositionY(camerClipBounds.top - (layer.map.maxTileHeight * scale.y - tileHeight));
|
||||||
|
maxX = layer.map.worldToTilePositionX(camerClipBounds.right + (layer.map.maxTileWidth * scale.x - tileWidth));
|
||||||
|
maxY = layer.map.worldToTilePositionY(camerClipBounds.bottom + (layer.map.maxTileHeight * scale.y - tileHeight));
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
minX = layer.map.worldToTilePositionX(camerClipBounds.left);
|
||||||
|
minY = layer.map.worldToTilePositionY(camerClipBounds.top);
|
||||||
|
maxX = layer.map.worldToTilePositionX(camerClipBounds.right);
|
||||||
|
maxY = layer.map.worldToTilePositionY(camerClipBounds.bottom);
|
||||||
|
}
|
||||||
|
var color = es.DrawUtils.getColorMatrix(0xFFFFFF);
|
||||||
|
for (var y = minY; y <= maxY; y++) {
|
||||||
|
for (var x = minX; x <= maxX; x++) {
|
||||||
|
var tile = layer.getTile(x, y);
|
||||||
|
if (tile)
|
||||||
|
this.renderTile(tile, container, position, scale, tileWidth, tileHeight, color, layerDepth);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
TiledRendering.renderImageLayer = function (layer, container, position, scale, layerDepth) {
|
TiledRendering.renderImageLayer = function (layer, container, position, scale, layerDepth) {
|
||||||
if (!layer.visible)
|
if (!layer.visible)
|
||||||
return;
|
return;
|
||||||
var color = es.DrawUtils.getColorMatrix(0x000000);
|
var color = es.DrawUtils.getColorMatrix(0xFFFFFF);
|
||||||
var pos = es.Vector2.add(position, new es.Vector2(layer.offsetX, layer.offsetY).multiply(scale));
|
var pos = es.Vector2.add(position, new es.Vector2(layer.offsetX, layer.offsetY).multiply(scale));
|
||||||
if (!layer.image.bitmap.parent)
|
if (!layer.image.texture.parent)
|
||||||
container.addChild(layer.image.bitmap);
|
container.addChild(layer.image.texture);
|
||||||
layer.image.bitmap.x = pos.x;
|
layer.image.texture.x = pos.x;
|
||||||
layer.image.bitmap.y = pos.y;
|
layer.image.texture.y = pos.y;
|
||||||
layer.image.bitmap.scaleX = scale.x;
|
layer.image.texture.scaleX = scale.x;
|
||||||
layer.image.bitmap.scaleY = scale.y;
|
layer.image.texture.scaleY = scale.y;
|
||||||
layer.image.bitmap.filters = [color];
|
layer.image.texture.filters = [color];
|
||||||
};
|
};
|
||||||
TiledRendering.renderObjectGroup = function (objGroup, container, position, scale, layerDepth) {
|
TiledRendering.renderObjectGroup = function (objGroup, container, position, scale, layerDepth) {
|
||||||
if (!objGroup.visible)
|
if (!objGroup.visible)
|
||||||
@@ -8455,14 +8493,14 @@ var es;
|
|||||||
var tileset = objGroup.map.getTilesetForTileGid(obj.tile.gid);
|
var tileset = objGroup.map.getTilesetForTileGid(obj.tile.gid);
|
||||||
var sourceRect = tileset.tileRegions[obj.tile.gid];
|
var sourceRect = tileset.tileRegions[obj.tile.gid];
|
||||||
pos.y -= obj.tile.tilesetTile.image.height;
|
pos.y -= obj.tile.tilesetTile.image.height;
|
||||||
if (!obj.tile.tilesetTile.image.bitmap)
|
if (!obj.tile.tilesetTile.image.texture)
|
||||||
container.addChild(obj.tile.tilesetTile.image.bitmap);
|
container.addChild(obj.tile.tilesetTile.image.texture);
|
||||||
obj.tile.tilesetTile.image.bitmap.x = pos.x;
|
obj.tile.tilesetTile.image.texture.x = pos.x;
|
||||||
obj.tile.tilesetTile.image.bitmap.y = pos.y;
|
obj.tile.tilesetTile.image.texture.y = pos.y;
|
||||||
obj.tile.tilesetTile.image.bitmap.filters = [];
|
obj.tile.tilesetTile.image.texture.filters = [];
|
||||||
obj.tile.tilesetTile.image.bitmap.rotation = 0;
|
obj.tile.tilesetTile.image.texture.rotation = 0;
|
||||||
obj.tile.tilesetTile.image.bitmap.scaleX = scale.x;
|
obj.tile.tilesetTile.image.texture.scaleX = scale.x;
|
||||||
obj.tile.tilesetTile.image.bitmap.scaleY = scale.y;
|
obj.tile.tilesetTile.image.texture.scaleY = scale.y;
|
||||||
break;
|
break;
|
||||||
case es.TmxObjectType.ellipse:
|
case es.TmxObjectType.ellipse:
|
||||||
pos = new es.Vector2(obj.x + obj.width * 0.5, obj.y + obj.height * 0.5).multiply(scale);
|
pos = new es.Vector2(obj.x + obj.width * 0.5, obj.y + obj.height * 0.5).multiply(scale);
|
||||||
@@ -8522,21 +8560,21 @@ var es;
|
|||||||
var rotation = 0;
|
var rotation = 0;
|
||||||
if (tile.diagonalFlip) {
|
if (tile.diagonalFlip) {
|
||||||
if (tile.horizontalFlip && tile.verticalFlip) {
|
if (tile.horizontalFlip && tile.verticalFlip) {
|
||||||
rotation = es.MathHelper.PiOver2;
|
rotation = es.MathHelper.toDegrees(es.MathHelper.PiOver2);
|
||||||
tx += tileHeight + (sourceRect.height * scale.y - tileHeight);
|
tx += tileHeight + (sourceRect.height * scale.y - tileHeight);
|
||||||
ty -= (sourceRect.width * scale.x - tileWidth);
|
ty -= (sourceRect.width * scale.x - tileWidth);
|
||||||
}
|
}
|
||||||
else if (tile.horizontalFlip) {
|
else if (tile.horizontalFlip) {
|
||||||
rotation = -es.MathHelper.PiOver2;
|
rotation = es.MathHelper.toDegrees(-es.MathHelper.PiOver2);
|
||||||
ty += tileHeight;
|
ty += tileHeight;
|
||||||
}
|
}
|
||||||
else if (tile.verticalFlip) {
|
else if (tile.verticalFlip) {
|
||||||
rotation = es.MathHelper.PiOver2;
|
rotation = es.MathHelper.toDegrees(es.MathHelper.PiOver2);
|
||||||
tx += tileWidth + (sourceRect.height * scale.y - tileHeight);
|
tx += tileWidth + (sourceRect.height * scale.y - tileHeight);
|
||||||
ty += (tileWidth - sourceRect.width * scale.x);
|
ty += (tileWidth - sourceRect.width * scale.x);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
rotation = -es.MathHelper.PiOver2;
|
rotation = es.MathHelper.toDegrees(-es.MathHelper.PiOver2);
|
||||||
ty += tileHeight;
|
ty += tileHeight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -8544,25 +8582,33 @@ var es;
|
|||||||
ty += (tileHeight - sourceRect.height * scale.y);
|
ty += (tileHeight - sourceRect.height * scale.y);
|
||||||
var pos = new es.Vector2(tx, ty).add(position);
|
var pos = new es.Vector2(tx, ty).add(position);
|
||||||
if (tile.tileset.image) {
|
if (tile.tileset.image) {
|
||||||
if (!tile.tileset.image.bitmap.parent)
|
if (!tile.tileset.image.bitmap.getTexture(gid.toString())) {
|
||||||
container.addChild(tile.tileset.image.bitmap);
|
tile.tileset.image.texture = new Bitmap(tile.tileset.image.bitmap.createTexture(gid.toString(), sourceRect.x, sourceRect.y, sourceRect.width, sourceRect.height));
|
||||||
tile.tileset.image.bitmap.x = pos.x;
|
container.addChild(tile.tileset.image.texture);
|
||||||
tile.tileset.image.bitmap.y = pos.y;
|
}
|
||||||
tile.tileset.image.bitmap.scaleX = scale.x;
|
tile.tileset.image.texture.x = pos.x;
|
||||||
tile.tileset.image.bitmap.scaleY = scale.y;
|
tile.tileset.image.texture.y = pos.y;
|
||||||
tile.tileset.image.bitmap.rotation = rotation;
|
tile.tileset.image.texture.scaleX = scale.x;
|
||||||
tile.tileset.image.bitmap.filters = [color];
|
tile.tileset.image.texture.scaleY = scale.y;
|
||||||
|
tile.tileset.image.texture.rotation = rotation;
|
||||||
|
tile.tileset.image.texture.anchorOffsetX = 0;
|
||||||
|
tile.tileset.image.texture.anchorOffsetY = 0;
|
||||||
|
tile.tileset.image.texture.filters = [color];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (tilesetTile.image.bitmap) {
|
if (tilesetTile.image.texture) {
|
||||||
if (!tilesetTile.image.bitmap.parent)
|
if (!tilesetTile.image.bitmap.getTexture(gid.toString())) {
|
||||||
container.addChild(tilesetTile.image.bitmap);
|
tilesetTile.image.texture = new Bitmap(tilesetTile.image.bitmap.createTexture(gid.toString(), sourceRect.x, sourceRect.y, sourceRect.width, sourceRect.height));
|
||||||
tilesetTile.image.bitmap.x = pos.x;
|
container.addChild(tilesetTile.image.texture);
|
||||||
tilesetTile.image.bitmap.y = pos.y;
|
}
|
||||||
tilesetTile.image.bitmap.scaleX = scale.x;
|
tilesetTile.image.texture.x = pos.x;
|
||||||
tilesetTile.image.bitmap.scaleY = scale.y;
|
tilesetTile.image.texture.y = pos.y;
|
||||||
tilesetTile.image.bitmap.rotation = rotation;
|
tilesetTile.image.texture.scaleX = scale.x;
|
||||||
tilesetTile.image.bitmap.filters = [color];
|
tilesetTile.image.texture.scaleY = scale.y;
|
||||||
|
tilesetTile.image.texture.rotation = rotation;
|
||||||
|
tilesetTile.image.texture.anchorOffsetX = 0;
|
||||||
|
tilesetTile.image.texture.anchorOffsetY = 0;
|
||||||
|
tilesetTile.image.texture.filters = [color];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -8673,7 +8719,7 @@ var es;
|
|||||||
};
|
};
|
||||||
TmxUtils.color16ToUnit = function ($color) {
|
TmxUtils.color16ToUnit = function ($color) {
|
||||||
if (!$color)
|
if (!$color)
|
||||||
return 0x000000;
|
return 0xFFFFFF;
|
||||||
var colorStr = "0x" + $color.slice(1);
|
var colorStr = "0x" + $color.slice(1);
|
||||||
return parseInt(colorStr, 16);
|
return parseInt(colorStr, 16);
|
||||||
};
|
};
|
||||||
|
|||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -101,8 +101,8 @@ module es {
|
|||||||
} else {
|
} else {
|
||||||
for (let i = 0; i < this.tiledMap.layers.length; i++) {
|
for (let i = 0; i < this.tiledMap.layers.length; i++) {
|
||||||
if (this.tiledMap.layers[i].visible && this.layerIndicesToRender.contains(i))
|
if (this.tiledMap.layers[i].visible && this.layerIndicesToRender.contains(i))
|
||||||
TiledRendering.renderLayer(this.tiledMap.layers[i] as TmxLayer, this.displayObject as egret.DisplayObjectContainer, Vector2.add(this.entity.transform.position, this._localOffset),
|
TiledRendering.renderLayerRenderCamera(this.tiledMap.layers[i] as TmxLayer, this.displayObject as egret.DisplayObjectContainer, Vector2.add(this.entity.transform.position, this._localOffset),
|
||||||
this.transform.scale, this.renderLayer);
|
this.transform.scale, this.renderLayer, camera.bounds);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,10 +40,8 @@ module es {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
export class TmxImage {
|
export class TmxImage {
|
||||||
public bitmap: egret.Bitmap;
|
public texture: egret.Bitmap;
|
||||||
public get texture(): egret.Texture{
|
public bitmap: egret.SpriteSheet;
|
||||||
return this.bitmap.texture;
|
|
||||||
}
|
|
||||||
public source: string;
|
public source: string;
|
||||||
public format: string;
|
public format: string;
|
||||||
public data: any;
|
public data: any;
|
||||||
@@ -53,7 +51,7 @@ module es {
|
|||||||
|
|
||||||
public dispose(){
|
public dispose(){
|
||||||
if (this.bitmap){
|
if (this.bitmap){
|
||||||
this.texture.dispose();
|
this.bitmap.dispose();
|
||||||
this.bitmap = null;
|
this.bitmap = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -249,12 +249,14 @@ module es {
|
|||||||
return null;
|
return null;
|
||||||
|
|
||||||
let dict = new Map<string, string>();
|
let dict = new Map<string, string>();
|
||||||
for (let p of prop["property"]) {
|
for (let p of prop) {
|
||||||
let pname = p["name"];
|
let pname = p["name"];
|
||||||
let valueAttr = p["value"];
|
let valueAttr = p["value"];
|
||||||
let pval = valueAttr ? valueAttr : p;
|
|
||||||
|
|
||||||
dict.set(pname, pval);
|
if (p["type"] == "color")
|
||||||
|
dict.set(pname, TmxUtils.color16ToUnit(valueAttr).toString());
|
||||||
|
else
|
||||||
|
dict.set(pname, valueAttr);
|
||||||
}
|
}
|
||||||
return dict;
|
return dict;
|
||||||
}
|
}
|
||||||
@@ -316,9 +318,9 @@ module es {
|
|||||||
tileset.tileRegions = new Map<number, Rectangle>();
|
tileset.tileRegions = new Map<number, Rectangle>();
|
||||||
if (tileset.image && tileset.image.bitmap) {
|
if (tileset.image && tileset.image.bitmap) {
|
||||||
let id = firstGid;
|
let id = firstGid;
|
||||||
for (let y = tileset.margin; y < tileset.image.bitmap.height - tileset.margin; y += tileset.tileHeight + tileset.spacing) {
|
for (let y = tileset.margin; y < tileset.image.height - tileset.margin; y += tileset.tileHeight + tileset.spacing) {
|
||||||
let column = 0;
|
let column = 0;
|
||||||
for (let x = tileset.margin; x < tileset.image.bitmap.width - tileset.margin; x += tileset.tileWidth + tileset.spacing) {
|
for (let x = tileset.margin; x < tileset.image.width - tileset.margin; x += tileset.tileWidth + tileset.spacing) {
|
||||||
tileset.tileRegions.set(id++, new Rectangle(x, y, tileset.tileWidth, tileset.tileHeight));
|
tileset.tileRegions.set(id++, new Rectangle(x, y, tileset.tileWidth, tileset.tileHeight));
|
||||||
|
|
||||||
if (++column >= tileset.columns)
|
if (++column >= tileset.columns)
|
||||||
@@ -327,7 +329,7 @@ module es {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
tileset.tiles.forEach(tile => {
|
tileset.tiles.forEach(tile => {
|
||||||
tileset.tileRegions.set(firstGid + tile.id, new Rectangle(0, 0, tile.image.bitmap.width, tile.image.bitmap.height));
|
tileset.tileRegions.set(firstGid + tile.id, new Rectangle(0, 0, tile.image.width, tile.image.height));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -515,7 +517,7 @@ module es {
|
|||||||
let xSource = xImage["image"];
|
let xSource = xImage["image"];
|
||||||
if (xSource) {
|
if (xSource) {
|
||||||
image.source = "resource/assets/" + xSource;
|
image.source = "resource/assets/" + xSource;
|
||||||
image.bitmap = new Bitmap(await RES.getResByUrl(image.source, null, this, RES.ResourceItem.TYPE_IMAGE));
|
image.bitmap = new egret.SpriteSheet(await RES.getResByUrl(image.source, null, this, RES.ResourceItem.TYPE_IMAGE));
|
||||||
} else {
|
} else {
|
||||||
image.format = xImage["format"];
|
image.format = xImage["format"];
|
||||||
let xData = xImage["data"];
|
let xData = xImage["data"];
|
||||||
@@ -523,8 +525,8 @@ module es {
|
|||||||
}
|
}
|
||||||
|
|
||||||
image.trans = TmxUtils.color16ToUnit(xImage["trans"]);
|
image.trans = TmxUtils.color16ToUnit(xImage["trans"]);
|
||||||
image.width = xImage["width"] != undefined ? xImage["width"] : 0;
|
image.width = xImage["imagewidth"] != undefined ? xImage["imagewidth"] : 0;
|
||||||
image.height = xImage["height"] != undefined ? xImage["height"] : 0;
|
image.height = xImage["imageheight"] != undefined ? xImage["imageheight"] : 0;
|
||||||
|
|
||||||
return image;
|
return image;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
module es {
|
module es {
|
||||||
|
import Bitmap = egret.Bitmap;
|
||||||
|
|
||||||
export class TiledRendering {
|
export class TiledRendering {
|
||||||
public static renderMap(map: TmxMap, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number) {
|
public static renderMap(map: TmxMap, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number) {
|
||||||
map.layers.forEach(layer => {
|
map.layers.forEach(layer => {
|
||||||
@@ -21,7 +23,7 @@ module es {
|
|||||||
let tileWidth = layer.map.tileWidth * scale.x;
|
let tileWidth = layer.map.tileWidth * scale.x;
|
||||||
let tileHeight = layer.map.tileHeight * scale.y;
|
let tileHeight = layer.map.tileHeight * scale.y;
|
||||||
|
|
||||||
let color = DrawUtils.getColorMatrix(0x000000);
|
let color = DrawUtils.getColorMatrix(0xFFFFFF);
|
||||||
for (let i = 0; i < layer.tiles.length; i++) {
|
for (let i = 0; i < layer.tiles.length; i++) {
|
||||||
let tile = layer.tiles[i];
|
let tile = layer.tiles[i];
|
||||||
if (!tile)
|
if (!tile)
|
||||||
@@ -31,20 +33,67 @@ module es {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static renderLayerRenderCamera(layer: ITmxLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number, camerClipBounds: Rectangle){
|
||||||
|
if (layer instanceof TmxLayer && layer.visible) {
|
||||||
|
this.renderLayerCamera(layer, container, position, scale, layerDepth, camerClipBounds);
|
||||||
|
} else if (layer instanceof TmxImageLayer && layer.visible) {
|
||||||
|
this.renderImageLayer(layer, container, position, scale, layerDepth);
|
||||||
|
} else if (layer instanceof TmxGroup && layer.visible) {
|
||||||
|
this.renderGroup(layer, container, position, scale, layerDepth);
|
||||||
|
} else if (layer instanceof TmxObjectGroup && layer.visible) {
|
||||||
|
this.renderObjectGroup(layer, container, position, scale, layerDepth);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static renderLayerCamera(layer: TmxLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number, camerClipBounds: Rectangle){
|
||||||
|
if (!layer.visible)
|
||||||
|
return;
|
||||||
|
|
||||||
|
position = position.add(layer.offset);
|
||||||
|
|
||||||
|
camerClipBounds.location = camerClipBounds.location.subtract(position);
|
||||||
|
|
||||||
|
let tileWidth = layer.map.tileWidth * scale.x;
|
||||||
|
let tileHeight = layer.map.tileHeight * scale.y;
|
||||||
|
|
||||||
|
let minX, minY, maxX, maxY = 0;
|
||||||
|
if (layer.map.requiresLargeTileCulling){
|
||||||
|
minX = layer.map.worldToTilePositionX(camerClipBounds.left - (layer.map.maxTileWidth * scale.x - tileWidth));
|
||||||
|
minY = layer.map.worldToTilePositionY(camerClipBounds.top - (layer.map.maxTileHeight * scale.y - tileHeight));
|
||||||
|
maxX = layer.map.worldToTilePositionX(camerClipBounds.right + (layer.map.maxTileWidth * scale.x - tileWidth));
|
||||||
|
maxY = layer.map.worldToTilePositionY(camerClipBounds.bottom + (layer.map.maxTileHeight * scale.y - tileHeight));
|
||||||
|
}else{
|
||||||
|
minX = layer.map.worldToTilePositionX(camerClipBounds.left);
|
||||||
|
minY = layer.map.worldToTilePositionY(camerClipBounds.top);
|
||||||
|
maxX = layer.map.worldToTilePositionX(camerClipBounds.right);
|
||||||
|
maxY = layer.map.worldToTilePositionY(camerClipBounds.bottom);
|
||||||
|
}
|
||||||
|
|
||||||
|
let color = DrawUtils.getColorMatrix(0xFFFFFF);
|
||||||
|
|
||||||
|
for (let y = minY; y <= maxY; y ++){
|
||||||
|
for (let x = minX; x <= maxX; x ++){
|
||||||
|
let tile = layer.getTile(x, y);
|
||||||
|
if (tile)
|
||||||
|
this.renderTile(tile, container, position, scale, tileWidth, tileHeight, color, layerDepth);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static renderImageLayer(layer: TmxImageLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number) {
|
public static renderImageLayer(layer: TmxImageLayer, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number) {
|
||||||
if (!layer.visible)
|
if (!layer.visible)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
let color = DrawUtils.getColorMatrix(0x000000);
|
let color = DrawUtils.getColorMatrix(0xFFFFFF);
|
||||||
let pos = Vector2.add(position, new Vector2(layer.offsetX, layer.offsetY).multiply(scale));
|
let pos = Vector2.add(position, new Vector2(layer.offsetX, layer.offsetY).multiply(scale));
|
||||||
if (!layer.image.bitmap.parent)
|
if (!layer.image.texture.parent)
|
||||||
container.addChild(layer.image.bitmap);
|
container.addChild(layer.image.texture);
|
||||||
layer.image.bitmap.x = pos.x;
|
layer.image.texture.x = pos.x;
|
||||||
layer.image.bitmap.y = pos.y;
|
layer.image.texture.y = pos.y;
|
||||||
layer.image.bitmap.scaleX = scale.x;
|
layer.image.texture.scaleX = scale.x;
|
||||||
layer.image.bitmap.scaleY = scale.y;
|
layer.image.texture.scaleY = scale.y;
|
||||||
layer.image.bitmap.filters = [color];
|
layer.image.texture.filters = [color];
|
||||||
}
|
}
|
||||||
|
|
||||||
public static renderObjectGroup(objGroup: TmxObjectGroup, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number) {
|
public static renderObjectGroup(objGroup: TmxObjectGroup, container: egret.DisplayObjectContainer, position: Vector2, scale: Vector2, layerDepth: number) {
|
||||||
@@ -57,7 +106,7 @@ module es {
|
|||||||
continue;
|
continue;
|
||||||
|
|
||||||
// 如果我们不调试渲染,我们只渲染平铺块和文本类型
|
// 如果我们不调试渲染,我们只渲染平铺块和文本类型
|
||||||
if (!Core.debugRenderEndabled){
|
if (!Core.debugRenderEndabled) {
|
||||||
if (obj.objectType != TmxObjectType.tile && obj.objectType != TmxObjectType.text)
|
if (obj.objectType != TmxObjectType.tile && obj.objectType != TmxObjectType.text)
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -86,14 +135,14 @@ module es {
|
|||||||
let sourceRect = tileset.tileRegions[obj.tile.gid];
|
let sourceRect = tileset.tileRegions[obj.tile.gid];
|
||||||
pos.y -= obj.tile.tilesetTile.image.height;
|
pos.y -= obj.tile.tilesetTile.image.height;
|
||||||
|
|
||||||
if (!obj.tile.tilesetTile.image.bitmap)
|
if (!obj.tile.tilesetTile.image.texture)
|
||||||
container.addChild(obj.tile.tilesetTile.image.bitmap);
|
container.addChild(obj.tile.tilesetTile.image.texture);
|
||||||
obj.tile.tilesetTile.image.bitmap.x = pos.x;
|
obj.tile.tilesetTile.image.texture.x = pos.x;
|
||||||
obj.tile.tilesetTile.image.bitmap.y = pos.y;
|
obj.tile.tilesetTile.image.texture.y = pos.y;
|
||||||
obj.tile.tilesetTile.image.bitmap.filters = [];
|
obj.tile.tilesetTile.image.texture.filters = [];
|
||||||
obj.tile.tilesetTile.image.bitmap.rotation = 0;
|
obj.tile.tilesetTile.image.texture.rotation = 0;
|
||||||
obj.tile.tilesetTile.image.bitmap.scaleX = scale.x;
|
obj.tile.tilesetTile.image.texture.scaleX = scale.x;
|
||||||
obj.tile.tilesetTile.image.bitmap.scaleY = scale.y;
|
obj.tile.tilesetTile.image.texture.scaleY = scale.y;
|
||||||
break;
|
break;
|
||||||
case TmxObjectType.ellipse:
|
case TmxObjectType.ellipse:
|
||||||
pos = new Vector2(obj.x + obj.width * 0.5, obj.y + obj.height * 0.5).multiply(scale);
|
pos = new Vector2(obj.x + obj.width * 0.5, obj.y + obj.height * 0.5).multiply(scale);
|
||||||
@@ -115,7 +164,7 @@ module es {
|
|||||||
Vector2.zero, 1);
|
Vector2.zero, 1);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if (Core.debugRenderEndabled){
|
if (Core.debugRenderEndabled) {
|
||||||
if (!obj.textField.parent)
|
if (!obj.textField.parent)
|
||||||
container.addChild(obj.textField);
|
container.addChild(obj.textField);
|
||||||
DrawUtils.drawString(obj.textField, `${obj.name}(${obj.type})`, Vector2.subtract(pos, new Vector2(0, 15)), 0xffffff, 0, Vector2.zero, 1);
|
DrawUtils.drawString(obj.textField, `${obj.name}(${obj.type})`, Vector2.subtract(pos, new Vector2(0, 15)), 0xffffff, 0, Vector2.zero, 1);
|
||||||
@@ -166,18 +215,18 @@ module es {
|
|||||||
|
|
||||||
if (tile.diagonalFlip) {
|
if (tile.diagonalFlip) {
|
||||||
if (tile.horizontalFlip && tile.verticalFlip) {
|
if (tile.horizontalFlip && tile.verticalFlip) {
|
||||||
rotation = MathHelper.PiOver2;
|
rotation = MathHelper.toDegrees(MathHelper.PiOver2);
|
||||||
tx += tileHeight + (sourceRect.height * scale.y - tileHeight);
|
tx += tileHeight + (sourceRect.height * scale.y - tileHeight);
|
||||||
ty -= (sourceRect.width * scale.x - tileWidth);
|
ty -= (sourceRect.width * scale.x - tileWidth);
|
||||||
} else if (tile.horizontalFlip) {
|
} else if (tile.horizontalFlip) {
|
||||||
rotation = -MathHelper.PiOver2;
|
rotation = MathHelper.toDegrees(-MathHelper.PiOver2);
|
||||||
ty += tileHeight;
|
ty += tileHeight;
|
||||||
} else if (tile.verticalFlip) {
|
} else if (tile.verticalFlip) {
|
||||||
rotation = MathHelper.PiOver2;
|
rotation = MathHelper.toDegrees(MathHelper.PiOver2);
|
||||||
tx += tileWidth + (sourceRect.height * scale.y - tileHeight);
|
tx += tileWidth + (sourceRect.height * scale.y - tileHeight);
|
||||||
ty += (tileWidth - sourceRect.width * scale.x);
|
ty += (tileWidth - sourceRect.width * scale.x);
|
||||||
} else {
|
} else {
|
||||||
rotation = -MathHelper.PiOver2;
|
rotation = MathHelper.toDegrees(-MathHelper.PiOver2);
|
||||||
ty += tileHeight;
|
ty += tileHeight;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -187,26 +236,34 @@ module es {
|
|||||||
ty += (tileHeight - sourceRect.height * scale.y);
|
ty += (tileHeight - sourceRect.height * scale.y);
|
||||||
|
|
||||||
let pos = new Vector2(tx, ty).add(position);
|
let pos = new Vector2(tx, ty).add(position);
|
||||||
if (tile.tileset.image) {
|
|
||||||
if (!tile.tileset.image.bitmap.parent)
|
|
||||||
container.addChild(tile.tileset.image.bitmap);
|
|
||||||
tile.tileset.image.bitmap.x = pos.x;
|
|
||||||
tile.tileset.image.bitmap.y = pos.y;
|
|
||||||
tile.tileset.image.bitmap.scaleX = scale.x;
|
|
||||||
tile.tileset.image.bitmap.scaleY = scale.y;
|
|
||||||
tile.tileset.image.bitmap.rotation = rotation;
|
|
||||||
tile.tileset.image.bitmap.filters = [color];
|
|
||||||
} else {
|
|
||||||
if (tilesetTile.image.bitmap){
|
|
||||||
if (!tilesetTile.image.bitmap.parent)
|
|
||||||
container.addChild(tilesetTile.image.bitmap);
|
|
||||||
|
|
||||||
tilesetTile.image.bitmap.x = pos.x;
|
if (tile.tileset.image) {
|
||||||
tilesetTile.image.bitmap.y = pos.y;
|
if (!tile.tileset.image.bitmap.getTexture(gid.toString())) {
|
||||||
tilesetTile.image.bitmap.scaleX = scale.x;
|
tile.tileset.image.texture = new Bitmap(tile.tileset.image.bitmap.createTexture(gid.toString(), sourceRect.x, sourceRect.y, sourceRect.width, sourceRect.height));
|
||||||
tilesetTile.image.bitmap.scaleY = scale.y;
|
container.addChild(tile.tileset.image.texture);
|
||||||
tilesetTile.image.bitmap.rotation = rotation;
|
}
|
||||||
tilesetTile.image.bitmap.filters = [color];
|
tile.tileset.image.texture.x = pos.x;
|
||||||
|
tile.tileset.image.texture.y = pos.y;
|
||||||
|
tile.tileset.image.texture.scaleX = scale.x;
|
||||||
|
tile.tileset.image.texture.scaleY = scale.y;
|
||||||
|
tile.tileset.image.texture.rotation = rotation;
|
||||||
|
tile.tileset.image.texture.anchorOffsetX = 0;
|
||||||
|
tile.tileset.image.texture.anchorOffsetY = 0;
|
||||||
|
tile.tileset.image.texture.filters = [color];
|
||||||
|
} else {
|
||||||
|
if (tilesetTile.image.texture) {
|
||||||
|
if (!tilesetTile.image.bitmap.getTexture(gid.toString())) {
|
||||||
|
tilesetTile.image.texture = new Bitmap(tilesetTile.image.bitmap.createTexture(gid.toString(), sourceRect.x, sourceRect.y, sourceRect.width, sourceRect.height));
|
||||||
|
container.addChild(tilesetTile.image.texture);
|
||||||
|
}
|
||||||
|
tilesetTile.image.texture.x = pos.x;
|
||||||
|
tilesetTile.image.texture.y = pos.y;
|
||||||
|
tilesetTile.image.texture.scaleX = scale.x;
|
||||||
|
tilesetTile.image.texture.scaleY = scale.y;
|
||||||
|
tilesetTile.image.texture.rotation = rotation;
|
||||||
|
tilesetTile.image.texture.anchorOffsetX = 0;
|
||||||
|
tilesetTile.image.texture.anchorOffsetY = 0;
|
||||||
|
tilesetTile.image.texture.filters = [color];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ module es {
|
|||||||
*/
|
*/
|
||||||
static color16ToUnit($color:string): number {
|
static color16ToUnit($color:string): number {
|
||||||
if (!$color)
|
if (!$color)
|
||||||
return 0x000000;
|
return 0xFFFFFF;
|
||||||
var colorStr: string = "0x" + $color.slice(1);
|
var colorStr: string = "0x" + $color.slice(1);
|
||||||
return parseInt(colorStr, 16);
|
return parseInt(colorStr, 16);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user