加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
请教各位大佬,
我用了YEP的ActSeqPack2来设计横版战斗动作和移动角色,比如攻击时会移动人物到目标面前,
现在的问题是一些稍微大一些的贴图移动后与其他贴图有部分覆盖时,会出现图中图层错位的问题,
按道理说应该是最大纵坐标更大的图层在更上层,但是我没有找到相关的可以设置贴图上下顺序的地方,不知道大家有没有遇到过这个问题?
我在rpg_spirits.js里找到了下面这样一段,包含了一段根据y值来调整敌人数组顺序的脚本,但似乎是用在创建战斗时的(?)
我在想,战斗过程中能不能实时调整这个显示的图层顺序,比如在每次onMoveEnd的时候,又到底是哪个值控制了图层的上下顺序..
Spriteset_Battle.prototype.createEnemies = function() { var enemies = $gameTroop.members(); var sprites = []; for (var i = 0; i < enemies.length; i++) { sprites[i] = new Sprite_Enemy(enemies[i]); } sprites.sort(this.compareEnemySprite.bind(this)); for (var j = 0; j < sprites.length; j++) { this._battleField.addChild(sprites[j]); } this._enemySprites = sprites; }; Spriteset_Battle.prototype.compareEnemySprite = function(a, b) { if (a.y !== b.y) { return a.y - b.y; } else { return b.spriteId - a.spriteId; } };
Spriteset_Battle.prototype.createEnemies = function() {
var enemies = $gameTroop.members();
var sprites = [];
for (var i = 0; i < enemies.length; i++) {
sprites[i] = new Sprite_Enemy(enemies[i]);
}
sprites.sort(this.compareEnemySprite.bind(this));
for (var j = 0; j < sprites.length; j++) {
this._battleField.addChild(sprites[j]);
}
this._enemySprites = sprites;
};
Spriteset_Battle.prototype.compareEnemySprite = function(a, b) {
if (a.y !== b.y) {
return a.y - b.y;
} else {
return b.spriteId - a.spriteId;
}
};
|