【发布时间】:2019-01-10 03:43:21
【问题描述】:
我正在尝试创建一个滚动条(游戏中玩家似乎跑了无限距离直到他们死去)。
我知道存在库和模块(例如pygame),这使得创建游戏变得更加容易,但我试图在没有任何外部模块的情况下做到这一点。我正在控制台窗口中运行我的代码。
我的代码:
import os, time, threading, keyboard
key = False
def checkForJump(i, key, character):
while True:
if key:
character = " xo "
print(character)
key = False
time.sleep(0.05)
i, character = printScreen(i, character)
i = 1
character = " x "
def printScreen(i, character):
sky1 = " * * oooo (()) "
sky2 = " ____ oooo * "
space1 = " "
space2 = " "
land = "------------------------------------------------------------------------------------------------------------------------"
os.system("cls")
print((sky1[i:] + sky1[:i] + "\n" + sky2[i:] + sky2[:i] + "\n") * 3)
print("\n\n")
print(space1)
print(space2)
print(character)
print(land)
i += 1
i = i % 120
return i, character
t = threading.Thread(target=checkForJump, args=(i, key, character))
t.daemon = True
t.start()
while True:
key = keyboard.is_pressed('q')
我的问题:我正在使用线程(我完全是初学者),因为我需要在检查任何用户输入时保持背景移动。在这种情况下,我正在检查是否按下了“q”。如果是,我希望我的角色变成“xo”而不是“x”。但是,当我按“q”时,没有任何变化。
【问题讨论】:
标签: python multithreading console keyboard