注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

深夜是徘徊在潮湿睫毛上的我的梦以及他的梦

是直到最后都无法放手的一种气息,是我们生命中最后的思念……

 
 
 

日志

 
 

[转]原创!跟我用CC65学FC编程 2  

2009-06-05 23:23:06|  分类: FC网友经验 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

原创!跟我用CC65学FC编程!2!(2009-05-27 15:52:28)

来源 http://blog.sina.com.cn/s/blog_5e1afe9d0100dqbz.html

作者任天行,转载请注明

目前国内的FC编程资料真的很少啊.......

好了,接着来......

cprintf这个和stdio的printf一样,\n之类的也是可以用的.....

但是,像准确定位之类的还要用到gotoxy这个函数......

用法是gotoxy(X,Y)......

前面说了,FC有32*30格,这个不是按像素算的,是按8*8一格,整屏有32*30格算的......

也有单独的gotox和gotoy两个,用法差不多,很好理解......

好了,下面讲图形......

现看看conio.h文件的内容

void __fastcall__ chline (unsigned char length);

void __fastcall__ chlinexy (unsigned char x, unsigned char y, unsigned char length);

void __fastcall__ cvline (unsigned char length);

void __fastcall__ cvlinexy (unsigned char x, unsigned char y, unsigned char length);

有横竖两种,绘制方法也有单独定位和利用gotoxy定位的数据输入长度,好理解吧......

这里的坐标也是32*30的,好好利用吧......

还要说下,这里是一格一格绘制的,会被覆盖,例如前面在这个位置绘制了竖线,再在这个位置绘制横线的时候不会重叠,而是会被覆盖.......

 

为了摆脱单调的颜色,CC65有改变颜色的函数,刚才说了,FC的颜色是13/52的,

咱先看看CC65的nes.h的颜色表.......

#define COLOR_BLACK           0x00

#define COLOR_WHITE           0x01

#define COLOR_RED             0x02

#define COLOR_CYAN       0x03

#define COLOR_VIOLET          0x04

#define COLOR_GREEN           0x05

#define COLOR_BLUE            0x06

#define COLOR_YELLOW          0x07

#define COLOR_ORANGE          0x08

#define COLOR_BROWN           0x09

#define COLOR_LIGHTRED        0x0A

#define COLOR_GRAY1           0x0B

#define COLOR_GRAY2           0x0C

#define COLOR_LIGHTGREEN      0x0D

#define COLOR_LIGHTBLUE       0x0E

#define COLOR_GRAY3           0x0F

一共有16种,其他的可以查阅FC的颜色表.......

然后再看看CC65的改变颜色的函数

unsigned char __fastcall__ textcolor (unsigned char color);

unsigned char __fastcall__ bgcolor (unsigned char color);

unsigned char __fastcall__ bordercolor (unsigned char color);

一共有3种,关于用法可以用颜色代码和CC65替换的颜色关键字,

看下用法:

bgcolor (COLOR_BLUE);

这个就是把背景颜色改成蓝色,FC的那种蓝是偏深的那种

类似这个

具体的到模拟器再试吧........

哦,对了,再说下,

FC要自己写字库,CC65编译的时候会带上CC65附带的英文字库和常用符号......

如果想显示其他的文字就要自己写字库了.......

写字库的方法就是刚才说的8*8点阵,需要绘制的就是1,不需要的就是0,然后把换成16进制,除了这里,还另要有8个字节配色......

这节课的例子:

#include <conio.h>//基本头文件

int main(void)//MAIN函数

{

 clrscr();//清屏

 bgcolor (COLOR_BLUE);//改背景颜色

 cprintf("Hello world\n");//输出文字

 gotoxy(0,1);//改变位置到X0Y1

 chline(32);//横着画一条32格长的线,按FC的分辨率这是穿越这个屏幕的 

 while(1)//无限循环

 {

 }

}

[转]原创!跟我用CC65学FC编程 2 - 维京人 - 深夜是徘徊在潮湿睫毛上的我的梦以及他的梦[转]原创!跟我用CC65学FC编程 2 - 维京人 - 深夜是徘徊在潮湿睫毛上的我的梦以及他的梦

看见这是什么蓝了吧.........

 

下一节课讲延时和按键识别........

  评论这张
 
阅读(462)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017