看书强 > > 魔王现役 > 第44部分

第44部分(2 / 2)

============以下正文=============

NScripter全攻略:LeVeL3透明!透明!反锯齿图片制作与对话框

邪恶之诅咒:

盗帖者全家死光光

无端转载者出门被狗咬

假如获得转载授权,转载同时请贴出本人签字画押授权书。

本教程已在国家R界专利局申请专利,禁止任何形式的侵犯版权行为。

作者联系方式:

fs_countd@126。com

'hide=0'

LeVeL3透明,透明!反锯齿图片制作与对话框

相关指令

transmode

:l;

:c;

:a;

setwindow

相关程序

反锯齿图片制作工具

bw2aconv。exe

—————————————————————————————————————

NScripter的透明格式与设定方法:

透明色指定,也就是指定某张图片中的一个颜色不显示,这点应该满好理解的。

NScripter有三种透明色指定格式:

left

copy

alpha

第一种就是left。也就是上一讲已经提到的:

在使用显示图片命令,不做任何特别定义的时候,NS会把图片左边最上面的一个象素格的颜色作为透明色。图片格式最好是BmP格式。

第二种copy,顾名思义,就是完全照搬,没有透明色。当然是用来显示方块状的图片了。

第三种,NS自己定义的透明格式。可以解决上次说到的JPeG的颜色问题。关于NScripter不支持自带透明通道的图片格式例如PNG之类的,确实很让人头大,不过应该是属于习惯就好吧……

但是最让我头大的,其实是……无论我怎么讲这个透明格式的原理,都有人反映听不懂……orz……

那么先讲一下怎么设定这三种透明格式吧。

第一种办法:

假如在*define区里加入transmode命令,就能设定游戏默认的透明格式。

上次说过,在不加设定的时候,默认为是左上点透明。

例如:

transmodeleft

transmodecopy

transmodealpha

第二种办法:

当这张图片的显示格式不同于默认格式的时候,需要对每张图片单独定义透明格式。

还记得上一讲说到的人物图片显示命令吗?

ldc,‘chr。jpg‘,10,700

假如,要把这张图片完全显示,没有任何透明色的话,这条命令就会改写成:

ldc,‘:c;chr。jpg‘,10,700

在””里,图片的名称前,增加了:c;

c,当然就代表copy。

同样的,写成:a;就代表采用NS自定义的透明格式。

而写成:l;的话,就是以图片左上点为透明色了。

这种单独的参数设定方法在NS里相当常见。

而且,不只可以用来设定透明格式……具体请参见下一讲,lsp的混沌宇宙。=v=

—————————————————————————————————————

bw2aconv。exe反锯齿图片制作工具的使用:

说了这么多“理论基础”,终于可以开始说NS特定的透明格式了。

上一讲里提到的价格便宜量又足的JPG格式,这时候可以开始派上用场了。

那么首先我们来看看这两张图片。

附图

点击察看图片链接:

Level 3(续)

这两张图片的区别就是……

一张背景是黑的,一张背景是白的,没错吧!

咳,咳,总之,个人猜测这就是bw2aconv。exe反锯齿图片制作工具的原理了。

如果这个象素点是作为背景存在的,也就是需要透明掉的部分,

那么,在这两张图片上,这一点的颜色就是不一样的。

这样,就让这个工具知道了哪些部分是需要透明掉的。

从而,生成了按照NS独特的透明格式制作出的图片,也就是下面这张。

bw2aconv。exe的使用方法就是这样:

'如果实在需要配图说明请回帖……看看需求量了……毕竟传图相当麻烦……=v='

1准备两张同样的图片。分别起名叫

图片名_b。bmp和图片名_w。bmp

第一张图片的背景色为黑色,第二张图片的背景色为白色。

2把这两张图片放在一个文件夹里。

3打开bw2aconv。exe。会跳出一个路径选择框。'这个程序本身放在哪里都无所谓。'

4选择这两张图片所在的文件夹。点确认。

5在这个文件夹里,会自动出现一个新的文件夹,名为“OUT”。

6打开这个out文件夹,就可以找到一张名叫图片名。bmp的图片了。

7现在,就算把这张图片转成JPG使用,也完全不会有锯齿出现了。

当然要记得用刚刚讲过的两种方法之一,把这张图片的透明格式设为alpha哦。

另外就是,bw2aconv。exe会自动转换指定的文件夹内,所有按照这种格式起名的BmP图片。

所以,是可以批量生产的……

假如对透明格式没有更高的要求,这么做就可以了。

—————————————————————————————————————

进一步的说明:

看看刚刚生产出来的那张图片,就会发现,右半边图片实际上是一个人物的剪影效果。

也就是说,在图片的左半边,需要显示的部分,在右半边表示为黑色。

而左半边需要透明的部分,在右半边表示为白色。

那么,图片的左半边,需要半透明的部分,在右半边,当然是……表示为灰色了……

总结:图片的右半边每一点的灰度=图片左半边对应点的不透明度

灰度越高越不透明。黑色是全不透明,而白色是全透明。

当然,如果打算做出半透明效果,

bw2aconv。exe恐怕就帮不上什么忙了。

需要在PS或者其他作图软件里做这样的处理。这个,就要看美工技术了~

—————————————————————————————————————

对话框的设定:

setwindow,这个恐怕是NScripter里参数最多最长的命令了。并且,相当的常用。

看看还剩点版面就讲了吧。这可是重点丫……

首先是超级简单的对话框,通常是一整块半透明的矩型,虽然不怎么华丽但是很清楚。

那么,除了对话框的颜色以外,还有多少个属性要设定呢?

对话框的位置和大小当然不用说,还有:

对话框里的文字具体显示在哪个位置,能显示几行,每行几个字

每个文字的具体大小,文字的间距,文字是否是粗体,是否要加阴影

还有,文字显示的速度,是一个字一个字慢慢显示,还是一整段文字一起显示。

以上这么多参数,都需要在setwindow里设定。

命令格式是这样的:

setwindow文字显示位置X,文字显示位置Y,每行显示字数,可显示文字行数,文字长,文字宽,行间距,列间距,文字显示速度

例如:

setwindow8,16,20,23,26,26,0,2,20,1,1,#999999,0,0,639,479

如果想要全透明的对话框,把颜色代码改成#ffffff就可以了。

这个就是显示一个简单的半透明对话框的办法了。

如果需要复杂一点,把这个半透明矩形用一张对话框图片代替,之前的参数还是一样的。

但是从颜色代码开始就需要换个写法。

因为图片本身的大小就决定了对话框的大小,所以只要指定图片名称和图片的左上点位置就可以了。

setwindow172,472,15,4,24,24,2,5,30,1,1,‘:a;picframe。jpg‘,0,0

上面这一行,看懂了吗?这个可是五分之庭的对话框显示数据哦……

最新小说: 丁一蓝文集 独向一隅文集 邓岚心文集 弄哭那个小呆子 不能出卖小猫咪 竹马总想扑倒我 苏苏修炼法则 丹房主人文集 戴高山文集 冬日小草文集