|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
1202
关于画面包的代码及制作心得
鲁鲁修
2012-10-20 17:37
1
转自MUGEN百度贴吧
http://tieba.baidu.com/p/1084746565
1这是本人的个人理解,欢迎高手指出不足
2需要用到的软件:PS和FF
3我只解释用到的代码,一些我自己也不是很懂的
4要想自己做画面包,理解代码是必须的。以下以RC版的为例,WIN版的跟这个差不多,差别我会在底下说明的
5.相同的我就不重复解释了
; Definitions of system screens
[Info]
name = "MUGEN RX IV" 画面包的名字
author = "RAPHAEL - R2" 作者
;versiondate = 04,13,2010 制作时间
mugenversion = 1.0 版本
localcoord = 1280,720 分辨率(常用的还有640,480),WIN版是默认的320,240.
[Files]
spr = system.sff 画面用到的图片文件是system.sff
snd = system.snd 声音文件
logo.storyboard = 开场动画
intro.storyboard =
select = select.def 选人文件
fight = fight.def 血条文件
;System fonts
font1 = Mode.fnt 第一种字体
font2 = Mode.fnt 第二种字体
font3 = garamond-tt14.def 第三种字体
font4 = garamond-tt14.def 第四种字体
font4.height = 36 第四种字体的高度(如果你嫌对应字体显示的太小或者太大,可以用这个来改变,如果合适,这个就不需要了,有的字体改了也没有效果,可能不可以调整吧)
font5 = Mode.fnt
font6 = garamond-tt14.def
font6.height = 74
font7 = garamond-tt14.def
font7.height = 24
; Load alternative victory quote font (font5) if language is "ja".
[ja.Files]
spr = system.sff ;Filename of sprite data
snd = system.snd ;Filename of sound data
logo.storyboard = ;Logo storyboard definition (optional)
intro.storyboard = ;Intro storyboard definition (optional)
select = select.def ;Character and stage selection list
fight = fight.def ;Fight definition filename
;System fonts
font1 = f-4x6.def
font2 = name14.def
font3 = enter48.def
font4 = arcade.def
font5 = msgothic-tt36.def
;font5.height = 36 ;Uncomment to override the size of the font (Truetype fonts only)
;----------------------------
[Music]
title.bgm = sound/Soundbgs.mp3 主题音乐
title.bgm.loop = 1 主题音乐是否循环,0为不循环,1为循环
;Music to play at char select screen.
select.bgm = sound/Soundbgs.mp3 选人音乐
select.bgm.loop = 1 选人音乐是否循环
;Music to play at versus screen.
vs.bgm = sound/Soundbgs.mp3 VS画面的音乐
vs.bgm.loop = 1 音乐是否循环
;Music to play at victory screen.
victory.bgm = sound/Soundbgs.mp3 胜利画面的音乐
victory.bgm.loop = 1 音乐是否循环
;-------------------------------------------------------------------
;Title screen definition
[Title Info]
fadein.time = 0
fadeout.time = 0
menu.pos = 1076,96 主题背景的选项菜单的位置
menu.item.spacing = 0, 36 菜单选项之间的距离
menu.itemname.arcade = "ARCADE" 菜单选项的名字,下面也是
menu.itemname.versus = "VS MODE"
menu.itemname.teamarcade = "TEAM ARCADE"
menu.itemname.teamversus = "TEAM VS"
menu.itemname.teamcoop = "TEAM CO-OP"
menu.itemname.survival = "SURVIVAL"
menu.itemname.survivalcoop = "SURVIVAL CO-OP"
menu.itemname.training = "TRAINING"
menu.itemname.watch = "WATCH"
menu.itemname.options = "OPTIONS"
menu.itemname.exit = "EXIT"
menu.window.margins.y = 34,40
menu.window.visibleitems = 11
menu.boxcursor.visible = 1 是否可见
menu.boxcursor.coords = -130,-30,157,0
cursor.move.snd = 100,0 左右移动的声音
cursor.done.snd = 100,1 上下移动声音
cancel.snd = 100,2 取消声音
;----------------------------
;Title background definition
[TitleBGdef]
bgclearcolor = 0,0,0 背景色
[TitleBG 0] 主题背景1
type = normal 正常类型
spriteno = 0,0 用到的图片编号
start = 0, 0 坐标
[TitleBG 1] 背景2
type = anim 类型:动作(就是由几个图片实现的一个动作)
actionno = 0 动作的编号
start = 970,262 坐标
[Begin Action 0] 0号动作
0,1, 0,0, 1,, A1 图片的编号以及坐标
0,1, -60,0, 1,, A1
0,1, -120,0, 1,, A1
0,1, -180,0, 1,, A1
0,1, -240,0, 1,, A1
0,1, -300,0, 1,, A1
0,1, -360,0, 1,, A1
0,1, -420,0, 1,, A1
0,1, -480,0, 1,, A1
0,1, -520,0, -1,, A1
[TitleBG 2] 背景3
type = anim 类型:动作
actionno = 1 动作编号1
start = -900,600 坐标
[Begin Action 1] 1号动作
0,2, 0,0, 1,, A1 图片编号,位置
0,2, 140,0, 1,, A1
0,2, 260,0, 1,, A1
0,2, 380,0, 1,, A1
0,2, 520,0, 1,, A1
0,2, 660,0, 1,, A1
0,2, 800,0, 1,, A1
0,2, 940,0, 1,, A1
0,2, 1080,0, 1,, A1
0,2, 1220,0, -1,, A1
;-------------------------------------------------------------------
;Character select definition 角色选择的定义
[Select Info]
fadein.time = 0
fadeout.time = 0
rows = 5 行数
columns = 20 列数
wrapping = 1
pos = 106,423 第一个选人格子坐标
showemptyboxes = 1 是否显示没有人物的个子
moveoveremptyboxes = 1 是否能移动到没有人物的格子
cell.size = 48,49 选人格子的大小
cell.spacing = 6 格子之间的距离
cell.random.anim = 151 随机格子显示动作151
cell.random.switchtime = 4 随机格子的变化时间
p1.cursor.startcell = 0,0 P1选人的起始格子的位置
p1.cursor.active.anim = 160 P1选人格子用到动作160
p1.cursor.done.anim = 161 P1选人向下用到动作161
p1.cursor.move.snd = 100,0 P1左右移动的声音
p1.cursor.done.snd = 100,1 P1上下移动的声音
p1.random.move.snd = 100,0 P1在随机选人格子上的声音
p2.cursor.startcell = 0,19
p2.cursor.active.anim = 160
p2.cursor.done.anim = 161
p2.cursor.blink = 1
p2.cursor.move.snd = 100,0
p2.cursor.done.snd = 100,1
p2.random.move.snd = 100,0
random.move.snd.cancel = 0
stage.move.snd = 100,0 选择背景左右移动的声音
stage.done.snd = 100,1 选人背景上下移动的声音
cancel.snd = 100,2 取消的声音
portrait.spr = 9000,0 格子里图片的编号为9000,0(小头像)
portrait.offset = 0,0 位置
portrait.scale = .44,.44 显示的比例(这个要调好,不然头像会超出格子或者不满格子)
title.offset = 640,38 主题的位置
title.font = 4,1,0 主题用到的字体为第四种字体
;Big portraits
p1.face.spr = 9000,1 P1的大头像为9000,1
p1.face.offset = 111,61 P1大头像的位置
p1.face.scale = .52,.51 P1大头像的显示比例,这个也要调整好,道理同上
p1.face.facing = 1 P1大头像的方向
p1.face.window = 0,0, 739,959 P1大头像的窗口
p2.face.spr = 9000,1
p2.face.offset = 1163,61
p2.face.scale = .52,.51
p2.face.facing = -1
p2.face.window = 540,0, 1279,959
;Name
p1.name.offset = 474,87 P1名字的位置
p1.name.font = 3,3,0 P1名字的字体
p1.name.spacing = 0,24 P1名字间的距离
p2.name.offset = 800,87
p2.name.font = 3,1,0
p2.name.spacing = 0,24
;Stage select
stage.pos = 640,710 选择背景的位置
stage.active.font = 3,0,0 选择背景的字体
stage.active2.font = 3,2
stage.done.font = 3,0
;Team menu
teammenu.move.wrapping = 1
p1.teammenu.pos = 240, 100 P1团队菜单的位置
;p1.teammenu.bg.spr =
p1.teammenu.selftitle.font = 4,0,0 字体
p1.teammenu.selftitle.text = "TEAM MODE" 显示的内容
p1.teammenu.enemytitle.font = 4,0,0
p1.teammenu.enemytitle.text = "TEAM MODE"
p1.teammenu.move.snd = 100,0
p1.teammenu.value.snd = 100,0
p1.teammenu.done.snd = 100,1
p1.teammenu.item.offset = 0,80 菜单坐标
p1.teammenu.item.spacing = 0,40 菜单间的距离
p1.teammenu.item.font = 7,0,0 字体
p1.teammenu.item.active.font = 7,0,0
p1.teammenu.item.active2.font = 7,0,0,
p1.teammenu.item.cursor.offset = -50, -10
p1.teammenu.item.cursor.spr = 180,0 用到的图片编号
p1.teammenu.value.icon.offset = 40,-7
p1.teammenu.value.icon.spr = 181,0
p1.teammenu.value.icon.scale = .6,.6
p1.teammenu.value.empty.icon.offset = 40,-7
p1.teammenu.value.empty.icon.anim = 182
p1.teammenu.value.empty.icon.scale = .6,.6
p1.teammenu.value.spacing = 12,0
;p2 team
p2.teammenu.pos = 1040, 100
;p2.teammenu.bg.spr =
p2.teammenu.selftitle.font = 4,0, 0
p2.teammenu.selftitle.text = "TEAM MODE"
p2.teammenu.enemytitle.font = 4,0, 0
p2.teammenu.enemytitle.text = "TEAM MODE"
p2.teammenu.move.snd = 100,0
p2.teammenu.value.snd = 100,0
p2.teammenu.done.snd = 100,1
p2.teammenu.item.offset = 0,80
p2.teammenu.item.spacing = 0,60
p2.teammenu.item.font = 7,0,
p2.teammenu.item.active.font = 7,0,0
p2.teammenu.item.active2.font = 7,0, 0,
p2.teammenu.item.cursor.offset = 50, -10
p2.teammenu.item.cursor.facing = -1
p2.teammenu.item.cursor.spr = 180,0
p2.teammenu.value.icon.offset = -40,-8
p2.teammenu.value.icon.spr = 181,0
p2.teammenu.value.icon.scale = .6,.6
p2.teammenu.value.empty.icon.offset = -40,-8
p2.teammenu.value.empty.icon.anim = 182
p2.teammenu.value.empty.icon.scale = .6,.6
p2.teammenu.value.spacing = -10,0
; Debug screen element (can be used for testing fonts)
;sysexplod0.text =
;sysexplod0.font =
[Begin Action 151] ;P1 active cursor 动作151
151,0, 0,0, 1,, A 动作用到的图片编号
[Begin Action 160] ;P1 active cursor
160,0, 0,0, 1,, A1
[Begin Action 161] ;P2 active cursor
161,0, 0,0, 1,, A1
[Begin Action 182]
182,0, 0,0, 1,, A
;-----------------------
;Character select screen background
[SelectBGdef]
;spr = graphics/selectbg.sff ;Filename of sprite data
[SelectBG 0]
type = normal
spriteno = 1,9
start = 0, 0
[SelectBG 1]
type = anim
actionno = 2
start = 0,0
layerno = 1
[Begin Action 2]
1,0, 0,0, 1
1,1, 0,0, 1
1,2, 0,0, 1
1,3, 0,0, 1
1,4, 0,0, 1
1,5, 0,0, 1
1,6, 0,0, 1
1,7, 0,0, 1
1,8, 0,0, 1
1,9, 0,0, 1
1,10, 0,0, -1
;-------------------------------------------------------------------
[VS Screen]
time = 150 VS画面显示的时间
fadein.time = 0
fadeout.time = 0
;Match text in arcade modes
match.text = "Match %i"
match.offset = 20, 709
match.font = 5,0,0
;Big portraits
p1.spr = 9000, 1
p1.offset = 60,1000
p1.facing = 1
p1.scale = 1,1
p1.window = 60,30, 539,589
p2.spr = 9000, 1
p2.offset = 517,220
p2.scale = .51,.5
;Names
p2.name.offset = 640,600
p2.name.font = 6,0,0
p2.name.spacing = 0,54
;-----------------------
;VS Match up screen background
[VersusBGdef]
[VersusBG 0]
type = normal
spriteno = 2,9
start = 0,0
[VersusBG BG]
type = anim
actionno = 3
start = 0,0
layerno = 1
[Begin Action 3]
2,0, 0,0, 1
2,1, 0,0, 1
2,2, 0,0, 1
2,3, 0,0, 1
2,4, 0,0, 1
2,5, 0,0, 1
2,6, 0,0, 1
2,7, 0,0, 1
2,8, 0,0, 1
2,9, 0,0, 1
2,10, 0,0, -1
;-------------------------------------------------------------------
;Demo mode definition
[Demo Mode]
enabled = 1
select.enabled = 1
vsscreen.enabled = 1
title.waittime = 600
fight.endtime = 1500
fight.playbgm = 0
fight.bars.display = 1
intro.waitcycles = 1
debuginfo = 0
;-------------------------------------------------------------------
;Continue screen definition
[Continue Screen]
enabled = 1
pos = 640,240
;***Known issue*** The display elements below use the fight.def resources
;instead of the ones defined in this file.
continue.text = "CONTINUE?"
continue.font = 4,0,0
continue.offset = 0,0
;Inactive and active (selected) YES/NO text
yes.text = "YES"
yes.font = 3,0,0, 128,128,128
yes.offset = -80, 60
yes.active.text = "YES"
yes.active.font = 4,3,0
yes.active.offset = -80, 60
no.text = "NO"
no.font = 3,0,0, 128,128,128
no.offset = 80, 60
no.active.text = "NO"
no.active.font = 4,3,0
no.active.offset = 80, 60
;-------------------------------------------------------------------
;Game over screen definition
[Game Over Screen]
enabled = 1
storyboard = ;Game over storyboard filename
;-------------------------------------------------------------------
;Victory screen definition
;This is the screen that is shown when you win a match in arcade mode.
;It will not be displayed on the last match of arcade mode.
[Victory Screen]
enabled = 1
time = 300
fadein.time = 0
fadeout.time = 15
;Winner's portrait and name
p1.offset = 517,157
p1.spr = 9000,1
p1.facing = 1
p1.scale = .52,.51
p1.window = 0,0, 1279,500
p1.name.offset = 60,540
p1.name.font = 7,3,1
;Win quote text
winquote.text = "Winner!"
winquote.offset = 60,585
winquote.font = 4,0,1
winquote.window = 38,521, 1241,708
winquote.textwrap = w
;---
;Victory screen background
[VictoryBGdef]
[VictoryBG 0]
type = normal
spriteno = 4,9
start = 0,0
[VictoryBG 1]
type = anim
actionno = 4
start = 0,0
layerno = 1
[Begin Action 4]
4,0, 0,0, 1
4,1, 0,0, 1
4,2, 0,0, 1
4,3, 0,0, 1
4,4, 0,0, 1
4,5, 0,0, 1
4,6, 0,0, 1
4,7, 0,0, 1
4,8, 0,0, 1
4,9, 0,0, 1
4,10, 0,0, -1
;-------------------------------------------------------------------
;Win screen definition
;This is the screen that is shown when you win in arcade mode.
;It will not be displayed if the winning character has an ending.
[Win Screen]
enabled = 1 胜利场景是否允许
wintext.text = "Congratulations!" 胜利台词
wintext.font = 3,0,0 字体
wintext.offset = 640,240 坐标
wintext.displaytime = -1 显示时间
wintext.layerno = 2 显示所在的层数
fadein.time = 32
pose.time = 300
fadeout.time = 64
;-------------------------------------------------------------------
;Game ending screen definition
;This screen shows up after the Win Screen.
;It will not be displayed if the winning character has an ending.
[Default Ending]
enabled = 0
storyboard = ;Default ending storyboard filename
;-------------------------------------------------------------------
;Ending credits screen definition
;This screen shows up after the Win Screen and Ending
[End Credits]
enabled = 0
storyboard = ;Credits storyboard filename
;-------------------------------------------------------------------
;Survival mode results screen definition
;This is the screen that is shown when you win in survival mode.
;It will not be displayed if the winning character has an ending.
[Survival Results Screen]
enabled = 1
winstext.text = "Rounds survived: %i"
winstext.font = 4,0,0
winstext.offset = 640,240
winstext.displaytime = -1
winstext.layerno = 2
fadein.time = 32
show.time = 300
fadeout.time = 64
roundstowin = 10 ;Number of rounds to get win pose (lose pose otherwise)
;-------------------------------------------------------------------
;Options screen definition
[Option Info]
title.offset = 640,38 主题坐标
title.font = 4,0,0 主题字体
cursor.move.snd = 100,0 左右移动的声音
cursor.done.snd = 100,1 上下移动的声音
cancel.snd = 100,2 取消的声音
;-------------------
;Options screen background
[OptionBGdef]
[OptionBG 1] 设置背景1
type = normal 正常类型
spriteno = 0,0 图片编号
start = 0,0 坐标
以上为一些代码的解释,下面说说我做画面包的一些心得。
1作为新手你可以直接用下载的画面包进行修改,用FF打开system.sff,看看里面的图片的编号,对应system.def看看你就理解很深了,把自己不喜欢的图片换掉,这里要注意,你自己准备的图一定要用PS改成256色,并且大小要和你画面的localcoord =这里的分辨率一致,至于改成256色很简单,用PS打开图片,图像,模式,索引颜色,确定,然后调整下大小就OK了
2WIN版的画面包换成RC的时候要注意在system.def里添加localcoord =,因为WIN的是320,240的,所以你改RC最好弄成640,480,把sff里面的主题背景换成640,480大小的,至于其他的图片动作组成的效果图你喜欢的话可以留着,调下位置就OK,还有选人背景,VS画面等,总之用现成的画面包改起来快的,你不喜欢的部分可以直接把system.def里对应的代码删除就可以了,图片无所谓。
3注意你找的system.def一定要是mugen.cfg里面的motif =这里的system.def。不然就白忙活啦
4如果你想完全原创画面包,那你就要自己准备图片,建立sff文件,把图片进行编号。再按上面的顺序编写代码
5以上为我个人的一些理解和心得,欢迎大家一起讨论 |
|