培训资料14到21页Word下载.docx

上传人:b****3 文档编号:15822907 上传时间:2022-11-16 格式:DOCX 页数:21 大小:26.35KB
下载 相关 举报
培训资料14到21页Word下载.docx_第1页
第1页 / 共21页
培训资料14到21页Word下载.docx_第2页
第2页 / 共21页
培训资料14到21页Word下载.docx_第3页
第3页 / 共21页
培训资料14到21页Word下载.docx_第4页
第4页 / 共21页
培训资料14到21页Word下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

培训资料14到21页Word下载.docx

《培训资料14到21页Word下载.docx》由会员分享,可在线阅读,更多相关《培训资料14到21页Word下载.docx(21页珍藏版)》请在冰豆网上搜索。

培训资料14到21页Word下载.docx

STA2000:

关中断,确定点阵区,代码横写。

STA2001:

关显示。

LDA2002:

顺序同步。

LDX#00

LDY#04

LDA#20

STA2006

L1:

STA2007256个DATA00

INX

JNZ/L1

DEY

JNZ/L1:

初始化

LDY#00

LDX#04

STA00

培训资料15

LDA#COH

STA01

LDA2002

STA#20H

STA2006

LDA#00

L2:

LDA(00),Y

STA2007

INY

JNZ/L2

INC01

DEX

INZ/L2:

送点阵代码。

LDX#00

LDA#23

LDA#C0

L3:

LDAB000,X

INX

CPX#40H

JNZ/L3:

送着色开关

LDA#3F

L4:

LDAA000,X

CPX#10

JNZ/L4:

送着色代码。

STA2006:

恢复2006。

STA2005

STA2005:

设置背景画面坐标。

LDA#0A

STA2001:

背景开显示。

JMP6000:

返回到监控程序。

至此,您便可以在电视屏幕上看到一幅完整的背景画面了。

当然我们也可以用这一办法生成第二屏背景画面,方法与上面极为类似。

在我们实际编游戏程序的时候,点阵、画面代码近排、着色开关以及着色代码均已由美工完成,程序员的任务就是将这些数据科学地存放在数据区内,并运用顺序生成背景画面的过程,在此过程中,我们可以运用各种技巧以提高效率。

值得一提的是,背景画面的代码往往是经过压缩存放的,这样,数据空间会很大的节省,但在生成背景画面时,需要将压缩码展开后再送上屏幕。

常用的压缩法在后面有关章节详细介绍。

培训资料15

1.2背景画面的移动与衔接

目前市场上流行的游戏种类很多,单屏背景的游戏只是其中的一种且用的不多,更多的游戏则是需要两屏、甚至更多屏背景以丰富游戏的内容。

这便需要提出一个背景画面的移动与衔接的问题。

背景画面的移动我们可以通过定时地改变背景画面的坐标来实现。

2005这一功能口就是背景画面的横纵:

读一次2002口进行顺序同步后,往2005口连续送两个数,第一个数是背景画面的横坐标,第二个数是画面的纵坐标。

横坐标的范围是#00-#FF,纵坐标是#00-#EF,以屏幕左上角为坐标原点。

如果不读2002口进行顺序同步,则2005口两个数的意义可能正好相反。

下面为两屏横接向左移动的例子。

ORG8000

LDA#80

STA10

STA00:

初始化

STAFFFA

LDA#81

STAFFFB:

设置中断入口为8100

LDA#OA

开显示

STA2000:

开中断

L1:

JMP/L1:

等中断

ORG8100:

中断服务程序入口

LDA10

STA2000

*LDA01

*CMP#00

*JNZ/L2

*LDA10

*EOR#01

*STA10

*STA2000

NOP

LDA01

改变背景画面的横坐标

INC00

LDA00

CMP#F0

JNZ/L3

STA00

RTI

培训资料16

运行上面的例子就可以看到背景画面的移动效果了。

这里有两点要特别指定:

1、上述例子中带‘*’的一段程序起一判断衔接作用。

如果没有此段程序,就会出现闪屏现象。

这是因为当前屏幕坐标移动到最大时,应该换屏而没有换,还是显示原来的那屏,而原来的那屏已移到屏幕外,此时坐标重新回到#00处,自然会在屏幕上给人以闪动、不连续的感觉。

为解决这一问题,在往2005送入新的坐标之前,先进行判断坐标是否已到了最大值,如果已到,则改当前显示屏为另一屏。

2、以上例子只展示了背景画面的左移现象,其实背景画面的横坐标的修改十分灵活多变,我们可以根据具体需要灵活运用,以得到不同速度,不同方向及各种连续效果的实现。

1.3背景画面的移动刷新法

通过两屏的移动、衔接与交替显示,从而展示一个不断向前延伸的背景画卷,实现这一功能就是背景画面的移动刷新。

为了达到良好的视觉效果,既连续又不交烁,通常是刷新可视屏以外的部分,具体做法如下:

1、首先生成一屏半画面,显示一屏,另半屏作备用,这样在刚刚移动时接合处是连续的。

