首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >博弈抽奖行为

博弈抽奖行为
EN

Stack Overflow用户
提问于 2016-02-09 21:57:01
回答 1查看 1.5K关注 0票数 0

我目前正在设计基本的游戏项目。随机项目--实际上,这些都是随机的想法--在平常的白天突然出现在我脑海里。其中一个是挂钟。在这里我使用sincos函数来画时针,分针等等。

作为这些函数的结果,我获得浮点值。哪个玩偶游戏不允许。因此,在绘制函数之前,我使用roundint()所有的值。这是有意义的,因为像素不能被部分填充。然而,我认为这导致了糟糕的图纸。

上面的图像是由游戏模块绘制的时钟。如你所见,手柄有点倾斜。不是直的。

我还在共形器中实现了这一点。这是一个用于基本游戏(或任何图形化)编程的python2环境。功能清晰,非常容易使用。我使用的浮点值不需要转换并直接接受。我不知道它是如何处理的,但它显然更好。显然,不只是四舍五入和整数(这个词存在吗?)值。让我给你看一下用同桌同桌画的时钟:

正如你所看到的,边缘更光滑。线条不是倾斜的,而是笔直的。显然这是一幅比玩偶游戏更好的画。

但是的问题是,协同桌面并没有实现许多比入门级知识更难的模块和内置函数。而且,它不支持著名的编译器(基本上不支持python模块)。所以不能在计算机上工作,也不能用py2exe编译,也就是这样的pyinstaller。

所以我不打算在游戏中实现所有这些,并且像在协同桌面程序中一样获得平滑的结果。也许是一个更好的方法来处理浮点的绘制。如有此方面的任何想法或知识,将不胜感激。

我的共同桌面程序代码(没有实时显示)

我的游戏代码

代码没有提供适当的评论,因为它们只是深夜的乐趣,仅此而已。我会解释任何必要的部分。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-09 22:25:05

总结上面的评论,您注意到的问题是反别名。对于这些行,pygame提供了aaline函数,它可以用来绘制一条单行。不幸的是,这并不支持不同的厚度。可能的解决办法可以是绘制一条厚度正确的线,并在其两侧绘制一个aaline,或者使用aapolygon (来自gfxdraw模块)绘制这条线。

标准的draw模块不包括反别名圆,但是您可以使用来自gfxdraw的另一个函数来绘制反别名圆aacircle

需要注意的是,gfxdraw模块被标记为“试验性的”,因此不能保证函数在不同版本的pygame中保持不变。但对于您的快速项目,这可能不是一个问题。

至于CodeSkulptor,他们在HTML5 <canvas>元素上呈现行,根据这个问题的说法,该元素默认启用了反混叠。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35302986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档