网站官网认证加v怎么做,上海网络营销外包服务公司,广东工程造价信息网,企业调查问卷一、介绍 1.1 定义
Pygame是一种流行的Python游戏开发库#xff0c;它提供了许多功能#xff0c;使开发人员可以轻松创建2D游戏。它具有良好的跨平台支持#xff0c;可以在多个操作系统上运行#xff0c;例如Windows#xff0c;MacOS和Linux。在本文中#xff0c;我们将…一、介绍 1.1 定义
Pygame是一种流行的Python游戏开发库它提供了许多功能使开发人员可以轻松创建2D游戏。它具有良好的跨平台支持可以在多个操作系统上运行例如WindowsMacOS和Linux。在本文中我们将介绍Pygame库的特点和用法帮助您了解如何使用Pygame库进行游戏开发。它提供了诸多操作模块比如图像模块image、声音模块mixer、输入/输出鼠标、键盘、显示屏模块等。
官方地址https://www.pygame.org/
1.2 相关函数
1 pygame.sprite 代表游戏图像的更高级别的对象 pygame.sprite.Sprite可见游戏对象的简单基类。 pygame.sprite.WeakSpriteSprite 的子类弱引用其组。这意味着它所属的任何组如果在其他地方没有被引用都会被自动垃圾收集。 pygame.sprite.DirtySpriteSprite 的子类具有更多的属性和功能。 pygame.sprite.Group用于保存和管理多个 Sprite 对象的容器类。 pygame.sprite.WeakDirtySpriteWeakSprite 和 DirtySprite 的子类结合了这两个类的优点。 pygame.sprite.RenderPlain与 pygame.sprite.Group 相同 pygame.sprite.RenderClear与 pygame.sprite.Group 相同 pygame.sprite.RenderUpdates跟踪脏更新的组子类。 pygame.sprite.OrderedUpdatesRenderUpdates 子类按添加顺序绘制 Sprite。 pygame.sprite.LayeredUpdatesLayeredUpdates 是一个精灵组它像 OrderedUpdates 一样处理图层和绘制。 pygame.sprite.LayeredDirtyLayeredDirty 组适用于 DirtySprite 对象。子类 LayeredUpdates。 pygame.sprite.GroupSingle容纳单个精灵的组容器。 pygame.sprite.spritecollide查找组中与另一个精灵相交的精灵。 pygame.sprite.collide_rect使用矩形检测两个精灵之间的碰撞。 pygame.sprite.collide_rect_ratio使用按比例缩放的矩形来检测两个精灵之间的碰撞。 pygame.sprite.collide_circle使用圆圈检测两个精灵之间的碰撞。 pygame.sprite.collide_circle_system使用按比例缩放的圆圈来检测两个精灵之间的碰撞。 pygame.sprite.collide_mask使用遮罩检测两个精灵之间的碰撞。 pygame.sprite.groupcollide找到两组之间发生碰撞的所有精灵。 pygame.sprite.spritecollideany简单测试精灵是否与组中的任何内容相交。 2pygame.Surface 图像和屏幕的对象 pygame.Surface.blit将一幅图像绘制到另一幅图像上 pygame.Surface.blitz将许多图像绘制到另一个图像上 pygame.Surface.convert更改图像的像素格式 pygame.Surface.convert_alpha更改图像的像素格式包括每个像素 alpha pygame.Surface.copy创建 Surface 的新副本 pygame.Surface.fill用纯色填充表面 pygame.Surface.scroll将表面图像移动到位 pygame.Surface.set_colorkey设置透明色键 pygame.Surface.get_colorkey获取当前透明色键 pygame.Surface.set_alpha设置完整 Surface 图像的 alpha 值 pygame.Surface.get_alpha获取当前Surface透明度值 pygame.Surface.lock锁定 Surface 内存以进行像素访问 pygame.Surface.unlock从像素访问中解锁 Surface 内存 pygame.Surface.mustlock测试 Surface 是否需要锁定 pygame.Surface.get_locked测试 Surface 当前是否已锁定 pygame.Surface.get_locks获取 Surface 的锁 pygame.Surface.get_at获取单个像素的颜色值 pygame.Surface.set_at设置单个像素的颜色值 pygame.Surface.get_at_mapped获取单个像素处的映射颜色值 pygame.Surface.get_palette获取 8 位 Surface 的颜色索引调色板 pygame.Surface.get_palette_at获取调色板中单个条目的颜色 pygame.Surface.set_palette设置 8 位 Surface 的调色板 pygame.Surface.set_palette_at设置 8 位 Surface 调色板中单个索引的颜色 pygame.Surface.map_rgb将颜色转换为映射颜色值 pygame.Surface.unmap_rgb将映射的整数颜色值转换为 Color pygame.Surface.set_clip设置Surface的当前剪切区域 pygame.Surface.get_clip获取Surface当前的裁剪区域 pygame.Surface.subsurface创建一个引用其父级的新曲面 pygame.Surface.get_parent找到次表面的父级 pygame.Surface.get_abs_parent找到地下表面的顶层父级 pygame.Surface.get_offset找到父级内部子表面的位置 pygame.Surface.get_abs_offset查找子表面在其顶级父表面内的绝对位置 pygame.Surface.get_size获取 Surface 的尺寸 pygame.Surface.get_width获取 Surface 的宽度 pygame.Surface.get_height获取 Surface 的高度 pygame.Surface.get_rect获取 Surface 的矩形面积 pygame.Surface.get_bitsize获取 Surface 像素格式的位深度 pygame.Surface.get_bytesize获取每个 Surface 像素使用的字节数 pygame.Surface.get_flags获取用于 Surface 的附加标志 pygame.Surface.get_pitch获取每个 Surface 行使用的字节数 pygame.Surface.get_masks在颜色和映射整数之间转换所需的位掩码 pygame.Surface.set_masks设置在颜色和映射整数之间转换所需的位掩码 pygame.Surface.get_shifts颜色和映射整数之间转换所需的位移位 pygame.Surface.set_shifts设置颜色和映射整数之间转换所需的位移位 pygame.Surface.get_losses用于在颜色和映射整数之间转换的有效位 pygame.Surface.get_bounding_rect找到包含数据的最小矩形 pygame.Surface.get_view返回 Surface 像素的缓冲区视图。 pygame.Surface.get_buffer获取 Surface 像素的缓冲区对象。 pygame.Surface._pixels_address像素缓冲区地址 pygame.Surface.premul_alpha返回表面的副本其中 RGB 通道预先乘以 alpha 通道。 3pygame.surfarray 操作图像像素数据 pygame.surfarray.array2d将像素复制到二维数组中 pygame.surfarray.pixels2d将参考像素放入二维数组中 pygame.surfarray.array3d将像素复制到 3d 数组中 pygame.surfarray.pixels3d将参考像素放入 3d 数组中 pygame.surfarray.array_alpha将像素 alpha 复制到二维数组中 pygame.surfarray.pixels_alpha将像素 alpha 参考到二维数组中 pygame.surfarray.array_red将红色像素复制到二维数组中 pygame.surfarray.pixels_red将红色参考像素放入二维数组中。 pygame.surfarray.array_green将绿色像素复制到二维数组中 pygame.surfarray.pixels_green将绿色参考像素放入二维数组中。 pygame.surfarray.array_blue将蓝色像素复制到二维数组中 pygame.surfarray.pixels_blue将蓝色参考像素放入二维数组中。 pygame.surfarray.array_colorkey将 colorkey 值复制到二维数组中 pygame.surfarray.make_surface将数组复制到新表面 pygame.surfarray.blit_array直接从数组值进行 Blit pygame.surfarray.map_array将 3d 数组映射到 2d 数组 pygame.surfarray.use_arraytype设置用于表面阵列的阵列系统 pygame.surfarray.get_arraytype获取当前活动的数组类型。 pygame.surfarray.get_arraytypes获取当前支持的阵列系统类型。 4python 管理pygame的顶级功能 pygame.init初始化所有导入的 pygame 模块 pygame.quit取消初始化所有 pygame 模块 pygame.get_init如果 pygame 当前已初始化则返回 True pygame.error标准 pygame 异常 pygame.get_error获取当前错误信息 pygame.set_error设置当前错误信息 pygame.get_sdl_version获取SDL的版本号 pygame.get_sdl_byteorder获取SDL的字节顺序 pygame.register_quit注册一个在 pygame 退出时调用的函数 pygame.encode_string对 Unicode 或 bytes 对象进行编码 pygame.encode_file_path将 Unicode 或 bytes 对象编码为文件系统路径 5pygame.BufferProxy 表面像素的阵列协议视图
该类是 Surface 对象通过数组协议导出的一个缓冲对象 pygame.BufferProxy.parent返回该 BufferProxy 的 Surface 对象 或者调用 BufferProxy 的对象 pygame.BufferProxy.length返回缓冲区的长度单位是字节。类似于len字段 pygame.BufferProxy.length将缓冲区的数据拷贝并返回为str或bytes对象 pygame.BufferProxy.write将字节写入缓冲区 6pygame.Color 颜色表示
该类是pygame中用于描述颜色的模块 pygame.Color.r取或设置 Color 的红色值。 pygame.Color.g取或设置 Color 的绿色值。 pygame.Color.b取或设置 Color 的蓝色值。 pygame.Color.a取或设置 Color 的 alpha 值。 pygame.Color.cmy取或设置 Color 的 CMY 表示形式。 pygame.Color.white取或设置 Color 的 HSVA 表示形式。 pygame.Color.hsla取或设置 Color 的 HSLA 表示形式。 pygame.Color.i1i2i3取或设置 Color 的 I1I2I3 表示形式。 pygame.Color.normalize返回颜色的标准化 RGBA 值。 pygame.Color. Correct_gamma将特定的伽马值应用于颜色。 pygame.Color.set_length将 Color 中的元素数量设置为 1、2、3 或 4。 pygame.Color.grayscale返回颜色的灰度 pygame.Color.lerp返回给定 Color 的线性插值。 pygame.Color.premul_alpha返回一个 Color其中 r、g、b 分量已乘以 alpha。 pygame.Color.update设置颜色元素 7pygame.cursors 加载和编译光标图像 pygame.cursors.compile从简单字符串创建二进制游标数据 pygame.cursors.load_xbm从 XBM 文件加载游标数据 pygame.cursors.Cursor代表光标的 pygame 对象 8pygame.display 配置显示表面 pygame.display.init初始化显示模块 pygame.display.quit取消初始化显示模块 pygame.display.get_init如果显示模块已初始化则返回 True pygame.display.set_mode初始化窗口或屏幕以进行显示 pygame.display.get_surface获取当前设置的显示表面的引用 pygame.display.flip将完整显示 Surface 更新到屏幕 pygame.display.update更新软件显示的部分屏幕 pygame.display.get_driver获取pygame显示后端的名称 pygame.display.Info创建视频显示信息对象 pygame.display.get_wm_info获取有关当前窗口系统的信息 pygame.display.get_desktop_sizes获取活动桌面的大小 pygame.display.list_modes获取可用全屏模式的列表 pygame.display.mode_ok为显示模式选择最佳颜色深度 pygame.display.gl_get_attribute获取当前显示器的 OpenGL 标志的值 pygame.display.gl_set_attribute请求显示模式的 OpenGL 显示属性 pygame.display.get_active当屏幕上的显示处于活动状态时返回 True pygame.display.iconify图标化显示表面 pygame.display.toggle_fullscreen在全屏和窗口显示之间切换 pygame.display.set_gamma更改硬件伽玛斜坡 pygame.display.set_gamma_ramp使用自定义查找更改硬件伽玛斜坡 pygame.display.set_icon更改显示窗口的系统图像 pygame.display.set_caption设置当前窗口标题 pygame.display.get_caption获取当前窗口标题 pygame.display.set_palette设置索引显示的显示调色板 pygame.display.get_num_displays返回显示数量 pygame.display.get_window_size返回窗口或屏幕的大小 pygame.display.get_allow_screensaver返回是否允许屏幕保护程序运行。 pygame.display.set_allow_screensaver设置屏保是否可以运行 9pygame.draw 在曲面上绘制简单的形状例如直线和椭圆 pygame.draw.rect画一个矩形 pygame.draw.polygon画一个多边形 pygame.draw.circle画一个圆圈 pygame.draw.ellipse画一个椭圆 pygame.draw.arc画一条椭圆弧 pygame.draw.line画一条直线 pygame.draw.lines绘制多条连续的直线段 pygame.draw.aline画一条抗锯齿直线 pygame.draw.aalines绘制多个连续的抗锯齿直线段 10pygame.event 管理来自各种输入设备和窗口平台的传入事件 pygame.event.pump内部处理 pygame 事件处理程序 pygame.event.get从队列中获取事件 pygame.event.poll从队列中获取单个事件 pygame.event.wait等待队列中的单个事件 pygame.event.peek测试事件类型是否正在队列中等待 pygame.event.clear从队列中删除所有事件 pygame.event.event_name从事件 ID 中获取字符串名称 pygame.event.set_blocked控制队列中允许哪些事件 pygame.event.set_allowed控制队列中允许哪些事件 pygame.event.get_blocked测试某种类型的事件是否被队列阻止 pygame.event.set_grab控制与其他应用程序共享输入设备 pygame.event.get_grab测试程序是否共享输入设备 pygame.event.set_keyboard_grab抓取可以捕获系统键盘快捷键例如 AltTab 或 Meta/Super 键。 pygame.event.get_keyboard_grab获取当前键盘抓取状态 pygame.event.post将新事件放入队列中 pygame.event.custom_type制作自定义用户事件类型 pygame.event.Event用于表示事件的 pygame 对象 11pygame.examples 各种程序演示了各个 pygame 模块的使用 pygame.examples.alien.main播放完整的外星人示例 pygame.examples.stars.main运行一个简单的星空示例 pygame.examples.chimp.main击中移动的黑猩猩 pygame.examples.moveit.main在屏幕上显示动画对象 pygame.examples.fonty.main运行字体渲染示例 pygame.examples.freetype_misc.main运行 FreeType 渲染示例 pygame.examples.vgrade.main显示垂直渐变 pygame.examples.eventlist.main显示 pygame 事件 pygame.examples.arraymo.main显示各种冲浪阵列效果 pygame.examples.sound.main加载并播放声音 pygame.examples.sound_array_demos.main播放各种sndarray效果 pygame.examples.liquid.main显示动画液体效果 pygame.examples.glcube.main使用 OpenGL 显示动画 3D 立方体 pygame.examples.scrap_clipboard.main访问剪贴板 pygame.examples.mask.main使用碰撞检测显示多个图像相互反弹 pygame.examples.testsprite.main显示大量移动的精灵 pygame.examples.headless_no_windows_needed.main写入一个图像文件该图像文件是输入文件的平滑缩放副本 pygame.examples.joystick.main演示操纵杆功能 pygame.examples.blend_fill.main演示各种 Surface.fill 方法混合选项 pygame.examples.blit_blends.main使用 Surface.fill 的替代添加剂填充 pygame.examples.cursors.main显示两个不同的自定义光标 pygame.examples.pixelarray.main显示各种像素阵列生成的效果 pygame.examples.scaletest.main使用 smoothscale 交互缩放图像 pygame.examples.midi.main运行一个 MIDI 示例 pygame.examples.scroll.main运行一个显示放大图像的 Surface.scroll 示例 pygame.examples.camera.main显示从连接的摄像机实时捕获的视频 pygame.examples.playmus.main播放音频文件 12pygame.font 加载和渲染 TrueType 字体 pygame.font.init初始化字体模块 pygame.font.quit取消初始化字体模块 pygame.font.get_inittrue 如果字体模块已初始化 pygame.font.get_default_font获取默认字体的文件名 pygame.font.get_sdl_ttf_version获取SDL_ttf版本 pygame.font.get_fonts获取所有可用的字体 pygame.font.match_font在系统上查找特定字体 pygame.font.SysFont从系统字体创建一个 Font 对象 pygame.font.Font从文件创建一个新的 Font 对象 13pygame.freetype 增强的 pygame 模块用于加载和渲染字体 pygame.freetype.get_error返回最新的 FreeType 错误 pygame.freetype.get_version返回 FreeType 版本 pygame.freetype.init初始化底层 FreeType 库。 pygame.freetype.quit关闭底层 FreeType 库。 pygame.freetype.get_init如果 FreeType 模块当前已初始化则返回 True。 pygame.freetype.was_init已弃用使用 get_init() 代替。 pygame.freetype.get_cache_size返回字形大小写大小 pygame.freetype.get_default_resolution返回默认像素大小以每英寸点数为单位 pygame.freetype.set_default_resolution设置模块的默认像素大小以每英寸点数为单位 pygame.freetype.SysFont从系统字体创建一个 Font 对象 pygame.freetype.get_default_font获取默认字体的文件名 pygame.freetype.Font从支持的字体文件创建新的 Font 实例。 14pygame.gfxdraw 抗锯齿绘制函数 pygame.gfxdraw.pixel绘制一个像素 pygame.gfxdraw.hline画一条水平线 pygame.gfxdraw.vline画一条垂直线 pygame.gfxdraw.line画一条线 pygame.gfxdraw.rectangle画一个矩形 pygame.gfxdraw.box绘制一个填充的矩形 pygame.gfxdraw.circle画一个圆圈 pygame.gfxdraw.aacircle绘制一个抗锯齿圆 pygame.gfxdraw.filled_circle画一个实心圆 pygame.gfxdraw.ellipse画一个椭圆 pygame.gfxdraw.aaellipse绘制一个抗锯齿椭圆 pygame.gfxdraw.filled_ellipse绘制一个实心椭圆 pygame.gfxdraw.arc画一个圆弧 pygame.gfxdraw.pie画一个饼 pygame.gfxdraw.trigon画一个三角形/三角形 pygame.gfxdraw.atrigon绘制抗锯齿三角形/三角形 pygame.gfxdraw.filled_trigon绘制实心三角形/三角形 pygame.gfxdraw.polygon画一个多边形 pygame.gfxdraw.aapolygon绘制抗锯齿多边形 pygame.gfxdraw.filled_polygon绘制一个填充多边形 pygame.gfxdraw.textured_polygon绘制一个有纹理的多边形 pygame.gfxdraw.bezier绘制贝塞尔曲线 15pygame.image 加载、保存和传输表面 pygame.image.load从文件或类似文件的对象加载新图像 pygame.image.save将图像保存到文件或类似文件的对象 pygame.image.get_sdl_image_version获取正在使用的 SDL_Image 库的版本号 pygame.image.get_extended测试是否可以加载扩展图像格式 pygame.image.tostring将图像传输到字节缓冲区 pygame.image.tobytes将图像传输到字节缓冲区 pygame.image.fromstring从字节缓冲区创建新的 Surface pygame.image.frombytes从字节缓冲区创建新的 Surface pygame.image.frombuffer创建一个新的 Surface在字节缓冲区内共享数据 pygame.image.load_basic从文件或类似文件的对象加载新的 BMP 图像 pygame.image.load_extended从文件或类似文件的对象加载图像 pygame.image.save_extended将 png/jpg 图像保存到文件或类似文件的对象 16pygame.joystick 管理操纵杆设备 pygame.joystick.init初始化操纵杆模块。 pygame.joystick.quit取消初始化操纵杆模块。 pygame.joystick.get_init如果操纵杆模块已初始化则返回 True。 pygame.joystick.get_count返回操纵杆的数量。 pygame.joystick.Joystick创建一个新的操纵杆对象。 17pygame.key 管理键盘设备 pygame.key.get_focused如果显示器正在接收来自系统的键盘输入则为 true pygame.key.get_pressed获取所有键盘按钮的状态 pygame.key.get_mods确定正在按住哪些修饰键 pygame.key.set_mods临时设置按下哪些修饰键 pygame.key.set_repeat控制如何重复按住的按键 pygame.key.get_repeat查看按住的按键如何重复 pygame.key.name获取密钥标识符的名称 pygame.key.key_code从密钥名称获取密钥标识符 pygame.key.start_text_input开始处理 Unicode 文本输入事件 pygame.key.stop_text_input停止处理 Unicode 文本输入事件 pygame.key.set_text_input_rect控制候选列表的位置 18pygame.locals Pygame 常量
该模块包含 pygame 使用的各种常量。其内容自动放置在 pygame 模块命名空间中。
19pygame.mixer 加载并播放声音 pygame.mixer.init初始化混频器模块 pygame.mixer.pre_init预设混音器初始化参数 pygame.mixer.quit取消初始化混音器 pygame.mixer.get_init测试混音器是否已初始化 pygame.mixer.stop停止播放所有声道 pygame.mixer.pause暂时停止所有声道的播放 pygame.mixer.unpause恢复暂停的声道播放 pygame.mixer.fadeout停止前逐渐减弱所有声音的音量 pygame.mixer.set_num_channels设置播放通道总数 pygame.mixer.get_num_channels获取播放频道总数 pygame.mixer.set_reserved保留频道不被自动使用 pygame.mixer.find_channel找到一个未使用的频道 pygame.mixer.get_busy测试是否有声音被混合 pygame.mixer.get_sdl_mixer_version获取混音器的 SDL 版本 pygame.mixer.Sound从文件或缓冲区对象创建新的 Sound 对象 pygame.mixer.Channel创建一个 Channel 对象来控制播放 20pygame.mouse 管理鼠标设备和显示 pygame.mouse.get_pressed获取鼠标按钮的状态 pygame.mouse.get_pos获取鼠标光标位置 pygame.mouse.get_rel获取鼠标移动量 pygame.mouse.set_pos设置鼠标光标位置 pygame.mouse.set_visible隐藏或显示鼠标光标 pygame.mouse.get_visible获取鼠标光标当前的可见状态 pygame.mouse.get_focused检查显示器是否正在接收鼠标输入 pygame.mouse.set_cursor将鼠标光标设置为新光标 pygame.mouse.get_cursor获取当前鼠标光标 21pygame.mixer.music 播放流媒体音乐曲目 pygame.mixer.music.load加载音乐文件进行播放 pygame.mixer.music.unload卸载当前加载的音乐以释放资源 pygame.mixer.music.play开始播放音乐流 pygame.mixer.music.rewind重新开始音乐 pygame.mixer.music.stop停止音乐播放 pygame.mixer.music.pause暂时停止音乐播放 pygame.mixer.music.unpause恢复暂停的音乐 pygame.mixer.music.fadeout淡出后停止音乐播放 pygame.mixer.music.set_volume设置音乐音量 pygame.mixer.music.get_volume获取音乐音量 pygame.mixer.music.get_busy检查音乐流是否正在播放 pygame.mixer.music.set_pos设置播放位置 pygame.mixer.music.get_pos获取音乐播放时间 pygame.mixer.music.queue将声音文件排队以跟随当前的 pygame.mixer.music.set_endevent让音乐在播放停止时发送事件 pygame.mixer.music.get_endevent获取播放停止时通道发送的事件 22pygame.PixelArray 操作图像像素数据 pygame.PixelArray.surface获取 PixelArray 使用的 Surface。 pygame.PixelArray.itemsize返回像素数组项的字节大小 pygame.PixelArray.my返回维数。 pygame.PixelArray.shape返回数组大小。 pygame.PixelArray.strides返回每个数组维度的字节偏移量。 pygame.PixelArray.make_surface从当前 PixelArray 创建一个新 Surface。 pygame.PixelArray.replace将 PixelArray 中传递的颜色替换为另一种颜色。 pygame.PixelArray.extract从 PixelArray 中提取传递的颜色。 pygame.PixelArray.compare将 PixelArray 与另一个 PixelArray 进行比较。 pygame.PixelArray.transpose交换 x 轴和 y 轴。 pygame.PixelArray.close关闭 PixelArray并释放 Surface 锁。 23pygame.Rect 矩形的灵活容器 pygame.Rect.copy复制矩形 pygame.Rect.move移动矩形 pygame.Rect.move_ip将矩形移动到位 pygame.Rect.inflate增大或缩小矩形尺寸 pygame.Rect.inflate_ip就地增大或缩小矩形尺寸 pygame.Rect.scale_by按给定的乘数缩放矩形 pygame.Rect.scale_by_ip就地增大或缩小矩形尺寸 pygame.Rect.update设置矩形的位置和大小 pygame.Rect.clamp将矩形移动到另一个矩形内 pygame.Rect.clamp_ip将矩形移动到另一个矩形内 pygame.Rect.clip在另一个矩形内裁剪一个矩形 pygame.Rect.clipline在矩形内裁剪一条线 pygame.Rect.union将两个矩形合并为一个 pygame.Rect.union_ip将两个矩形就地连接成一个 pygame.Rect.unionall许多矩形的并集 pygame.Rect.unionall_ip许多矩形的并集 pygame.Rect.fit按长宽比调整矩形大小并移动矩形 pygame.Rect.normalize正确的负尺寸 pygame.Rect.contains测试一个矩形是否在另一个矩形内部 pygame.Rect.collidepoint测试一个点是否在矩形内 pygame.Rect.colliderect测试两个矩形是否重叠 pygame.Rect.collidelist测试列表中的一个矩形是否相交 pygame.Rect.collidelistall测试列表中的所有矩形是否相交 pygame.Rect.collideobjects测试列表中的任何对象是否相交 pygame.Rect.collideobjectsall测试列表中的所有对象是否相交 pygame.Rect.collidedict测试字典中的一个矩形是否相交 pygame.Rect.collidedictall测试字典中的所有矩形是否相交 24pygame.scrap 本机剪贴板访问 pygame.scrap.init初始化废料模块。 pygame.scrap.get_init如果 scrap 模块当前已初始化则返回 True。 pygame.scrap.get从剪贴板获取指定类型的数据。 pygame.scrap.get_types获取可用剪贴板类型的列表。 pygame.scrap.put将数据放入剪贴板。 pygame.scrap.contains检查剪贴板中给定类型的数据是否可用。 pygame.scrap.lost指示 pygame 应用程序是否已丢失剪贴板所有权。 pygame.scrap.set_mode设置剪贴板访问模式。 25pygame.sndarray 操纵声音样本数据 pygame.sndarray.array将声音样本复制到数组中 pygame.sndarray.samples将声音样本引用到数组中 pygame.sndarray.make_sound将数组转换为 Sound 对象 pygame.sndarray.use_arraytype设置用于声音阵列的阵列系统 pygame.sndarray.get_arraytype获取当前活动的数组类型。 pygame.sndarray.get_arraytypes获取当前支持的阵列系统类型。 26pygame.tests 测试pygame pygame.tests.run运行 pygame 单元测试套件 27pygame.time 管理时间和帧率 pygame.time.get_ticks获取以毫秒为单位的时间 pygame.time.wait暂停程序一段时间 pygame.time.delay暂停程序一段时间 pygame.time.set_timer在事件队列中重复创建事件 pygame.time.Clock创建一个对象来帮助跟踪时间 28pygame.transform 调整图像大小并移动图像 pygame.transform.flip垂直和水平翻转 pygame.transform.scale调整大小到新分辨率 pygame.transform.scale_by使用标量调整大小到新分辨率 pygame.transform.rotate旋转图像 pygame.transform.rotozoom过滤缩放和旋转 pygame.transform.scale2x专门的图像倍增器 pygame.transform.smoothscale平滑地将表面缩放到任意尺寸 pygame.transform.smoothscale_by使用标量调整大小到新分辨率 pygame.transform.get_smoothscale_backend返回正在使用的 smoothscale 滤波器版本“GENERIC”、“MMX”或“SSE” pygame.transform.set_smoothscale_backend将 smoothscale 滤波器版本设置为以下之一“GENERIC”、“MMX”或“SSE” pygame.transform.chop获取已删除内部区域的图像的副本 pygame.transform.laplacian查找曲面中的边缘 pygame.transform.average_surfaces从多个曲面中找出平均曲面。 pygame.transform.average_color求表面的平均颜色 pygame.transform.grayscale对表面进行灰度化 pygame.transform.threshold查找表面中的哪些像素以及有多少像素在“search_color”或“search_surf”的阈值内。 二、Pygame的安装和使用
1、安装
pip install pygame
2、应用案例
1按键Alt W/A/S/D操作小球移动
# -*- coding:utf-8 -*-
import pygame# 初始化pygame
pygame.init()# 设置窗口标题
title Pygame应用案例-按键移动的小球
pygame.display.set_caption(title)screen pygame.display.set_mode((1280, 720))
clock pygame.time.Clock()
running True
dt 0player_pos pygame.Vector2(screen.get_width() / 2, screen.get_height() / 2)while running:# 事件轮询 - pygame.QUIT 事件表示用户单击X关闭您的窗口for event in pygame.event.get():if event.type pygame.QUIT:running False# 用一种颜色填充屏幕以擦除上一帧中的任何内容screen.fill(purple)pygame.draw.circle(screen, red, player_pos, 40)keys pygame.key.get_pressed()if keys[pygame.K_w]:player_pos.y - 300 * dtif keys[pygame.K_s]:player_pos.y 300 * dtif keys[pygame.K_a]:player_pos.x - 300 * dtif keys[pygame.K_d]:player_pos.x 300 * dt# 更新全部显示 pygame.display.flip()# 将FPS限制为60# dt是自上一帧以来的增量时间以秒为单位用于帧速率dt clock.tick(60) / 1000pygame.quit()
2规则移动的小球
# -*- coding:utf-8 -*-
import sys
import pygame# 初始化pygame
pygame.init()# 设置窗口标题
title Pygame应用案例-规则移动的小球
pygame.display.set_caption(title)# 显示窗口
width 800
height 600
screen pygame.display.set_mode((width, height)) ball pygame.image.load(ball.png) # 加载图片
ballrect ball.get_rect() # 根据图片大小获取矩形区域speed [5, 5] # 设置移动的X轴、Y轴距离
clock pygame.time.Clock() # 创建时钟对象
# 执行死循环确保窗口一直显示
while True:# 表示每秒钟60次帧刷新clock.tick(60)# 检查事件for event in pygame.event.get():if event.type pygame.QUIT: # 如果点击关闭窗口则退出pygame.quit() # 退出pygamesys.exit()ballrect ballrect.move(speed) # 通过再次赋值移动小球# 碰到左右边缘if ballrect.left 0 or ballrect.right width:speed[0] -speed[0] #如果碰到边距则反方向移动# 碰到上下边缘if ballrect.top 0 or ballrect.bottom height:speed[1] -speed[1]# 填充颜色screen.fill(purple)# 此函数是将图片推送到窗口上第一个参数为图片第二个参数为图片位置screen.blit(ball, ballrect) # 更新全部显示 pygame.display.flip() pygame.quit()
更多游戏案例可前往官网https://www.pygame.org/tags/all下载并查看