マウスイベント2

もうひとつのマウスイベントをします.
pygame.mouseの関数を使用します.

pygame.mouse.get_pressed()

この関数を使うと, マウスのどのボタンが押されているか知ることができます.

#pygame.mouseを使用
import pygame
from pygame.locals import *
import sys

SCREEN_SIZE = (1000, 700)

pygame.init()
screen = pygame.display.set_mode(SCREEN_SIZE)
pygame.display.set_caption("マウスイベント2")

backImg = pygame.image.load("hakusuiko.jpg").convert()
pythonImg2 = pygame.image.load("kappa3.png").convert()
colorkey = pythonImg2.get_at((0,0))  # 左上の色を透明色に
pythonImg2.set_colorkey(colorkey, RLEACCEL)

cur_pos = (500,350)     # 蛇の位置
pythons_pos = []   # コピーした蛇の位置リスト

while True:
    screen.blit(backImg, (0,0))

    # マウスクリックで蛇をコピー
    mouse_pressed = pygame.mouse.get_pressed()
    if mouse_pressed[0]:  # 左クリック
        x, y = pygame.mouse.get_pos()
        x -= pythonImg2.get_width() / 2
        y -= pythonImg2.get_height() / 2
        pythons_pos.append((x,y))  # 蛇の位置を追加

    # マウス移動で蛇を移動
    x, y = pygame.mouse.get_pos()
    x -= pythonImg2.get_width() / 2
    y -= pythonImg2.get_height() / 2
    cur_pos = (x,y)

    # 蛇を表示
    screen.blit(pythonImg2, cur_pos)
    for i, j in pythons_pos:
        screen.blit(pythonImg2, (i,j))
    pygame.display.update()

    for event in pygame.event.get():
        if event.type == QUIT:
            sys.exit()
pygame.mouse.get_pos()

この関数で押している時の位置情報を常にx,yに代入させます.