今日は「関数」を学びます。
もくじ
今日書いたコード
結果:キャラクターを2体描画する ※描画コードを複製したもの
import pyxel
pyxel.init(120, 120, title = "Day03")
pyxel.cls(1)
color_a = 3
color_b = 5
color_c = 8
#キャラクター1を描く
x = 15
y = 30
pyxel.rect(x, y, 30, 45, color_a)
pyxel.rect(x-5, y+30, 40, 40, color_a)
pyxel.circ(x+7, y+12, 2, color_b)
pyxel.circ(x+22, y+12, 2, color_b)
pyxel.line(x+7, y+24, x+22, y+24, color_b)
#キャラクター2を描く
x = 75
y = 30
pyxel.rect(x, y, 30, 45, color_c)
pyxel.rect(x-5, y+30, 40, 40, color_c)
pyxel.circ(x+7, y+12, 2, color_b)
pyxel.circ(x+22, y+12, 2, color_b)
pyxel.line(x+7, y+24, x+22, y+24, color_b)
pyxel.show()
結果:キャラクターを2体描画する ※関数をつくって描画したもの
import pyxel
#キャラクターを描く関数(X座標,Y座標,体の色,目の色)
def draw_character(x, y, color_a, color_b): #関数の定義
pyxel.rect(x, y, 30, 45, color_a)
pyxel.rect(x - 5, y + 30, 40, 40, color_a)
pyxel.circ(x + 7, y + 12, 2, color_b)
pyxel.circ(x + 22, y + 12, 2, color_b)
pyxel.line(x + 7, y + 24, x + 22, y + 24, color_b)
pyxel.init(120, 120, title = "Day03")
pyxel.cls(1)
draw_character(15, 30, 3, 5) #関数を呼び出してキャラクター1を描く
draw_character(75, 30, 8, 5) #関数を呼び出してキャラクター2を描く
pyxel.show()

コードの要点
def 関数名(引数1,引数2,…):
関数内で行う処理
関数外で行う処理
「def」の後ろに半角スペースをいれて「関数名」を書き括弧内に引数設定、末尾はコロン
下段に半角スペース4つ分下げて関数内で行う処理を書く。
関数を使って書くと行数も減り効率的。修正も楽だな。
つまづいた点
pyxel.cls関数の書く位置が関数定義より前だとエラーになった