- 注册时间
- 2004-5-16
- 最后登录
- 2024-11-13
超级版主
传说中的Bunny坑神~!
 
- 积分
- 244543

|

楼主 |
发表于 2005-3-4 23:06:36
|
显示全部楼层
(二)制作标题 *start之后的部分
制作标题:
播放音乐.显示背景.显示按钮并等待.事件跳跃.基本的读取.退出.
-----------------------------------------------------------------------------------------------------------------
音乐...LM2就一个播放音乐一个播放因音效.对应的在NSCR里面...好长一串啊...
play \"aa.mid\" 用来播放MIDI
play \"*1\" 播放CD上的音轨
playonce \"\" 和上面两个一样,不过不是循环而是放一次就停止
playstop 停止MIDI或者CD
wave \"XX.wav\"当然是放WAV文件的命令
waveloop \"XX.wav\" 循环播放wav文件
wavestop 停止wav播放.很烦吧...><
还有
mp3 \"XX.mp3\"
mp3loop \"XX.mp3\"
bgm \"\"则是支持这以上所有音乐格式(BT不BT啊...)
最后是重要的dwave命令,因为想要同时播放音乐和音效的话,除了把这些七七八八的命令合起来乱用,最好的办法就是用dwave
dwave 0,\"XX.wav\"
dwaveloop 0,\"XX.wav\"
0为编号, 后面为文件名.声音的编号在LM2里也有出现,比如要停止的时候只要使用dwavestop 0停止音乐就行.
如果播放背景音乐编号为0.而音效编号为1,就可以同时播放.
chvol 0,100
调节音量的命令,把0号音乐音量调节为100 如果配合for next循环,就可以达到音乐淡入淡出效果.虽然比LM2麻烦,但也只是两三条命令的事.
NSCR本身当然也有自带的音乐淡入淡出命令:
cdfadeout 1000
mp3fadeout 1000
这两条是用在*define里的定义,问题是在循环播放的时候即使是同一首曲子也会进行淡入淡出变化从而造成空白,不推荐使用
---------------------------------------------------------------------------------------------------------------------------------
背景...阿门.终于有条简单点的.
bg \"aaa.bmp\",10
\"\"里面是背景图片文件名,10就是刚刚在define里定义的某个效果.
bg \"aaa.bmp\",15,1000,\"mask1.jpg\"
如果写成这样,在define里就不需要定义.效果是时间为1000毫秒的遮片显示.
如果是
bg \"bbb.bmp\",10,1000
就成了淡入1000毫秒的切换.
除此之外,
bg black,10
几个基本颜色.黑白,直接用英文单词
bg #ffffff,10
用rgb指定的纯色背景
以上,如果这算简单的话.
------------------------------------------------------------------------------------------------------------------------
是高手,自然不甘心用LM2自带的标题画面做那么逊的东西.SO,普通事件的点选分歧,或者指令输入画面做的标题纷纷出炉.原理,自然是按钮的制作
地图式制作.
btndef \"XXX.jpg\" 相当于.map中的高亮层,不过是全部由按钮拼成的,不需要背景部分.
btn 1,320,320,100,200,0,0
btn 2,320,330,100,200,100,0
btn 按钮编号1,图片左上坐标X,图片左上坐标Y,图片长,图片宽,图片截取位置X,图片截取位置Y
btn 按钮编号2,图片左上坐标X,图片左上坐标Y,图片长,图片宽,图片截取位置X,图片截取位置Y
相当于信息层,规定了按钮的大小,按钮在背景上的位置,从高亮层的哪一点开始截下这个按钮(由左上点坐标和按钮长宽定下一个方形按钮).这里对每个按钮进行单独定义.
背景层就是显示的背景了.
btnwait %0
相当于叫出地图画面,等待点击,并且把地图编号存在变数%0里...
--------------------------------------------------------------------------------------------------
指令输入画面式制作
lsp 0,\"abc.jpg\",100,100,255 相当于一个图示嵌板的命令.图片编号,图片名,图片显示位置,(255为图片透明度,可省略)
lsp 1,...
lsp 2,...
spbtn 1,1 定义点下图片1以后存到变数里的数字为1
spbtn 2,3 点下图片2以后存到变数里的数字为3
btnwait2 %0 叫出指令画面,等待指令输入,并把点下的图示嵌板编号存到变数%0里.
(btnwait和btnwait2命令的区别在于btnwait命令执行后会清空内存里的按钮定义部分.标签设定方面,btnwait2的标签直接设在本条命令前一行就行.)
作为玩家的反应,她/她可能点按钮,可能点按钮以外的地方,还可能点右键...还可能什么都不点....汗...
如果点了按钮,那么%0里的数字就是1234....
如果点按钮以外的地方,%0将会被代入0
点右键,%0被代入-1
什么都不干...继续等...但是如果用btntime 1000之类的设定了限时按钮.那么时间过了以后变数%0会被带入-2
接下来,当然是根据玩家的反应做出不同的事件跳跃了.
if %0<=0 goto *titlewait
依照点选分歧的自制标题画面,如果点了右键或其他地方,设定一个标签跳回到等待状态.
if %0=1 goto *newgame
if %0=2 goto *titleload
如果变数等于几,跳跃到哪个事件...和当年不知道地图移动命令一样辛辛苦苦勤勤恳恳的定义吧...
在地图式制作按钮里,鼠标移动上去会有悬停效果.
而指令输入画面的按钮,应该是有动画或者移动上去会变化或者有声音...这是起码的吧?
这个,牵扯到sp的一系列命令.
lsp 1,\":a/2,200,2;aaa.jpg\",100,100
spbtn 1,1
这两个命令配合起来形成了一个动画按钮.
/2 表示把这张联排图片分成两格,200表示动画间隔时间,2表示把图片做成动画.
:a 冒号加上字母,这个,就是传说中的透明色指定效果.如果是:c就代表不透明,:l图片左上点颜色为透明色...:r不用多说吧...
前面这些对图片的设定和后面的图片名用;分号隔开.
lsp 1,\":c/2,0,3;aaa.jpg\",100,100
spbtn 1,1
/2,图片分割成两格,0表示无间隔时间,3表示把图片做成悬停按钮
然后,让鼠标指上图片的时候发出声音...
lsp 1,\":c/2,0,3;aaa.jpg\",100,100
exbtn 1,1,\"S1,(se\\btnmove.wav)\"
exbtn命令前面的部分和spbtn一样,最后一个部分\"\"内,设定了一些效果.以上是发声效果.其他...下次介绍....^ ^
----------------------------------------------------------------------------------------------------------
基本的读取
systemcall load 相当于游戏控制:读取
同样
systemcall save 游戏控制,储存
systemcall skip
systemcall windowerase
等等
右键菜单里的所有功能都可以用systemcall叫出来.
-----------------------------------------------------------------------
退出游戏
脚本执行遇到end命令的时候退出游戏
如果是reset命令就是从头开始.
废话最后的一个范例,初版伪圣书
*define
caption \"Apocripha/0 -Fairy Tale\";窗口上的标题名
mp3fadeout 100;mp3淡入淡出效果
;------------------------------
;●效果定义
effect 2,10,500
effect 3,10,700
effect 4,10,1000
effect 5,18,3500,\":c;mask\\9.jpg\"
effect 6,18,1500,\":c;mask\\1.jpg\"
;---------------------------------------------
lookbackcolor #ffffff;回想时使用的文字颜色
savename \"储存游戏\",\"读取档案\",\"档案\"
savenumber 17;刚刚说过了
transmode alpha;指定整体的透明色方式,不需要每个图片都用\":a;XXX.bmp\"定义.
game
*start
bg \"bgd\\title_base.bmp\",5;变更背景
*title;设定一个标签
mp3loop \"wood.mp3\";播放音乐
bg \"bgd\\title_base.bmp\",0;按钮的背景层
btndef \"btn\\titlebtn.bmp\";按钮的高亮层
;-----------------------------------------
;按钮定义
btn 1,302,256,190,43,302,256;开始
btn 2,302,310,190,43,302,310;读取
btn 3,302,373,190,43,302,373;CG
btn 4,302,431,190,43,302,431;退出
;-----------------------------------------
;等待指令输入
btnwait %1
if %1<=0 goto *title;点其他地方时返回标签
if %1==1 goto *newgame;开始新游戏事件
if %1==2 goto *titleload;读取事件
if %1==4 goto *endgame;离开游戏事件
*titleload
systemcall load;叫出读取菜单
goto *title;假如玩家不读取而是按右键,返回标题继续等待指令
*newgame
goto *game_start ;开始新游戏,进入其它事件
*endgame;结束游戏
end
[此贴子已经被作者于2005-3-5 12:36:49编辑过] |
|