mieki256's diary



2023/10/15() [n年前の日記]

#3 [ruby] Gosuのキーボード関連定数が少し変わっていた

Windows10 x64 22H2 + Ruby 2.6.10 x86 + Gosu 1.4.3 を使って、昔書いたサンプルを動かしていたら、警告が出ていることに気づいた。

>ruby 06_gosu_fps_test.rb
06_gosu_fps_test.rb:205: warning: constant Gosu::KbEscape is deprecated

「Gosu::KbEscape は廃止された」と出ている…。

そのあたりの変更内容についてググってみたけど全然出てこない。なんだか Google の検索精度がどんどん悪化してる気がする…。

それはさておき、何を代わりに使うことになったのやら。

KbEscape は KB_ESCAPEになっていた :

_Module: Gosu - Documentation for gosu (1.4.6)

「KB_ESCAPE」という定数が目に入った。コレにしろということだろうか。


_Ruby Tutorial - gosu/gosu Wiki - GitHub

サンプルソースの中に Gosu::KB_ESCAPE という記述があった。やはりコレに変えないといかんらしい。


どの時点で変わったのか少し調べてみたけれど。

_Comparing v1.0.3...v1.0.4 - gosu/gosu-examples - GitHub

Gosu ではなくて、gosu-examples の変更点だけど、1.0.3 から 1.0.4 になる時に KbEscape から KB_ESCAPE に変更されてる。その時期より前にGosu側で変更されていたということだろうな…。2017年頃に修正されてるから、随分昔に仕様が変わっていたらしい。


_Gosu examples: available keys? - Issue #576 - gosu/gosu - GitHub

上記のやり取りによると、Gosu::KbSpace も Gosu::KB_SPACE になってる模様。

他の定義も無くなっていた :

別のスクリプトについても動作確認していたら、他にも定義が無くなっていたものが多数あった。
> ruby 07_input_test.rb
07_input_test.rb:43: warning: constant Gosu::KbLeft is deprecated
07_input_test.rb:43: warning: constant Gosu::GpLeft is deprecated
07_input_test.rb:48: warning: constant Gosu::KbRight is deprecated
07_input_test.rb:48: warning: constant Gosu::GpRight is deprecated
07_input_test.rb:53: warning: constant Gosu::KbUp is deprecated
07_input_test.rb:53: warning: constant Gosu::GpUp is deprecated
07_input_test.rb:58: warning: constant Gosu::KbDown is deprecated
07_input_test.rb:58: warning: constant Gosu::GpDown is deprecated
07_input_test.rb:63: warning: constant Gosu::KbZ is deprecated
07_input_test.rb:63: warning: constant Gosu::GpButton0 is deprecated

Gosu::KbLeft は Gosu::KB_LEFT に、Gosu::KbRight は Gosu::KB_RIGHT に、他もそんな感じで修正しないといかんようだなと…。要するに、Gosu::Kb* という記述があったら、Gosu::KB_* にして、かつ、KB_ 以降を大文字にしないといけない模様。

手元のスクリプトを修正 :

せっかくだから、GitHub にアップロードしてあった Gosu のサンプル群も修正しておいた。

_GitHub - mieki256/gosu_examples_mieki256: Ruby + Gosu examples by mieki256.

以上です。

過去ログ表示

Prev - 2023/10 - Next
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project