python游戏代码解析

目录

class

1.class:
class Student(object):
定义类 类名 对象,定义的时候不写出来
创建实例时,student=Student()

self

2.self:
(1)首先定义一个类class之后,在创建两个函数.

(2)def 开始函数定义(格式):def+函数名(函数的参数):
//换行/内部为函数具体功能实现代码
如:def mishi(self):
print(‘严浩翔’)
//self是说明,这个动作是对类的对象做的
def xiao(self):
self.mishi()
//这里是对在一个函数里使用另一个函数

init

Python当中的一个内置方法__init__方法
def init(self, name, score)😕/内置方法的第一个参数永远是self
//意思是将name,score属性绑在self上
有了__init__方法,在创建实例的时候,就不能传入空的参数了,必须传入与__init__方法匹配的参数,但self不需要传,Python解释器会自己把实例变量传进去
即 student=Student(“yanhaoxiang”,100)

“””,#,//,->

(1)””” “”” 与”’ ”’是 : 多行注释
(2)# : 单行注释
(3)// : 取整除 – 返回商的整数部分(向下取整)如9//2=4
(4) -> : python函数定义的函数名后面,为函数添加元 数据, 描述函数的返回类型,从而方便开发人员使用
如:def get_image(self) -> pygame.Surface:

初始化数组

初始化数组:
self.action_images=[]

append

append
append(object) 是将一个对象作为一个整体添加到列表中,添加后的列表比原列表多一个元素,该函数的参数可以是任何类型的对象
如a=[1,2,3]
a.append(5)
a=[1,2,3,5]

关于图片的代码解释

在一张44的图像中分割图片,每行图片各自循环,完成活动:
通过subsurface()方法遍历大图中的每一块小图,达到动画效果python游戏代码解析
self.mast_image = pygame.image.load(‘2233.jpg’) #读取图像
self.image = self.mast_image.subsurface(self.frame_rect) #这里就是在生成子表面
关于图片的代码*
(1)路径文件名:
image_file_path = “./resources/images/welcome/{}-1.png”.format(i)
(2) 图片加载
image = pygame.image.load(image_file_path)
(3) 绘制图片到显示窗口
screen.blit(background, (0, 0))
(4) 显示角色在(200,200)的位置
screen.blit(actor_images[no], (200,200))
(5)调用flip方法更新显示,也可以使用update方法
pygame.display.flip()#更新部分软件界面显示
(6) 初始化一个准备显示的窗口或屏幕
pygame.display.set_mode()
注:(区别)
(1)image = pygame.image.load(image)—使出现的图片透明

(2)image = pygame.image.load(image).convert
使用 convert 可以转换格式,提高 blit 的速度,但不透明
(3)self.image = pygame.image.load(image).convert_alpha()
如果想提高 blit 的速度,但是也想实现透明效果,可以使用该加载方式

python文件的使用方法

一个python文件通常有两种使用方法,第一是作为脚本直接执行,第二是 import 到其他的 python 脚本中被调用(模块重用)执行。
if name == ‘ main‘:
(执行代码的过程,在 if name == ‘ main‘: 下的代码只有在第一种情况下(即文件作为脚本直接执行)才会被执行,
而 import 到其他脚本中是不会被执行的。
如:1.py:
print(“abc”)
if name == ‘ main‘:
print(“yhx”) #会输出abc yhx
2.py:
import package_one.test

print(“Hello”)#会输出abc Hello

staticmethod

@staticmethod——-:
一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。
@staticmethod不需要表示自身对象的self和自身类的cls参数,就跟使用函数一样。
@staticmethod中要调用到这个类的一些属性方法,只能直接类名.属性名或类名.方法名
class A(object):
@staticmethod
def static_foo():
print A.bar

super

super()是一个调用父类的方法.

if super’ object has no attribute ‘draw’,意思是super类下面没有draw方法,很可能是没有空格到位

显示角色

xiao_tie = WelcomeSprite(50, 300)

显示角色在(200,200)的位置

xiao_tie.draw(screen)

Original: https://blog.csdn.net/qq_50883182/article/details/118964618
Author: 今天后端学多少了
Title: python游戏代码解析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/782107/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球