|
|
1
10
你必须开始在“纹理空间”中思考,其中坐标在[0,1]范围内。 所以,如果你有一张精灵表:
你所要做的就是提交这两个 顶点 和 纹理顶点
|
|
|
2
7
这只是一个(非常重要的)旁注,因为一些评论表明情况并非如此。 请永远不要使用glBegin/glEnd。 永远不要告诉别人使用它。 只有在第一个OpenGL程序中才可以使用glBegin/glEnd。
|
|
|
3
0
我假设你正在学习OpenGL,只需要以某种方式让它工作。如果你需要原始速度,有着色器和顶点缓冲区以及各种整洁和复杂的东西。
要使左上角为零,可以使用gluOrtho()以与普通GL不同的方式设置视图矩阵(查找该函数的文档,将top设置为0,将bottom设置为1,或者如果需要整数坐标,则将screen_height设置为1),或者只需更改绘图循环并执行glVertex2f(x/screen_width,1-y/screen_heights)。 有更好更快的方法可以做到这一点,但如果你从头开始学习原始OpenGL,这可能是最简单的方法之一。 |
|
|
4
0
1.我加载了纹理 2.我决定了如何将精灵表拆分为单独的精灵。 3.我把它们分成不同的表面 4.我为每个对象制作一个纹理(我有一个精灵类来管理它们)。 5.清理表面。 这需要更多的时间(显然)加载,但以后会有回报。 这样更容易(也更快),因为您只需计算要显示的纹理的索引,然后显示它。然后,您可以根据需要缩放/平移它,并调用显示列表将其渲染为您想要的任何内容。或者,你可以在即时模式下完成,两者都可以:) |
|
|
Dan Hill · 将精灵返回其原始位置? 8 年前 |
|
|
ajjanna12 · PygameSprites即使在函数设置参数为 8 年前 |
|
|
user8780062 · 将精灵添加到Pygame光线投射引擎 8 年前 |
|
|
DarkBlood202 · 如何在Pygame中根据角度移动精灵 9 年前 |
|
|
ODOG · Unity 2d动作脚本问题 9 年前 |
|
|
Vasya2014 · 精灵跟随一个不同的精灵并延迟 9 年前 |