小编Mih*_*kel的帖子

使用 Pygame 从 Base64 字符串加载图像

我正在尝试使用 pygame 从 base64 字符串加载图像,pygame.image.load但收到此错误:TypeError: load_extended() takes no keyword arguments。这是我的代码(我没有包含整个字符串,因为它大约有 10k 个字符):

photo = """R0lGODlhRgBGAPZUAAAAAAAAMwAAzAArAAArMwArzAAr/wBVm..."""

pepeImg = pygame.image.load(data=photo)
Run Code Online (Sandbox Code Playgroud)

这是我在使用 pygame.image.fromstring 时遇到的错误:

Traceback (most recent call last):
  File "C:/Users/mikur/PycharmProjects/timer/dodge.py", line 25, in <module>
    pepeImg = pygame.image.fromstring(base64.b64decode(photo, 'UTF-8'), (70, 70), 'RGBA')
  File "C:\Users\mikur\AppData\Local\Programs\Python\Python37-32\lib\base64.py", line 83, in b64decode
    assert len(altchars) == 2, repr(altchars)
AssertionError: b'UTF-8'
Run Code Online (Sandbox Code Playgroud)

这是代码:

photo = 'R0utCnHtEERJ3qQo960xPQgArITgK1l.....33sYy+72+NudrGfXe1inzveVVABFSQBYIgIBAA7'

pepeImg = pygame.image.fromstring(base64.b64decode(photo, 'UTF-8'), (70, 70), 'RGBA')
Run Code Online (Sandbox Code Playgroud)

这是我试图加载的图像(它很漂亮):

在此输入图像描述

我使用这个网站将其转换为base64:https ://www.askapache.com/online-tools/base64-image-converter/

python base64 pygame image

5
推荐指数
1
解决办法
1255
查看次数

检查 PyGame 混合器通道是否正在播放声音

我正在寻找一种方法来查看 apygame.mixer.Channel当前是否正在播放声音。例如,仅在特定通道中播放的声音结束后才执行某些操作。这是我当前播放声音的代码:

import pygame

pygame.mixer.pre_init()
pygame.mixer.init()
pygame.init()

pygame.mixer.Channel(0).play(pygame.mixer.Sound('coolsound.wav'), maxtime=2000)
Run Code Online (Sandbox Code Playgroud)

我正在考虑这样的 if 语句:

if pygame.mixer.Channel(0) = playing a sound:
    print("playing a sound")
else:
    print("not playing")
Run Code Online (Sandbox Code Playgroud)

显然这是行不通的,只是为了让你了解我在寻找什么。谢谢!

audio pygame if-statement mixer

2
推荐指数
1
解决办法
3808
查看次数

为什么我无法删除此标签 (Tkinter)

我只是在玩弄和测试 python 中的东西。对于更大项目的概念验证代码的一部分,我需要创建然后删除标签。不幸的是,在我创建标签然后尝试将其删除后,当我尝试.destory()使用标签时出现此错误:

AttributeError: 'NoneType' object has no attribute 'destroy'

我听说如果你的标签中没有任何内容,你会得到这个错误,所以它是“无”,但我的有文字。这是代码:

from tkinter import*
import random
import time

root = Tk()
root.geometry("800x500")
root.title("amazing")

def one():
    label1 = Label(root, text="one", font=("Comic Sans MS", 30),  fg="purple").pack()
    time.sleep(2)
    label1.destroy()

def two():
    label2 = Label(root, text="two", font=("Comic Sans MS", 30),  fg="purple").pack()
    time.sleep(2)
    label2.destroy()

def doit():
    rchoice = [two, one]
    selected = random.choice(rchoice)
    return selected()

Button = Button(root, text="Button", width=15, height=3, font=("Comic Sans MS", 20), fg="blue", bg="lightgreen", command=doit).pack(pady=50)

root.mainloop()
Run Code Online (Sandbox Code Playgroud)

python label tkinter destroy

1
推荐指数
1
解决办法
341
查看次数

标签 统计

pygame ×2

python ×2

audio ×1

base64 ×1

destroy ×1

if-statement ×1

image ×1

label ×1

mixer ×1

tkinter ×1