THE NVL Maker

 找回密码
 注册
搜索
查看: 2606|回复: 3

[系统修改] 如何修改显示人物按钮中的位置设定

[复制链接]

2

主题

6

帖子

0

精华

游戏开发者

积分
6
发表于 2024-9-24 07:08:52 | 显示全部楼层 |阅读模式
我想修改“显示人物”按钮中的位置设定,让左中右三个自动设置的立绘的位置统一向一下移动50个坐标,应该修改哪个文件哪一行代码呢?
回复

使用道具 举报

16

主题

1089

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1110
发表于 2024-9-24 14:55:11 | 显示全部楼层
config.tjs内修改人物中线位置设置,使用编辑器会自动调用编辑工具。
回复

使用道具 举报

2

主题

6

帖子

0

精华

游戏开发者

积分
6
 楼主| 发表于 2024-9-25 04:21:25 | 显示全部楼层
本帖最后由 djlsay 于 2024-9-25 04:26 编辑
VariableD 发表于 2024-9-24 14:55
config.tjs内修改人物中线位置设置,使用编辑器会自动调用编辑工具。

没听懂,能否说的详细些。我记得没错的话编辑工具内的自动对齐功能只能调整中线的x轴位置,并不能调整y轴的,我需要将人物立绘向下移动,应该如何调整y轴,将中线位置向下移动?
回复

使用道具 举报

16

主题

1089

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1110
发表于 2024-9-26 11:43:44 来自手机 | 显示全部楼层
可尝试修改:
AnimationLayers.tjs

                        // ポジションに従って位置を決定
                        if (window.scPositionX[elm.pos] !== void) {
                                left= window.scPositionX[elm.pos] - width \ 2;
                        } else {
                                left= +elm.pos - width \ 2;
                        }
                        top = window.scHeight - height + (elm.yoff !== void ? +elm.yoff : 0);




window.scHeight改为window.scHeight+50 即可。
注意这样所有带有pos参数的image的y值应该都会跟着修改。
比较危险但是省事↑
--------------------------------------------------------------------------
比较安全但是麻烦↓

只修改macro_play里面涉及fg显示的宏。原来应该都是使用image指令,可以自己封装一层然后在显示立绘后面追加移动之类的指令,然后用这个宏替代image。例如:

(1)macro_play里追加以下函数和宏:
[iscript]
//追加函数
function getFgImageLayer(layer)
{
        return kag.back.layers[layer];
}
[endscript]
;------------------------------------------------------------------
;★立绘层封装
;------------------------------------------------------------------
[macro name=fglayer]
[image * layer=%layer page="back" pos=%pos storage=%storage visible="true"]
;取得当前使用的立绘图层
[eval exp="tf.temp_image=getFgImageLayer(mp.layer)"]
;向下移动50像素
[layopt layer=%layer page="back" left=&tf.temp_image.left top=&(tf.temp_image.top+50)]
[endmacro]

(2)将显示人物的:[macro name=fg]
里面的[image * storage=%storage|empty layer=%layer|0 page="back" pos=%pos visible="true"]
修改为[fglayer * layer=%layer|0 storage=%storage|empty pos=%pos]

(3)将背景宏[macro name=bg]里
显示人物的image都替换为fglayer指令。
;显示人物
[if exp="mp.l!=void"]
[fglayer layer=1 storage=%l pos="left"]
[endif]
[if exp="mp.c!=void"]
[fglayer layer=0 storage=%c pos="center"]
[endif]
[if exp="mp.r!=void"]
[fglayer layer=2 storage=%r pos="right"]
[endif]








回复

使用道具 举报

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

本版积分规则

Archiver|手机版|nvlmaker

GMT+8, 2025-5-2 03:06 , Processed in 0.012838 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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