目录
预备知识
键盘控制物体移动事件
鼠标点击控制物体移动事件
鼠标移动的同时画彩色小球
预备知识
pygame的基本函数介绍
1.初始化函数,pygame的必备
pygame.init()
2.设置屏幕的大小
pygame.display.set_mode(size) //(长,宽)
3. 程序的命名
pygame.display.set_caption("string")
4.屏幕的颜色填充
screen.fill(R,B,G)
5.图片的载入
pygame.image.load(''路径'')
6.事件的获取
pygame.event.get()
7.画圆
pygame.draw.circle(屏幕,颜色,圆心,半径)
8.更新事件
pygame.display.update()
9.二维向量对象(多用于坐标)
pygame.math.Vector2()
10.返回向量的欧几里得长度
pygame.math.Vector2.length()
11.规范化向量
pygame.math.Vector2.normalize_ip()
12.键盘按下的事件
event.type == pygame.KEYDOWN
event.key == pygame.K_UP //向上
event.key == pygame.K_DOWN //向下
event.key == pygame.K_LEFT //向左
event.key == pygame.K_RIGHT //向右
13. 鼠标的弹起事件
event.type == pygame.MOUSEBUTTONUP
好了,有了以上知识就可以开始施法了:
键盘控制物体移动事件
在屏幕上初始化一个外星人,用上、下、左、右键控制外星人移动
import sys
import pygame
pygame.init()
size = width, height = 600, 400
screen = pygame.display.set_mode(size)
screen.fill('white')
pygame.display.set_caption('外星人键盘移动事件')
img=pygame.image.load('C:/Users/leslie/Desktop/alien.png')
position = img.get_rect()
while True:
site = [0, 0]
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_UP:
site[1] -= 10
if event.key == pygame.K_DOWN:
site[1] += 10
if event.key == pygame.K_LEFT:
site[0] -= 10
if event.key == pygame.K_RIGHT:
site[0] += 10
if event.type == pygame.MOUSEBUTTONDOWN:
xx,yy=event.pos
site=[xx,yy]
position = position.move(site)
screen.fill('white')
screen.blit(img, position)
pygame.display.flip()
文章来源:https://www.toymoban.com/news/detail-400626.html
鼠标点击控制物体移动事件
在屏幕上初始化一个外星人,点击鼠标使外星人移动到鼠标点击的地方
import pygame
from pygame import Vector2
import sys
pygame.init()
pygame.display.set_caption('外星人鼠标点击移动')
size = width, height = 600, 600
screen = pygame.display.set_mode(size)
color = (250, 250, 250)
alien = pygame.image.load('C:/Users/leslie/Desktop/alien.png')
alienrect = alien.get_rect()
start_position = Vector2(0,0)
speed = 6
mouse_xy = (0,0)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.MOUSEBUTTONDOWN:
mouse_xy = Vector2(event.pos)
dis = mouse_xy - start_position
dis_lenth = dis.length()
if dis_lenth < speed:
mouse_xy = start_position
elif dis_lenth != 0:
dis.normalize_ip()
dis = dis*speed
start_position += dis
screen.fill(color)
screen.blit(alien, start_position)
pygame.display.flip()
鼠标移动的同时画彩色小球
随着鼠标的移动,每移动以下,在移动后的位置画出颜色随机的小球
import pygame
import sys
from random import randint
pygame.init()
screen = pygame.display.set_mode((500,500))
screen.fill('white')
pygame.display.set_caption("鼠标移动画圆")
pygame.display.flip()
while True:
event = pygame.event.wait()
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
if event.type == pygame.MOUSEBUTTONDOWN:
mx,my = event.pos
pygame.draw.circle(screen,(255,255,0),(mx,my),20)
pygame.display.update()
if event.type == pygame.MOUSEBUTTONUP:
pass
if event.type == pygame.MOUSEMOTION:
mx, my = event.pos
r = randint(0,255)
g = randint(0,255)
b = randint(0,255)
pygame.draw.circle(screen, (r,g,b,),(mx, my),20)
pygame.display.update()
其中的外星人图片如下:
当然,我们还可以给程序加上背景,假装外星人在太空中遨游~~~文章来源地址https://www.toymoban.com/news/detail-400626.html
到了这里,关于秒会Pygame:键盘移动和鼠标点击移动物体的方法(含完整的代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!