制作自己独有的桌面小宠物
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. 设计标题图案丶滑鼠图案
制作标题图案,如示范例子之中之标题图案 (可省略)
 
档案须为 BMP 点阵列格式图像档案,大少应约为 200 x 100 pixels 之内,图案显示部份不可有纯黑色。
将纯黑色填充至所有非标题图案之空白地方。
制作滑鼠指标图案,可以利用其他绘图软件制作独有之滑鼠指标 CUR 档案 (可省略)
     

滑鼠指标图案大少应为 32 x 32 pixels,分为「普通」状况及「抓住」状况两款
普通 - 滑鼠移动至萤幕宠物上面
抓住 - 按下滑鼠左键并移动萤幕宠物

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. 疑难问题
若有任何疑问,请联络:
  enquiry@silvermeow.com
 
欢迎将你的作品寄给本网站,本网站可以将你的作品再重新包装为独立程式,并放置於本网站供各界下载。