ゲームを作るには、とりあえずは何か入力が取得できないとですね。マウスを試してみました。
Mouse input — pyglet v2.0.15
マニュアルを読むと、on_mouse_xxx みたいな関数を作ればいいのですね。まずは位置と移動量を取ってみましょう。前のプログラムとほとんど一緒ですけれど。
import pyglet
window = pyglet.window.Window()
window.set_mouse_visible(True)
label = pyglet.text.Label('Mouse Test',
font_name='Times New Roman',
font_size=36,
x=window.width//2, y=window.height//2,
anchor_x='center', anchor_y='center')
@window.event
def on_draw():
window.clear()
label.draw()
@window.event
def on_mouse_motion(x, y, dx, dy):
label.text = 'x={} y={} dx={} dy={}'.format(x, y, dx, dy)
pyglet.app.run()
- 最初はマウスカーソルがどこにあるか見えた方が助かるので、
window.set_mouse_visible(True)
でカーソル表示を有効に - def on_mouse_motion 関数を用意して、ラベルを入ってきた値で書き換えてしまう(こんなのやってしまっても、あっさり動いてくれますね)
以上が前回からの変更点です。マウスカーソルの画面キャプチャに失敗してますが、窓の左下の方にカーソルを持って行ったときの表示がこんなのです。ドキュメントの通り、左下が (x, y)=(0, 0) になっているのがわかりますね。