写一个用graphics画动画人物的代码
时间: 2023-06-20 19:07:02 浏览: 93
以下是一个用Python的graphics库画动画人物的示例代码:
```python
from graphics import *
# 创建窗口并设置大小
win = GraphWin("Animation", 800, 600)
# 画头部
head = Circle(Point(400, 150), 50)
head.setFill("yellow")
head.draw(win)
# 画身体
body = Rectangle(Point(350, 200), Point(450, 400))
body.setFill("green")
body.draw(win)
# 画左手
left_arm = Line(Point(350, 250), Point(300, 300))
left_arm.setWidth(5)
left_arm.draw(win)
# 画右手
right_arm = Line(Point(450, 250), Point(500, 300))
right_arm.setWidth(5)
right_arm.draw(win)
# 画左脚
left_leg = Line(Point(375, 400), Point(350, 450))
left_leg.setWidth(5)
left_leg.draw(win)
# 画右脚
right_leg = Line(Point(425, 400), Point(450, 450))
right_leg.setWidth(5)
right_leg.draw(win)
# 定义动画参数
step = 5
dx = step
dy = step
# 开始动画循环
while True:
# 移动人物
head.move(dx, dy)
body.move(dx, dy)
left_arm.move(dx, dy)
right_arm.move(dx, dy)
left_leg.move(dx, dy)
right_leg.move(dx, dy)
# 检查是否碰到窗口边缘
if head.getP1().getX() <= 0 or head.getP2().getX() >= win.getWidth():
dx = -dx
if head.getP1().getY() <= 0 or right_leg.getP2().getY() >= win.getHeight():
dy = -dy
# 等待一会儿再更新画面
time.sleep(0.02)
win.update()
```
这个代码会创建一个800x600的窗口,画出一个简单的人物,然后不断地移动人物并检查是否碰到了窗口边缘,如果碰到了就改变移动方向。通过循环和等待一段时间再更新画面来实现动画效果。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)