发行说明#

根据发行说明,及时了解对Arade库的最新更改。

版本3.0.0#

Unreleased

您可以从PyPI获取预发布版本。查看可用版本,请访问 Arcade PyPi Release History

版本3.0.0是对Arade的重大更新。它与2.6版的API不是100%兼容。

突破性变化#

这些是API更改,可能需要更新基于2.6API的现有代码。其中一些内容可能会在这些发行说明的“更新”部分重复,但为了方便参考,我们在这里汇编了这些突破性的更改。可能还有其他行为更改可能会破坏特定场景,但本节仅限于直接更改API的更改,这些更改的方式与2.6中的使用方式不兼容。

  • arcade.Sprite.angle() 已改为顺时针方向。所以现在一切都变了。

  • 创建精灵的签名已更改。

  • 不受欢迎的 update() 函数已从 WindowViewSection ,以及 SectionManager 上课。相反,请使用 on_update() 功能。它的工作原理与 update 函数,但具有一个 delta_time 参数,它保存自上次更新以来的时间(以秒为单位)。

  • 这个 update_rate 的参数 Window 不能再设置为 None 。之前它默认为 1 / 60 但是,可以设置为 None 。默认设置仍然是相同的,但将其设置为None将不会执行任何操作。

  • 创建的精灵 TileMap 类之前会在 Sprite.properties 词典已命名 type 。此密钥已重命名为 class 。这与磁贴对密钥的重命名一致,并尽可能紧跟磁贴格式/API。

  • 这个 arcade.text_pillowarcade.text_pyglet 模块已被完全移除。Pillow实现消失了,而Pyglet实现已重命名为Just arcade.text 。这些模块在很大程度上是内部的,但也可能直接引用它们。

  • 由于上述更改和删除了Pillow Text实现, create_text_sprite() 之前提到的是Pillow文本实现,没有简单的方法可以使用Pillow实现从文本创建Sprite。此函数已重新工作,以使用基于侏儒的文本系统。它没有API破坏性更改,但底层功能已经发生了很大变化,所以如果您正在使用此函数,可能值得再次查看文档。这里主要考虑的是您是否还使用了任何自定义 TextureAtlas

  • 图形用户界面包已经发生了显著的变化。

  • 缓冲的形状(形状列表项)已移动到其自己的子模块。

  • use_spatial_hash parameter for SpriteList and TileMap is now a bool instead of Optional[bool]

  • draw_text()Text 论据已经改变了。这个 start_xstart_y 参数已删除。这个 xy 现在需要参数。 align!=left 不会干扰 multiline 参数。

  • GUI

    • 已删除 UIWrapper 这一功能现已在 UILayout

    • 已删除 UIBorder 这一功能现已在 UIWidget

    • 已删除 UIPadding 这一功能现已在 UIWidget

    • 已删除 UITexturePane 这一功能现已在 UIWidget

    • 已删除 UIAnchorWidget 替换为 UIAnchorLayout

变化#

  • Window

    • 移除 update 有利于的功能 on_update()

    • update_rate 参数不能再设置为 None 。必须是浮点数。

    • 增列 draw_rate 构造函数的参数 __init__() ,这将控制 on_draw() 函数在调用。这可以与预先存在的 update_rate 控制以下内容的参数 on_update() 以实现单独的提取和更新费率。

  • View

  • Section and SectionManager

  • GUI

    • UIWidget

      • 支持填充、边框和背景(颜色和纹理)

      • 可见性:Visible=False将阻止呈现小部件。它也不会接收任何UI事件

      • 已丢弃 with_space_around()

      • UIWidget.with_ 方法不再包装小部件,它们只更改属性

      • 修复了将gui表面渲染到屏幕时的混合问题。

      • 支持九个补丁信息绘制背景纹理

      • 性能改进

      • 从公共接口中删除了一些属性,使用 UIWidget.with_ 方法
        • UIWidget.border_width

        • UIWidget.border_color

        • UIWidget.bg_color

        • UIWidget.bg_texture

        • UIWidget.padding_top

        • UIWidget.padding_right

        • UIWidget.padding_bottom

        • UIWidget.padding_left

      • 更新和添加示例代码。

      • 可迭代(提供直接子项)

    • 新窗口小部件:

    • Arcade Property

      • 属性是可观察的属性(支持:基元、列表和字典)。监听程序可以绑定 bind()

    • UILayout S支持 size_hintsize_hint_minsize_hint_max

    • 取代了不推荐使用的 draw_text()

    • 其他更改

      • arcade.color_from_hex_string() 更改为遵循CSS十六进制字符串标准

      • Windows文本字形现在是使用DirectWrite而不是GDI创建的

      • 删除各种不推荐使用的函数和参数

      • OpenGL示例已移至 examples/gl 从… experiments/examples

  • 小精灵

    • 的方法签名 arcade.Sprite.__init__() 已经被改变了。(可能会打破旧密码。)

    • 精灵代码已被清理并分解为多个部分。

    • arcade.Sprite.angle() 现在顺时针旋转。为什么它会以相反的方式旋转,为什么它持续了这么长时间,我们不知道。

  • 控制器输入

    • 以前的控制器可以通过 arcade.joysticks 模块。此模块在3.0中仍然可用。然而,对于大多数想要基本控制器支持的人来说,它在很大程度上应该被视为不受欢迎。该模块基本上只是作为Pyglet操纵杆模块的别名而存在。我们现在有了一个新的 arcade.controller 模块,类似地,它只是Pyglet较新的控制器API的别名。这一改变应该会使更多的控制器能够与Arade一起工作,并提供更新的功能,在大多数情况下比操纵杆模块更容易使用。如果您需要赛车轮子或飞行操纵杆等特殊控制器,操纵杆模块可能仍然有用。所有现有的示例代码都已更新,以使用新的控制器API。

  • 文本

    • 完全删除基于PIL的旧文本系统。在Arcade 2.6中,我们在很大程度上切换到了更新的基于Pyglet的系统,但是仍然有PIL实现的残余。即 create_text_sprite() 函数,该函数已更新为使用Pyglet系统。这里没有API破坏性更改,但如果您正在使用该函数,则值得阅读它的新文档,因为使用自定义有一些不同的注意事项 TextureAtlas 如果你也这么做的话。该函数现在应该比旧的PIL实现快得多。纹理生成现在几乎完全在GPU上进行。

    • 作为这一举措的一部分, arcade.text_pillow 模块已完全移除,并且 arcade.text_pyglet 模块已重命名为BE arcade.text

    • draw_text()Text 现在两者都接受 start_z 参数。这将允许高级用法设置底层标签的Z位置。此参数默认为0,不会更改任何现有用法。

  • OpenGL

    • 支持OpenGL ES 3.1和3.2。3.2完全受支持,3.1仅在以下情况下受支持 EXT_geometry_shader 分机由司机提供。这是3.2中最低规范的一部分,因此它肯定会在那里。这是Arade需要在3.1中运行的唯一可选扩展。

      例如,Raspberry PI 4b只支持OpenGL ES 3.1,但是确实提供了这个扩展,所以完全兼容Arade。

    • 纹理现在支持不变存储,以实现OpenGL ES兼容性。

    • Arade现在使用的是Pyglet的投影和视图矩阵。所有函数设置矩阵都将更新Pyglet窗口的 viewprojection 属性。Arcade着色器也在使用Pyglet的 WindowBlock 乌博。

    • 制服现在使用以下设置 glProgramUniform 而不是 glUniform 当分机可用时。

    • 修复了着色器代码中的许多隐式类型转换,以获得更广泛的支持。

    • 增列 front_face 用于配置三角形正面缠绕顺序的上下文属性

    • 增列 cull_face 属性,用于配置要消隐的三角面

    • 添加了对无绑定纹理的支持

    • 添加了对64位整型制服的支持

    • 增加了对64套彩车制服的支持

  • TileMap

    • 添加了定义为图像的子矩形的支持平铺。看见 Tiled 1.9 Release Notes 有关此功能的详细信息,请参阅。

    • 更改了 Sprite.properties 将“type”键改为“class”,以与Tleed在其API中对该键的重新命名保持一致。

    • 现在可以为在TileMap中创建的SpriteList定义自定义纹理贴图集。您可以将地图默认设置提供给 texture_atlas 属性的参数 Tilemap 类或 load_tilemap() 功能。默认情况下,将在所有图层上使用该选项,但是可以根据新的定义逐个覆盖该选项 texture_atlas 按键输入 layer_options 字典。如果未提供自定义地图集,则将使用全局默认地图集(Arade 3.0之前的版本就是这样工作的)。

    • 修复了来自精灵工作表的动画瓷砖

    • 纹理地图集:添加 sync_texture_image 方法将贴图集中的纹理重新同步到 arcade.Texture

    • 纹理地图集:添加 get_texture_image 方法以枕形图像的形式获取图集中纹理的像素数据。

  • 碰撞检测

    • 碰撞检测现在甚至更快。

    • 形状移除用于碰撞检测,因为3.11在没有它的情况下更快。

  • 形状列表

    • 加载项 arcade.create_triangles_strip_filled_with_colors()

    • 将可以添加到形状列表中的所有缓冲项目移动到 arcade.shape_list

  • 文档

特别感谢 Einar Forselv Darren EberlypushfooMaic SiemeringCleptomaniaAspect1103Alejandro CasanovasIbrahimAndrewAlexanderkosvitko ,以及 pvcraven 感谢他们对这一版本的贡献。另外,也要感谢每一个 Pyglet 队员们!我们在很大程度上依赖皮格莱特的持续发展。

版本2.6.16#

