このコードを機能させる方法: pyglet をインストールして変更"assassin1.png"
し"assassin2.png"
、このコードをファイルに保存したディレクトリに保存されている画像の名前を付けます。
import pyglet
class Assassin(pyglet.sprite.Sprite):
def __init__(self, batch):
pyglet.sprite.Sprite.__init__(self, pyglet.resource.image("assassin1.png"))
self.x = 50
self.y = 30
def forward_movement(self):
pass # How do I continously change between 'assassin1.png' and 'assassin2.png'?
class Game(pyglet.window.Window):
def __init__(self):
pyglet.window.Window.__init__(self, width = 315, height = 220)
self.batch_draw = pyglet.graphics.Batch()
self.player = Assassin(batch = self.batch_draw)
self.fps_display = pyglet.clock.ClockDisplay()
self.keys_held = []
self.schedule = pyglet.clock.schedule_interval(func = self.update, interval = 1/60.)
def on_draw(self):
self.clear()
self.fps_display.draw()
self.batch_draw.draw()
self.player.draw()
def on_key_press(self, symbol, modifiers):
self.keys_held.append(symbol)
if symbol == pyglet.window.key.RIGHT:
self.player.forward_movement()
print "The 'RIGHT' key was pressed"
def on_key_release(self, symbol, modifiers):
self.keys_held.pop(self.keys_held.index(symbol))
def update(self, interval):
if pyglet.window.key.RIGHT in self.keys_held:
self.player.x += 50 * interval
if __name__ == "__main__":
window = Game()
pyglet.app.run()
説明: このコードは、fps が表示される黒い背景画面を作成し、画像 "assassin1.png" を位置 (50, 30) に表示します。右方向ボタンを押している間、画像は右に移動します。
目標:右方向ボタンが押された状態で画像が移動するたびに、assassin1.png
画像が定期的に (0.25 秒ごとに) 2 番目の画像に変更されるように実装したいと思いますassassin2.png
。これは、イメージが歩いているような漠然とした錯覚を生み出すためです。
この目標を達成するにはどうすればよいですか?
forward_movement()
目的を達成するためのコードを配置するのに適切な場所と思われる Assassin クラスに空のメソッドを既に作成しました。しかし、コードを別の場所に配置したい場合は、それも問題ありません。