|
Updated on 2024-12-18 (水) 09:41:29
2024年度†参加される方へ†
参考:Pythonでエクセルに画像ファイルを貼り付ける†
プログラム例:jump.py†
class Player(pyglet.sprite.Sprite): def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.vx = 0
self.vy = 0
def update(self, dt): # 毎フレームごとに
self.x += self.vx * dt # 横の動き
self.y += self.vy * dt # 縦の動き
if self.x < 0: # 左端?
self.x += 800 # 右へ
if 800<self.x: # 右端?
self.x -= 800 # 左へ
if 200<player.y : # 空中
self.vy -= 10 # 落ちる速さが増える
else:
self.vy = 0 # 落ちるのをやめる
player.y = 200 # 地面にいる
window = pyglet.window.Window(800, 600) bg = pyglet.graphics.Batch() sky = shapes.Rectangle(0,0,800,600,color=(120,120,255),batch=bg) line = shapes.Rectangle(0,0,800,200,color=(100,50,0),batch=bg) player_image = pyglet.image.load('player.png') # キャラ画像 player = Player(player_image, x=400, y=200) sound = pyglet.media.load('coin.wav',streaming=False) # 音 @window.event def on_key_press(symbol, modifiers): # キー操作 if player.y >200: # 空中なら操作できない
return
if symbol == pyglet.window.key.LEFT: # 左へ
player.vx = -100
elif symbol == pyglet.window.key.RIGHT: # 右へ
player.vx = 100
elif symbol == pyglet.window.key.SPACE: # ジャンプ
player.vy = 200
sound.play()
@window.event def on_key_release(symbol, modifiers): # キーを離したら止まる if symbol in (pyglet.window.key.LEFT, pyglet.window.key.RIGHT):
player.vx = 0
@window.event def on_draw(): # 描画 window.clear() # 消す bg.draw() # 赤い線 player.draw() # キャラ def update(dt): player.update(dt) # 繰り返す pyglet.clock.schedule_interval(update, 1/60) pyglet.app.run() # 全体のスタート }} 過去の実施†
|