设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2174|回复: 1
打印 上一主题 下一主题

[有事请教] 请教如何调整sv战斗中人物贴图的上下顺序?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
88
在线时间
9 小时
注册时间
2018-7-17
帖子
8
跳转到指定楼层
1
发表于 2020-8-3 14:56:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x

请教各位大佬,
我用了YEP的ActSeqPack2来设计横版战斗动作和移动角色,比如攻击时会移动人物到目标面前,
现在的问题是一些稍微大一些的贴图移动后与其他贴图有部分覆盖时,会出现图中图层错位的问题,
按道理说应该是最大纵坐标更大的图层在更上层,但是我没有找到相关的可以设置贴图上下顺序的地方,不知道大家有没有遇到过这个问题?

我在rpg_spirits.js里找到了下面这样一段,包含了一段根据y值来调整敌人数组顺序的脚本,但似乎是用在创建战斗时的(?)
我在想,战斗过程中能不能实时调整这个显示的图层顺序,比如在每次onMoveEnd的时候,又到底是哪个值控制了图层的上下顺序..
JAVASCRIPT 代码复制
  1. Spriteset_Battle.prototype.createEnemies = function() {
  2.     var enemies = $gameTroop.members();
  3.     var sprites = [];
  4.     for (var i = 0; i < enemies.length; i++) {
  5.         sprites[i] = new Sprite_Enemy(enemies[i]);
  6.     }
  7.     sprites.sort(this.compareEnemySprite.bind(this));
  8.     for (var j = 0; j < sprites.length; j++) {
  9.         this._battleField.addChild(sprites[j]);
  10.     }
  11.     this._enemySprites = sprites;
  12. };
  13.  
  14. Spriteset_Battle.prototype.compareEnemySprite = function(a, b) {
  15.     if (a.y !== b.y) {
  16.         return a.y - b.y;
  17.     } else {
  18.         return b.spriteId - a.spriteId;
  19.     }
  20. };

Lv1.梦旅人

梦石
0
星屑
88
在线时间
9 小时
注册时间
2018-7-17
帖子
8
2
 楼主| 发表于 2020-8-11 11:31:04 | 只看该作者
解决了……
还在叭叭叭地找代码里的排序方法呢,最后发现原来是BattleEngineCore里的一个特殊的优先级选项影响了重叠时的图层顺序,改成默认无优先级就行了,本来就是按照纵坐标排序的……

评分

参与人数 1+1 收起 理由
白嫩白嫩的 + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-4-27 02:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表