我正在尝试使用pygame
制作游戏,最后会弹出一条tkinter
消息,显示游戏在消息上,并显示再次玩的选项。
当我按下“再次播放”按钮时,按下该键时,播放器精灵根本不会移动。
然后我发现它正在发生,因为在我按下消息框按钮后,它没有将焦点更改为活动的pygame
窗口。
如果有人能告诉我如何更改对焦窗口,那会很有帮助。
如果您使用Windows,您可以使用win32gui
模块,尤其是SetFocus()
方法。
例如,下面的程序受此页面的启发,创建了一个tkinter
窗口和一个pygame
窗口,并将它们交替放在前面。
# -------------------------------
# initialise the front() function
import win32gui
def windowEnumerationHandler(hwnd, windows):
windows.append((hwnd, win32gui.GetWindowText(hwnd)))
results = []
windows = []
win32gui.EnumWindows(windowEnumerationHandler, windows)
def front(win_name):
for i in windows:
if i[1] == win_name:
win32gui.ShowWindow(i[0],5)
win32gui.SetForegroundWindow(i[0])
break
# ------------------------
# create the pygame window
import pygame
class PygameWindow:
def __init__(self, name):
self.name = name
self.window = pygame.display.set_mode((640, 480))
pygame.display.set_caption(self.name)
def to_front(self):
front(self.name)
pygame_window = PygameWindow('This is the pygame window')
# -------------------------
# create the tkinter window
import tkinter
class TkinterWindow:
def __init__(self, name):
self.name = name
self.window = tkinter.Tk()
self.window.title(self.name)
def to_front(self):
front(self.name)
tkinter_window = TkinterWindow('This is the tkinter window')
# ------------------------------------------
# main loop - switch between the two windows
from time import sleep
while True:
sleep(1)
pygame_window.to_front()
sleep(1)
tkinter_window.to_front()
# update the tkinter window to make it to stay visible
tkinter_window.window.update()
卡洛斯·巴罗斯 编辑:也许我应该这么说,但这个游戏是一个类似反击或英雄联盟的游戏,我没有做这个游戏。
使用JavaScript 可以从多个方面增强表单字段的易用性。其中,最常见的一种方式就是在用户填写完当前字段时,自动将焦点切换到下一个字段。通常,在自动切换焦点之前,必须知道用户已经输入了既定长度的数据(例如电话号码)。例如,美国的电话号码通常会分为三部分:区号、局号和另外4 位数字。为取得完整的电话号码,很多网页中都会提供下列3 个文本框: <input type="text" name="te
问题内容: 因此,现在我想弄清楚当框架没有名称或ID时如何将焦点切换到Selenium 2中的框架吗?对于命名框架,我这样做: 但是没有名字呢?有人对此有经验吗? 问题答案: driver.switchTo.frame()被重载以接受框架名称或整数。此int是基于0的可用帧的索引。第一帧为0,第二帧为1,依此类推。 我刚刚使用Java绑定和Firefox对这个HTML页面进行了非常快速的测试。 我
当我的游戏结束时,我试图改变屏幕到游戏结束屏幕,但它没有这样做,只是闪烁当前的游戏屏幕。 游戏结束画面
我正在用pyplay写一个蛇游戏,但我只是提示一个黑色的窗口没有任何错误。 我检查了类似的问题,他们错误地使用了screen对象。然而,这里的情况似乎不是这样,因为它只创建了一次? 知道我做错了什么吗?因为我没有收到任何错误信息,所以我不明白为什么只显示一个黑屏。按键输入事件工作正常。
> 我正在将控件从父窗口传递到子窗口 我正在子窗口中执行操作 执行后,将从子窗口再打开一个窗口(第一个子窗口的子窗口)。 我必须关闭两个子窗口并返回父窗口。 我无法将控件从子窗口切换到父窗口。我已经试用了下面的代码 /在子窗口中执行操作/