- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用BASIC语言实现动画技术举例
用BASIC语言实现动画技术举例
用BASIC语言实现的动画技术举例
1994-01-28
正如我们在一些电视游戏上看到的那样,如碰撞、跳跃、奔跑、发射、爆炸等一系列迷人的效果,都是动画技术的应用结果。我们虽然无法运用BASIC实现那些错综复杂的大型画面,其中有分辨率的不足,也有速度不够的因素,但通过动画技术的学习,至少可以了解其设计原理,只要运用得当,同样也能制作出栩栩如生的动态游戏。
和电影、电视,尤其是和美术卡通片相似,计算机动画技术利用了计算机能高速显示图形的特点,以适应人的视觉暂停现象。例如,我们想让某一形体移动,所要作的工作只是画出该图形,接着消除它,然后在稍微不同的位置重复这一过程。 这种“显示__消除__(换形或换位)显示”的方法,就是画面活动的基本原理。从另一方面讲,即使在电影中(每秒钟放映24幅胶片)或是在电视中(每秒钟显示25帧图像),也会造成闪烁和跳跃感。实际运用里,电影技术采取了“遮挡放映法”,电视技术则采取了“隔行扫描法”,设法避免闪烁现象。我们也准备采用某种“延时”的技巧尽可能地改善屏幕动画的显示效果。
下面将以移动图形块为例,从不同角度介绍上述动画的形成原理。
[程序1] 图形块水平移动
10 SCREEN 0,1:WIDTH 40:CLS
100 FOR X=1 TO 40
110 LOCATE 10,X:PRINT ;
120 LOCATE 10,X:PRINT ;
130 NEXT X
运动后可以看到,由于“显示__消除”过程的不断交替,图块迅速水平穿越屏幕,实现了动画。不过在显示过程中有明显的闪烁现象,这是因为显示图块和消除图块时间相等,显示时间还不足以使人产生视觉暂停效应。为此,我们应当给显示过程以适当的延时,插入下列语句:
115 FOR T=1 TO 1000:NEXT T
插入的空循环,可通过改变循环终值调整延时时间。请读者注意,由于机器的速度不一,循环终值应根据具体情况调整后设定。此时,虽然图块的运动速度减慢,但较好地消除了跳跃感。
[程序2] 图形块垂直移动
10 SCREEN 0,1:WIDTH 40:CLS
100 X=20
110 FOR Y=1 TO 24
120 LOCATE Y,X:PRINT ;
125 FOR T=1 TO 1000:NEXT T
130 LOCATE Y,X:PRINT ;
140 NEXT Y
在编程时应注意,无论是X值还是Y值都不允许超界。
上两例循环语句的步长均为1,即速度为单一方向(水平或垂直)的常量1。如果同时考虑速度的两个分量:水平分量H,垂直分量V,且赋予不同的数值,就可产生斜率不同的斜向运动。
[程序3] 斜向移动的图形块
10 SCREEN 0,1:WIDTH 40:CLS
100 X=1:Y=1
110 V=1:H=1
120 LOCATE Y,X:PRINT ;
125 FOR T=1 TO 1000:NEXT T
130 LOCATE Y,X:PRINT ;
140 X=X+H:Y=Y+V
150 IF X40 OR Y24 THEN 170
160 GOTO 120
170 END
我们很容易通过改变速度增量H或水平增量V值,产生不同的斜度效果。比如令V=1,H=2,加大了水平方向的运动速度。注意150句是必不可少的,它控制了图块的运动范围,使坐标不至于超出界限。
在[程序3]里,我们先画了图块,然后延时,再把它消除。另一种常用的方案是先在原位消除,然后在新的位置显示图块,并启用另外两个变量保存坐标值,以便循环返回时把图块消除,如下列程序所示:
[程序4] 另一种斜向运动程序方案
10 SCREEN 0,1:WIDTH 40:CLS
100 X=1:Y=1:M=1:N=1
110 H=1:V=1
120 LOCATE N,M:PRINT ;
130 LOCATE Y,X:PRINT ;
140 N=Y:M=X
1
您可能关注的文档
最近下载
- 新《保险法》知识考试题库资料100题(含答案).pdf VIP
- 人教版二年级上册数学全册教学设计(配2025年秋新版教材).docx
- 管廊工程监理监理大纲(2017.2.13).doc VIP
- 2024年7月1日实施新版医疗器械采购、收货、验收、贮存、销售、出库、运输和售后服务工作程序.docx
- 蓝铜胜肽的合成方法.pdf VIP
- 美术课堂开学第一课 (1).pptx VIP
- 卡尔加里精神分裂症抑郁量表.pdf VIP
- 规则引擎项目开发手册及规范指导ilog篇.doc VIP
- 幼儿园 小班家长会课件.ppt VIP
- 人教版2024八年级上册英语 Unit 1 Happy Holiday 第1课时 教案(表格式).docx VIP
文档评论(0)