图形之让球翻转,,
图形之让球翻转,,
让球翻转
现在来看让球一直移动的第二种选择,不是让它在屏幕边界反弹,而是让它翻转,这表示,球在屏幕右边界消失时,又会在左边界重新出现。
为了让问题更简单一些,我们先来看只是水平移动球的情况,程序见代码清单16-17.
第17行(ifx>screen.get_width():)和第18行(X=0)中,我们检查球什么时候达到窗口的右边界,并把它移回(或者翻转)到左边界。
你可能注意到了,球在右边出现时,它会“突然跳到”【0,50】,可能更自然的做法是从屏幕后面“滑入”,把第18行(X=0)改为X=90,再看看是不是有差别。
你学到了什么
哇!这一章内容真多!在这里,你学习了以下内容。
如何使用Pygame
如何从SPE运行程序
如何创建图形窗口并在其中画一些形状
如何设置计算机图片中的颜色
如何把图像复制到图形窗口
如何完成图像动画,包括将图像移动到新位置时还要从原位置“擦掉”
如何让沙滩球在窗口中“反弹”
如何让沙滩球在窗口中“翻转”
测试题
1、 RGB值【255,255,255】会得到什么颜色
2、 RGB值【0,255,0】会得到什么颜色
3、 使用哪个Pygame方法来画矩形?
4、 使用哪个Pygame方法来画线将多个点连接在一起?
5、 “像素”是什么意思
6、 在Pygame窗口中,位置【0,0】在哪里?
7、 如果Pygame窗口宽为600像素,高为400像素,下图中哪个字母位于位置【50,200】?
8、 图中哪个字母位于位置【300,50】?
9、 使用哪个Pygame方法可以将图像复制到表面(如显示表面)?
10、“移动”一个图像或完成动画时有哪两个主要步骤?
动手试一试
我们讨论了画圆和矩形。Pygame还提供了一些方法来画直线、弧、椭圆和多边形,试着在程序中使用这些方法画一些其他形状。可以在Pygame文档中了解这些方法的更多信息。如果你不能上网,在你的硬盘上也可以找到这个文档(已经随Pygame安装),但可能很难找到,可以搜索硬盘寻找一个名为Pygame_draw.html的文件。
也可以Python的帮助系统(我们在第6章的最后讨论过)。有一点是SPE做不到的,它没有提供一个交互shell,所以要启动IDLE,键入下面的命令。
你会得到一个列表,其中会列出不同的绘制方法以及每种方法的一些解释,
试着修改使用沙滩球图像的示例程序,来使用不同的图像,可以在examplesimages文件夹中找到一些示例图像,或者可以下载或自己画图像,还可以使用数码照片。
试着改变代码清单16-16或代码清单16-17中的X_speed和y_speed值,让球移动得更快或更慢,并在不同方向上移动。
试着修改清单16-16到代码清单16-10中(现代艺术、正弦曲线和神秘图片程序),试着把pygame.display.flip代码行移到while循环中,为此,只需要加4个空格缩进,在这行代码后面(仍然在while循环内部),用下面这行代码增加一个延迟,看看会发生什么:pygame.time.delay(30)
评论关闭