制作自己独有的桌面小宠物
|
1. 下载 MyPet 程式及附送之参考例子 |
• |
请先下载 MyPet 程式及其附送之参考例子: |
|
|
• |
请用解压软件如 WinZip 将下载档案解压,解压後会产生以下资料夹: |
|
Demo - 桌面小宠物制作示范 (FaFa Cat 制作讲解) Makibao - 跳舞的绿色牧场王 Makibao 完全版 |
• |
注意:此程式可在 Windows 98/2000/XP/Vista 平台上执行,进入资料夹 Demo 或 Makibao 并直接执行 MyPet.exe 程式,无需任何安装程序 |
• |
以下制作过程将以附送之示范例子 (资料夹 : Demo) 作讲解说明 |
|
2. 设计宠物图案 |
• |
首先设计角色造型,制作如以下示范例子之 BMP 点阵列格式档案 |
|
|
• |
在此例子中,档案大小是 500 x 150 pixels;而每幅单一主角图案均为 50 x 50 pixels,刚好是水平可放 10 幅图案,垂直可放 3 幅图案。因此在例子中,此 BMP 档案可最多可容下 10 x 3 共 30 幅单一主角图案。 |
• |
注意:整幅图像长宽必须是单一主角图案长宽大小之倍数 |
• |
档案须为 BMP 点阵列格式图像档案,愈少颜色为佳。如例子中图案仅为 16 色 BMP 档案 |
• |
选定一独有颜色为背景颜色,并填充该颜色至所有非主角图案之空白地方。如例子所选之背景颜色为清蓝色 Cyan (RGB: 0, 255, 255) |
• |
缯昼单一主角造型,并由左上角开始至右下角,逐行插入主角图案於档案中 |
|
3. 制作图案遮罩 |
• |
然後制作图案遮罩,如示范例子中之黑白色 BMP 点阵列格式档案 |
|
|
• |
在此例子中,遮罩档案大小必须与原来角色图案相同大少,同是 500 x 150 pixels |
• |
档案须为 BMP 点阵列格式图像档案,没有任何压缩,纯黑白两色档案。 |
• |
图案内容基本上与原来角色图案相同,只是角色造型部份 (显示於萤幕之部份) 须填充为纯白色,非主角图案之空白地方须填充为纯黑色。 |
|
4. 设计标题图案丶滑鼠图案 |
|
5. 设定宠物基本资料 |
• |
所有宠物基本资料及动作编排均设定在 mypet.ini 文字档案内,可用一般文书软件如 Notepad 开启并修改档案内容 |
• |
请参考 readme.txt 以了解档案设定格式及规则 |
• |
mypet.ini 档案中 [Setup] 及 [Animation] 部份设定宠物基本资料;[Setup] 部份基本上由程式自行管理 (通过程式中 Option 介面);设计者祇须正确填上 [Animation] 之设定资料 |
• |
档案中以 '#' 为开首之句子为备注,程式会忽略该行内容,不作处理 |
• |
如示范例子中,[Animation] 内之设定为 |
|
设定 |
解说 |
Application Name=FaFa |
宠物名称为 'Fa Fa' |
Bitmap=fafa.bmp |
宠物图案档名为 'fafa.bmp' |
Bitmap Mask=fafamask.bmp |
图案遮罩档名为 'fafamask.bmp' |
Bitmap Title=title.bmp |
标题图案档名为 'title.bmp' (可省略) |
Cursor=fafa.cur |
「普通」状况下之滑鼠指标图案档名为 'fafa.cur' (可省略) |
Hold Cursor=fafa1.cur |
「抓住」状况下之滑鼠指标图案档名为 'fafa1.cur' (可省略) |
Transparent Color=0,255,255 |
图案中空白地方的背景颜色为 (0,255,255) 清蓝色 Cyan |
Num Of Image=28 |
宠物图案档中共有 28 幅独立主角造型 |
Num Of Action=21 |
共设定 21 组不同动作 (稍後详细说明) |
Image Height=50 |
每幅独立主角造型高 50 pixels |
Image Width=50 |
每幅独立主角造型宽 50 pixels |
Start Action=1 |
起始执行动作为第一组动作 |
|
|
6. 设定动作 |
• |
接着是构思动作,并修改 mypet.ini 档案中 [Action] 部份 |
• |
如例子中第 1丶5丶12 组动作 |
|
动作组号 1 : 站立动作由第 1 幅主角造型构成并占有两格时间,所以设定如下: action1 = 1,1 |
|
动作组号 5 : 步行动作由第 5丶6丶7丶8丶9丶10 幅主角造型连续构成,所以设定如下: action5 = 5,6,7,8,9,10 |
|
动作组号 12 : 180 度转身动作由第 1丶15丶16丶2丶16(垂直镜面)丶15(垂直镜面)丶1(垂直镜面) 幅主角造型构成,注意水平镜面之图案须要加上 'r' 於图案编号之前,所以设定如下: action12 = 1,15,16,2,r16,r15,r1 |
• |
在 mypet.ini 档案中 [Action] 部份中,为每组动作作出设定;如例子中共创作 21 组不同动作,所以设定如下: |
|
[Action] action1 = 1,1 action2 = 2,2 ... action21 = 28,27,28,27,28 |
|
7. 编排下一动作及其或然率 |
• |
接着需要为下一动作作出编排,你可以设定一系列动作及其发生之可能性 |
• |
在 mypet.ini 档案中 [Action] 部份中,为每组动作作出编排,其设定如下: |
|
[Action] next1 = 1-6,4-30,5-20,6-20,7-6,9-6,12-6,13-6 next2 = 2-20,3-50,8-15,r8-15 ... next21 = 21-70,20-30 |
• |
如例子中第 2 组动作设定如下 : |
|
action2 = 2,2 next2 = 2-20,3-50,8-15,r8-15 |
• |
第 2 组动作 (正面站立) 之後可能发生之动作会是: |
|
设定 |
解说 |
2-20 |
保留在动作 2 (正面站立),发生可能性是 20% |
3-50 |
跳往动作 3 (正面坐下),发生可能性是 50% |
8-15 |
跳往动作 8 (转往右边),发生可能性是 15% |
r8-15 |
跳往动作 8 (转往左边,动作 8 之水平镜面),发生可能性是 15% 注意水平镜面动作须於动作编号前加上 'r' |
|
• |
所有可能性数值之总和必须为 100,如不正确,程式将会作出错误提示 |
|
8. 加入宠物移动动作 |
• |
要为宠物作出移动,就必须为动作设定水平或垂直移动数值 |
• |
在 mypet.ini 档案中 [Action] 部份中,为有需要移动之动作加上 x_step<动作编号> 或 y_step<动作编号> 之设定句子 |
• |
x_step<动作编号> - 负数为向左移动,正数为向右移动 y_step<动作编号> - 负数为向上移动,正数为向下移动 |
• |
如示范例子中第 5 组动作 (步行动作) 设定如下 : |
|
action5 = 5,6,7,8,9,10 next5 = 5-70,1-20,6-10 x_step5 = -5 x_bound5 = 12-50,13-50 |
• |
在此例子中,宠物於萤幕中会每格向左移动 5 像素 (负数为向左移动) |
• |
如在移动过程中碰上萤幕边界,进行中之动作需要立即终止并跳往下一新动作,可以加上 x_bound<动作编号> 或 y_bound<动作编号> 之设定句子。程式会根据该设定选择下一组出现之动作 |
• |
x_bound<动作编号> 或 y_bound<动作编号> 设定句子格式与 next<动作编号> 是完全相同 |
• |
若果移动动作需要有充分空间完成,可以加上 x_buffer<动作编号> 或 y_buffer<动作编号> 之设定句子 |
• |
x_buffer<动作编号> - 负数为向左移动需要空间,正数为向右移动需要空间 y_buffer<动作编号> - 负数为向上移动需要空间,正数为向下移动需要空间 |
• |
程式会避免选择没有足够空间之移动动作 |
|
9. 减低动作重覆机会 |
• |
若想逐渐降低相同动作出现之机会率,可以加上 same_ratio<动作编号> 之设定句子。 |
• |
如以下例子中,第 14 组动作继续重覆出现的可能性为 50% (设定于句子 next14 = ... ),若想逐渐降低其以後再被选中之机会,可以加上句子 'same_ratio14 = 10' : |
|
action14 = 20,20,21,21,20,20,21,21,20,20,21,21,20,20 next14 = 14-50,3-50 same_ratio14 = 10 |
• |
此数值愈大,连续选中相同动作之可能性就愈降低 |
• |
此外,若希望令某一组动作避免选中,可以设定 dislike<动作编号> 之设定句子。 |
• |
如以下例子中,第 1 组动作为小猫站立动作,第 4 组动作为小猫蹲坐动作,为免出现小猫不停重覆站立及蹲坐之机会,需要根据某些条件降低某些动作出现之可能 |
|
action1 = 1,1 next1 = 1-6,4-30,5-20,6-20,7-6,9-6,12-6,13-6 same_ratio1 = 1 dislike1 = 4-10:4
action4 = 4,4 next4 = 4-20,1-50,20-30 same_ratio4 = 1 dislike4 = 1-20:1 |
• |
句子:dislike1 = 4-10:4 设定第 4 组动作须要避免选中,数值为 10 (此数值为两动作出现应至少相隔多少其他不同动作为佳,数值愈大,被选中机会愈少),另外条件是先前亦曾出现过该第 4 组动作 |
|
10. 执行程式 |
• |
准备就绪後,就可以将所有档案放置於相同资料夹下,再检查档案是否齐全,例如: |
|
档案 |
解说 |
mypet.exe |
执行程式 |
mypet.ini |
程式设定档案 |
fafa.bmp |
角色造型图案 |
fafamask.bmp |
图案遮罩 |
fafa.cur |
滑鼠指标图案 -「普通」状况 (可省略) |
fafa.cur1 |
滑鼠指标图案 -「抓住」状况 (可省略) |
title.bmp |
标题图案 (可省略) |
|
• |
执行 mypet.exe 程式 |
• |
若设定档案格式错误,会有错误提示要求纠正,如图: |
|
|
• |
纠正错误後再重新执行程式,直至再没有错误提示出现 |
|
11. 疑难问题 |
|
|
欢迎将你的作品寄给本网站,本网站可以将你的作品再重新包装为独立程式,并放置於本网站供各界下载。 |