最近在学习python有个问题不明白,
文件settings.py
class Settings():
"""一个存储游戏《外星人入侵》的所有设置的类"""
def __init__(self):
--snip--
# 飞船的设置
self.ship_speed_factor = 1.5
--------------------------------------------------------------------
文件 ship.py
class Ship():
def __init__(self, ai_settings, screen):
"""初始化飞船并设置其初始位置"""
self.screen = screen
self.ai_settings = ai_settings
--snip--
# 将每艘新飞船放在屏幕底部中央
--snip--
# 在飞船的属性center中存储小数值
self.center = float(self.rect.centerx)
# 移动标志
self.moving_right = False
self.moving_left = False
def update(self):
"""根据移动标志调整飞船的位置"""
# 更新飞船的center值,而不是rect
if self.moving_right:
❶ self.center += self.ai_settings.ship_speed_factor
if self.moving_left:
self.center -= self.ai_settings.ship_speed_factor
# 根据self.center更新rect对象
self.rect.centerx = self.center
def blitme(self):
--snip--
------------------------------------------------------------------
第一个类settings. 里面的属性ship_speed_factor ,在第二个类里面为什么能使用,通过什么方式使用的?