drawBlock outside
This commit is contained in:
parent
8d7365b683
commit
c5fb825b87
@ -72,6 +72,12 @@ control.prototype.setRequestAnimationFrame = function () {
|
|||||||
|
|
||||||
// Global Autotile Animate
|
// Global Autotile Animate
|
||||||
core.status.autotileAnimateObjs.blocks.forEach(function (block) {
|
core.status.autotileAnimateObjs.blocks.forEach(function (block) {
|
||||||
|
// ------ 界面外的动画不绘制
|
||||||
|
if (block.x * 32 < core.bigmap.offsetX - 64 || block.x * 32 > core.bigmap.offsetX + 416 + 32
|
||||||
|
|| block.y * 32 < core.bigmap.offsetY - 64 || block.y * 32 > core.bigmap.offsetY + 416 + 32 + 16) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var cv = core.isset(block.name)?core.canvas[block.name]:core.canvas.event;
|
var cv = core.isset(block.name)?core.canvas[block.name]:core.canvas.event;
|
||||||
cv.clearRect(block.x * 32, block.y * 32, 32, 32);
|
cv.clearRect(block.x * 32, block.y * 32, 32, 32);
|
||||||
if (core.isset(block.name)) {
|
if (core.isset(block.name)) {
|
||||||
|
|||||||
13
libs/maps.js
13
libs/maps.js
@ -364,16 +364,21 @@ maps.prototype.drawBlock = function (block, animate, dx, dy) {
|
|||||||
// none:空地
|
// none:空地
|
||||||
if (block.event.id=='none') return;
|
if (block.event.id=='none') return;
|
||||||
|
|
||||||
var cls = block.event.cls;
|
dx = dx || 0;
|
||||||
|
dy = dy || 0;
|
||||||
|
|
||||||
|
// --- 在界面外的动画不绘制
|
||||||
|
if ((animate||0)>1 && (block.event.animate||0)>1 &&
|
||||||
|
(block.x * 32 + dx < core.bigmap.offsetX - 64 || block.x * 32 + dx > core.bigmap.offsetX + 416 + 32
|
||||||
|
|| block.y * 32 + dy < core.bigmap.offsetY - 64 || block.y * 32 + dy > core.bigmap.offsetY + 416 + 32 + 16)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
var blockInfo = this.__getBlockInfo(block);
|
var blockInfo = this.__getBlockInfo(block);
|
||||||
if (blockInfo == null) return;
|
if (blockInfo == null) return;
|
||||||
var image = blockInfo.image, x = blockInfo.bx, y = blockInfo.by, height = blockInfo.height;
|
var image = blockInfo.image, x = blockInfo.bx, y = blockInfo.by, height = blockInfo.height;
|
||||||
if (!blockInfo.isTileset) x = (animate||0)%(block.event.animate||1);
|
if (!blockInfo.isTileset) x = (animate||0)%(block.event.animate||1);
|
||||||
|
|
||||||
dx = dx || 0;
|
|
||||||
dy = dy || 0;
|
|
||||||
|
|
||||||
if (core.isset(block.name)) {
|
if (core.isset(block.name)) {
|
||||||
core.clearMap(block.name, block.x * 32, block.y * 32, 32, 32);
|
core.clearMap(block.name, block.x * 32, block.y * 32, 32, 32);
|
||||||
if (block.name == 'bg') {
|
if (block.name == 'bg') {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user