2、当第一屏移出可视屏一列或一行代码块时,同时刷新一列或一行背景画面作为备用,当第二屏已经刷新完后,第一屏的前半部分已经移出可视屏,这时再刷新第一屏已显示过的部分。

这种边移动边刷新的方法在目前移动背景的游戏中是一种常用的方法。

应该指出,横接时刷新以列为单位,竖接时以行为刷新单位。

1.4背景画面的动态效果实现

背景画面的动态效果,是指通过对背景画面的修改、控制操作,产生动态视觉效果。

这一点是十分心要的,原因在于:

1、动态效果数量有限。

2、动态角色横向代码块数量有限制。

因此,如果遇到一个大的物体(如炮台)或大量小的动态角色(如大批小蜜蜂、玛丽医生里的细菌、魂斗罗中的水波纹等)它们的动态效果都很难用块来实现,或难以达到理想的效果,这时运用背景实现动态效果就显得很方便、很必要。

下面介绍几种常用的方法:

1.变换点阵代码:

对背景画面的某些代码定时更换,实现动态效果。

2.切换点阵区

3.运用行移技术实现。

2关于动态角色

2.1动态角色的生成

生成动态角色有两种方法:

运用2004口或用4014口,一般常使用4014口,2004口可参见第一章。

培训资料17

4014口控制CPU内部的一个专门电路以实现动态角色的生成,办法如下:

1。

选定#02页--#07页中的某一页作为存放动态数据的动态页,先将这一页的

数据清空,否则有很多随机数不是所预期的动态数据。

2。

将需要的动态角色数据写入动态页。

3。

同步后,启动4014口(将动态页送入4014)。

下面是一启动#02页动态角色的启动程序:

LDA#04

STA2000

LDA.10

动画开显示

LDA2002

BPLFB:

时间同步,等待扫描的间歇

LDA#00如果不开显示,则不需时间

STA2003同步,只需顺序同步即可。

LDA#02

STA4014

LDA#10

STA2001

JMP6000

至此,CPU内的动态角色处理电路自动将#02页的确256个数送入屏幕。

在此,有以下几点值得注意:

1、一页的动态角色数据共256个,每4个数为一组,决定一个动态角色块,因此一页数据最多可以表示64个动态角色块,通过2000口的D5位可以使动态块扩展成128块,此时每组数代表了两组动态块,详情请参见第一章。

总之,允许的最多动态块数量是有限的。

2、每组动态数据所代表的意义

第一个数代表该动态块的纵坐标;

第二个代表动态块的图块代码;

第三个数代表动态块的控制字;

第四个数是该块的横坐标。

关于第三个数(控制字)的详细内容,请参见第一章。

3、2000口的D5=0时,动态角色只能同时使用一个区的点阵;

D5=1时,可以使用二个点阵区的点阵,详情见第一章。

2.2动态角色的移动

动态角色的移动是十分简单的,它是通过每隔一段时间修改一次角色的坐标来实现的,我们可以通过控制修改坐标的时间间隔和坐标每次变化值的大小来控制动态角色的不同动动速度。

这里需要特别值得注意的是,当坐标被修改以后,必须再次启动动态角色页一次,

才能真正实现坐标的改变。

所谓启动动态页即:

读2002;

将#00送到2003;

将动态页的页号送4014。

2.3动态角色的不同运动轨迹

在我们以往看到的游戏中,动态角色的运动十分灵活多变,不但有速度的变化,还有轨迹的变化。

轨迹无非是由一些非连续的坐标点构成的,这些坐标数据可以通过查表法得到,也可通过运算产生。

有两点值得注意:

培训资料18

1.改变动态角色坐标的时间间隔长短可以控制动态角色的运动速度。

2.在一特定轨迹上取代表点的间隔疏密不同,便可以得到间断或连续的动作实现。

2.4动态角色的动作实现

动态角色运动起来后,一般要有各种动作,例如:

迈腿、摆手等;

蜜蜂飞行时翅

膀要扇动;

人物跳起来后在空中翻跟头等。

这些动作通常是由如下两种方法实现

的:

在动态角色的运动过程中,随时改变动态角色的点阵代码。

在动态角色的运动过程中,切换点阵。

在实际过程中,根据具体需要采取不同办法,并灵活控制各种时间间隔,以实现理想的效果。

2.5动态角色消隐法

这里所指的就是如何使屏幕上的动态角色在需要的时候消失。

之所以提出这个问题,是因为通常将动态角色的坐标置成#00的办法消隐动态角色是不对的,因为这样所谓消失的动态角色实际上都在屏幕的左上角,并没有真的从屏幕上消失。

正确的方法是动态角色的坐标改为#F0,因为动态角色的纵坐标范围是#00-#EF,在#F0-#FF范围是在可视屏以外,在屏幕上看不到。

2.6动态角色横超8块产生的现象及处理办法

在一屏当中,如果有8块以上的动态块纵坐标相同或有部分重曡时,就会有些动态块看不到,在屏幕上横向最多可以显示8个动态块

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1