Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
なお、JR東日本およびその関連会社、音楽館からの要請があった場合は使用を推奨しないようにします。
SwitchDenGo()の32行目でInvlid joystic buttonのエラーが出て止まります。
self.joy.get_button(13)にするとエラーが解消されて動くようになりました。
素敵なソフト、ありがとうございます。
ツーハンドルタイプの対応にも勝手ながらきたいしております。
ありがとうございました。
最初の黒い画面が出ても何もしないで直ぐ消えてしまいます、マスコン動作もしません。
コントローラーはZKNS-002です。
Traceback (most recent call last):
File "main.py", line 24, in <module>
File "SwitchDenGo.py", line 32, in loadStatus
pygame.error: Invalid joystick button
[876] Failed to execute script 'main' due to unhandled exception!
ちなみにコントローラーはZKNS-001です
Traceback (most recent call last):
File "main.py", line 20, in <module>
File "SwitchDenGo.py", line 10, in __init__
pygame.error: Invalid joystick device number
[13828] Failed to execute script 'main' due to unhandled exception!
コントローラを接続して使えたという方、どのようにデバイスドライバーをインストールしたのかお聞きしたいのですが教えてもらえませんか?
ドライバーも OS 標準の USB 入力デバイスとして認識されているので、特にインストールなどは不要でした。 (Windows 10, 11 共に)
エラーを見るに、
https://github.com/mipsparc/JRESim_Dengo/blob/v1.0/SwitchDenGo.py#L10 の
とりあえず、 OS がゲームコントローラとして認識しているか、 「デバイスとプリンター」の設定 (win10[win10labo.info], win11[win11lab.info]) でコントローラーのテストができるか確認してみてはいかがでしょうか?
```
Traceback (most recent call last):
File "C:\Users\USERNAME\Documents\Repositories\JRESim_Dengo\JRESim_Dengo.py", line 23, in <module>
dengo.loadStatus()
File "C:\Users\USERNAME\Documents\Repositories\JRESim_Dengo\SwitchDenGo.py", line 29, in loadStatus
if self.joy.get_button(15):
pygame.error: Invalid joystick button
```
確認したところ、 `pygame` モジュールで取得できるキー情報が大きく変わっているようです。
(例えば、方向キーがボタンではなくて、ハットスイッチとして取得されるようになっている)
`SwitchDenGo.py` のソースコードで、キーマップの組み合わせを以下のように変えたら意図通り動作する所まで確認はしました。
```diff
- # Xボタン
- if self.joy.get_button(2):
- self.buttons.append("SW_X")
- # Yボタン
- if self.joy.get_button(3):
- self.buttons.append("SW_Y")
- # Aボタン
- if self.joy.get_button(0):
- self.buttons.append("SW_A")
- # Bボタン
- if self.joy.get_button(1):
- self.buttons.append("SW_B")
- # ○ボタン
- if self.joy.get_button(15):
- self.buttons.append("SW_CIRCLE")
- # HOMEボタン
- if self.joy.get_button(5):
- self.buttons.append("SW_HOME")
+ # Xボタン
+ if self.joy.get_button(3):
+ self.buttons.append("SW_X")
+ # Yボタン
+ if self.joy.get_button(0):
+ self.buttons.append("SW_Y")
+ # Aボタン
+ if self.joy.get_button(2):
+ self.buttons.append("SW_A")
+ # Bボタン
+ if self.joy.get_button(1):
+ self.buttons.append("SW_B")
+ # ○ボタン
+ if self.joy.get_button(13):
+ self.buttons.append("SW_CIRCLE")
+ # HOMEボタン
+ if self.joy.get_button(12):
+ self.buttons.append("SW_HOME")
```
ただ、書き換えてしまうと旧コントローラの方で動かなくなってしまうので、何か適当な新旧コンを区別する方法を思いついたら、プルリク投げてみようと思います。
元の作者さんが対応してくれるかはわかりませんが。
https://github.com/advanceboy/JRESim_Dengo/releases/tag/v1.0p1
技術的な原因について調べた記事を書いたので、万が一気になる人がいれば以下のページへどうぞ。
https://aquasoftware.net/blog/?p=1960
何も操作できなくなってしまいます。何が原因なのでしょうか?