Hatena::ブログ(Diary)

泣きながら覚えるSwift日記

2017-08-22

pygameでアニメーション(1)円軌道を動かす_孫と遊ぶためのPython日記(14)

pygameの学習が少し進んだ。
pygameはゲーム作成用のモジュールで、GUIコードはtkinterとかなり違う。
どちらがよいのかわからないが、学習目的でしばらくチャレンジすることにした。
f:id:yasui_swift:20170822081945j:image
暗夜行路ですが・・・。一縷の光)

D

とりあえずイメージ・キャラクターを円軌道に動かすアニメーションを作成した。

〜〜〜〜〜smallRedMonster〜〜〜〜〜〜
#### 始めにモジュールのimport

import sys
import math
import pygame
from pygame.locals import QUIT

### pygame初期化
pygame.init()

### 画面の設定。ここでは600×600に設定
GAMEN = pygame.display.set_mode(ここにサイズを記入、(600、600))

### キャプションの表示
pygame.display.set_caption(ここに名前を記載、"smallRedMonster")

### クロックの設定はpygame.time.Clock()で行う
CLOCK = pygame.time.Clock()

### main routineを def main():と記述

def main(): ###以下、インデントが必要
""" main routine """
radius = 100
y_center = 300 ### 円の中心座標y
x_center = 300 ### 円の中心座標x

count = 0
a = 3.14/360
deg = 0
rad = 0

### キャラクターの呼び込み、コードと同じホルダーに記録が便利

image = pygame.image.load(ここで画像をロードする、"redmonster.png")

### 以下がキャラクターを動かすコード。以下すべてインデントが必要。

while True:
for event in pygame.event.get():
if event.type == QUIT:
pygame.quit()
sys.exit()

#角度はラジアンで計算

GAMEN.fill(0xFFFFFF)
count += a/3.14

rad += count

y = int(radius * math.sin(rad)) + y_center #yの座標
x = int(radius * math.cos(rad)) + x_center #xの座標

### 画面にimageを表示。blitを用いる。

GAMEN.blit(image,(x,y))
### 画面の初期化

pygame.display.update()
### タイム・ディレイの挿入

CLOCK.tick(50)
### 角度の初期化

if count >= 3.14/180 :
count = 0

### runで動かす場合の常套句、コードの最後に記載

if __name__ == '__main__':
main()

###

全体にアニメーションが簡単にできるようになっている。
tkinterよりも記載が単純で、直感的に理解しやすいかもしれない。

<注意>HATENAブログでは、インデントが表示できないので、これまではインデント部分には”___”で書いてきたが、みにくので今回からは省略することにした。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/yasui_swift/20170822/1503357300