Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 29, 2012 13:54:26

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

как события с клавишами??

я совсем совсем новичок в python. не расскажите как сделать события с клавишами?
там например при нажатии пробела одна картинка меняется на другую. я поискал в интернете но ничего не нашёл

Офлайн

#2 Окт. 29, 2012 14:00:57

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

как события с клавишами??

Уточни, что ты имеешь в виду. Графический интерфейс? Какой фреймверк?

Офлайн

#3 Окт. 29, 2012 14:19:02

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

как события с клавишами??

ну.. pygame. я не знаю чо такое фреймворк. мне нужно научиться работать с клавишами. какие нибудь действия с клавишами

Офлайн

#4 Окт. 29, 2012 15:16:19

GaiveR
От:
Зарегистрирован: 2011-08-13
Сообщения: 122
Репутация: +  16  -
Профиль   Отправить e-mail  

как события с клавишами??

как то так:

while True:
    events = pygame.event.get()
    for event in events:
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_RETURN:
                print 'enter'
            elif event.key == pygame.K_ESCAPE:
                print 'escape'
    ...



Офлайн

#5 Окт. 29, 2012 17:16:24

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

как события с клавишами??

вот код:

import pygame
from pygame.locals import *

pygame.init()

pygame.display.flip()
pygame.display.update()

while True:
events = pygame.event.get()
for event in events:
if event.type == pygame.KEYUP:
if event.key == pygame.K_RETURN:
print ‘enter’
elif event.key == pygame.K_ESCAPE:
print ‘escape’

mainLoop=True
while mainLoop:
for event in pygame.event.get():
if event.type==QUIT:
mainLoop=False

pygame.quit()

чего сдесь непривильно? может вот этот mainLoop убрать?
скажите пожалуйста если вам не трудно

Отредактировано pellon (Окт. 29, 2012 17:18:29)

Офлайн

#6 Окт. 29, 2012 17:19:04

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

как события с клавишами??

извеняюсь. не знал что здесь код можно вот так по цветному писать:

import pygame
from pygame.locals import *
pygame.init()
pygame.display.flip()
pygame.display.update()
while True:
    events = pygame.event.get()
    for event in events:
        if event.type == pygame.KEYUP:
            if event.key == pygame.K_RETURN:
                print 'enter'
            elif event.key == pygame.K_ESCAPE:
                print 'escape'
mainLoop=True
while mainLoop:
	for event in pygame.event.get():
		if event.type==QUIT:
			mainLoop=False
pygame.quit()

Отредактировано pellon (Окт. 29, 2012 17:20:10)

Офлайн

#7 Окт. 30, 2012 01:50:57

odnochlen
Зарегистрирован: 2012-06-28
Сообщения: 794
Репутация: +  14  -
Профиль   Отправить e-mail  

как события с клавишами??

Сформулируй словами, что должен делать цикл, а потом запиши это на питоне.

Офлайн

#8 Окт. 30, 2012 14:46:59

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

как события с клавишами??

ну….. допустим в графическое окно на pygame. нужно чтобы при нажатии на кнопку “G” окно выключалось.
формулирую словами:

импортируем pygame

инициализируем pygame

создаём окно
даём заголовок окну

наверное здесь должен быть код: (при нажатии на кнопку “G” окно выключается)
если не здесь то скажите пожалуйста где

тут: pygame.display.flip()

дальше у меня всегда идёт это:

mainLoop=True
while mainLoop:
	for event in pygame.event.get():
		if event.type==QUIT:
			mainLoop=False
это у меня для того чтоб окно само по себе не закрывалось

дальше стороки:

pygame.display.update()
pygame.quit()

???

Офлайн

#9 Окт. 30, 2012 20:57:36

GaiveR
От:
Зарегистрирован: 2011-08-13
Сообщения: 122
Репутация: +  16  -
Профиль   Отправить e-mail  

как события с клавишами??

# -*- coding: utf-8 -*-
import pygame
pygame.init()
pygame.display.set_mode((640, 480))
mainLoop = True
while mainLoop:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            mainLoop = False
        elif event.type == pygame.KEYDOWN:
            #if event.key == pygame.K_g: # вообще по идее так, но у меня оно не заработало
            if event.key == 208:
                mainLoop = False



Офлайн

#10 Окт. 31, 2012 15:20:45

pellon
Зарегистрирован: 2012-10-29
Сообщения: 98
Репутация: +  -1  -
Профиль   Отправить e-mail  

как события с клавишами??

спасибо. разберусь как нибудь. а ты не знаешь где посмотреть номера клавиш?

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version