「已注销」 2022-01-24 20:26 采纳率: 100%
浏览 23
已结题

python 键盘控制圆球

我现在想按up 圆的半径增大,按down圆的半径减小,按left圆向左移动,按right向右移动的。思路也对但就是运行不了,求解。

import simpleguitk

画布高 = 500
画布宽 = 500
圆的坐标 = [画布宽 / 2, 画布高 / 2]
yuan_半径 = 20


def yuan(canves):
    canves.draw_circle(圆的坐标, yuan_半径, 5, 'red', 'blue')


def key_down(key):
    global yuan_半径
    vel = 20
    if key == simpleguitk.KEY_MAP('up'):
        if yuan_半径 < min(圆的坐标[0], 画布高 - 圆的坐标[0]):
            yuan_半径 += vel
    elif key == simpleguitk.KEY_MAP('down'):
        if yuan_半径 > 0:
            yuan_半径 -= vel
    elif key == simpleguitk.KEY_MAP('left'):
        if 圆的坐标[0] > yuan_半径:
            圆的坐标[0] -= vel
    elif key == simpleguitk.KEY_MAP('right'):
        if 圆的坐标[0] < 画布高 - yuan_半径:
            圆的坐标[0] += vel


frame = simpleguitk.create_frame('小球移动', 画布宽, 画布高)
frame.set_draw_handler(yuan)
frame.set_keydown_handler(key_down)
frame.start()


  • 写回答

1条回答 默认 最新

  • chuifengde 2022-01-25 10:02
    关注

    KEY_MAP['up'] 用中括号

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 2月2日
  • 已采纳回答 1月25日
  • 创建了问题 1月24日

悬赏问题

  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
  • ¥15 itunes恢复数据最后一步发生错误
  • ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
  • ¥100 H5网页如何调用微信扫一扫功能?