Python 实现“嫦娥奔月“小动画,一起来看看这漂亮的嫦娥吧【仅供娱乐】

Python 实现“嫦娥奔月“小动画,一起来看看这漂亮的嫦娥吧【仅供娱乐】_第1张图片

  中秋节快要来了,“嫦娥奔月”是我国古代的一个美丽神话,它反映了古代人类祖先飞天和探索宇宙苍穹的梦想。现在伟大的中国航天人为实现这一梦想取得了重大科技成就,神舟系列载人航天飞船发射成功是我们每个炎黄子孙的骄傲!

  恰逢神舟十二号今天返航,中国航天员首次从中国空间站返回地球!而且神舟十三号也即将准备发射!!

  一个伟大的日子里做个小动画能否圆个飞天梦想呢,算是痴人说梦吧!不废话了,翠花,上酸菜:

源代码:

import tkinter as tk
from time import sleep

def init():
    global cv,chang
    cv.delete('all')
    img1 = tk.PhotoImage(file='MOON.gif')
    img2 = tk.PhotoImage(file='CHANG.gif')
    moon = cv.create_image(100,100,image=img1)
    chang = cv.create_image(936,680,image=img2)
    cv.update()
 
def move1():
    global cv,btn1,btn2,chang
    btn1.configure(state=tk.DISABLED)
    btn2.configure(state=tk.DISABLED)
    cv.coords(chang,936,680)
    t = [i for i in range(10,72)]
    for i in range(62):
        cv.move(chang,-13,-9)
        cv.update()
        sleep(t[i]/323)
    btn1.configure(state=tk.NORMAL)
    btn2.configure(state=tk.NORMAL)
    
def move2():
    global cv,btn1,btn2,chang
    btn1.configure(state=tk.DISABLED)
    btn2.configure(state=tk.DISABLED)
    cv.coords(chang,936,680)
    x = lambda i:i*30
    y = lambda i:0.6*i*i+110
    for t in range(30,3,-1):
        cv.coords(chang,x(t),y(t))
        cv.update()
        sleep(0.2)
    btn1.configure(state=tk.NORMAL)
    btn2.configure(state=tk.NORMAL)
 
def main():
    global cv,chang,btn1,btn2
    root = tk.Tk()
    root.geometry('1024x768')
    root.title(u'嫦娥奔月')
    root.resizable(False,False)
    cv = tk.Canvas(root, width=1024, height=768, bg='black')
    cv.pack()
    btn1 = tk.Button(root,text=' 嫦娥直线奔月',command=move1)
    btn1.place(x=80,y=680)
    btn2 = tk.Button(root,text=' 嫦娥抛物线奔月',command=move2)
    btn2.place(x=220,y=680)
    img1 = tk.PhotoImage(file='MOON.gif')
    img2 = tk.PhotoImage(file='CHANG.gif')
    moon = cv.create_image(100,100,image=img1)
    chang = cv.create_image(936,680,image=img2)
    root.mainloop()
 
if __name__=="__main__":
 
    app = main()

注:tk.Canvas.coords(object,x,y) 参数方程直接作x,y坐标参数移动object非常方便。
 

素材图片 

Python 实现“嫦娥奔月“小动画,一起来看看这漂亮的嫦娥吧【仅供娱乐】_第2张图片

 

Python 实现“嫦娥奔月“小动画,一起来看看这漂亮的嫦娥吧【仅供娱乐】_第3张图片

程序效果

俗话说每个人都有一个哈姆雷特,在这中秋佳节团圆日里,祝愿每个为此文点赞的人,都会有一个漂亮的嫦娥姐姐!

你可能感兴趣的:(Python,#,Python,学习笔记,tkinter,Canvas)