#Python3とPyGameでゲーム制作メモ ( part3, キー操作 )
前回 (Python3とPyGameでゲーム制作メモ ( part2, 画像の表示 )) の続き.表示させた画像を矢印キーで操作する.
####開発環境
・macOS Sierra(10.12.5)
・Python(3.6.2)
・PyGame(1.9.3)
####参考URL
・Python公式:https://www.python.org/
・PyGame公式:https://www.pygame.org/news
・PyGameドキュメント:https://www.pygame.org/docs/
・PyGame Wikipedia:https://ja.wikipedia.org/wiki/Pygame
##表示した画像を操作する
前回の画像表示のコードに少し手を加えるだけ.
key.py
#_*_coding:utf-8_*_
#キー操作する
import sys
import pygame
from pygame.locals import *
pygame.init() #pygameの初期化
screen = pygame.display.set_mode((400, 300)) #ウィンドウの大きさ
pygame.display.set_caption("PyGame") #タイトルバー
image = pygame.image.load("./img/maru.png") #画像を読み込む
pygame.key.set_repeat(5,5) #キーの押下と押しっぱなしの取得(追加したとこ)
position = [200, 150] #座標を配列に[x座標, y座標](追加したとこ)
#mainループ
def main():
while True:
screen.fill((0,0,0)) #ウィンドウの背景色
#イベントの取得
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit() #閉じるボタンが押されたらプログラムを終了
sys.exit
#キー操作(追加したとこ)
elif event.type == KEYDOWN:
if event.key == K_LEFT:
position[0] -= 5
elif event.key == K_RIGHT:
position[0] += 5
elif event.key == K_UP:
position[1] -= 5
elif event.key == K_DOWN:
position[1] += 5
#画面の端に行ったら反対から出るようにする(追加したとこ)
position[0] = position[0] % 400
position[1] = position[1] % 300
#画像の描画位置(追加したとこ)
rect = image.get_rect()
rect.center = position
#画像の描画
screen.blit(image, rect)
pygame.display.update()
if __name__ == '__main__':
main()
これだけ追加すれば画像が動くようになる!
ちなみに動かすために画像は前回より小さくしてあります.
画像なので動いている感じが全くわからなくてすみません,でも矢印キーで動いている.かわいい.
あとは画面の端に行くと反対から出るようになっているので,
左端に行くと・・・
右端から出てくる!
####参考文献
- 田中賢一郎 (2017) 「ゲームを作りながら楽しく学べるPythonプログラミング」 インプレスR&D
- Python3とPyGameでゲーム制作メモ (part1,準備編)
- Python3とPyGameでゲーム制作メモ ( part2, 画像の表示 )