试图在pygame中获取并显示用户输入

时间:2013-03-16 21:52:59

标签: pygame

我正在pygame中为我的课程制作一个与物理相关的程序。 主题是简单的谐波运动,我的程序将(希望)显示一个简单的钟摆运动以及它的速度,加速度,位移等所有相对值。 为了开始模拟,我要求用户输入一些关于这个摆的运动的值,例如它的振幅,时间段和它的长度。

我的第一个问题是我如何得到这个输入,而不是为每个场景编写代码(例如,如果keydown = 1 :,如果keydown = 2 :,如果keydown = 3:等等......)无论如何都要进行推广完整的整数列表,所以我可以说,如果keydown是一个整数,那么时间段=输入。

其次我希望这是实时发生的,这样一旦他们输入数字,他们就可以看到它并修改它,然后按回车确认它,就像你在普通形式上一样,我怎么会在实时?

如果问题看起来很幼稚,我很抱歉,但到目前为止,我所做的唯一计算机编程对考试大纲非常具体,但考试范围很广。

2 个答案:

答案 0 :(得分:0)

您可以指定翻阅编辑不同的属性。键入内容会调用钟摆上的重启方法。

至于数字,键码是有序的,所以你可以有一个if语句来查看它是否在0到9之间。这样的事情:

for event in pygame.event.get():
        if event.type == KEYDOWN and event.key >= K_0 and event.key <= K_9:
            key = event.key - K_0

答案 1 :(得分:0)

你可以让他们在启动时将这些值输入终端,然后有一个按钮冻结你的窗口并返回到终端,当他们点击它时询问输入,如下所示:

int amplitude = raw_input("enter the amplitude")
int length = raw_input("enter the length of the string")
...
while(true) //main loop
    if changevariables:
        int amplitude = raw_input("enter the new amplitude")
        ...