简介:
JS图形开发包 发布,支持256色的5种分辨率图片显示,有一套界面编辑函数,最令人震撼的是有一套编辑3D框架函数
JS 图形开发包
作者 :孙靖 2005.11.18
记得是去年国庆把家里的烂机子带来学校的,从那时候算起,学习编程也有一年多了,编程给我带来了无限的乐趣,可以说除了我老婆,编程是我大学生涯最大的收获~~~
应该是今年暑假认识了NEO,进而也认识了她的作者--董凯,一直深为佩服他的能力。直到今日自己也萌生了写个图形开发包的想法,经过两个星期的努力终于写出个JS~~~ JS的效率不高,功能也远不比NEO强大,架构也很平庸......在许多高手看来,JS就是个垃圾。
所以JS是本人对架构分析的一次尝试,我知道其中有太多太多的不足,所以您已经是编程高手,或您在图形编程方面有较高的造诣,您还是忙自己的事,小弟怕耽误您的时间。若您是编程初学者,或对图形编程还不是很熟,或是也想自己写个图形开发包......那我要对您说JS一定要看。JS架构简单,易学易用,希望JS能给您带来哪怕一点点的帮助。
JS特点:
1. 256色图形开发包。有一套简单的图形显示和绘画函数,支持320X200,640X400,640X480,800X600,1024X768。5种分辨率。
2. 在1的基础上构建了一套界面编辑函数。(其实只有4个函数)
3. 同样在1的基础上构建了一套可以编辑任何形状的3D框架的函数。(这个也是本开发包的独特之处)
本人QQ:272964426 Jig无悔客2~~
EMILE: WuHuiKe@avl.com.cn
申明:
JS为开源的学习资源,您可以使用JS开发软件,也可以修改其中的内容,但在传播或发布自己软件时注明您软件的出处。
下载地址:http://upload.programfan.com/upfile/200512131500657.rar
3D效果图:
[此贴子已经被静夜思于2005-12-28 0:09:49编辑过]
----------------解决方案--------------------------------------------------------
靠~~!!没有人看~~晕忽忽
----------------解决方案--------------------------------------------------------
我来看了 哈哈
----------------解决方案--------------------------------------------------------
我也来看啦!
----------------解决方案--------------------------------------------------------
很好嘛,谢谢楼主传这么好的东西!
----------------解决方案--------------------------------------------------------
好东西,啊
----------------解决方案--------------------------------------------------------
靠,没人顶啊
----------------解决方案--------------------------------------------------------
真是好东西,谢谢了
只是它不能映射纹理!!
总得来说这是我在网上第一次找的DOS下3d图形包。
----------------解决方案--------------------------------------------------------
int get_SVGA_mode() /*获取当前SVGA屏幕模式*/
{
union REGS r;
r.x.ax=0x4f03;
int86(0x10,&r,&r);
return(r.x.bx);
}
上面调用的是AH=4f,AL=3的int 10中断吧?
可是我翻遍了所有的汇编书籍,最多只有AH=0x13啊
而且我用这个做测试的时候发现结果也不太对
#include <dos.h>
int get_SVGA_mode() /*获取当前SVGA屏幕模式*/
{
union REGS r;
r.x.ax=0x4f03;
int86(0x10,&r,&r);
return(r.x.bx);
}
void main()
{
int x;
x=get_SVGA_mode();
printf("%d\n",x);
}
结果x=3,这与Jig.h里定义的
#define SVGA320X200 0x13
#define SVGA640X400 0x100
#define SVGA640X480 0x101
#define SVGA800X600 0x103
#define SVGA1024X768 0x105
没有一个能对上号啊
一堆的问题,望高手指点,谢谢!
----------------解决方案--------------------------------------------------------
呵呵,你得先设置好图形模式, int get_SVGA_mode();函数才有效啊.
你现在的代码是直接在文本模式下,你没有设置好图形模式的.
void init_SVGA()
{
Jig_Savemode = get_SVGA_mode(); /*先保存原来的屏幕模式*/
}
void set_SVGA_mode(int vmode) /*设置SVGA屏幕模式*/
{
int i;
union REGS r;
switch(vmode)
{
case 0x13:
COLS = 320;
ROWS = 200;
break;
case 0X100:
COLS = 640;
ROWS = 400;
break;
case 0X101:
COLS = 640;
ROWS = 480;
break;
case 0X103:
COLS = 800;
ROWS = 600;
break;
case 0X105:
COLS = 1024;
ROWS = 768;
break;
}
r.x.ax=0x4f02;
r.x.bx=vmode;
int86(0x10,&r,&r);
}
你先这样 init_SVGA();
set_SVGA_mode(SVGA800X600);
再去使用get_SVGA_mode();看看?看你获取的值是多少?
看东西要看完,好好看看说明文档.
----------------解决方案--------------------------------------------------------