【零】前言和心得
使用pygame和进行手动画图的步骤是一致的,可以通过画图联想到pygame的设计过程。
 
 
  • 【一】创建一个窗口

 

 

  • 【二】放置图片

1.获得素材,让背景透明,然后命名为:white_ship.png或者bmp都可以;

 

2.编写代码
复制代码
 1 import pygame 
 2  
 3 class WhiteShip(object):
 4 """define a white ship"""
 5  
 6 # 获取游戏窗口的属性和white_ship自身的属性
 7 def __init__(self,screen):
 8 # 获取自身的信息
 9 self.white_ship_image = pygame.image.load('images/white_ship.png')
10 self.white_ship_rect = self.white_ship_image.get_rect()
11  
12 # 获取屏幕的参数信息
13 self.screen = screen
14 self.screen_rect = screen.get_rect()
15  
16 # 放置white ship的位置坐标
17 self.white_ship_rect.left = self.screen_rect.left
18 self.white_ship_rect.centery = self.screen_rect.centery
19  
20 def blit_white_ship(self):
21 self.screen.blit(self.white_ship_image,self.white_ship_rect)22  
复制代码

 可以看出,rect为一个包含了整个图片坐标信息的对象,任何一个需要对图片进行的操作,都需要通过图片获取他的rect信息。

rect有如下的坐标位置
1 rect.top    # 顶部
2 rect.bottom #底部
3 rect.centerx #x轴的中心点
4 rect.centery #y轴的中心点
5 rect.left  #靠左
6 rect.right #靠右

其中ship的rect的值,和screen的值有对应关系,赋值后可以确定ship所在屏幕的哪个位置。

如下图,赋予不同的位置的效果。 
  • 【三】运行后的效果如下,放置了3个:

 


posted on   飞飞fly  阅读(7369)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本



点击右上角即可分享
微信分享提示