filix57 2023-10-07 17:10 采纳率: 33.3%
浏览 2

用python制作简单的pygame 游戏运行时有的sprite无法显示

img

img

img

img


小绿方块是在我点击quit 时闪现了一下子,但是在打开窗口的时候没有小绿方块的滑动,请各路神仙帮忙指导一下

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-10-07 20:35
    关注

    【相关推荐】



    • 你可以参考下这个问题的回答, 看看是否对你有帮助, 链接: https://ask.csdn.net/questions/7619371
    • 你也可以参考下这篇文章:编写python时 使用pygame.sprite.Sprite发生了一些问题 求助
    • 除此之外, 这篇博客: pygame中的特殊对象与模块中的 八、sprite模块 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

      说明:这个模块包含几个简单的类,有主Sprite类和几个包含sprite的组类。这些类相当轻量级,只为大多数游戏通用的代码提供了一个起点。

      功能:“sprite”,中文翻译“精灵”,在游戏动画一般是指一个独立运动的画面元素,在pygame中,就可以是一个带有图像(Surface)和大小位置(Rect)的对象。

      1. Sprite类旨在为游戏中不同类型对象提供一个基础类。还有一个基础组类(Group classe),它只存储精灵(sprite)。游戏可以创建新类型的组类,在它们包含的特殊定制的Sprite实例上进行操作。
      2. 基础的Sprite类可以将它包含的精灵绘制到一个Surface上。 Group.draw() 方法要求每个精灵都有一个 Surface.image 属性和一个 Surface.rect属性。 Group.clear() 方法同样需要这些属性,此方法可用于删除所有带背景的精灵。还有更高级的组类: pygame.sprite.RenderUpdates() and pygame.sprite.OrderedUpdates()。
      3. 该模块包含几个冲突函数,用以在具有相交边界矩形的多重组类中查找精灵。为了找到碰撞,精灵必须有一个已分配的 Surface.rect 属性。
      4. 这些组类的设计是为了高效地去除和添加精灵。允许进行简单测试查看一个精灵是否已经存在于一个组类内。给定的精灵可以存在于任意数量的组类中。游戏可以使用一些组类来控制对象渲染,使用一组完全独立的组类来控制交互或玩家移动。取代向派生的Sprite类添加类型属性或布尔量,而是考虑将精灵保持在有组织的组类中,以便在游戏中更容易查找精灵。
      5. 精灵和组类之间使用 add()  remove() 方法管理它们的关系。这些方法可以接受一个或多重的成员身份或目标。这些类的默认初始设定是将单个目标或一个目标列表视为初始成员身份。重复添加和删除组类中的同一个精灵是安全的。
      6. 虽然可以设计不根据Sprite和AbstractGroup类派生的精灵和组类,但强烈建议在添加精灵或组类时扩展这些类。
      7. 精灵不是线程安全的。因此,如果使用线程,请亲自锁定它们。

      方法详解:

      https://blog.csdn.net/Rita_Aloha/article/details/106252900

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 10月7日

悬赏问题

  • ¥15 爬虫爬取网站的一些信息
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥100 栈回溯相关,模块加载后KiExceptionDispatch无法正常回溯了
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含
  • ¥15 麒麟V10桌面版SP1如何配置bonding
  • ¥15 Marscode IDE 如何预览新建的 HTML 文件