林鸿这台APPLE_II的显示存储区域小得可怜,只有1KB大小,对应这显示上24行40列的显示区域。
“PRINT”指令完成的动作,就是将要显示的字符,发送到显存区域,这样固件分就会自动完成显存里面的内容和显示
上的内容的对应映
。
如何除呢?BASIC里面可没有
除图像的指令函数。
在看这个章节之前,他知BASIC的“PRINT”指令,可以在显示
上打印字符,但是
为什么这个命令能打印字符,他就抓瞎了。
接下来,林鸿想让这个小球动起来,从一地方移动到另外一个地方。
他觉得自己也可以使用这方式,让小球动起来。
BASIC里面没有移动函数,必须得自己来实现这个效果。
最终他决定从最简单的开始,先在显示上画一个小球。
编什么好呢?
林鸿想起了以前在乡下看电影的情景。电影胶带是由一张张静态的胶片组成的,通过移动着写胶片,就会让人动作起来。孙武曾经从放映员手里得到过这么一段胶片,林鸿仔细观察过,相邻的胶片看似一样,实际上是不相同的,动作之间有细微的移动。
初学者一般都会这样,对自己所学到的内容往往有些茫然,不知如何将这些知识应用到自己的程序中。心中想编写程序,却又不知
该编一个什么样的程序。
BASIC有现成的画图函数,使用画圆的函数很快就在显示上画好了一个小圆,然后再用白
对其
行填充。这很简单,直接调用函数就实现了。
而现在他已经知,这是因为显示
件中有一块被称为“显示存储区”(简称显存)的地方,这是个非常特殊的区域,这个区域当中的任何内容,都会被映
到显示屏上面。这个原理和他小时候玩的一个影
游戏非常相似。
林鸿看了这分没有再继续看下去,而是启动了苹果计算机,打算动手编个程序试试手。
显存就相当于他的“手”而显示屏就是“墙”
过程是这样的,林鸿先画一个白球,一秒钟之后,在左移五个像素的地方再画一个白球,于此同时,用黑球将原来的白球给覆盖,如此重复,一直到屏幕的最右端。通过控制每次停留的时间和位移的长度,他还可以调节小球移动的速度。
他有拿不定主意。
晚上用手电筒照在手上,然后就会在墙
上显示
一个大大的影像,随着他的手指
各
动作,墙
上的图案也会随之变化。
怎么才能移动?
林鸿想了半天,最终使用了一个比较笨的方法,他在前一个小球的地方,再画了一个黑的小球,正好将原来的覆盖掉了,而背景颜
也是黑
的,这样就相当于将小球给
掉了。
看着显示中快速移动的白
小球,林鸿脸上
了会心的笑容,现在完成的功能虽然比较简单,但这是一个很好的开始。
解。
其实林鸿目前最大的目标是想自己编写一个游戏,不过这其中似乎难度不小,凭他目前的能力有好
骛远了。
于是,他在小球的旁边再画了一个小球,相当于是第二张胶片,但是如果想要实现动态效果,前面那个小球就必须除。
往显存里面放去一个字母“A”并且指定在哪一行哪一列,那么显示
上就会在对应的坐标上将字母A显示
来,这就是显示
显示字符的基本显示原理。