- 注册时间
- 2004-12-26
- 最后登录
- 1970-1-1
|
发表于 2005-11-20 02:36:00
|
显示全部楼层
[attachment:4687]
文件包含一个PAC包和未经压缩文件
共有有十个函数,
有源码,有函数库文件(,h做后缀的)有预览效果的Lav程序,也有所须的图片资源
源码中使用了#include,请用LAVA编译器(修改版)进行编译,或按#include文件的顺序用相应函数源码替换
1.
long CutBmp(int x,int y,int width,int height,long pic_name,long pic_data)
是从BMP文件中读取指定范围和大小的图象数据,只支持2色和16色(废话了~),例如一个320*240的BMP,想读(32,32)起160*80的数据到指定内存地址,就是CutBmp(32,32,160,80,pic_name,pic_data_addr);
有关大小的参数必须是2或8的倍数(2色的是须8的倍数,16色的是2的倍数)
这样,在程序中调用图片资源的某一部分就非常的方便了,因为是直接从BMP文件中读取
后面的SeeBmp函数和PrintText函数,都用到了此函数,都是直接从BMP文件中读取所须区域的图象
2.
long GetWord(long mode)
顾名思义就是支持TC800的GetWord函数,但我的TC800挂掉了,没法继续写完整了,这个差的就只是标点符号的输入了,我预留为PGDOWN键
mode= 0 英文,1 数字,2 汉字, 3 是半角符号方式,不是用来保持原输入方式
返回值的低16位是字符或汉字的数据,但高16位是返回的mode值
可以用mode=GetWord(mode)实现保持原先的输入方式
3.
long ListFile(long filename)
列出文件,是可以返回上级目录的,比FileList要实用,但也可根据你自己的具体需要改动
4.
long SeeBmp(long pic_name,long redata)
浏览指定路径的BMP文件,上下翻页键是调整移动速度(0-8)但16色的BMP横向移动速度只能是2的倍数,2色的横向只能是8,
我写这个本来是要用来提取BMP图片中的特定范围并将所选矩形范围内的图象(不限大小,但不能太大)另存为BMP或读取到内存的,嗨~~~TC800一时是没法修的,无奈有心无力了
5.
void PrintText(int x,int y,long string,long ziku_name,int type)
这个,在我正在做的游戏中非常有用,是在TextOut的基础上加了,使用指定8*8字库的功能
bit5为1 原本是左右反转,我改的是 设成1是使用指定字库显示8*8的字母或符号,0是正常的6*12或8*16字符,
所上传文件中的ZIKU16.bmp就是游戏MetalMax的字符字库,以及特殊符号,都是8*8的
参数ziku_name为0时函数使用默认的"/我的图片/ZIKU.bmp"文件,
要改用字库的话,换掉ZIKU16.bmp就行,或在PrintText的参数中ziku_name指向字库文件的路径
type=105,或98试试字库的效果把
6.
long Input_str(long textAdd,char length,char textX,char textY,int type)
好象是根据谁的函数改的,加入了支持PrintText的8*8字库的显示,和汉字的输入
type参数支持使用默认字库,只要参数的bit5的值是1
基本按键和操作已经非常接近PacMgr的输入函数了,而且输入的8*8字库的字符和普通字符一样编辑
7.
long Input_val(int x,int y,int type)
输入一个11位的十进制数字字符串,转换成数值并返回,支持负数,不支持浮点数
type参数支持使用默认字库,只要参数的bit5的值是1
8.
long Replace(long chazhao,long tihuan,int num,char fp)
替换文件中的字符串为指定字符串,和电脑上的替换功能一样,chazhao和tihuan都是什么意思应该知道吧,num是替换的字符个数,fp是文件的句柄
呼呼~~~我快困死了,还有两个就完了
9.
long Time(char i)
这个简单,作用和GetTime差不多,但不用steuct结构体声明,一次只取出一个数据
0或1是year,2是month,3是day,4是hour,5是minute,6是second,7是week
10.
long WaitKey(char x,char y)//标号等待按键按下
最后这个是要给和我同是做MM的gameghost的,
我看到你那演示版的MM里,对话的一句结束后没有一个闪烁的等待按键的三角标号,FC的MetalMax游戏中可是有,一兴起就写个给你看看,你要多注意移植游戏的细节哦OOOO
测试函数.lav的 type=105,或98,试试字库的效果吧
还有个 替换换行符.lav ,对TC800也非常有用,我今天没时间说了,,,以后吧
写完拉,我也该找我 的周公去了,
大家有什么意见和建议尽管提吧,我写的这些也许会不太有用,但对我要做我的游戏是一定会大有用处的,所以我才这么认真的写
可是,无奈啊,我的TC800屏幕排线4天前就断了,要抽时间去送修的话没几个星期是不够的
555~~~~
[此贴子已经被作者于2005-11-20 3:21:10编辑过]
|
|