- ブログメニュー
- 12月の活動記録
12月の活動記録
pygameでゲームをつくる
Python
ゲーム開発
- 初期化と画面の準備
- タイトル画面
- 背景の作成とスクロール
- キャラクターの表示と動作の作成
- ヒーローショット作成とヒット処理
- 敵の作成
- 爆発エフェクト
- 敵弾発射
- 被弾処理と無敵時間、自動操縦
- ライフとスコアの表示
- プレイ結果画面と最終スコアの表示
- 背景画像の切り替え
- たくさんの敵
- ボス(耐久力のある敵)
- クリア後のエンディング
- アイテム
- オプション
- ボス2
- サウンドエフェクトとBGM
- 背景の地形
初期化と画面の準備
タイトル画面
背景の作成とスクロール
キャラクターの表示と動作の作成
ヒーローショット作成とヒット処理
敵の作成
爆発エフェクト
繰り返し処理
Python
作業内容
import pyxel
def draw_character(x,y,body_color,outline_color,face_color):
pyxel.circ(x,y,8,body_color)
pyxel.circb(x,y,8,outline_color)
pyxel.line(x-4,y-3,x-4,y,face_color)
pyxel.line(x+2,y-3,x+2,y,face_color)
pyxel.line(x-4,y+3,x+2,y+3,face_color)
pyxel.pset(x-5,y+2,face_color)
pyxel.pset(x+3,y+2,face_color)
pyxel.init(160,120,title="Pyxel Drawing")
#格子柄
for i in range(40):
pos = i * 4 + 1
pyxel.line(pos, 0,pos,119,2)
pyxel.line(0,pos,159,pos,2)
#キャラクターを8個連続で描く
for i in range(8):
x = i * 18 + 17
y=i*10+25
draw_character(x,y,10,9,8)
pyxel.show()
キャラクターを描いてみよう
PythonPython
作業内容
import pyxel
pyxel.init(160,120, title="Pyxel Drawing")
#キャラクター1を描く
x = 45
y = 40
body_color = 3
edge_color = 7
face_color = 0
pyxel.circ(x,y,8,body_color)
pyxel.circb(x,y,8,edge_color)
pyxel.line(x-4,y-3,x-4,y,face_color)
pyxel.line(x+2,y-3,x+2,y,face_color)
pyxel.line(x-4,y+3,x+2,y+3,face_color)
pyxel.pset(x-5,y+2,face_color)
pyxel.pset(x+3,y+2,face_color)
#キャラクター1を描く
x = 115
y = 80
body_color = 8
edge_color = 15
face_color = 0
pyxel.circ(x,y,8,body_color)
pyxel.circb(x,y,8,edge_color)
pyxel.line(x-4,y-3,x-4,y,face_color)
pyxel.line(x+2,y-3,x+2,y,face_color)
pyxel.line(x-4,y+3,x+2,y+3,face_color)
pyxel.pset(x-5,y+2,face_color)
pyxel.pset(x+3,y+2,face_color)
pyxel.show()
関数で複数のキャラクターを並べてみよう
Python
作業内容
import pyxel
pyxel.init(160,120, title="Pyxel Drawing")
x=80
y=60
body_color = 3
outline_color = 7
face_color = 0
pyxel.circ(x,y,8,body_color)
pyxel.circb(x,y,8,outline_color)
pyxel.line(x-4,y-3,x-4,y, face_color)
pyxel.line(x+2,y-3,x+2,y,face_color)
pyxel.line(x-4,y+3,x+2,y+3,face_color)
pyxel.pset(x-5,y+2,face_color)
pyxel.pset(x+3,y+2,face_color)
pyxel.show()
さまざまな図形を描画しよう
Python
さまざまな図形を描画しよう

- 点
- pyxel.pset(X座標、Y座標、色番号)
- 線
- pyxel.line(始点のX座標、始点のY座標、終点のX座標、終点のY座標、色番号)
- 円
- pyxel.circ(円の中心のX座標、円の中心のY座標、半径、色番号)
- 円の輪郭
- pyxel.circb(円の中心のX座標、円の中心のY座標、半径、色番号)
- 四角
- pyxel.rect(左上のX座標、左上のY座標、幅、高さ、色番号)
- 四角の輪郭
- pyxel.rectb(左上のX座標、左上のY座標、幅、高さ、色番号)
import pyxel
pyxel.init(160, 120, title="Pyxel Drawing2") #ウィンドウサイズ
pyxel.pset(10,10,7) #点を描く
pyxel.line(10,20,80,20,8) #線を描く
pyxel.circ(20, 50, 10, 11) #円を描く
pyxel.circb(50, 50, 10, 11) #円の輪郭を描く
pyxel.rect(10,80,20,10,13) #四角を描く
pyxel.rectb(40,80,20,10,13) #四角の輪郭を描く
pyxel.show()
変数宣言
import pyxel
pyxel.init(160,120, title="Pyxel Drawing")
x=80
y=60
body_color = 3
outline_color = 7
face_color = 0
pyxel.circ(x,y,8,body_color)
pyxel.circb(x,y,8,outline_color)
pyxel.line(x-4,y-3,x-4,y, face_color)
pyxel.line(x+2,y-3,x+2,y,face_color)
pyxel.line(x-4,y+3,x+2,y+3,face_color)
pyxel.pset(x-5,y+2,face_color)
pyxel.pset(x+3,y+2,face_color)
pyxel.show()
Pythonで点と線を描画する
Python
点と線の描画
import pyxel
pyxel.init(160,120, title="Pyxel Drawing")
pyxel.pset(10,10,7) //点を描く
pyxel.line(150,10,10,110,8) //線を描く
pyxel.show()
Pythonでゲームを作りたい
Python
Pythonの基本操作
/*ウィンドウに文字列を表示するプログラム*/
import pyxel
pyxel.init(160, 120, title="Pyxelのウィンドウ")
pyxel.text(0, 0, "pyxel", 8)
for i in range(10):
pyxel.text(i*6, 10, str(i), 10)
pyxel.show()
Pythonでゲームを作る
Python
Python でゲームを作るよ!
- 道路横断ゲーム
- 弾幕ゲーム
- シューティングゲーム
- 対戦型ゲーム
- ドットイートゲーム
- ジャンプゲーム
- スクロールアクションゲーム
- 射出ゲーム
- サンドボックスゲーム
- パズルゲーム
Pythonでつくるゲームプログラミング入門
ぴぽや倉庫:ゲームグラフィック素材

