鱼C论坛

 找回密码
 立即注册
查看: 1454|回复: 0

[技术交流] 论飞机大战中为什么把飞机对象设置为主游戏类的属性

[复制链接]
发表于 2021-8-9 00:09:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
单纯用于记录自己的学习,有相同问题的鱼油可以瞅瞅

**python变量与对象:
启发源于文章:
https://www.cnblogs.com/my_captain/p/9063224.html

在python中变量是一个标签,这个标签贴在对象上(python中一切都是对象,可以是数字、可以是类创建出来的对象),我们要注意变量的作用域,也就是要注意这个标签什么时候被收回、我们什么时候不可以通过变量来访问到对象。有局部变量和全局变量!!!
**案例:在一个类的其中一个方法中创建hero对象(实际上是创建一个对象,然后用hero变量引用这个对象),在另一个方法中访问这个对象。
class PlaneGame(object):
…………
        def __creat_sprites():
                hero = Hero()
               
        def ……
                hero.speed = 4    #想要在这里访问hero这个对象
               
这样是不行的,因为在__creat_sprits方法里创建的对象是局部变量,到外面以后就被回收了。
?那么如何解决呢
我们把hero变成PlaneGame的属性,这样我们就能够在其他地方访问到这个对象了,hero变成属性的话作用域就是整个类,所以把hero改成self.hero就可以了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-13 15:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表