昨日つくったプログラムを少し改造してみた
#!/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=240, 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=20, y=30)
usa_run = 1
@window.event
def on_draw():
window.clear()
usa_sprite.draw()
@window.event
def on_key_press(symbol, modifiers):
if symbol == key.RIGHT:
usa_sprite.x += 10
elif symbol == key.LEFT:
usa_sprite.x -= 10
elif symbol == key.UP:
usa_sprite.y += 10
elif symbol == key.DOWN:
usa_sprite.y -= 10
うんわかりやすい!
おお ひとまずこれで画像をキーボードで動かすことができるようになった
えくすとらんの考えているソフトにはこの動きでもいい
....がこれではアクションゲームやシューティングには使えないなぁ
なめらかに動かすにはやはりupdate(dt)をつかって
キーを押している時間*距離したほうがよさそう
そして...
#!/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=240, 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=20, y=30)
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("うえ")
elif down:
usa_sprite.y -= dt * 300
print("した")
if right and left:
None
elif right:
usa_sprite.x += dt * 300
print("みぎ")
elif left:
usa_sprite.x -= dt * 300
print("ひだり")
@window.event
def on_draw():
window.clear()
usa_sprite.draw()
pyglet.clock.schedule_interval(update, 1 / 60.0)
pyglet.app.run()
こんな感じにしてみた
すると.....
よし!いい感じ^^
あとはこのキャラを複製して配置後クリックでリスト表示なんかできれば
いいんだけど...まだまだ道は遠そうだなぁ
#!/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=240, 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=20, y=30)
usa_run = 1
@window.event
def on_draw():
window.clear()
usa_sprite.draw()
@window.event
def on_key_press(symbol, modifiers):
if symbol == key.RIGHT:
usa_sprite.x += 10
elif symbol == key.LEFT:
usa_sprite.x -= 10
elif symbol == key.UP:
usa_sprite.y += 10
elif symbol == key.DOWN:
usa_sprite.y -= 10
うんわかりやすい!
おお ひとまずこれで画像をキーボードで動かすことができるようになった
えくすとらんの考えているソフトにはこの動きでもいい
....がこれではアクションゲームやシューティングには使えないなぁ
なめらかに動かすにはやはりupdate(dt)をつかって
キーを押している時間*距離したほうがよさそう
そして...
#!/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=240, 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=20, y=30)
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("うえ")
elif down:
usa_sprite.y -= dt * 300
print("した")
if right and left:
None
elif right:
usa_sprite.x += dt * 300
print("みぎ")
elif left:
usa_sprite.x -= dt * 300
print("ひだり")
@window.event
def on_draw():
window.clear()
usa_sprite.draw()
pyglet.clock.schedule_interval(update, 1 / 60.0)
pyglet.app.run()
こんな感じにしてみた
すると.....
よし!いい感じ^^
あとはこのキャラを複製して配置後クリックでリスト表示なんかできれば
いいんだけど...まだまだ道は遠そうだなぁ
0 件のコメント:
コメントを投稿