|
|
|
|
import tkinter as tk
|
|
|
|
|
# 这个就属于第三方库 tkinter,还有pygame,像这样的import引入时报错的,一般就是你的第三方库没有引入
|
|
|
|
|
from tkinter import messagebox
|
|
|
|
|
# 然后你输入命令下载第三方库,我这里已经下载了,所以它会提示已存在gaiku
|
|
|
|
|
# 像这样下载完之后,就可以找到代码中对应的主函数运行了,记得每个python文件都要引入(如果有的话就要引入),
|
|
|
|
|
# 不然代码会报错,我这里的主程序设置成welcome.py了,我直接运行该文件就可以,内如比较简陋,但是基本
|
|
|
|
|
# 的功能都有,这个都可以自己改的
|
|
|
|
|
import category
|
|
|
|
|
def welcome_screen():
|
|
|
|
|
# 创建主窗口
|
|
|
|
|
root = tk.Tk()
|
|
|
|
|
root.title("欢迎界面")
|
|
|
|
|
root.geometry("1200x700")
|
|
|
|
|
root.configure(bg='lightblue')
|
|
|
|
|
|
|
|
|
|
# 创建欢迎标签
|
|
|
|
|
welcome_label = tk.Label(root, text="欢迎使用外星人大战!", font=("Arial", 50, "bold"))
|
|
|
|
|
welcome_label.pack(pady=50)
|
|
|
|
|
|
|
|
|
|
# 倒计时变量
|
|
|
|
|
countdown = 7
|
|
|
|
|
|
|
|
|
|
# 更新倒计时标签的函数
|
|
|
|
|
def update_countdown_label():
|
|
|
|
|
nonlocal countdown
|
|
|
|
|
countdown -= 1
|
|
|
|
|
if countdown >= 0:
|
|
|
|
|
# 更新标签文本并再次调用自己(使用root.after实现递归)
|
|
|
|
|
message_label.config(text=f"{countdown}秒后自动进入游戏")
|
|
|
|
|
root.after(1000, update_countdown_label) # 每隔1秒调用一次
|
|
|
|
|
else:
|
|
|
|
|
# 倒计时结束,弹出消息框并关闭窗口
|
|
|
|
|
root.destroy()
|
|
|
|
|
category.category()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 创建倒计时标签
|
|
|
|
|
message_label = tk.Label(root, text="7秒后自动进入游戏", font=("Arial", 10, "bold"))
|
|
|
|
|
message_label.pack(pady=10)
|
|
|
|
|
|
|
|
|
|
# 创建开始游戏按钮(可选,用于手动开始游戏)
|
|
|
|
|
def simulate_page_jump():
|
|
|
|
|
root.destroy()
|
|
|
|
|
category.category()
|
|
|
|
|
|
|
|
|
|
jump_button = tk.Button(root, text="开始游戏", font=("Arial", 24, "bold"), command=simulate_page_jump)
|
|
|
|
|
jump_button.pack(pady=20)
|
|
|
|
|
|
|
|
|
|
# 开始倒计时
|
|
|
|
|
update_countdown_label()
|
|
|
|
|
|
|
|
|
|
# 进入Tkinter事件循环
|
|
|
|
|
root.mainloop()
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
|
welcome_screen()
|
|
|
|
|
|
|
|
|
|
# ai = AlienInvasion()
|
|
|
|
|
# ai.run_game()
|
|
|
|
|
|