用Python和Pygame写游戏-从入门到精通(实战一:涂鸦画板2)

本文通过实战案例详细介绍了使用Pygame开发简易画板的过程,包括画笔颜色设置、按钮交互及不同画笔风格的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文转载自:http://eyehere.net/2011/python-pygame-novice-professional-painter-2/


趁热打铁赶快把我们这个画板完成吧~

……鼠绘无能,不准笑!所有评论中“噗嗤”、“画的好搓啊”、“画的好棒啊”等,都会被我无情扑杀掉!但是能告诉我怎样画可以更漂亮的话,绝对欢迎。

上次讲Brush的时候,因为觉得太简单把color设置跳过了,现在实际写的时候才发现,因为我们设置了颜色需要对刷子也有效,所以实际上set_color方法还有一点点收尾工作需要做:

也就是在设定color的时候,顺便把笔刷的颜色也改了,但是要保留原来的alpha值,其实也很简单就是了……

按钮菜单部分

上图可以看到,按钮部分分别为铅笔、毛笔、尺寸大小、(当前样式)、颜色选择者几个组成。我们只以笔刷选择为例讲解一下,其他的都是类似的。

这些代码实际上是我这个例子最想给大家说明的地方,按钮式我们从未接触过的东西,然而游戏中按钮的应用我都不必说。

不过这代码也都不困难,基本都是我们学过的东西,只不过变换了一下组合而已,我稍微说明一下:

初始化部分:读入图标,并给每个图标一个Rect
绘制部分: 根据图表的Rect绘制图表
点击判断部分:根据点击的位置,依靠“碰撞”来判断这个按钮是否被点击,若点击了,则做相应的操作(这里是设置样式)后返回True。这里的collidepoint()是新内容,也就是Rect的“碰撞”函数,它接收一个坐标,如果在Rect内部,就返回True,否则False。

好像也就如此,有了一定的知识积累后,新东西的学习也变得易如反掌了。

在这个代码中,为了明晰,我把各个按钮按照功能都分成了好几组,在实际应用中按钮数量很多的时候可能并不合适,请自己斟酌。

完整代码

OK,这就结束了~ 下面把整个代码贴出来。不过,我是一边写代码一遍写文章,思路不是很连贯,而且python也好久不用了……如果有哪里写的有问题(没有就怪了),还请不吝指出!

200行左右,注释也不是很多,因为在这两篇文章里都讲了,有哪里不明白的请留言,我会根据实际情况再改改。

本次使用的资源文件打包

这次的pygame知识点:

  • 屏幕Surface和图像Surface
  • 图像绘制和图形绘制(是不是有人不明白“图像”和“图形”的区别?简单的说,图像指的是那些图片文件,图形指的是用命令画出来形状)
  • 按钮的实现(新内容

认真的朋友一定发现了本次没有涉及到动画和声音,毕竟这次只是简单的例子,太复杂了不免让人生畏。

实际用一下,会发现这个例子有很多不足,比如画错了不能撤消,只能用白色画掉(当然真正的艺术家都不用橡皮来着);调节画笔大小的时候太麻烦,点一下跳个0.5(你可以试着加上快捷键);窗口尺寸不能变,图片不能打开不能保存……不足一大堆啊,不说了,自己都要伤心了~ 但是只要你掌握了原理,所有的自己期望的功能都能慢慢实现。看着手中的程序慢慢成长,不是很有成就感么?它甚至有可能变的史无前例的强大,难道不是么?

下一个实战是什么?尽请期待~

# 另,非常欢迎有绘图高手用这个画个漂亮点的给我,我好把题头的图片换掉,太吓人了……


### 回答1: 《Python Pygame 游戏 -入门精通.pdf》是本关于使用Python语言Pygame库编游戏的书籍。Python种简单易学的编程语言,具有丰富的库工具,非常适合初学者入门。而Pygame是为了方便开发2D游戏而设计的库,提供了丰富的函数类,可以帮助开发者轻松地创建游戏。 这本书的目标是帮助读者从游戏开发的基础知识入手,逐步了解PythonPygame的使用方法,并逐渐提高到精通水平。书中按照渐进式的学习方式,从基本的Python语法开始介绍,然后逐步引入Pygame库的功能特性。读者可以学习如何创建游戏窗口,绘制图形精灵,处理用户输入,实现游戏逻辑等。 此外,书中还涵盖了些高级的游戏开发技术,比如碰撞检测、音效处理、动画效果物理模拟等。通过学习这些内容,读者将能够掌握更多复杂游戏的开发方法,并能够自己设计实现自己的游戏。 总的来说,《Python Pygame 游戏 -入门精通.pdf》是本适合初学者定编程基础的读者学习游戏开发的书籍。读者可以通过学习这本书,掌握使用PythonPygame开发游戏的基本技能,从而进步提升自己在游戏开发领域的能力。 ### 回答2: 《Python Pygame 游戏-入门精通》是本关于使用Python编程语言Pygame游戏开发库来编游戏的指南。它逐步介绍了从入门精通的过程,并教会读者如何利用PythonPygame创建自己的游戏Python种简单易学的高级编程语言,被广泛应用于各种领域,包括游戏开发。Pygame个基于Python的库,专门用于开发2D游戏。它提供了许多功能强大的工具函数,可以帮助开发者处理游戏图形、声音、输入等方面的内容。 《Python Pygame 游戏-入门精通书首先向读者介绍了PythonPygame的基础知识,包括安装配置开发环境以及PythonPygame的基本语法功能。然后,它逐渐深入探讨了游戏开发的不同方面,包括游戏循环、图形绘制、碰撞检测、游戏物理等。书中使用了大量的示例代码实际案例来帮助读者理解应用所学知识。 通过学习《Python Pygame 游戏-入门精通》,读者将获得从入门精通游戏开发技能。他们将学会创建各种类型的游戏,从简单的益智游戏到复杂的角色扮演游戏。此外,书中还提供了些高级技巧技术,如使用人工智能网络功能来增强游戏体验。 总之,这本书是本全面而深入的学习资源,适合那些希望利用PythonPygame开发游戏的初学者有经验的开发者。它将引导读者从零开始掌握游戏开发的基本技能,并帮助他们创建自己的精彩游戏作品。 ### 回答3: 《PythonPygame游戏-入门精通.pdf》是本专门介绍如何使用Python及其游戏开发库Pygame来编游戏的书籍。 Python种高级编程语言,易于学习使用。它具有简洁的语法丰富的标准库,可以进行各种编程任务,包括游戏开发。Pygame个基于Python的开源游戏开发库,提供了丰富的功能工具,方便开发者进行游戏的设计制作。 这本书从入门精通的目标,意味着它适合各种编程经验水平的读者。对于初学者,它会介绍PythonPygame的基本知识概念,例如变量、条件语句、循环函数等。然后,它将引导读者学习如何使用Pygame库中的各种功能模块来创建游戏窗口、处理用户输入、绘制图形等。通过实际的示例练习,读者可以逐步掌握游戏设计开发的基本技能。 对于有定编程经验的读者,本书也提供了更高级的内容技巧,例如碰撞检测、动画效果、游戏物理学等。读者可以通过这些深入的学习,进步提升自己的游戏开发能力,设计出更加有趣复杂的游戏。 总的来说,《PythonPygame游戏-入门精通.pdf》是本对于想要学习如何使用PythonPygame游戏的读者来说非常有价值的书籍。通过它的指导,读者可以系统地学习游戏开发的基础知识技能,并逐步提高自己的水平,成为名优秀的游戏开发者。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值