マウス座標と画像との当たり判定基本
atari_hantei_kihon.py
画像を切り替えているので2種類の画像ファイルがimagesフォルダに必要です
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | # Pygame Zero: マウス座標と画像との当たり判定基本 import pgzrun WIDTH = 500 HEIGHT = 500 TITLE = "マウス座標と画像との当たり判定基本" # プレイヤー生成 player = Actor( "kero" ) # imagesフォルダにkero.pngが必要 player.pos = 250 , 250 # 初期表示 def draw(): screen.fill(( 128 , 128 , 128 )) player.draw() # マウスボタンを押した時の処理 def on_mouse_down(pos): if player.collidepoint(pos): # プレイヤーがマウス座標と接触したとき player.image = "kero_bang" # playerの画像を変更する pgzrun.go() |
キャラをクリックしたらランダムで別の座標に移動
atari_hantei_random.py
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 | # Pygame Zero: キャラをクリックしたらランダムで別の座標に移動 import pgzrun import random WIDTH = 500 HEIGHT = 500 TITLE = "キャラをクリックしたらランダムで別の座標に移動" # プレイヤー生成 teki = Actor( "teki" ) # imagesフォルダにteki.pngが必要 teki.pos = 250 , 250 # 初期表示 def draw(): screen.fill(( 128 , 128 , 128 )) teki.draw() # マウスボタンを押した時の処理 def on_mouse_down(pos): if teki.collidepoint(pos): # プレイヤーがマウス座標と接触したとき # ランダムな位置にプレイヤーを移動 x = random.randint( 0 , WIDTH) y = random.randint( 0 , HEIGHT) teki.pos = (x, y) pgzrun.go() |
キャラクタ同士の当たり判定
atari_hantei_char.py
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 | # Pygame Zero: キャラクタ同士の当たり判定 import pgzrun WIDTH = 500 HEIGHT = 500 TITLE = "キャラクタ同士の当たり判定" # キャラクタ生成 player = Actor( "kero" ) # imagesフォルダにkero.pngが必要 player.pos = 0 , 250 teki = Actor( "teki" ) teki.pos = 250 , 0 # 初期表示 def draw(): screen.fill(( 128 , 128 , 128 )) player.draw() teki.draw() # フレーム処理 def update(): # プレイヤーの動き(左から右に移動) player.left + = 2 if player.left > WIDTH: player.left = 0 # 敵の動き(上から下に移動) teki.top + = 2 if teki.top > HEIGHT: teki.top = 0 # プレイヤーと敵の当たり判定 if player.collidepoint(teki.pos): sounds.bang.play() # 音を鳴らす ※soundsフォルダにbang.wavが必要 pgzrun.go() |
コメント