Released 2022-Sept-24

  • 通过派拉式解析器2.2.0支持1.9平铺 (#1324 )

  • 使用EGL的无头渲染现在应该可以再次工作

  • 修复两个示例中的代码突出显示

  • 修复快速索引中的数据表。 (#1312 )

  • 修复在无头模式下运行的问题

  • 更新Pirmunk物理引擎以返回Pre处理程序 (#1322 )

  • 将Pyglet版本升级到2.0dev23

  • 几个PEP-8修复

  • 修复透视示例

Note: 在版本2.7上继续开发,这将是Arade开发的又一次飞跃。欢迎随时查看“开发”分支,了解2.7版的更改。

版本2.6.15#

Released 2022-Jun-03

  • 固定侏儒版本以绕过侏儒/欧元不兼容的问题。 (#1224 )。

  • 修复谷歌分析ID

  • 将Pyglet版本升级到2.0.dev18。(谢谢皮格莱特!)

  • 修复Furo主题的API颜色

版本2.6.14#

Released 2022-May-18

  • 各种改进措施

    • 允许在中指定命中框参数 load_textures()load_spritesheet()

    • Camera 不应再在z轴上应用缩放

    • 推广使用 arcade.View.on_show_view() 在示例和教程中

    • Arcade窗口和视图现在露出 arcade.Window.on_enter() arcade.Window.on_leave() 。这些事件在鼠标进入和离开窗口区域时触发。

    • 各部分现在还应支持鼠标进入/离开事件

    • 当纹理不是RGBA时,命中框计算方法应该会引发更有用的错误消息。

    • 在SpriteList中更新子画面位置的细微优化

    • 删除了对纹理变换的所有剩余引用

    • 移除破损的 Sprite.__lt__ 方法

    • 增列 get_angle_radians()

    • 已删除 Texture.draw_transformed

    • 添加对播放声音时更改音调的支持。请参阅 speed 中的参数 arcade.play_sound()

    • 为arcade图形用户界面设置更好的混合默认设置

    • 现在可以创建用单一颜色填充的纹理。看见 Texture.create_filled() 。在创建纯色精灵时,Sprite类将使用它。

    • 将Sphinx,Pillow的版本号提升到5月17日的当前版本。

    • 将Pyglet版本升级到2.0.dev16。(谢谢皮格莱特!)

  • 阴影玩具

    • Added Shadertoy.delta_time alias for time_delta (iTimeDelta)

    • 支持 iFrame 制服。使用设置框架 arcade.experimental.ShadertoyBase.frame 属性

    • 支持 iChannelTime 制服。属性设置每个单独频道的时间。 arcade.experimental.ShadertoyBase.channel_time 属性。

    • 支持 iFrameRate 制服。使用设置帧速率 arcade.experimental.ShadertoyBase.frame_rate 属性

    • 支持 iDate 制服。这套制服将自动设置。看见 arcade.experimental.ShadertoyBase._get_date()

    • 支持 iChannelResolution 制服。这套制服将自动设置

    • 添加了使用视频和着色器玩具的示例

    • 改进ShaderToy文档字符串+单元测试

  • 文档/教程/示例

    • 更新的安装文档

    • 添加了使用Nuika编译街机游戏的教程

    • 改进/扩展的着色器玩具教程

    • 添加了使用纹理和着色器玩具的示例

    • 添加了精灵旋转示例

    • 阐明了两者之间的区别 arcade.View.on_show_view()arcade.View.on_show()

    • 改进的UIManager文档字符串

    • 各种注释和文档字符串改进

    • 修复了文档中几个断开的链接

    • 我们现在正在构建PDF/EPUB文档

  • OpenGL

    • 添加了用于安全设置着色器程序制服的新方法: arcade.gl.Program.set_uniform_safe() 。此方法将忽略 KeyError 如果制服不存在的话。这在开发期间通常是实用的,因为大多数GLSL编译器/链接器将移除确定不会影响着色器结果的统一。

    • 增加了安全设置均匀阵列的新方法: arcade.gl.Program.set_uniform_array_safe() 。这在开发期间很实用,因为在大多数情况下,如果着色器不使用所有数组索引,GLSL编译器会缩短统一数组。

    • 增列 arcade.gl.Texture.swizzle 。这可用于重新排序着色器从纹理读取组件的方式,从而可以轻松创建简单效果或在需要时自动将BGR像素格式转换为RGB。

    • 添加了使用片段着色器的光线行进示例

    • 允许读取具有2字节和4字节组件大小的帧缓冲区数据

    • 简化的纹理贴图集纹理坐标,使其更易于在自定义着色器中使用。

    • 支持将贴图集纹理转储为RGB

    • 支持转储带有显示纹理边框的调试行的atlas纹理

    • 我们不再检查 GL_CONTEXT_PROFILE_MASK 由于较旧驱动程序中缺少支持。尤其是理论上可以运行街机的GL 3.1驱动程序

    • 各种着色器清理

  • 实验

    • 添加了一个简单的分析器类

特别感谢 Vincent Poulailleau Ian Currie Mohammad IbrahimpushfooAlejandro CasanovasDarren EberlypvcravenEinar Forselv 感谢他们对这一版本的贡献。同时,感谢小矮人团队中的每一个人!我们在很大程度上依赖皮格莱特的持续发展。

版本2.6.13#

Released 2022-Mar-25

  • 新特点

    • Arcade现在可以在Linux服务器上以无头模式运行,为用户提供了更多的可能性,例如在数据科学界 (#1107 )。看见 无头Arcade 以获取更多信息。

  • 补补

    • 随机文本毛刺问题,特别是影响iGPU用户的问题,最终在pyglet中得到了解决。出于这个原因,我们已经升级到了Piglet 2.0a2版本。

    • 修复了导致 arcade.draw_circle_filled()arcade.draw_circle_outline() 在某些iGPU上始终使用3个分段进行渲染。

    • 修复了在悬停或按下交互小工具时不必要地重新绘制它们的问题。这可能会导致性能问题。

    • SectionManager的 on_show_view 在显示视图时从未调用

  • 各种改进措施

    • arcade.load_font() 现在支持资源句柄

    • PhysicsEngineSimple 现在可以使用可重复使用的墙精灵

    • 精灵的创建速度现在提高了约6-8%。

    • 删除了有关启动时缺少Shape的警告

    • 窗口标题现在是可选的。如果未指定窗口标题,则标题将是在其中创建它的python文件的绝对路径。这一点因为新的无头模式而改变了。

    • 已删除 arcade.quick_run 。此函数没有任何有用的用途。

    • 向UIManager添加了Clear方法 (#1116 )

    • 从枕头9.0.0更新到9.0.1

  • 平铺地图

    • 空的矩形对象(没有宽度或高度)现在将自动转换为单点。

    • 可以使用以下命令访问精灵磁贴ID sprite.properties["tile_id"] 。这指的是磁贴集中磁贴的本地ID。该值可用于获取通过加载平铺地图创建的给定精灵的平铺信息。

  • 多科

    • 添加了安装说明的Python版本支持信息 (#1122 )

    • 修复了中的打字错误 append_texture() 文档字符串 (#1126 )

    • 改进了光线投射教程 (#1124 )

    • 替换Linux安装页面上提到的3.6 (#1129 )

    • 修复主页中的断开链接 (#1139 )

    • 在整个代码库中对文档字符串进行了许多其他改进

    • 常规文档改进

  • OpenGL

    • arcade.gl.Geometry 现在支持转换为多个缓冲区。

    • 中添加和改进了示例 experimental/examples

    • 对API文档的主要改进

特别感谢 Mohammad IbrahimpushfooAlejandro CasanovasMaic SiemeringCleptomaniapvcraveneinarf 感谢他们对这一版本的贡献。同时,感谢小矮人团队中的每一个人!我们在很大程度上依赖皮格莱特的持续发展。

版本2.6.12#

Released 2022-Mar-20

  • 一般信息:

    • 错误修复: check_for_collision_with_list() 选择了错误的冲突算法。这可能会影响性能。

    • 修复:GPU碰撞检测显示现在可以在旧版MacBook上运行

    • 增列 arcade.Text.draw_debug() 这将使文本的内容区域和锚点可视化。这对于理解文本锚定很有用。

    • arcade.Text 现在有一个 leftright topbottom 属性来获取内容边框的像素位置。

    • 添加了以下项的性能警告 arcade.draw_text() 。vbl.使用 arcade.Text 要快得多。我们还在示例中推广了文本对象的使用。

    • 删除了不推荐使用的 arcade.create_text 功能

    • UITextureButton.texture_pressed 现在返回按下的纹理,而不是纹理

  • 文档

  • OpenGL

特别感谢 MrWardKKHSpvcraveneinarf 感谢他们对这一版本的贡献。同时,感谢小矮人团队中的每一个人!我们在很大程度上依赖皮格莱特的持续发展。

此外,还得益于:

版本2.6.11#

Released 2022-Mar-17

  • Sections-添加支持将窗口划分为多个部分。(谢谢 janscas 感谢您的贡献。)

  • 新示例代码:

  • 新功能:

    • 增列 arcade.get_angle_degrees() 功能。

    • 添加缓解功能和示例。看见 放松示例1轻松示例2

    • 增列 arcade.Sprite.facePoint() 朝向一点朝向精灵。

  • 修复:

    • 已修复问题 #1074 以防止在打开窗户时发生碰撞。

    • 已修复问题 #978 ,将示例中的复制按钮移到左侧,以防止其消失。

    • 已修复问题 #967 ,CRT示例现在从资源中提取,这样人们就不必下载图像来试用它。

    • PyMunk示例地图现已在参考资料中提供,因此人们不必下载它。

    • arcade.draw_points() 不再两次绘制点数,提高了性能。

  • 文档:

    • 更新 比较Pygame

    • 改进 Sprite.texture 医生。

    • 在构建Arade文档时,SCRIPT现在让我们知道哪些类没有文档字符串。

    • 文档中的拼写/打字错误修复。

  • 其他:

    • 更新 arcade.Sprite 使用修饰符而不是旧方法声明属性。

    • #1095 <https://github.com/pythonarcade/arcade/issues/1095> _,改进到 arcade.Text 和它的文档。我们现在还可以获得文本内容的像素大小 content_widthcontent_heightcontent_size

    • 在Windows上强制使用GDI文本,直到直接写入更加成熟。

    • 优化的文本呈现和文本旋转

    • arcade.draw_text()arcade.Text 对象现在接受任何文本形式的Python对象,并在需要时在内部将其转换为字符串。

    • SpriteList now exposes several new members that used to be private. These are lower level members related to the underlying geometry of the spritelist and can be used by custom shaders to do interesting things blazingly fast. SpriteList interaction example with shaders can be found in the experimental directory. Members include write_sprite_buffers_to_gpu(), geometry, buffer_positions, buffer_sizes, buffer_textures, buffer_colors, buffer_angles and buffer_indices

  • OpenGL:

    • 添加了对间接渲染的支持。这是OpenGL 4.3的一项功能。它使我们能够在同一绘制调用中渲染多个网格,从而在某些用例中显著提高了速度。看见 arcade.gl.Geometry.render_indirect() 和实验目录中的示例。

    • 添加了对无符号整型统一类型的支持

    • arcade.gl.Geometry.transform 不再接受模式参数。

特别感谢 einarferuvanosjanscasMrWardKKHSDragonMoffonpvcraven ,感谢他们对此版本的贡献。同时,感谢小矮人团队中的每一个人!我们在很大程度上依赖皮格莱特的持续发展。

版本2.6.10#

Released 2022-Jan-29

  • 小精灵

    • 针对一个或多个精灵列表的冲突检查可以通过“转换”使用GPU来获得更好的性能。这个 arcade.check_for_collision_with_list()arcade.check_for_collision_with_lists() 方法现在支持在空间、GPU和CPU检测方法之间进行选择。

    • 增列 clear() 用于重置/清除精灵列表。默认情况下,这将迭代并移除所有精灵,或者执行更快的 O(1) 安全。请阅读API文档以了解哪个版本适合您的用例。

    • SpriteList 现在支持设置全局颜色和Alpha值。新的 colorcolor_normalizedalphaalpha_normalized 将影响列表中的每个精灵。该全局颜色值与各个精灵颜色相乘。

    • 这个 Sprite 初始值设定项现在也接受 None 的价值 hit_box_algorithm 与基础纹理方法一致。

    • 修复了在创建期间传递纹理时导致精灵具有不正确比例的错误。

    • 删除了精灵中的纹理变换功能。由于新的纹理地图集功能,从arcade 2.6.0开始,这个功能不再有意义。

  • 平铺地图

    • 已修复问题 #1068 (#1069)加载矩形命中框错误的位置。

    • 为无限平铺地图添加更好的误差

    • 增列 SpriteList.properties 加载切片地图时,图像和切片图层中的属性将自动加载到其中

  • 一般信息

    • Window.current_camera 现在将保留对当前活动摄影机的引用。这将在调用时设置 arcade.Camera.use() ,如果没有处于活动状态的摄像头,则它将 None

    • Window.clear 现在可以通过新的可选选项清除屏幕的一个子部分 viewport 参数。

    • arcade.Window.clear() 现在可以采用规格化/浮动颜色值

    • 新的 arcade.View.clear() 方法现在清除当前窗口。这可以作为一条捷径 arcade.Window.clear() 在View类中时。

    • 添加对自定义资源句柄的支持

    • 添加对纹理的各向异性过滤的支持。

    • 清除窗口应始终清除整个窗口,而不考虑摄影机/视区设置(除非设置了剪贴框)

  • 文档

    • 这样改变例子,而不是 arcade.start_render() 我们使用 self.clear() 。开始渲染函数令人困惑。 #1071

    • 修正一堆错误指向旧pvcrven而不是pythonarcade的链接。 #1063

    • 更新pyinstaller说明

    • 各种文档改进和更新

  • arcade.gl

    • 修复了无法使用几何着色器正确检测变换中的属性的错误

    • 修复了当顶点数组有索引缓冲区限制时,指定顶点计数不可能与变换一起使用的错误。

    • 这个 Query 对象现在允许选择应该执行哪些特定查询

    • 修复了在上下文创建过程中导致激活错误垃圾收集模式的问题

    • 默认帧缓冲区的视口值现在默认情况下应用像素比率

    • 默认帧缓冲区的剪刀值现在默认情况下应用像素比例

  • arcade.gui

    • UIBoxLayout 支持现在在构造函数中对齐(以后更改需要 UIBoxLayout.trigger_full_render() )。

    • UIBoxLayout 现在支持构造函数中的SPACE_BETWAGE。

    • UIManager 修复#1067,使用按下和释放鼠标事件

    • UIManager add() 返回添加的子项

    • UILayout add() 返回添加的子项

    • UIWidget add() 返回添加的子项

    • UIManager中的新方法: walk_widgets()

    • UIManager中的新方法: get_widgets_at()

    • UIWidget中的新方法: move()

特别感谢 CleptomaniaeinarferuvanosnrukinJayman2000pvcraven ,感谢他们对此版本的贡献。同时,感谢小矮人团队中的每一个人!我们在很大程度上依赖皮格莱特的持续发展。

版本2.6.9#

Released on 2022-Jan-13

  • 由于Pillow中的安全漏洞,Pillow的版本从8.4提升到9.0.0。

版本2.6.8#

Released on 2021-Dec-25

  • 这个 Shapely 库现在是可选的。Shapely库使用本机代码来提高碰撞检测和其他一些几何体操作的速度。然而,他们还没有更新他们的二进制文件来支持MacOS和Windows上的Python3.10。如果安装了Shapely,Arade将使用该库。否则,它将退回到速度较慢但仅支持Python的代码。请参阅:https://github.com/shapely/shapely/issues/1215

  • TileMap 更改:

    虽然没有对TileMap类进行API更改,但是由于使用了Ptileed-Parser 2.0,已经添加了对TMX映射、TSX切片集和TX对象模板的完全支持。您应该能够在不更改代码的情况下加载这些格式,并使用与JSON映射相同的所有功能。

    此更新还包括交叉加载JSON和TMX地图/分块集的能力。这意味着您可以让JSON映射加载TSX切片集,或者让TMX映射加载JSON切片集。

    您永远不需要显式设置或配置要使用的格式,它将根据您传入的文件自动确定。它是基于文件的实际内容而不是文件类型来确定的,因此如果您给它一个 .json 实际包含TMX的文件,反之亦然,它仍然可以正常工作。

  • 更新 Pyglet 到2.0.dev13,它修复了一个错误,其中 on_resize 不会被叫来。

  • 添加了一个 compute shader tutorial

特别感谢 Cleptomaniaeinarfpvcraven ,感谢他们对此版本的贡献。同时,感谢小矮人团队中的每一个人!我们在很大程度上依赖皮格莱特的持续发展。

版本2.6.7#

Released on 2021-Dec-15

  • 此版本将Pyglet更新到2.0dev12。程序不能与早期版本的Pyglet一起运行。

  • Window 更改:

    • 增列 enable_polling 构造函数的选项。如果启用,则 window.keyboardwindow.mouse 将被激活并能够用于轮询输入,方法是像访问词典一样访问它们。默认情况下,此选项处于启用状态。看见 #1038

      window.keyboard 中的值可以轮询 arcade.key

      window.mouse 可以使用下列值进行轮询:

      • 1:左键点击

      • 2:右击

      • 3:点击鼠标中键

      • “x”:X位置

      • “Y”:Y位置

  • Camera 更改:

    • 如果现在将视口宽度和高度设置为0,则将视口宽度和高度默认为窗口大小,因为由于投影计算,在任何方向上的大小都不能为0。这意味着如果不向构造函数提供这些参数,它将默认为窗口大小。看见 #1041

  • TileMap 更改:

    • 添加了对层位置偏移的支持。这允许传递包含X和Y偏移的元组,该偏移将应用于层中的每个精灵/对象。您可以通过 offset 参数中的 layer_options ,或者您可以为地图提供一个全局偏移,该偏移将通过 offset 参数中的任何一个 arcade.load_tilemap 或直接发送到TileMap构造函数。如果同时设置了两个选项,则特定于层的偏移将覆盖全局默认设置。看见 #1048

    • 为JSONDecodeError异常添加了新的错误消息,这是当切片集为TSX但映射为JSON时的常见问题。这一更改只是提供了最有可能导致问题的原因的更明确的错误,因此用户不必挖掘太多。

  • 文本

    • 恢复了2.6.6中实现的围绕文本呈现的额外保护。事实证明,这会导致大量使用文本的速度变慢。修复文本剩余问题的工作仍在进行中。

  • 文档修复:

特别感谢 Cleptomaniaeinarfpvcravenmlr07pushfoo ,感谢他们对此版本的贡献。同时,感谢小矮人团队中的每一个人!我们在很大程度上依赖皮格莱特的持续发展。

版本2.6.6#

Released on 2021-Dec-04

  • TileMap 更改:

    • 增列 tiled_map TileMap类的初始化函数的参数。它允许将已经解析的映射从pytile-parser传递给它。以前,它只能与原始文件一起使用,并将自动处理解析。如果将预先解析的映射传递给此对象,则 map_file 参数将被简单地忽略。此添加使使用来自World文件的预解析贴图成为可能。

  • 文本

    • 在文本呈现调用周围添加了额外的保护,以有望减少错误的文本呈现。修复文本剩余问题的工作仍在进行中。

  • 窗口:

    • 增列 samples 参数,以便用户可以指定抗锯齿质量。

    • 如果窗口创建失败,则Arcade窗口应该回退到无抗锯齿。某些驱动程序/硬件不支持它。例如,在WSL中运行arcade或像Repl.it这样的服务时。

  • SpriteList

    • 优化:在窗口之前创建或使用创建的空精灵列表 lazy=True 不再为空的精灵列表自动初始化内部OpenGL资源,并将立即离开 draw() 方法。

  • UI

    • 为UIWidget样式添加实验性的UI样式数据类。

    • 添加UISlider,它提供具有一些基本功能的常规滑块元素

    • 修复UIInputText呈现

  • 声响

    • 现在,可以使用 ARCADE_SOUND_BACKENDS 用于调试目的的环境变量。它需要一个带有驱动程序名称的逗号分隔的字符串。

  • OpenGL

    • 从版本2.6.6开始,Arade不再使用 auto OpenGL资源的垃圾回收模式。此模式具有与Python垃圾回收相同的行为。相反,我们现在使用 context_gc 每次都释放资源的模式 Window.flip() 被调用(默认情况下是每一帧)。这解决了许多问题,例如项目中的线程或外部库突然尝试垃圾收集OpenGL对象,而这只可能在主线程中实现。这应该不会对大多数用户造成任何问题。

    • 增列 Context.copy_framebuffer 。这可用于将具有或不具有多重采样的帧缓冲区复制到另一个帧缓冲区。这使我们能够使用多采样进行屏幕外渲染。

    • Texture 现在可以使用多重采样通过传递 samples 参数。该选项应仅用于附加到帧缓冲区。这个 Texture 对象现在还具有一个 samples 属性(只读)。

  • 实例

    • 更新小地图示例

    • 更新滚动摄像机示例

    • 更新文档中的Google分析代码

    • 删除示例代码部分中一些不太有用的示例

    • 更新平台示例

    • 更新Windows安装说明

    • 更新样本游戏以显示更多样本游戏

    • 改进CRT滤镜教程

    • 关于如何遵循路径的新示例代码

    • 添加了使用着色器的生活游戏示例

  • 文档

    • 添加了以下接口文档 arcade.gl

    • ArcadeContext 现在应该显示继承的成员

    • 边缘人工产物页面现在鼓励使用 pixelated 参数,而不是从侏儒导入OpenGL枚举

特别感谢 einarfpvcravenCleptomaniaeruvanos ,感谢他们对此版本的贡献。同时,感谢小矮人团队中的每一个人!我们在很大程度上依赖皮格莱特的持续发展。

版本2.6.5#

Released on 2021-Nov-5

  • 增加了pyglet的文本字形的默认图集大小,以消除文本闪烁和各种其他艺术品。此问题将在未来版本的侏儒中修复。

  • 修正了导致所有精灵在某些Mac上使用相同纹理的问题。

  • 改进了设置视区的文档。

特别感谢 einarfpushfoo ,感谢他们对此版本的贡献。

版本2.6.4#

Released on 2021-Nov-3

  • Python3.10更新。依赖库版本已更新,包括对Python3.10的支持。除了Windows平台上的Shapely 1.8.0之外,所有的库似乎都支持3.10。在这些二进制文件发布之前,对Windows的3.10支持仍然不存在。

  • SpriteList 新增内容:

    • A visible 属性已添加到此类。如果设置为 False ,当呼叫时 draw() 在SpriteList上,它将简单地返回并不执行任何操作。导致SpriteList无法绘制。

    • SpriteList现在有一个 lazy (Bool)参数,使其在第一次绘制调用或SpriteList的 initialize() 被称为。这意味着现在可以在线程中创建精灵列表和精灵。

    • 修复/优化 reverse()shuffle() 方法:研究方法。

    • 增列 sort() 方法。这与Python的完全相同 list.sort 但分拣精灵的速度要快很多倍。

    • 删除了在窗口之前创建精灵列表时的嘈杂警告消息

    • 修复了的问题 insert() 尝试插入大于当前长度的索引之后的精灵。这可能会导致插入的精灵不可见。

  • Sprite 更改:

    • 增列 arcade.Sprite.visible 用于快速使子画面可见/不可见的属性。这只是更改Alpha值的快捷方式。

    • 优化:精灵现在需要的内存减少约15%,创建速度加快约15%

    • SpriteCircleSpriteSolidColor 现在,纹理在内部缓存,以获得更好的性能。

  • PhysicsEnginePlatformer 优化:

    A walls 参数已添加到此类。这个类的新用法是将静态(不移动)精灵发送到 walls 参数,而移动平台则应发送到 platforms 参数。正确区分这些参数可以带来极大的性能优势。添加到的精灵 platforms O(N)与精灵相加吗? walls 是O(1)。这已经在100到500k+的Sprite上进行了测试,物理引擎显示这些场景之间没有可测量的差异。

    我们还取消了将一杯精灵发送到 platformsladders ,以及 walls 此类的参数。这是一个导致一些不正确使用和不必要的速度减慢的用例。这些参数现在将只接受SpriteList或迭代,如包含SpriteList的列表。如果您当前正在使用此功能,则只需将Sprite添加到SpriteList并提供该功能即可。

    简单平台教程已经进行了更新,以利用此优化。

  • Scene 是新增内容:

    • Scene类现在可以子脚本化了,以前为了从Scene检索SpriteList,您需要使用 Scene.name_mappingScene.get_sprite_list 。我们现在添加了通过直接编写Scene对象的子脚本来访问它的功能,如 spritelist = my_scene["My Layer"]

    • 增列 on_update() 方法。之前的场景只有 update() 。这两个方法都只是在每个SpriteList上调用相应的方法,但以前不能使用 on_update() 。这些方法的不同之处在于 on_update() 允许通过增量时间,而 update() 不会的。

  • TileMap 添加和修复:

    • 加载平铺地图时,Arade现在会考虑层是否可见。如果某个图层在切片中不可见,则为其创建的SpriteList将使用新的 visible 属性来控制它。这意味着从平铺地图创建场景时,也会自动遵守这一点。

    • 修复了对层上视差值的支持。目前还不支持对这些值执行任何开箱即用的操作,您需要手动提取这些值并基于它们执行一些操作,但是在此之前,如果更改了默认值,映射将不会加载。这个问题已经在平铺解析器中得到修复,我们也相应地在Arade中更新了我们的版本。

    • 删除了在加载TileMap时打印自定义SpriteList类的类名的挥之不去的调试策略。

  • UI

    • UIInputText 现在支持RGB和RGBA文本颜色

  • 文本

    • 几个与文本相关的错误已经在pyglet中得到了解决,它是我们现在用于文本绘制的底层库。几个星期以来,这是一项相当耗时的任务,我们希望新的基于侏儒的文本系统从现在开始会稳定下来。Arade是早期采用Piglet 2.0的人,目前使用的是预发布版

    • 这个 Text 对象现在是可用的,并且优先于 arcade.draw_text() 在许多情况下,出于性能原因。

    • 与文本相关的函数现在应该有更好的文档

  • 其他:

    • 添加了对 View 类,用于 on_resize()

    • 许多文档字符串的改进。初始值设定项文档字符串现在已经被移到了类文档字符串中,以确保它们将始终显示在生成的API文档中。

    • 在与OpenGL、纹理和纹理图集相关的高级文档下添加了一些新的部分

    • 新的效用函数 color_from_hex_string() 这将把十六进制字符串变成一种颜色。

    • 错误:删除了一个持续的调试键 F12 显示了全局纹理地图集的内容

    • 对打字和PEP-8进行了几项改进。外加自动化测试,以帮助保持良好状态。

    • 增列 run() 中的快捷方式 arcade.Window 。用途: MyWindow().run()

    • 添加 PymunkException 在皮蒙克物理引擎中引发皮蒙克错误的类。

    • 这个 check_for_collision_with_lists() 函数现在将接受任何包含SpriteList的Iterable(列表、元组、集合等)。

  • 底层渲染接口:

    • 修复了导致几何体/顶点数组忽略的问题 POINTS 将其设置为默认设置时的基本模式。

    • 添加了对计算着色器的支持。我们支持写入纹理和SSBO(缓冲区)。有关示例,请参阅 arcade/experimental/examples

    • 修复了使用几何着色器绘制时因引用不存在的枚举而导致的崩溃

特别感谢 einarfpvcravenpushfooCleptomaniaOlliroxxmlr07yegartiJayman2000 感谢他们对这一版本的贡献。

特别感谢 Benjamincaffeinepills 感谢他们在侏儒2.0中帮助消除错误。

版本2.6.3#

Released on 2021-Sept-21

  • 错误修复,使用一个登录作为‘杀死’索引。 #965

  • 修复入门页面上的死链接(请参阅 #960

  • 修正了一些混合了函数/方法词汇的文档语言。看见 #963

  • 在计算机和摄影机着色器方面进行了一些初步工作。还没完呢。

  • 修复了在某些平台上导致精灵几何体着色器无法编译的错误

  • 修复了与精灵纹理渗漏相关的错误。纹理地图集现在用重复的像素数据填充纹理边界以对抗这一点。它应该会让精灵在滚动、缩放和HiDPI显示时看起来更好。 #959

  • 添加了一些未显示的gui文本的黑客攻击(侏儒2.0错误)

  • UIMessageBox现在应该尊重小部件的宽度和高度

  • SpriteList.draw :已添加 pixelated (布尔)参数作为设置最近插值法的快捷方式

  • SpriteList.draw :这些论点现在在文档中得到了更好的暴露

  • Sprite.draw now has the same blending and interpolation argument as SpriteList.draw

  • 已升级到Puglet 2.0dev9

版本2.6.2#

Released on 2021-Sept-18

  • 支持在TileMap对象中子类化Sprite for TileMap对象的自定义类。看见 #942

  • 更新PymunkPhysicsEngine以在任何重力方向下工作,而不仅仅是向下工作。看见 #940

  • 更新我们所依赖的库版本。皮尔、皮蒙克等。

  • 修复纸牌游戏示例代码。看见 #951

  • 修复了未使用足够的线段绘制小圆的问题。看见 #950

  • .py文件中的许多文档链接都是旧的,没有更新到RTD方式,现在已经修复。

  • arcade.key 文档快速索引中找不到。修好了。

  • 修复了M1 Mac上的精灵渲染问题

  • 修复输入框中未显示插入符号的问题

  • 大量的类型提示修复

版本2.6.1#

修复#

  • 删除了在Python3.8中引入的类型批注,以修复与Python3.7和3.6的兼容性

  • 修复了静态绘图中的闪烁问题。看见 #858

版本2.6.0#

版本2.6.0是对Arade的重大更新。它不是100%向后兼容2.5API。对文本渲染、平铺地图支持、精灵、着色器、纹理、图形用户界面系统和文档进行了更新。

  • Tiled Map Editor 对支持进行了全面检查。

    • 现在,Arcade对平铺贴图编辑器创建的贴图使用.json文件格式,而不是TMX格式。磁贴集和其他支持文件都需要保存为.json格式。Arade不再支持基于XML的格式。

    • Arcade现在支持最低版本的Table1.5。使用旧版本的切片保存的地图可能在大多数情况下都可以工作,但由于切片地图格式的变化,对于所有功能,我们可以支持的最低版本是1.5。

    • 对切片地图的功能支持已得到改进,几乎与切片本身具有100%的一致性。

    • 看见 简单平台 有关如何使用磁贴的信息,请从第9章开始。

    • 看见 Community RPGCommunity Platformer 查看更复杂的示例程序。

    平铺地图的屏幕快照
  • 引入了纹理地图集,改进了纹理管理。

    • 精灵列表将创建并使用自己的纹理图集。

    • 这引入了一种新的 arcade.TextureAtlas 类,该类由SpriteList在内部使用。

    • 带有新纹理的精灵可以立即添加到精灵列表中。Arcade 2.5因重建其内部精灵床单而延迟。

    • 作为一个副作用,精灵只能属于一个渲染的精灵列表。

    • 精灵的纹理图集部分可以绘制到GPU端,并在GPU端快速更新。

      • 为了证明这一点,有一种新的 迷你地图 创建一个投射了动态小地图的精灵的示例。

      小地图的屏幕截图
  • 修改后的文本呈现方式 arcade.draw_text() 。Arade没有使用Pillow渲染到图像上,而是使用了Pyglet的文本绘制系统。文本绘制速度更快,分辨率更高,而且不容易发生内存泄漏。字体现在由字体名称指定,而不是由字体的文件名指定。

    绘制文本的屏幕截图
  • SpriteList优化。

    • 精灵现在画得比以前更快了。在配备NVIDIA 980钛显卡的英特尔i7上,可以绘制8,000多个移动精灵,同时保持60 FPS。在FPS下降之前,同一台机器只能用PYGAME做2000个精灵。

  • 阴影玩具支持。

    • Shadertoy.com 是一个使编写OpenGL着色器变得更容易的网站。

    • 新的 arcade.Shadertoy 类使得在Arade中运行这些着色器并与之交互变得很容易。

    • 看见 着色器玩具-发光Asteroids

      ../_images/cyber_fuji_2020.png ../_images/star_nest.png
  • 修改后的图形用户界面

    ../_images/gui_flat_button.png ../_images/gui_widgets.png ../_images/gui_ok_messagebox.png
    • UIElement被UIWidget取代

    • 将屏幕上的固定小工具相对居中或边框的选项(支持调整大小)

    • 可以将小部件放置在彼此的顶部

    • 重叠的小部件可正确处理鼠标交互

    • 完全类型化的事件类

    • 事件包含源小部件

    • ScrollableText窗口小部件(更多)

    • 在小部件中支持Sprite

    • 边框和填充的声明性编码样式 widget.with_border(...)

    • 自动垂直或水平放置小部件 (UIBoxLayout )

    • 已放弃对YAML样式文件的支持

    • 更好的性能和有限的内存使用

    • 更多文档 (图形用户界面概念 )

    • 可用元素:

    • WIP * UIWidgets contain information about preferred sizes * UILLayout可以放大或缩小小部件,以适应不同的屏幕大小

  • 场景管理器。

    • 现在有了一个新的 arcade.Scene 可用于管理SpriteList及其绘制顺序的类。这可以用来代替在你的绘图函数中绘制多个精灵列表。

    • 包含与 arcade.TileMap 使用 arcade.Scene.from_tilemap() 这将以正确的绘制顺序从加载的平铺地图自动创建整个场景。

    • 看见 简单平台 来介绍这个概念,并且在整个教程中大量使用了它。

  • 摄像头支持

  • 添加一组函数来跟踪性能统计信息。看见 性能信息

  • 添加了类 arcade.PerfGraph ,Sprite的一个子类,它将绘制FPS或处理可调度事件行‘UPDATE’或‘ON_DRAW’的时间。

    性能统计信息屏幕截图
  • 文档

  • API命令

    • arcade.get_pixel() 支持获取RGB和RGBA颜色值

    • arcade.get_three_color_float() 以RGB浮点形式返回颜色,每种颜色的数字为0.0-1.1

    • arcade.get_four_color_float() 以RGBA浮点形式返回颜色,每种颜色的数字为0.0-1.1

  • 更好的PyInstaller支持

    以前,我们的PyInstaller挂钩只在Windows上完全运行,在Linux上有一些功能。Mac完全不受支持,如果您尝试,它将引发UnimpledError。

    现在,我们已经完全开箱即用地支持Windows、Mac和Linux上的PyInstaller。

    看见 使用PyInstaller捆绑游戏 获取如何使用它的示例。

  • 声响

    Sound API保持不变,但通过更新到 Pyglet

  • Fix for A-star path finding routing through walls

特别感谢:

  • einarf 对于性能改进,纹理图集支持,着色器玩具支持,文本绘制支持,关于图形用户界面的建议,等等。

  • Cleptomania 提供平铺地图支持、声音支持等功能。

  • eruvanos 原始图形用户界面和所有图形用户界面更新。

  • benmoran56 以及每一位对优秀的 Pyglet 我们经常使用的类库。

版本2.5.7#

Released on 2021-May-25

修复#

  • 现在,街机gui应该尊重当前的视区。

  • 修复了UILabel在耗费大量内存的时间内分配大量纹理的问题

  • 修复了初始视口有时太小1像素导致某些瑕疵的问题

  • 修复了中的争用条件 Sound.stop() 有时会导致撞车

  • 修复了Requirements中导致诗歌问题的问题

  • 修复了达到最大纹理大小时的错误报告问题

新特点#

replit.com

Arade现在应该可以在Replit.com上开箱即用。我们检测到街机何时在Replit中运行,并调整各种设置。我们禁用的一个重要设置是抗锯齿,因为这在软件渲染中不能很好地工作。

Alternative Garbage Collection of OpenGL Resources

arcade.gl.Context 现在支持更兼容线程化应用程序的替代垃圾收集模式和OpenGL资源的垃圾收集。只能从创建窗口的同一线程访问或销毁OpenGL资源。在线程化应用程序中,在某些情况下,Python垃圾回收器可能会尝试销毁OpenGL对象,可能会导致硬崩溃。

这可以在创建时配置 arcade.Window 传入一个新的 gc_mode 参数。默认情况下,此参数为 "auto" 提供了我们在Python中拥有的默认垃圾回收。

正在传递 "context_gc" 另一方面,会将所有“死”的OpenGL对象移动到 Context.objects 。可以通过调用 Context.gc() 在正确的线索中以一种更可控的方式。

版本2.5.6#

版本2.5.6已发布2021-03-28

  • 修复了PyInstaller和Pymunk不允许Arade使用捆绑的问题

  • Fix some PyMunk examples

  • 更新一些示例代码。突出显示PyInstaller说明

版本2.5.5#

版本2.5.5已发布2021-02-23

版本2.5.4#

版本2.5.4已发布2021-02-19

版本2.5.3#

版本2.5.3已发布2021-01-27

版本2.5.2#

版本2.5.2已发布2020-12-27

  • 改进计划/取消计划文档字符串

  • Fix Sound.get_Length

  • 如果存在流源的多个实例,则引发错误

  • 修复背景音乐示例以匹配新的声音API

  • 更新文档的主登录页

  • 将Sprite Platform教程拆分为多页

  • 添加‘相关项目’页面

  • 添加‘冒险’示例游戏链接

  • 为自上而下的坦克图像添加资源

  • 添加转弯和移动示例

  • 固定SandCorner_left.png的名称

  • 如果找不到切片,请将切片更新为出错,而不是继续

  • 改进视图教程

  • 如果找不到图像或声音文件,则生成错误而不是警告

  • 在Windows中指定计时器分辨率

版本2.5.1#

版本2.5.1已发布2020-12-14

版本2.5#

版本已发布2020-12-09

(注意,Arade依赖的库目前还不能在Mac上使用Python3.9。Mac用户需要使用Python3.6、3.7或3.8。)

一般信息

  • SpriteList.draw now supports a blend_function parameter. 这为绘制具有不同混合模式的精灵打开了大门。

  • 修正:更改宽度或高度时,Sprite点击框未正确更新

  • 图形用户界面的改进(eruvanos需要详细说明)

  • 改进了几个例子

  • 对pyinstaller教程的改进

  • 更好的依赖库的PIN版本

  • 修复简单和平台式物理引擎的问题。

进阶

  • 添加了对细分着色器的支持

  • arcade.Window 现在需要一个 gl_version 参数,以便用户可以请求比默认版本更高的OpenGL版本 (3, 3) 版本。这仅适用于高级用户。

  • 修复:使用索引缓冲区时几何的内部折点计数不正确

  • 我们现在支持8位、16位和32位索引缓冲区

  • 通过省略优化了几种绘图方法 tobytes() 让缓冲区协议完成这项工作

  • 添加了更多高级示例 arcade/experimental/examples

文档

  • 增列 康威的生活游戏 演示如何使用Alpha控制网格中精灵的显示的示例。

  • 改进有关声音API的文档。

  • 通过FPS和计时统计示例改进文档。

  • 在移动平台文档方面稍有改进 简单平台 教程。

版本2.4.3#

版本2.4.3已发布2020-09-30

一般信息

  • 添加了PyInstalled钩子和教程

  • ShapeList不应再在实例之间共享位置

  • 图形用户界面改进:新的UIImageTogle

底层渲染接口(arcade.gl):

  • ArcadeContext现在具有使用枕形创建OpenGL纹理的LOAD_TEXTURE方法。

  • 错误:修复了与绘制带有偏移的索引几何图形相关的问题

  • 错误:使用帧缓冲区时剪贴框不更新

  • 错误:修复了纹理的打包/解包对齐问题

  • 错误:将几何体转换为目标缓冲区现在应使用字节偏移量

  • 错误:‘Check_for_Collision_With_List’中的精灵重复 Issue #763

  • 改进了arcade.gl中的文档字符串

版本2.4.2#

版本2.4.2已发布2020-09-08

  • 增强功能: draw_hit_boxes 中的新方法 SpriteList

  • 增强功能: draw_points 现在明显更快了

  • 增加了UIT切换、开/关开关

  • 添加演示如何使用鼠标进行GPU转换的示例

  • 使用默认大小/位置创建按钮,以便可以在创建后设置大小。

  • 允许检查声音是否播放完毕 Issue 728

  • 添加早期的相机模型

  • 增列 finish 方法,以 arcade.gl.context

  • 新示例arcade.exestental.Examples.3d_cube(实验性)

  • 新示例arcade.Examples.Camera_Example

  • 改进了UIManager.unRegister_Handler(),改进了多视图设置

  • 更新 preload_textures 方法论 SpriteList 实际预加载纹理

  • 用户界面代码清理 Issue 723

  • 为平台示例代码更新可下载的.zip,使其与文档中的当前代码相匹配。

  • 错误修复: draw_point 计算错误的磅大小

  • 固定的DRAW_POINTS计算错误的点大小

  • 厚度的CREATE_LINE_LOOP固定!=

  • 固定了屏幕外帧缓冲区和Read()的像素比例

  • 固定SpriteList迭代器是有状态的

  • 修复了屏幕外帧缓冲区中的像素比例

  • 修复用户界面测试

  • 修复FBO绑定问题

  • 清理删除旧的示例和代码

版本2.4#

Arcade 2.4.1于2020-07-13发布。

Arade 2.4版是对Arade的主要增强版本。

../_images/light_demo1.png ../_images/astar_pathfinding.png ../_images/title_animated_gif.gif ../_images/explosions.gif ../_images/animated.gif ../_images/transform_feedback1.png

版本2.4的主要功能#

  • 支持定义您自己的帧缓冲区、着色器和更高级的OpenGL编程。Arade Open GL中的新API。

    • 支持渲染到帧缓冲区,然后重新渲染。

    • 使用帧缓冲区创建光晕或光晕效果

    • 使用帧缓冲区来支持灯光: 照明演示

  • 对可设置样式的图形用户界面元素的新支持。

  • 适用于平台商的PyMunk引擎。请参阅教程: PyMunk平台

  • 用于查找路径的ASTAR算法。看见 astar_calculate_pathAStarBarrierList

    • 有关使用A-Star算法的示例,请参见 A-Star寻路

2.4版次要功能#

New functions/classes:

New functionality:

  • 支持日志记录。看见 日志记录

  • 支持中的音量和平移参数 play_sound

  • 添加直接在精灵列表中分配项目的功能。这在重新排序要绘制的精灵时特别有用。

  • 支持由平铺贴图编辑器生成的TMX贴图中的左/右/旋转精灵。

  • 支持按路径获取TMX层,使读取TMX文件不太可能出现目录混乱问题。

  • 如果在绘制文本时找不到默认字体,请添加字体搜索代码。

  • 增列 arcade.Sprite.draw_hit_box 方法绘制命中框轮廓。

  • 这个 arcade.Texture 班级, arcade.Sprite 类,以及 arcade.tilemap.process_layer 吸纳 hit_box_algorithmhit_box_detail 命中率计算的参数。

../_images/hit_box_algorithm_none.png

HIT_BOX_ALGORM=“无”#

../_images/hit_box_algorithm_simple.png

HIT_BOX_ALGORM=“简单”#

../_images/hit_box_algorithm_detailed.png

HIT_BOX_ALGORM=“详细”#

2.4版幕后改进#

General

  • 简单物理引擎出现故障的可能性较小。

  • 如果出现以下情况,抗锯齿现在应该可以在Windows上运行 antialiasing=True 被传递到窗口构造函数中。

  • 通过将更多的工作转移到图形处理器,大大提高了绘制基本形状(如线、正方形和圆)的速度。

  • 提升了精灵的速度,包括基于GPU的精灵剔除(不要在屏幕外绘制精灵)。

  • 由于着色器缓存,速度有所提高。这一点在Mac OS上尤其明显。

  • 由于更高效地设置渲染状态(如投影),速度得到了提高。

  • 由于较低级别的渲染API中的内存复制较少,从而提高了速度。

OpenGL API

在这个版本中添加了一个全新的包装OpenGL 3.3内核的低级渲染API。它松散地基于 ModernGL API,因此现代GL用户应该能够快速掌握它。Arcade使用此API实现所有更高级别的绘图功能,但最终用户也可以使用此API来真正利用他们的GPU。未来可能会出现更多关于这方面的指南和教程。

新API中的简化功能列表:

  • A Contextarcade.ArcadeContext 对象,并且可以通过 window.ctx 财产。该对象提供了创建OpenGL资源的方法,如纹理、程序/着色器、帧缓冲区、缓冲区和查询。它还提供了更改各种上下文状态的快捷方式。在Arcade中使用OpenGL时,建议您使用 arcade.gl 而不是 pyglet.gl 。这一点很重要,因为背景是为了让我们的生活更容易而做了相当多的簿记工作。

  • 新的 Texture 类支持多种格式,如8/16/32位整数、无符号整数和浮点值。还添加了新的方便的方法和属性来更改过滤、重复模式、读写数据、构建mipmap等。

  • 新的 Buffer 使用用于操作数据的方法(如简单地读/写和从其他缓冲区复制数据)初始化。该缓冲区现在还可以绑定为统一缓冲区对象。

  • 新的 Framebuffer 包装器类使我们能够将任何内容呈现为一个或多个纹理。这为许多可能性打开了大门。

  • 这个 Program 已扩展为支持几何体着色器和变换反馈(渲染到缓冲区而不是屏幕)。由于在创建过程中进行了更多的细节自省,它还暴露了许多新的属性。我们还可以为统一块分配绑定位置。

  • 引入了一个简单的GLSL包装器/解析器来检查GLSL代码的健全性,注入预处理器值并自动检测出属性(用于转换)。

  • 更高层次的类型 Geometry 是为了更轻松地使用着色器/程序而引入的。它支持使用缓冲区描述中定义的属性子集,方法是检查程序的属性,在内部生成和缓存兼容变量。

  • A Query 添加了类,以便轻松访问OpenGL渲染调用的低级测量。我们可以获得写入的样本数量、处理的基元数量和经过的时间(以纳秒为单位)。

  • 添加了对缓冲区协议的支持。什么时候 arcade.gl 需要字节数据,我们还可以传递对象,如 Python 的NumPy数组 array.array 直接不必将该数据转换为字节。

2.4版新文档#

版本2.4“试验性”#

现在有一个 arcade.experimental 保存仍在开发中的代码的模块。此模块中的任何代码可能仍有API更改。

特别感谢#

特别感谢 Einar ForselvMaic Siemering 感谢他们在帮助发布这一版本方面所做的重要工作。

版本2.3.15#

Release Date: Apr-14-2020

  • 错误修复:修复无效的空文本宽度 Issue 633

  • 错误修复:在检查资源之前确保文件名为字符串 Issue 636

  • 增强功能:实现平铺对象的大小和旋转 Issue 638

  • 文档:修复指向“精灵追随玩家”示例的不正确链接

版本2.3.14#

Release Date: Apr-9-2020

  • 错误修复:另一次尝试修复添加到同一SpriteList的不同维度的精灵无法正确显示 Issue 630

  • 围绕Sprite和纹理加载添加了大量的单元测试。

版本2.3.13#

Release Date: Apr-8-2020

  • 错误修复:添加到同一SpriteList的不同维度的精灵无法正确显示 Issue 630

版本2.3.12#

Release Date: Apr-8-2020

  • 增强功能:在SpriteList中支持更多纹理 Issue 332

版本2.3.11#

Release Date: Apr-5-2020

  • 错误修复:修复程序_CAVES_bsp.py

  • 错误修复:改进Windows安装文档 Issue 623

版本2.3.10#

Release Date: Mar-31-2020

  • 错误修复:从删除未使用的AudioStream和PlaysoundException __init__

  • 删除加载ffmpeg库的尝试

  • 添加背景音乐示例

  • 错误修复:改进Windows安装文档 Issue 619

  • 添加有关边缘伪影的教程 Issue 418

  • 错误修复:无法从多个列表中删除精灵 Issue 621

  • 几个文档更新

版本2.3.9#

Release Date: Mar-25-2020

  • 错误修复:调用SpriteList.Remove的修复 Issue 613

  • 错误修复:GET_IMAGE在高分辨率Mac上无法正常工作 Issue 594

  • 错误修复:修复简单物理引擎中的“颤抖” Issue 614

  • 错误修复:CREATE_LINE_STRINE修复 Issue 616

  • 错误修复:修复音量控制 Issue 610

  • 错误修复:在Win64下加载SoLoud的修复 Issue 615

  • 修复平台示例中的跳跃/坠落纹理

  • 为gui.heme添加测试 Issue 605

  • 修复指向arcade的错误链接。颜色文档

版本2.3.8#

Release Date: Mar-09-2020

  • 对声音进行了重大改进。使用SoLoud跨平台库。新功能包括支持音量、音量停止和左右平移。

版本2.3.7#

Release Date: Feb-27-2020

  • 错误修正:如果用4个整数设置精灵的颜色,也要设置Alpha

  • 增强功能:为代码页437添加图像

  • 错误修复:修复有关点击框计算的问题 Issue 601

  • 错误修复:修复了动画切片和从切片地图加载动画切片的问题 Issue 603

版本2.3.6#

Release Date: Feb-17-2020

  • 增强功能:添加纹理变换 Issue 596

  • 错误修复:修复默认视口中的一对一问题

  • 错误修复:绘制双倍大小的圆弧 Issue 598

  • 增强功能:添加 get_sprites_at_exact_point 功能

  • 增强功能:将代码页437添加到默认资源

版本2.3.5#

Release Date: Feb-12-2020

  • 错误修复:如果Scale为1,则调用sprite.Draw不会绘制精灵 Issue 575

  • 为版本575添加单元测试

  • 错误修正:更改精灵比例不会导致精灵在新比例中重新绘制 Issue 588

  • 为问题588添加单元测试

  • 增强功能:简化使用内置资源 Issue 576

  • 修复了on_resize()失败的问题,而Piglet正在悄悄忽略该问题

  • 更新 rotate_point 函数,以使它更明显地需要度数

版本2.3.4#

Release Date: Feb-08-2020

  • 错误修复:精灵没有出现 Issue 585

版本2.3.3#

Release Date: Feb-08-2020

  • 错误修复:set_scale检查高度而不是比例 Issue 578

  • 错误修复:当不是从窗口类派生时,绘制时窗口闪烁 Issue 579

  • 增强功能:允许在双杆射击中选择操纵杆 Issue 571

  • 测试覆盖率报告现在可以与TravisCI一起正常工作

  • 提高测试覆盖率

  • 改进了纹理类的文档和输入功能

  • 改进最小视图示例

版本2.3.2#

Release Date: Feb-01-2020

  • 将Scale作为参数移除到Load_Textures,因为它不是未使用的

  • 改进文档

  • 添加加速度/摩擦力的示例

版本2.3.1#

Release Date: Jan-30-2020

  • 不使用动画精灵自动更新精灵命中框

  • 修复Sprite的问题。绘制

  • 改进了当尝试进行碰撞检查时给出的错误消息,并且精灵上没有设置命中框。

版本2.3.0#

Release Date: Jan-30-2020

  • 向后不兼容:Arcade。纹理不再具有比例属性。此属性使事情变得混乱,因为Sprite有自己的Scale属性。这个看似很小的更改需要围绕精灵、精灵列表、命中框和绘制纹理矩形进行大量返工。

  • 包括2.2.8中的所有内容,但希望现在可以工作。

  • 错误修复:调用Sprite.Draw()时出错 Issue 570

  • 增强功能:增加了Sprite.Draw_Hit_box,可以直观地绘制点击框。(速度有点慢,但对调试很有用。)

版本2.2.9#

Release Date: Jan-28-2020

  • 回滚到2.2.7,因为2.2.8中的错误修复搞砸了伸缩

版本2.2.8#

Release Date: Jan-27-2020

  • 版本号现在包含在一个文件中,而不是三个。

  • 增强功能:将GitHub列出的几个增强功能移到.rst增强功能列表中

  • 错误修复:获取高度时不考虑纹理比例 Issue 516

  • 错误修复:如果文本低于基线,则会出现文本截断问题 Issue 515

  • 增强:允许创建非缓存纹理,修复了调整大小的问题 Issue 506

  • 增强功能:物理引擎支持旋转

  • 错误修复:需要更好地解决冲突,以便精灵不会将超空间移到新的奇怪位置 Issue 569

  • 错误修正:当使用多纹理播放器精灵时,无法正确创建命中框。 Issue 568

  • 错误修复:顶部的Text_Sprite和锚点y问题 Issue 567

  • 错误修复:文档问题

版本2.2.7#

Release Date: Jan-25-2020

  • 增强功能:让DRAW_TEXT返回子画面 Issue 565

  • 增强功能:提高更改文本字母时的速度 Issue 563

  • 增强功能:添加双杆射击示例 Issue 301

  • 错误修复:修复了Pyglet 2.0dev不兼容问题 Issue 560

  • 错误修复:修复损坏的粒子_系统.py示例 Issue 558

  • 增强功能:向TravisCI版本添加了mypy检查 Issue 557

  • 增强功能:修复键入问题 Issue 537

  • 增强功能:优化DRAW_TEXT中的加载字体 Issue 525

  • 增强功能:重新组织示例

  • 错误修复:Get_Pixel在MacOS上不起作用 Issue 539

版本2.2.6#

Release Date: Jan-20-2020

  • 错误修复:粒子_Fireworks示例不能在2.2.5中运行 Issue 555

  • 错误修复:Sprite.op不可靠 Issue 531

  • 增强功能:如果系统上未找到默认字体,则引发错误 Issue 432

  • 增强功能:将空间入侵者克隆添加到示例列表 Issue 526

  • 增强功能:将站点地图添加到网站

  • 增强:提高性能,处理有关设置子画面颜色的错误

  • 增强功能:向SpriteList.Drawing实现可选的过滤参数 Issue 405

  • 增强功能:返回物理引擎更新期间命中的项目列表 Issue 401

  • 增强功能:更新资源文档 Issue 549

  • 增强:将ON_UPDATE添加到Sprite,其中包括Delta_Time Issue 266

  • 增强:关闭与增强相关的GitHub问题,并在新的增强列表中引用它们。

版本2.2.5#

Release Date: Jan-17-2020

  • 增强功能:提高了渲染非缓冲图形基元时的速度

  • 错误修复:2.2.4中角以弧度而不是度为单位工作 Issue 552

  • 错误修复:2.2.4中子画面的角度和颜色未更新 Issue 553

版本2.2.4#

Release Date: Jan-15-2020

  • 增强:现在移动精灵的效率提高20%。

版本2.2.3#

Release Date: Jan-12-2020

  • 错误修正:点击框不更新旋转和缩放。 Issue 548 此更新不再使用Sprite.Points,而是使用Sprint.Hit_box和Sprint t.get_adjusted_Hit_box

  • 主要的内部变化围绕着没有 __init__import * 但要特别说出所有的名字。 Issue 537 这重新编排了许多文件,也重新编写了文档中的Quickindex。

版本2.2.2#

Release Date: Jan-09-2020

  • 错误修复:Arade假设磁贴集中的磁贴大小相同 Issue 550

版本2.2.1#

Release Date: Dec-22-2019

  • 错误修复:分发中未包含资源文件夹 Issue 541

版本2.2.0#

Release Date: Dec-19-2019 *

  • 主要增强功能:添加内置资源支持 Issue 209 这也需要对代码样例进行许多更改,但现在无需下载单独的图像即可运行。

  • 主要增强功能:通过裁剪透明度自动计算命中点

  • 主要增强:精灵工作表对切片地图编辑器的支持现已生效

  • 增强功能:添加 load_spritesheet 用于从精灵工作表加载图像

  • 增强:更新物理引擎以更好地处理非矩形精灵

  • 增强:添加SpriteSolidColor类,用于创建单色矩形精灵

  • 增强功能:通过PEP 561向依赖于arcade的模块公开类型提示 Issue 533Issue 534

  • 增强:将Font_COLOR添加到gui.TextButton init Issue 521

  • 增强功能:改进有关加载切片地图的错误消息

  • 错误修复:打开vsync,因为它有时会将FPS限制在30。

  • 错误修复:get_tile_by_gid()错误地假设切片GID不能超过切片集长度 Issue 527

  • 错误修复:对象层中的切片未正确放置 Issue 536

  • 错误修复:加载字体时出现打字错误 Issue 518

  • 已更新 requirements.txt 文件

  • 将robots.txt添加到文档

请同时更新pyglet、pyglet_ffmpeg2和pytileed_parser库。

向Jon Fincher、Gallo先生、SirGnip、Lubie0kasztanki和EvgeniyKrysanoc致敬,感谢他们对此版本的贡献。

版本2.1.7#

  • 增强功能:磁贴集支持。 Issue 511

  • 错误修复,搜索文件相对于瓷砖地图的瓷砖图像。 Issue 480

版本2.1.6#

  • FIX:许多关于定位和带有磁贴地图的点击框的修复 Issue 503

  • 文档更新,尤其是使用 on_update instead of update and remove_from_sprite_lists instead of kill. Issue 381

  • 使用地图的CSV移除/调整一些示例

版本2.1.5#

  • FIX:默认字体有时无法在Mac上使用 Issue 488

  • 文档更新,特别是关于平台上的动画角色的示例

  • 修复了Sprite类,以更好地支持梯子周围的角色动画

版本2.1.4#

  • 修复:在Raspberry PI 4上导入arcade时出错 Issue 485

  • FIX:透明度在绘图函数中不起作用 Issue 489

  • FIX:DRAW_椭圆文档中的参数顺序 Issue 490

  • 在缺少数据类时引发更好的错误

  • 来自SirGnip的大量代码清理 Issue 484

  • 来自wamiqurrehman093的按钮和对话框的新代码 Issue 476

版本2.1.3#

  • 修复:绘制到错误尺寸的椭圆 Issue 479

  • 增强:添加用于调试的单元测试 Issue 478

  • 增强功能:在找不到文件时添加更多描述性错误 Issue 472

  • 增强功能:明确声明增量时间以秒为单位 Issue 473

  • FIX:在视图中添加缺少的‘DRAW’函数 Issue 470

版本2.1.2#

  • FIX:链接到错误版本的Pyglet Issue 467

版本2.1.1#

  • 在setup.py中添加了作为依赖项的pytied-parser

版本2.1.0#

  • 用于tmx文件的新文件阅读器http://arcade.academy/arcade.html#module-arcade.tilemap

  • 添加新的视图切换框架http://arcade.academy/example_code/how_to_examples/index.html#view-management

  • 修复并重新启用TravisCI构建https://travis-ci.org/pvcraven/arcade/builds

  • 新增:精灵的碰撞方法 Issue 434

  • 修复:Make_Circle_Texture Issue 431

  • 修复:绘制为三角形而不是矩形的点 Issue 429

  • 修复:修复屏幕更新率问题 Issue 424

  • 修复:打字错误 Issue 422

  • 试玩Kayzee游戏

  • FIX:添加指向PyCon视频的链接 Issue 414

  • 修复:文档字符串 Issue 409

  • 修复:打字错误 Issue 403

感谢SirGnip、Glow先生和Christian Clauss的贡献。

版本2.0.9#

  • FIX:无法为平铺样条表指定.tsx文件的路径 Issue 360

  • FIX:TypeError:__init__()接受3到11个位置参数,但有12个是在ext.py中给出的 Issue 373

  • FIX:测试创建行条带 Issue 379

  • FIX:TypeError:DRAW_RECTANGE_Fill()获取意外的关键字参数‘BORDER_WIDTH’ Issue 385

  • FIX:请参阅关于创建本地化/国际化示例 Issue 391

  • 修复:在09_endgame.py中死在熔岩中时出现故障 Issue 392

  • FIX:在ArchLInux上找不到默认字体,也没有错误消息(包括补丁) Issue 402

  • FIX:围绕批处理图形和ARRAY_BACKED_GRID.PY示例更新文档 Issue 403

版本2.0.8#

  • 添加来自lixingque的示例代码

  • FIX:图形基本体示例在早期版本中中断 Issue 365

  • 更新:改进所有代码示例的自动化测试 Issue 326

  • 更新:覆盆子圆周率说明,尽管它仍然不起作用

  • FIX:某些缓冲的绘制命令不起作用 Issue 368

  • 删除因OpenGL而无法工作的构建环境的YML文件

  • 更新要求.txt文件

  • 修正山上的例子

  • 更好地处理播放声音时的错误

  • 删除一些未使用的示例代码文件

版本2.0.7#

  • 上一版本不正确地需要了pyglet-ffmpeg,更新为pyglet-ffmpeg2

  • FIX:Alpha值似乎不适用于DRAW_TEXTURE_RETANGLE Issue 364

  • 修复:DRAW_YYWH_RECTRANGE_THERRUCTED错误 Issue 363

版本2.0.6#

  • 改进ffmpeg支持。我认为它现在可以在MacOS和Windows上运行。 Issue 350

  • 改进缓冲绘图命令支持

  • 提高PEP-8合规性

  • 修复了切片地图阅读器、 Issue 360

  • 对动画精灵的修复 Issue 359

  • 删除Mac上未使用的avbin库

版本2.0.5#

  • 如果为尚未设置纹理的精灵设置了比例,则会出现问题。 Issue 354

  • 修复 Sprite.set_position 不管用。 Issue 356

版本2.0.4#

版本2.0.3#

2.0.2版是从错误的分支编译而来的,因此它有一大堆未经测试的代码。2.0.3应该是2.0.2。

版本2.0.2#

  • 用于加载wav文件的修复程序 Issue 344

  • 修复Linux只能获得30fps的问题 Issue 342

  • 修复窗口创建过程中的错误 Issue 340

  • 修复了显卡不支持多样本的问题 Issue 339

  • 修复Mac上的设置视图错误 Issue 336

  • 更改精灵上的比例属性现在会动态更改精灵比例 Issue 331

版本2.0.1#

  • 启用多重采样,以便线条可以消除锯齿 Issue 325

版本2.0.0#

已发布2019-03-10

2.0.0中有很多改进。太多了,不胜枚举,但有两个主要的改进:

  • 使用精灵的着色器,让绘制精灵的速度变得难以置信地快。

  • 使用ffmpeg进行声音处理。

版本1.3.7#

已发布2018/10/28

  • 修复 Issue 275 在那里精灵可能会变得模糊。

版本1.3.6#

已发布2018/10/10

  • 空间散列的BUX修复

  • 执行从屏幕获取像素和图像的命令

版本1.3.5#

2018年08月23日发布

修复了空间散列和声音的错误。

版本1.3.4#

2018年5月28日发布

新特点#

  • Issue 197: 添加与CSS颜色名称匹配的新颜色名称集

  • Issue 203: 添加ON_UPDATE作为更新的替代选项

  • 添加读取.tmx文件的功能。

错误修复#

文档#

  • Issue 217: 修复文档字符串中的拼写错误

  • Issue 198: 添加显示等轴测平铺支撑起点的示例

版本1.3.3#

2018年5月至5月上映

新特点#

  • Issue 184: 对于声音,wav、mp3和ogg应该可以在Linux和Windows上运行。Wav和mp3应该可以在Mac上运行。

更新的示例#

  • 添加笑脸画例

版本1.3.2#

2018年4月20日发布

新特点#

  • Issue 189: 添加空间散列以实现更快的碰撞检测

  • Issue 191: 添加函数以获取两个精灵之间的距离

  • Issue 192: 添加函数以使列表中的精灵与另一个精灵最接近

  • Issue 193: 改进装饰物支持

更新的文档#

  • 将快速索引中的类方法链接到类方法文档

  • 添加山体中点位移示例

  • 改进的css

  • 新增《两个世界》示例游戏

更新的示例#

  • 更新 sprite_collect_coints_move_down.py 不使用 all_sprites_list

  • 更新 sprite_bullets_aimed.py 添加有关如何管理滚动屏幕上的文本的警告

  • Issue 194: 修复了在滚动示例中计算行程的问题

版本1.3.1#

2018年3月31日发布

新特点#

  • 更新 create_rectangle 代码,以便它使用颜色缓冲区来提高性能

  • Issue 185: 添加对重复纹理的支持

  • Issue 186: 在精灵上添加对重复纹理的支持

  • Issue 184: 改善声音支持

  • Issue 180: 改善声音支持

  • 改善声音支持的工作

更新的文档#

  • 更新http://arcade.academy主页上的快速链接

  • 更新Sprite类文档

  • 将版权日期更新为2018年

更新的示例#

  • 更新PyMunk示例代码以使用键盘常量而不是硬编码值

  • 新的示例代码显示了如何在随意放置硬币时避免将硬币放在墙上

  • 改进样例代码的清单/组织

  • 致力于改进样例代码,特别是尽量避免使用 all_sprites_list

  • 添加PyMunk平台示例代码

  • 使TravisCI构建正常运行的工作不成功

  • 添加新样本以使用形状列表

  • 创建在使用ShapeList时显示速度差异的示例代码。

  • Issue 182: 在样例PyMunk代码中使用显式导入

  • 改进了使用图形背景的示例代码

  • 改进收集硬币实例

  • 使用元胞自动机创建洞穴的新示例代码

  • 使用二进制空间分区创建洞穴的新示例代码

  • 新的爆炸示例代码

版本1.3.0#

2018年2月11日发布。

增强#

版本1.2.5#

2017年12月29日上映。

错误修复#

增强#

版本1.2.4#

2017年12月23日上映。

错误修复#

版本1.2.3#

2017年12月20日上映。

错误修复#

  • Issue 44: 改进通配符导入

  • Issue 150: “Shape”示例指的是不存在的章节

  • Issue 157: 不同层次的示例文档挂钩被搞砸了。

  • Issue 160: Sprite_Collect_Coins示例运行失败

  • Issue 163: 某些示例未加载图像

增强#

  • Issue 84: 允许通过-m快速运行

  • Issue 149: 需要使用Check_for_Collision提供更好的错误消息

  • Issue 151: 需要展示如何在房间之间穿行的示例

  • Issue 152: 在示例中标准化主类的名称

  • Issue 154: 改善GitHub兼容性

  • Issue 155: 改进自述文件文档

  • Issue 156: 清理根文件夹

  • Issue 162: 添加带有性能提示的文档

  • Issue 164: 为静态精灵列表创建选项,其中我们不检查是否有东西移动。

  • Issue 165: 使用物理引擎改进错误消息

版本1.2.2#

2017年12月2日上映。

错误修复#

  • Issue 143: 使用滚轮时引发错误

  • Issue 128: 修复物理引擎中的无限循环

  • Issue 127: 修复了导入时使用Python3.6发出警告的错误

  • Issue 125: 修复在Linux上创建Windows时的错误

增强#

  • Issue 147: 修复了错误指定了两个图像文件的错误构建文档

  • Issue 146: 将发行说明添加到文档

  • Issue 144: 添加代码以获取窗口和视区尺寸

  • Issue 139: 添加有关以下内容的文档 collision_radius

  • Issue 131: 添加关于如何制作全屏游戏的示例代码

  • Issue 113: 添加显示敌人在撞墙时掉头的示例代码

  • Issue 67: 改进了对操纵杆/游戏控制器的支持和文档