回答編集履歴
3
不要な箇所を削除
test
CHANGED
@@ -2,5 +2,5 @@
|
|
2
2
|
|
3
3
|
ご回答いただきありがとうございました。解決しました。
|
4
4
|
ご指摘いただいた通り、pygame.event.get()をメインループとOnOff()関数の両方で使用しているのが原因だったようです。
|
5
|
-
|
5
|
+
|
6
6
|
本当にありがとうございました。
|
2
回答者の名前を間違えていたため
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Taka
|
1
|
+
TakaiY様
|
2
2
|
|
3
3
|
ご回答いただきありがとうございました。解決しました。
|
4
4
|
ご指摘いただいた通り、pygame.event.get()をメインループとOnOff()関数の両方で使用しているのが原因だったようです。
|
1
誤って自己解決とは別に書き込んでしまったため
test
CHANGED
@@ -4,68 +4,3 @@
|
|
4
4
|
ご指摘いただいた通り、pygame.event.get()をメインループとOnOff()関数の両方で使用しているのが原因だったようです。
|
5
5
|
お書きいただいた「メインループでイベントの取得を行ない、イベントによって動作を振り分けるつくりにする」という内容とは異なるかもしれませんが、下記のコードに修正したところ動作が安定しました。
|
6
6
|
本当にありがとうございました。
|
7
|
-
---
|
8
|
-
|
9
|
-
```Python
|
10
|
-
import pygame
|
11
|
-
from pygame.locals import *
|
12
|
-
import threading
|
13
|
-
import time
|
14
|
-
|
15
|
-
#Pygame関連の初期化
|
16
|
-
pygame.init()
|
17
|
-
pygame.joystick.init()
|
18
|
-
joys = pygame.joystick.Joystick(0)
|
19
|
-
joys.init() #ゲームパッドの初期化
|
20
|
-
|
21
|
-
|
22
|
-
#ボタンを押した際に取得するe.buttonの値
|
23
|
-
"""
|
24
|
-
LBボタン:4
|
25
|
-
RBボタン:5
|
26
|
-
"""
|
27
|
-
|
28
|
-
n1 = 512 #変更する値の初期値
|
29
|
-
switch = 0 #ボタンから指が離れた状態の値を定義
|
30
|
-
|
31
|
-
#ボタンを押したか離したかの判定
|
32
|
-
def OnOff():
|
33
|
-
while True:
|
34
|
-
global switch
|
35
|
-
global e #追加箇所
|
36
|
-
for e in pygame.event.get():
|
37
|
-
if e.type == pygame.locals.JOYBUTTONDOWN: #ボタンが押された場合
|
38
|
-
switch = 1
|
39
|
-
if e.type == pygame.locals.JOYBUTTONUP: #ボタンから指が離れた場合
|
40
|
-
switch = 0
|
41
|
-
|
42
|
-
#0.5秒ごとに値をターミナルに表示
|
43
|
-
def Display():
|
44
|
-
while True:
|
45
|
-
print('現在値:{}'.format(n1))
|
46
|
-
time.sleep(0.5)
|
47
|
-
|
48
|
-
#ボタン押し離しの判定と現在値表示の開始
|
49
|
-
Th1 = threading.Thread(target=OnOff)
|
50
|
-
Th2 = threading.Thread(target=Display)
|
51
|
-
Th1.start()
|
52
|
-
Th2.start()
|
53
|
-
|
54
|
-
#ボタン入力による値の変更
|
55
|
-
while True:
|
56
|
-
#for e in pygame.event.get(): #削除
|
57
|
-
if switch == 1: #修正
|
58
|
-
pushed = int(e.button)
|
59
|
-
|
60
|
-
if pushed == 4:
|
61
|
-
while switch == 1:
|
62
|
-
n1 += -1
|
63
|
-
if n1 < 0:
|
64
|
-
n1 = 0
|
65
|
-
time.sleep(0.2)
|
66
|
-
if pushed == 5:
|
67
|
-
while switch == 1:
|
68
|
-
n1 += 1
|
69
|
-
if n1 > 1023:
|
70
|
-
n1 = 1023
|
71
|
-
time.sleep(0.2)
|