(三)Python-tkinter桌面应用(爱心雨)

Python-tkinter桌面应用(爱心雨

(三)Python-tkinter桌面应用(爱心雨)_第1张图片

 

一、前言

我们已经了解到tkinter可以制作爱心,弹幕,为了能让他看起来更加的充满心意,于是,我们决定将他制作为爱心雨。让它看起来更加的特别,达到特别的需求。

二、需求

我们要让我们的爱心移动起来,达到下雨的需求。

三、思路

已经有需求了,我们来整理一下思路:

  1. 实现窗口,窗口爱心
  2. 让窗口一直移动起来
  3. 控制弹幕出现的位置
  4. 控制弹幕的数量

四、代码实现

这次,我们直接来实现爱心雨,让大家感受一下爱心雨的魅力。

1、从上往下

 def move_down(self):
    """
    控制移动方向,向下移动
    :return:
    """
    self.x = str(int(self.x) + 5)
    self.tk.geometry(str(self.ww) + "x" + str(self.hh) + "+" + str(self.y) + "+" + str(self.x))
    if int(self.x) >= self.h:
        self.x = -self.hh
        self.tk.after(10, self.move_down)
    else:
        self.tk.after(10, self.move_down)

2、从下往上


def move_up(self):
    """
    控制移动方向,向上移动
    :return:
    """
    self.x = str(int(self.x) - 5)
    self.tk.geometry(str(self.ww) + "x" + str(self.hh) + "+" + + str(self.y) + "+" + str(self.x))
    if int(self.x) <= -self.hh:
        self.x = self.h
        self.tk.after(10, self.move_up)
    else:
        self.tk.after(10, self.move_up)

3、斜向左下角

def move_left_down(self):
    """
    控制移动方向,向左下方移动,如果超过屏幕则开始循环移动
    :return:
    """
    self.y = str(int(self.y) - 5)
    self.x = str(int(self.x) + 5)
    self.tk.geometry(str(self.ww) + "x" + str(self.hh) + "+" + str(self.y) + "+" + str(self.x))
    if int(self.y) <= -self.ww:
        self.y = str(random.randint(0, self.w + self.ww))
        self.x = -self.hh
        self.tk.after(10, self.move_left_down)
    else:
        self.tk.after(10, self.move_left_down)

(三)Python-tkinter桌面应用(爱心雨)_第2张图片

4、斜向右下角

def move_right_down(self):
    """
    控制移动方向,向右下方移动,如果超过屏幕则开始循环移动
    :return:
    """
    self.y = str(int(self.y) + 5)
    self.x = str(int(self.x) + 5)
    self.tk.geometry(str(self.ww) + "x" + str(self.hh) + "+" + str(self.y) + "+" + str(self.x))
    if int(self.y) >= self.w + self.ww or int(self.x) >= self.h + self.hh:
        self.y = str(random.randint(-self.ww, self.w))
        self.x = -self.hh
        self.tk.after(10, self.move_right_down)
    else:
        self.tk.after(10, self.move_right_down)

文章内容

本文主要是关于讲述了tkinter,  after的用法,延伸的移动窗口的方式。操作简单,

涉及的函数图像有 f(x)=a,a为常数

以及f(x)=kx+b  ,k,b为常数。

公众号回复 “爱心弹窗” 获取源代码

你可能感兴趣的:(#,有趣的Tkinter,有趣的python开发,python,开发语言,tkinter)