用BASIC语言实现动画技术举例.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

jgx3536 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档