スプライトの座標確認と
ウインドウの端についたら反対側から出てくるようにしてみた
#!/usr/bin/python
# -*- coding: utf-8 -*-
import pyglet
from pyglet.window import mouse
from pyglet.window import key
window = pyglet.window.Window(width=600, height=600, caption='Sprite animation')
usa_image = pyglet.resource.image('usa.png')
usa_image.anchor_x = usa_image.width / 2
usa_image.anchor_y = usa_image.height / 2
usa_sprite = pyglet.sprite.Sprite(img=usa_image, x=300, y=300)
keys = pyglet.window.key.KeyStateHandler()
def update(dt):
window.push_handlers(keys)
left = keys[pyglet.window.key.LEFT]
right = keys[pyglet.window.key.RIGHT]
up = keys[pyglet.window.key.UP]
down = keys[pyglet.window.key.DOWN]
if up and down:
None
elif up:
usa_sprite.y += dt * 300
print("うえ",usa_sprite.y)
if usa_sprite.y > 570:
usa_sprite.y = 30
elif down:
usa_sprite.y -= dt * 300
print("した",usa_sprite.y)
if usa_sprite.y < 30:
usa_sprite.y = 570
if right and left:
None
elif right:
usa_sprite.x += dt * 300
print("みぎ",usa_sprite.x)
if usa_sprite.x > 570:
usa_sprite.x = 30
elif left:
usa_sprite.x -= dt * 300
print("ひだり",usa_sprite.x)
if usa_sprite.x < 30:
usa_sprite.x = 570
@window.event
def on_draw():
window.clear()
usa_sprite.draw()
pyglet.clock.schedule_interval(update, 1 / 60.0)
pyglet.app.run()
なかなかいい感じ
これで一応キャラクターは好きな位置にもってこれることがわかった
もう一体くらい登場させて衝突判定とかできたらいいのになぁ
探してみたけれどpygletにそういった関数はないみたい?
cocos2d使ってくれとかという記述を見たような気がするが
sprite中心座標に丸か四角のポイントをつくって当たり判定とか
できたら楽しいだろうなぁ
ウインドウの端についたら反対側から出てくるようにしてみた
#!/usr/bin/python
# -*- coding: utf-8 -*-
import pyglet
from pyglet.window import mouse
from pyglet.window import key
window = pyglet.window.Window(width=600, height=600, caption='Sprite animation')
usa_image = pyglet.resource.image('usa.png')
usa_image.anchor_x = usa_image.width / 2
usa_image.anchor_y = usa_image.height / 2
usa_sprite = pyglet.sprite.Sprite(img=usa_image, x=300, y=300)
keys = pyglet.window.key.KeyStateHandler()
def update(dt):
window.push_handlers(keys)
left = keys[pyglet.window.key.LEFT]
right = keys[pyglet.window.key.RIGHT]
up = keys[pyglet.window.key.UP]
down = keys[pyglet.window.key.DOWN]
if up and down:
None
elif up:
usa_sprite.y += dt * 300
print("うえ",usa_sprite.y)
if usa_sprite.y > 570:
usa_sprite.y = 30
elif down:
usa_sprite.y -= dt * 300
print("した",usa_sprite.y)
if usa_sprite.y < 30:
usa_sprite.y = 570
if right and left:
None
elif right:
usa_sprite.x += dt * 300
print("みぎ",usa_sprite.x)
if usa_sprite.x > 570:
usa_sprite.x = 30
elif left:
usa_sprite.x -= dt * 300
print("ひだり",usa_sprite.x)
if usa_sprite.x < 30:
usa_sprite.x = 570
@window.event
def on_draw():
window.clear()
usa_sprite.draw()
pyglet.clock.schedule_interval(update, 1 / 60.0)
pyglet.app.run()
なかなかいい感じ
これで一応キャラクターは好きな位置にもってこれることがわかった
もう一体くらい登場させて衝突判定とかできたらいいのになぁ
探してみたけれどpygletにそういった関数はないみたい?
cocos2d使ってくれとかという記述を見たような気がするが
sprite中心座標に丸か四角のポイントをつくって当たり判定とか
できたら楽しいだろうなぁ