LoginSignup
6
7

More than 5 years have passed since last update.

Python3_PyGame で2Dゲーム制作 (キー操作)

Last updated at Posted at 2017-08-22

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-08-22 15.08.28.png

画像なので動いている感じが全くわからなくてすみません,でも矢印キーで動いている.かわいい.
あとは画面の端に行くと反対から出るようになっているので,

スクリーンショット 2017-08-22 15.09.56.png

左端に行くと・・・

スクリーンショット 2017-08-22 15.10.08.png

右端から出てくる!
 
 
 

参考文献

  1. 田中賢一郎 (2017) 「ゲームを作りながら楽しく学べるPythonプログラミング」 インプレスR&D
  2. Python3とPyGameでゲーム制作メモ (part1,準備編)
  3. Python3とPyGameでゲーム制作メモ ( part2, 画像の表示 )
6
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
7