为了账号安全,请及时绑定邮箱和手机立即绑定

皮游戏表面定位

皮游戏表面定位

aluckdog 2022-10-05 10:10:38
正如我所理解的pygame绘制方法一样,blit函数()的第二个参数告诉pygame在哪里绘制给定的表面(例如开始绘制的偏移量,或者更确切地说是表面在屏幕上的位置)。虽然,从最近的实验来看,似乎pygame表面的位置是固定的,并且用于在pygame将其推到屏幕上之前裁剪表面,以提高效率。screen.blit(surface, (0,0))(0,0)表面放置是否真的固定(我的后一个观察是否正确)?如果是这样,是否有另一种方法可以方便地将已绘制的表面移动到屏幕上的另一个位置?还是我应该实现自己的移动复杂“可绘制”对象的方式?谢谢!
查看完整描述

1 回答

?
眼眸繁星

TA贡献1873条经验 获得超9个赞

个玩偶。表面物体没有位置,它只有大小。请注意,由 pygame 返回的对象的位置。Surface.get_rect() 始终为 (0, 0)。
当你在另一个上放置一个时,每个像素都会被复制并放置在目标的相应位置。因此,当 a 位于目标 上时,始终必须指定一个位置。RectSurfaceSurfaceSurfaceSurfaceblitSurface

另请参阅为什么我的碰撞测试总是返回“true”,为什么图像矩形的位置总是错误(0,0)?


[...]如果是这样,是否有另一种方法可以方便地将已绘制的表面移动到另一个位置[...]

你有一个基本的误解。A 不能被“移动”。在与游戏窗口关联的对象上复制 A。
似乎正在移动,因为整个场景在每一帧中绘制。首先绘制背景,然后在背景顶部绘制对象(精灵,表面),最后更新显示(在每一帧中)。如果一个对象在每一帧中的位置略有不同,则该对象看起来移动得很平稳。SurfaceSurfaceSurfaceSurface


查看完整回答
反对 回复 2022-10-05
  • 1 回答
  • 0 关注
  • 113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号