查看: 8101|回复: 16

[有事请教] 请问如何将战斗中选择的技能图标变为大图?

[复制链接]
梦石
0
星屑
368
在线时间
94 小时
注册时间
2008-1-13
回帖
15
发表于 2018-3-8 12:41:19 | 显示全部楼层 |阅读模式
悬赏100星屑已解决
本帖最后由 jay999 于 2018-3-9 09:11 编辑

已解决。感谢ekmomo!最终效果看起来很棒!
这个插件可以适用于角色可学技能种类较多,但同时学会的技能总数又较少的情况。比如像类似口袋妖怪的游戏,可以自由搭配和遗忘技能,就非常适合使用这个插件。



系统自带的战斗图标默认是Ironset文件,但是每个图标的大小是限定死的。想换成大图片,类似的插件YEP.123 – Item Picture Images将物品图片换成大图,但那个插件仅限于物品。
我的项目因为技能总数较多,所以想以大图片的方式显示技能,便于查看和区分技能。人对于图形的记忆和辨识度要比文字更加容易。
不会用论坛的插入图片功能啊!怎么把图片附件放在文字之间啊...........

图一是用了YEP.3 – Battle Engine Core战斗核心插件后的技能选择界面。

图二是想要的技能选择界面。红色方框是新的技能图片,大小相当于原本图标的4倍大小。能从picture文件夹读取最好。
然后在每个技能图片的右下角叠加显示MP/TP消耗数字。技能名字不显示,以后考虑把技能名字做到浮动窗口里去。

图1

图1

图2

图2

最佳答案

查看完整内容

因为不确定你以后会不会用SkillCore插件和Yanfly本身写法问题,所以技能消耗那里是优先兼容,先做项目吧。 技能图标默认目录是img/skill,默认格式png。要使用技能图标的话在技能备注里写(如表示使用img/skills/06.png作为技能图),不备注默认使用系统图标。
梦石
0
星屑
4716
在线时间
501 小时
注册时间
2013-12-7
回帖
333

极短28参与极短27参与

发表于 2018-3-8 12:41:20 | 显示全部楼层
1.png
因为不确定你以后会不会用SkillCore插件和Yanfly本身写法问题,所以技能消耗那里是优先兼容,先做项目吧。
技能图标默认目录是img/skill,默认格式png。要使用技能图标的话在技能备注里写<icon:filename>(如<icon:06>表示使用img/skills/06.png作为技能图),不备注默认使用系统图标。
Skill_Icon.rar (860 Bytes, 下载次数: 99)

评分

参与人数 2赞 +2 收起 理由
岸波白野 + 1 精品文章
白嫩白嫩的 + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
4716
在线时间
501 小时
注册时间
2013-12-7
回帖
333

极短28参与极短27参与

发表于 2018-3-8 13:01:28 | 显示全部楼层
说不明白~
你画个UI图,我帮你写。
回复

使用道具 举报

梦石
0
星屑
368
在线时间
94 小时
注册时间
2008-1-13
回帖
15
 楼主| 发表于 2018-3-8 14:40:31 | 显示全部楼层
ekmomo 发表于 2018-3-8 13:01
说不明白~
你画个UI图,我帮你写。

画了UI图了,是不是有点复杂...................
回复

使用道具 举报

梦石
0
星屑
4716
在线时间
501 小时
注册时间
2013-12-7
回帖
333

极短28参与极短27参与

发表于 2018-3-8 15:37:31 | 显示全部楼层
本帖最后由 ekmomo 于 2018-3-8 16:33 编辑

回复已经被作者隐藏。
回复

使用道具 举报

梦石
0
星屑
4716
在线时间
501 小时
注册时间
2013-12-7
回帖
333

极短28参与极短27参与

发表于 2018-3-8 15:45:50 | 显示全部楼层
本帖最后由 ekmomo 于 2018-3-8 16:14 编辑

或者这样的。

Window_BattleSkill.prototype.drawItemName = function(item, x, y, width) {
    width = 64;
    if (item) {
        var iconBoxWidth = Window_Base._iconWidth + 4;
        this.resetTextColor();
        this.drawIcon(item.iconIndex, x + 2, y + 2);
                this.contents.fontSize = 18;
        this.drawText(item.name, x, y + 32, 64, 'center');
    }
};
Window_BattleSkill.prototype.drawIcon = function(iconIndex, x, y) {
    var bitmap = ImageManager.loadSystem('IconSet');
    var pw = Window_Base._iconWidth;
    var ph = Window_Base._iconHeight;
    var sx = iconIndex % 16 * pw;
    var sy = Math.floor(iconIndex / 16) * ph;
    this.contents.blt(bitmap, sx, sy, pw, ph, x, y, 64, 64);
};
Window_BattleSkill.prototype.itemWidth = function() {
        return 68;
};
Window_BattleSkill.prototype.itemHeight = function() {
        return 68;
};
回复

使用道具 举报

梦石
0
星屑
368
在线时间
94 小时
注册时间
2008-1-13
回帖
15
 楼主| 发表于 2018-3-8 16:15:27 | 显示全部楼层

是这个意思,技能名字字体小一点或者告诉我一下改哪里能改变字大小。消耗不在下方居中,在右下角显示。非常感谢!
回复

使用道具 举报

梦石
0
星屑
4716
在线时间
501 小时
注册时间
2013-12-7
回帖
333

极短28参与极短27参与

发表于 2018-3-8 16:22:55 | 显示全部楼层
本帖最后由 ekmomo 于 2018-3-8 16:24 编辑

this.contents.fontSize = 18; 这行是字体大小
回复

使用道具 举报

梦石
0
星屑
368
在线时间
94 小时
注册时间
2008-1-13
回帖
15
 楼主| 发表于 2018-3-8 16:28:24 | 显示全部楼层
本帖最后由 jay999 于 2018-3-8 16:32 编辑
ekmomo 发表于 2018-3-8 15:45
或者这样的。

Window_BattleSkill.prototype.drawItemName = function(item, x, y, width) {


请问这个是不是直接另存为js文件作为插件启用就可以了?还是需要添加到某个系统脚本里?
可以用picture文件夹读取图片吗?用Ironset感觉不太够用啊,以为技能总数较多。。。。
我现在试不了,等晚上回家试试。多谢多谢!
回复

使用道具 举报

梦石
0
星屑
4716
在线时间
501 小时
注册时间
2013-12-7
回帖
333

极短28参与极短27参与

发表于 2018-3-8 16:30:04 | 显示全部楼层
jay999 发表于 2018-3-8 16:28
请问这个是不是直接另存为js文件作为插件启用就可以了?还是需要添加到某个系统脚本里?
我现在试不了, ...

存个JS。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部