python - 我如何让球真正反射到桨上?
问题描述
顺便说一句,这是给 Brick Breaker 或 Breakout
def gamePlay(level,speed):
global k,A,play,score,life,gameLevel,gameSpeed
gameSpeed = speed
gameLevel = level
x = random.randrange(0,800)
y = 200
xpaddle = 400
ypaddle = 565
f = 0
f1 = 0
while True:
gameDisplay.fill(black)
gameData(score,life,level)
for event in pygame.event.get():
if event.type == pygame.QUIT:
GameOver()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:#paddle move left
xpaddle-=100
if xpaddle < 0:
xpaddle+=100
if event.key == pygame.K_RIGHT:#paddle move right
xpaddle+=100
if xpaddle > 700:
xpaddle-=100
if event.key == pygame.K_p:#pause
paused()
global pause
pause = True
这是桨物理^
pygame.draw.circle(gameDisplay,green,(x,y),10)
这是你击中的实际球^
pygame.draw.rect(gameDisplay,red,(xpaddle,ypaddle,100,10))
global paddle
paddle = pygame.draw.rect(gameDisplay,red,(xpaddle,ypaddle,100,10))
pygame.display.update()
global ball
ball = pygame.draw.circle(gameDisplay,green,(x,y),10)
if ball.collidelist([paddle]) > -1:
gameSpeed = -gameSpeed
这就是我认为“碰撞反射器”的工作方式^
解决方案
推荐阅读
- computer-vision - RetinaNet 特征图维度问题
- c++ - 使用 Cygwin 时出错:“collect2:致命错误:ld 以信号 11 [分段错误] 终止”
- reactjs - 将 RASA POST webhook API 连接到 React Web UI 时出错
- javascript - 添加选择选项以根据另一个选择进行选择
- pandas - 添加百分比列
- angular - Angular:在 HTTP 获取请求中发送两个以上的参数
- powerbi - 从 Azure Synapse 导入数据时,Microsoft PowerBI 中出现 OLE DB 或 ODBC 错误
- mirth - Mirth Database Reader 无法处理从通道中的数据库检索到的行(索引超出范围)?
- airflow - 气流调试:在 vscode 中运行 DAG 时如何跳过回填作业执行
- sql - 使用 SQL 执行日期拆分并获取给定时间段(2 个日期列)的记录数