过分了,别人用来做桌面应用开发,这家伙却用来撩妹(4)–双向奔赴的火柴人

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(4)–双向奔赴的火柴人

大家好,又见面了,我是全栈君。

目录

一、运动的火柴人。

二、跟随移动方向奔跑的火柴人

三、自动移动的火柴人


可还记得上期我们研究的会奔跑的机器人吗?

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(4)--双向奔赴的火柴人

没错,就是他,整个画面一闪一闪的,非常不好看。

而且,只能单项奔跑,不能双向奔跑。那这期,我们就一起来更加深入的研究一下吧。

一、运动的火柴人。

1、解决闪屏的问题

import tkinter,time
from tkinter import *
 
tk = tkinter.Tk()
tk.title("窗口")  # 设置窗口名称
tk.geometry("200x220+200+220")
w = tk.winfo_screenwidth()  # 获取屏幕宽
h = tk.winfo_screenheight()  # 获取屏幕高
cn = Canvas(tk, height=h, width=w, bg="white")  # bg="pink"
list,a=[],1
for i in range(1,10):
    list.append(PhotoImage(file="robot_" + str(i) + ".PNG"))#图片列表
    
def update_test(e):
    tk.update()
    global a#设置全局变量
    for i in range(1,10):
        if a==9:
            a=1
            cn.create_image(100,100, image=list[0])
        else:
            cn.create_image(100,100, image=list[a])
            a+=1
        break
    cn.pack()
tk.bind("<Configure>", update_test)
tk.mainloop()

这样,我们的火柴人就不会闪烁了。

二、跟随移动方向奔跑的火柴人

我们上面已经实现了单方向奔跑的火柴人,接下来我们来研究一下双向奔跑的火柴人。

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(4)--双向奔赴的火柴人

是不是有点内味了,那我们来看源代码:

import tkinter,time
from tkinter import *
from PIL import ImageTk, Image
​
tk = tkinter.Tk()
tk.title("窗口")  # 设置窗口名称
tk.geometry("200x220+600+620")
# tk.overrideredirect(True)
w = tk.winfo_screenwidth()  # 获取屏幕宽
h = tk.winfo_screenheight()  # 获取屏幕高
cn = Canvas(tk, height=h, width=w, bg="white")  # bg="pink"
list,list1,a,b=[],[],1,1
for i in range(1,8):
    image1 = Image.open("../test/123/123_" + str(i) + ".PNG")  # 打开图片
    image = image1.resize((200, 220))  # 设置图片大小
    photo = ImageTk.PhotoImage(image)  # 引入图片
    list.append(photo)
    image1 = Image.open("../test/124/123_" + str(i) + ".PNG")  # 打开图片
    image = image1.resize((200, 220))  # 设置图片大小
    photo = ImageTk.PhotoImage(image)  # 引入图片
    list1.append(photo)
def image(list):
    global a
    for i in range(1, 8):
        if a == 7:
            a = 1
            cn.create_image(100, 100, image=list[0])
            a += 1
        else:
            cn.create_image(100, 100, image=list[a])
            a += 1
        break
def xy(x,y):
    return x-10,y-10
​
def update_test(e):
    time.sleep(0.1)
    tk.update()
    x = tk.winfo_x()
    y=tk.winfo_y()
    tk.geometry("200x220+%s+%s"%(x,y))
    global b
    if x<b:image(list)
    elif x==b:pass
    else:image(list1)
    b=x
    cn.pack()
tk.bind("<Configure>", update_test)
tk.mainloop()

原理也是一样的哦,主要是增加了另外一个方向奔跑的小人。

三、自动移动的火柴人

在上面已经掌握了移动的要诀,那下面让他自己移动起来。

主要代码段:

 tk.geometry("200x220+%s+%s"%(x,y))

向左移动:

 tk.geometry("200x220+%s+%s"%(x-10,y))  

向右移动:

 tk.geometry("200x220+%s+%s"%(x+10,y))  

向上移动:

 tk.geometry("200x220+%s+%s"%(x,y-10))  

向下移动​:

 tk.geometry("200x220+%s+%s"%(x,y+10))  

推荐​:

王者荣耀最低战力查询-王者战区修改

过分了,别人用来做桌面应用开发,这家伙却用来撩妹(4)–运动的火柴人

我裂开了,教给他如何搭建和使用代理服务器,他居然用来做这么不正经的事(爬虫,代理ip)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/111349.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • pycharm开启自动补全_pycharm自动整理代码

    pycharm开启自动补全_pycharm自动整理代码pycharm具有代码自动补全的功能。无意中将其功能关闭,百度了好久才解决掉,所以把这次失误记录下来。那么我们怎么打开呢?在软件的左上角找到File-》PowerSaveMode,将对勾去掉就可以了。…

  • docker nginx挂载目录_挂载成功之后如何安装

    docker nginx挂载目录_挂载成功之后如何安装创建目录一般将nginx目录挂载到宿主机方便操作,创建nginx目录:mkdir/home/dockernginxmkdir/home/dockernginx/{conf,html,logs}创建nginx配置文件如下:vim/home/dockernginx/conf/nginx.confnginx默认配置如下:usernginx;worker_processesauto;error_log/var/log/nginx/error.lognotice;pi

  • 域渗透之 pre-auth用户枚举

    域渗透之pre-auth用户枚举适用场景与优点适用于在域外对域用户进行用户枚举和爆破使用Kerberospre-authbruteforcing的速度快,并且不会产生日志。适用场景:在

    2021年12月13日
  • CAN协议通信「建议收藏」

    CAN协议通信「建议收藏」CAN协议广泛应用于车辆诊断通信中,学习它的过程,就像学习一种与车辆沟通的语言,让我更深入的了解汽车的世界。感受汽车的精彩

  • 关闭默认共享-关于Windows的默认共享介绍

    一:关于Windows的默认共享介绍网上其实到处都有谈论到,现我也只是整理一下:在在Windows 系统中,在“我的电脑”上右击“管理”,依次选择“系统工具→共享文件夹→共享”,就会看到一些带有美元“$”标记的符号就是Windows系统默认共享,也就是Windows在安装完毕后自动共享的功能。当然在cmd命令下输入netshare同样可以查看得到。IPC$、ADMIN$、C…

  • PyCharm安装库numpy失败的解决方法

    PyCharm安装库numpy失败的解决方法事情是这样的,博主初学python和机器学习,在跑一个代码的时候被提示出现以下错误:(能被提示出现这个错误,可见确实是初学了!)图1:跑代码时候的报错注:图1是安装好了numpy后出现的第二个错误,错误本质是一样的,都是缺少某个库百度查资料后得知在PyCharm中有一个安装库的方法是:Settings>>PythonInterpreter>>点击图2中红色圈起来的加号,出现图3图2:安装库的一个方法图3:点击图2的加号后出现的界面顺利的话,只

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号