美文网首页
pygame开发基础

pygame开发基础

作者: 进击的鸭子 | 来源:发表于2017-06-26 01:12 被阅读0次

    python开发环境

    OS系统上装过xcode的,都会自带python的开发环境,默认的python版本为2.7.10,可以用来实现基本的python执行,但是作为开发还是有所不便。在终端输入python --version可查询python的版本信息,输入python命令如果进入到>>>符号下面,则说明环境成功,这里就不详细描述了。

    另外就是自主安装的python,可以进入python的下载官网下载 https://www.python.org/downloads/mac-osx/。 也可以通过brew安装,基本安装的过程都比较简单,大家可以自行参考。小编自己安装的就是python 3.6版本。


    python语言简介

    python功能强大,而且用途广泛,一旦你熟悉了它,会对它的功能感到吃惊。目前,python除了移动端没有涉及以外,在各方面的开发应用都很广泛。在语法上,python中没有开始括号和结束括号,而是通过缩进对齐来判断是否包含或者串行关系。python也没有可以识别的函数名,python类的构造函数不是很好看,但是也不至于让你觉得犯难。此外,IDLE是python安装包中包含的非常有用的文本编辑器,对于我个人而言,大家不需要花过大的精力在编辑器的选择上,个人倾向于前期使用一些简单干净的编辑器就可以了。

    python是面向对象的编程语言,所以,多少回支持一些面向对象的编程概念。接下来,小编将花一些时间来介绍一下这些概念,这是一种便携代码的高效方式。面向对象编程(OOP)是一种方法学,也就是做事情的方式。

    OOP的特性示例

    多态:

    多态就是指具备多种形态的能力,在类的环境中,这种体现就是我们可以使用多种形态的方法,方法包含多种不同的参数集合,例如

    def __init__(self,name="Bug",legs=8):

                     self.name = name

                     self.legs = legs

    def __init__(self) :这个方法开始了类的构造函数,也就是说,类的实例化运行的第一个方法就是这个函数。关键字self就是用来描述当前的类,注意!所有的类变量前面必须有一个self,从而可以让计算机识别出来这是一个类的成员。

    数据封装

    python不允许变量和方法的声明是私有的或者受保护的,因为python中所有的内容都是共有的,但是,如果想要代码像数据隐藏一样的工作,我们就需要对数据进行封装

    def GetDistance(self):

               return p_distance

    def setDistance(self,value):

               p_distance = value

    如上想要用来访问并修改distance变量的时候,这样做就意味着将distance重命名为p_distance, 看上去像是私有变量,然后通过这种方法去访问。

    单继承

    class Point():

            x = 0.0

           y = 0.0

          def __init__(self,x,y):

                  self.x = x

                   self.y = y

                   print("Point constructor") 

          def ToString(self):

          return "{X:" + str(self.x) + ",Y:" + str(self.y) + "}"

    class Circle(Point):

           radius = 0.0

                   def __init__(self,x,y,radius):

                             super().__init__(x,y)

                             self.radius = radius

                             print("Circle constructor")

                   def ToString(self):

                             return super().ToString() + \

                                          ", {RADIUS = }" + str(self.radius) + "}"

    如上,

    class Circle(Point):首先通过Circle类继承Point类

    super().__init__(x,y)来初始化Point类(即父类)中 的类对象

    super().ToString()来调用Point类(即父类)中的对象方法。


    多继承

    多继承的道理和单继承相似,例如:

    1、class Circle(Point,Size)首先在Circle类后面增加需要继承的多个类名。

    2、Point__init__(self,x,y) /Size__init__(self,width,height) 通过这两句来分别实现每个父类的初始化,因为是多继承,所以像单继承直接用super() 来初始化类的话,计算机是分不清的。

    3、Point.ToString()/Size.ToString() 通过父类名直接调用父类的函数即可调取到对应的比如Point类中的ToString方法或者Size类中的ToString方法。当前函数的方法依旧使用self.XXX()来调用函数即可。

    以上就是在进入python游戏开发之前最主要的一些python语法,包括初始化、继承、调用,不需要完全记下来,但是对开发人员的要求是基本能看懂代码实现的操作。


    python游戏开发环境

    在进入Pygame之前,必需要先安装pygame。因为pygame并没有和python一起打包,所以我们需要另外下载。当然,python的版本也是要和pygame的版本匹配的,就像python3.6版本对应的就是pygame1.9。

    pygame不仅提供了针对图形和位图的绘制函数,还提供了用于获取用户输入、处理音频播放和监控鼠标和键盘的服务之类的服务。

    安装:

    以下都在终端输入

    sudo pip install pygame,即可安装默认python2.7版本所对应的pygame库。(1、终端输入 python回车    2、出现>>>后,输入 import pygame回车   3、出现>>>则证明pygame库安装成功,如果失败,则会报错)

    sudo pip3 install pygame,即可安装自主安装的python3.X对应的pygame库(在IDLE内,输入import pygame,同样,如果报错就证明安装失败)

    接下来小编将带大家走进python游戏开发的世界! 在进入下一章之前,先来熟悉一下pygame最初的GUI吧。

    Hello Pygame

    import pygame

    from pygame.locals import *


    pygame.init()   #必须先初始化pygame

    screen = pygame.display.set_mode((600,500)) #屏幕大小

    pygame.display.set_caption("Hello") #窗口标题

    myfont = pygame.font.Font(None,60)#定义字体 None 可以用字体类型替代

    white = 255,255,255

    blue = 0,0,255 #定义颜色


    textImage = myfont.render("Hello pygame", True,white) #字体渲染

    screen.fill(blue) #屏幕背景颜色

    screen.blit(textImage,(100,100)) #添加文本

    pygame.display.update() # 刷新


    当然,在下一章的时候,小编将教告知怎么进一步优化现在的代码。

    相关文章

      网友评论

          本文标题:pygame开发基础

          本文链接:https://www.haomeiwen.com/subject/rlhdcxtx.html