写真をあちこち移動させよう
今回は写真が画面内をあちこち動き回るプログラムを作ってみましょう。
やり方は写真の表示位置を少しずつずらして、動いているようにみせます。
画面の端に来た時は、反対側に移動するようにしています。
写真が画面内を移動するプログラム
写真を移動させるプログラムは、以下の通りです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
### インポート import pygame from pygame.locals import * ### 定数 WIDTH = 640 # 幅 HEIGHT = 400 # 高さ ### モジュール初期化 pygame.init() ### 時間オブジェクト生成 clock = pygame.time.Clock() ### 画面設定 surface = pygame.display.set_mode((WIDTH,HEIGHT)) ### 写真読み込み img = pygame.transform.rotozoom(pygame.image.load("photo.jpg").convert(), 0, 0.1) ### 画像サイズ保存 img_w = img.get_width() img_h = img.get_height() ### 画像位置初期化 pos_x = 0 pos_y = 0 ### 座標移動 mv_x = 5 mv_y = 5 ### 無限ループ while True: ### 画面初期化 surface.fill((0,0,0)) ### 写真表示 surface.blit(img, (pos_x,pos_y)) ### 画面更新 pygame.display.update() ### フレームレート設定 clock.tick(30) ### 位置移動 pos_x += mv_x pos_y += mv_y ### 限界確認 if pos_x < 0 or pos_x > WIDTH - img_w: mv_x = -mv_x if pos_y < 0 or pos_y > HEIGHT - img_h: mv_y = -mv_y ### イベント処理 for event in pygame.event.get(): if event.type == KEYDOWN and event.key == K_ESCAPE: break else: continue ### whileループ終了 break ### 終了処理 pygame.quit() |
プログラムを実行すると、写真が画面内を移動します。