资源描述:
《动态图形的编程技巧.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、个人收集整理勿做商业用途动态图形的编程技巧通过学习“简单的动画”的内容后,我们知道了动画设计的思想:画一个图形,等待一段时间后(通过是很短暂的一段时间),然后再将这个图形擦去,小海龟移到另一个位置,再反复从头开始画这个图形,就可以形成动画了。根据动画的类型,LOGO程序语言中,常用的动画类型可以归纳为以下三种:闪烁动画、旋转动画、移动动画等。接下来,我们就分别来分析一下这三种动画的编程技巧。一、闪烁动画的编程技巧闪烁动画就是小海龟原地不动画的画一个图形,等待一段时间,然后将这个图形擦去,再反复从头开始画这个图形,就形成了闪烁动画了。例1:画一个会闪烁
2、的红色五角星。提示:1、在画图形的时候,小海龟开始画图时的方向与位置必须与画完这个图形后的所在方向与位置保持一致。2、在擦除原来的图像时,可以采用两种方法:一种是覆盖法,具体方法是用背景颜色画一个跟原来一样的图形或画一个比较原来图形稍大的图形,把原来的图形完全覆盖掉;另一种是擦除法,具体方法是用擦除命令(PE)把原来的图形擦除干净。这两种方法可以灵活运用,根据具体情况而定。编程设计闪烁红色五角星的程序:TO WJX个人收集整理勿做商业用途画一个红色的实心五角星,并让小海龟回到原位。SETPC12REPEAT 5[FD50LT 72 FD 50RT1
3、44]PURT20 FD 5PD FILLBK 5LT 20END把原来五角星擦除程序,采用画背景颜色(白色)相同大小的五角星的方法。TO WJXPESETPC 15REPEAT5[FD50LT 72FD50RT144 ]PURT20 FD5 PD FILLBK5 LT20END闪烁五角星程序。TO FLASHWJXDRAWSETBG15 RT 90等待0.1秒画一个五角星等待0.1秒REPEAT 20[ WJX WAIT10WJXPE WAIT10]擦除五角星程序END反复进行20次一、旋转动画的编程技巧旋转动画编程方法是小海龟在所在位置画一个图
4、形,等待一段时间,将图形擦去,并旋转到一个新的角度后再画出原来的图形,反复从头开始进行这一过程,就形成了旋转动画了。例2:画一个金光四射的太阳。(太阳旋转)提示:个人收集整理勿做商业用途画这个太阳旋转的程序,其实就是把太阳光芒画好后,稍等一会儿,把它擦除,并旋转一个角度后再把光芒画出来。所以只要编写画出太阳光芒程序与擦除太阳光芒程序,再把它们用到主程序中就可以了。画金光四射太阳的程序: 画太阳的光芒的程序。TOTYGSETPC14REPEAT30[PU FD 60PD FD 20 PUBK 80PD RT 360/30]END擦除太阳光芒的程序。TO
5、TYGPEREPEAT30[PUFD60PEFD20 PUBK 80PD RT360/30]END太阳光旋转的程序:TOSHINEDRAWSETPC12 (STAMPOVAL5050“TRUE)REPEAT72[TYG WAIT10TYGPERT 360/72]END旋转角度等待0.1秒画太阳光芒程序太阳光芒旋转程序擦除太阳光芒程序一、移动动画编程技巧。移动动画编程方法是小海龟在所在位置画一个图形,等待一段时间,将图形擦去,并移动画到一个新的位置后再画出原来的图形,反复从头开始进行这一过程,就形成了移动动画了。个人收集整理勿做商业用途例3:画一辆会
6、开动的小车。提示:ﻩ1、编程设计移动动画程序的时候,较为重要的一项是做到在设计单个静态图形之前与设计完成单个静态图形之后保持小海龟的位置与方向一致,才能较为方便的编写移动动画。在例3中,就是要求小海龟在画这辆小汽车之前与画完成小汽车之后保持方向与位置的一致。ﻩ2、类似于例3中的小汽车这样较为复杂的图形,用PE命令去擦显示不太方便,所以可以考虑用背景色把它覆盖掉。在用背景色覆盖掉小汽车的时,我们也可以用一种较为简单的方法:移动到小汽车左下角,用背景画一个略大于小汽车的实心长方形,再回到移动之前的位置就可以了。画小汽车移动的程序。画小汽车并回到原位的程序
7、(见前一讲例2的程序CAR,注意把程序中的DRAW命令移除。想想看为什么?)将小汽车图形擦除后回到原位程序。TOCARPEPURT90BK 80 LT90 BK60PDSETPC 15 (STAMPRECT 160100"TRUE)PUFD60 RT 90FD80LT 90PDEND小海龟提笔移动到一个新位置后落笔,方向保持不变把小汽车擦除并回到原位程序等待0.1秒钟画小汽车并回到原位程序小汽车移动程序。TOCARMOVEDRAWHTSETBG 15REPEAT20[CAR WAIT10CARPE PURT90FD5PDLT90]个人收集整理勿做商
8、业用途END反复进行20次,形成移动动画。ﻩ通过三个例子的学习,我们掌握了三种动画的不同编程技巧。在今后的动