THE NVL Maker

 找回密码
 注册
搜索
查看: 1081|回复: 5

[脚本编辑] 想问下怎么让说话的角色一个人亮,做明暗切分的效果

[复制链接]

6

主题

13

帖子

0

精华

游戏开发者

积分
13
发表于 2023-3-8 23:16:01 | 显示全部楼层 |阅读模式
想做图中这种效果,请问有什么比较方便的办法嘛?
感恩比心!


本帖子中包含更多资源

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

x
回复

使用道具 举报

16

主题

982

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1003
发表于 2023-3-9 13:06:24 | 显示全部楼层
在显示image的时候加入参数: mcolor="0x000000" mopacity=64 变黑
mcolor="0x000000" mopacity=0 恢复原样
因此只需要在fg宏里面存在image指令的地方加入mcolor="0x000000" mopacity=%mopaicty|0
即可达成通过给fg指定mopacity参数来控制立绘的亮暗。
不想在让图片变暗时重复写图片名,可以在fg宏里面继续追加第一次显示时,根据layer用变量记录图片名,clfg时清除图片名的功能。
回复

使用道具 举报

6

主题

13

帖子

0

精华

游戏开发者

积分
13
 楼主| 发表于 2023-3-11 01:00:42 | 显示全部楼层
VariableD 发表于 2023-3-9 13:06
在显示image的时候加入参数: mcolor="0x000000" mopacity=64 变黑
mcolor="0x000000" mopacity=0 恢复原样 ...

想请教下如何通过图层的layer属性获得图层上的图片文件名?
kag.fore.layers[n]的属性里似乎没有存储图片名?
回复

使用道具 举报

16

主题

982

帖子

0

精华

管理员

Rank: 9Rank: 9Rank: 9

积分
1003
发表于 2023-3-11 09:28:48 来自手机 | 显示全部楼层
写指令的时候自然会传入文件名参数,用那个就好了啊!
回复

使用道具 举报

6

主题

13

帖子

0

精华

游戏开发者

积分
13
 楼主| 发表于 2023-3-11 13:21:06 | 显示全部楼层
VariableD 发表于 2023-3-11 09:28
写指令的时候自然会传入文件名参数,用那个就好了啊!

我想用原图层的立绘,因为经常是立绘已经放在上面了,然后几个人轮流讲话。
或者如果有现成的图层复制指令吗?没找到这个
如果能实现图层复制,那应该就有根据图层抓取文件名的功能……
没有我就用透明度凑数好了OTZ
回复

使用道具 举报

6

主题

13

帖子

0

精华

游戏开发者

积分
13
 楼主| 发表于 2023-3-11 13:26:15 | 显示全部楼层
本帖最后由 Neko.C 于 2023-3-11 13:33 编辑

;light图层以外的0~6图层透明度降低。通过@light layer="n"  调用N图层以外图层透明度降低
;--------------------------------------------
[macro name=light]

[if exp="mp.layer!=0"]
[layopt layer=0 opacity=200]
[else]
[layopt layer=0 opacity=255]
[endif]


[if exp="mp.layer!=1"]
[layopt layer=1 opacity=200]
[else]
[layopt layer=1 opacity=255]
[endif]

[if exp="mp.layer!=2"]
[layopt layer=2 opacity=200]
[else]
[layopt layer=2 opacity=255]
[endif]

[if exp="mp.layer!=3"]
[layopt layer=3 opacity=200]
[else]
[layopt layer=3 opacity=255]
[endif]


[if exp="mp.layer!=4"]
[layopt layer=4 opacity=200]
[else]
[layopt layer=4 opacity=255]
[endif]

[if exp="mp.layer!=5"]
[layopt layer=5 opacity=200]
[else]
[layopt layer=5 opacity=255]
[endif]

[if exp="mp.layer!=6"]
[layopt layer=6 opacity=200]
[else]
[layopt layer=6 opacity=255]
[endif]


[endmacro]
;--------------------------------------------
;light效果取消
;--------------------------------------------

[macro name=unlight]

[layopt layer=1 opacity=255]
[layopt layer=2 opacity=255]
[layopt layer=3 opacity=255]
[layopt layer=4 opacity=255]
[layopt layer=5 opacity=255]
[layopt layer=0 opacity=255]
[layopt layer=6 opacity=255]

[endmacro]
;--------------------------------------------
;dark指令,指定图形变透明
;--------------------------------------------
[macro name=dark]
[layopt layer=%layer opacity=200]
[endmacro]
;--------------------------------------------
;等一个好心人教我改进代码【躺
;只要给我一个复制层的码抄抄我就能实现了呜呜呜!

回复

使用道具 举报

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

本版积分规则

Archiver|手机版|nvlmaker

GMT+8, 2024-3-29 18:35 , Processed in 0.011419 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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