跟着鼠标指针前进的左右造型的鱼

跟着鼠标指针前进的左右造型的鱼

python水波纹模拟和跟着鼠标指针前进的左右造型的鱼

python水波纹模拟和跟着鼠标指针前进的左右造型的鱼
以下是部分代码预览:

'''水波纹模拟和跟着鼠标指针前进的左右造型的鱼.py '''
import math
from turtle import Turtle,Screen     # 导入Turtle类和Screen命令
from random import randint

def follow_mouse(event):
    """本函数让小海龟面朝鼠标指针移动
       由于海龟画图的坐标和tkinter画布原生坐标不一样,所以要进行坐标转换。
    """
    x = event.x - width//2                   # 转换成海龟坐标系中的x坐标
    y = height//2 - event.y                  # 转换成海龟坐标系中的y坐标
    dy = y - fish.ycor()
    dx = x - fish.xcor()
    

def animate_fish():
    """鱼切换造型"""
    
def animate_screen():
    """背景切换"""

if __name__ == "__main__":

    bg_index = 0
    width,height = 800,600
     
    fish_right_images = ["images/fish_right0.gif","images/fish_right1.gif"]
    fish_left_images = ["images/fish_left0.gif","images/fish_left1.gif"]

    fish_right_images = ["fishs/" + "0" * (4-len(str(i))) + str(i) +".gif" for i in range(1,9)]
    fish_left_images = ["fishs/" + "0" * (4-len(str(i))) + str(i) +"-.gif" for i in range(1,9)]
    
    fish_images = [fish_left_images,fish_right_images]
    
    #waveimages = ["waves/" + (4-len(str(i))) * "0" + str(i) + ".png" for i in range(1,21)]
    waveimages = [f"waves/{i:04d}.png" for i in range(1,21)]
    bg_amounts = len(waveimages)
    
    screen = Screen()
    screen.title('跟着鼠标指针移动_by李兴球')     # 写上窗口标题
    screen.setup(width,height)           # 设定窗口大小     
    screen.delay(0)
    [screen.addshape(image) for image in fish_right_images]  
    [screen.addshape(image) for image in fish_left_images]



    fish = Turtle(shape = "turtle")
    fish.penup()     
    fish.speed(0)
    fish.left_right = 0                       # 用左边的图还是右边的图,0左,1右
    fish.images = fish_right_images           # 初始用右边的一系列图
    fish.costume_index = 0                    # 自定义一个属性,用于造型切换索引
    fish.costume_amounts = len(fish_right_images) # 一个方向的造型数量,两个方向是一样的数量
    animate_fish()
    animate_screen()
    screen.cv.bind("<Motion>",follow_mouse)   # 画布绑定鼠标移动事件
    screen.mainloop()

下载完整源代码与素材,本压缩包里面有好多版本及附属程序,请

成为会员后,登陆才能继续浏览!联系微信scratch8即可办理会员。
(会员专属:能浏览所有文章,下载所有带链接的Python资源。)

李兴球

李兴球的博客是Python创意编程原创博客

评论已关闭。