在使飞船变换速度为1.5左右移动时,无法操控
检测函数无果后,对照教程的代码,发现是方法名错误
错误:
def update(self):
'''根据移动标志调整飞船位置''’
if self.moving_right:
self.rect.centerx += self.ai_settings.ship_speed_factor
if self.moving_left:
self.rect.centerx -= self.ai_settings.ship_speed_factor
self.rect.centerx=self.center
正确:
def update(self):
'''根据移动标志调整飞船位置'''
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.rect.centerx=self.center
错误分析:
rect只能存储整数,因此此前用self.center=float(self.rect.centerx来存储小数,最后再回来
因此我不能移动的原因是,输出为0
反思总结:
作为一个小白,我觉得我还是应该先按着教程来
同时后面的文字解释部分还是要多看看,虽然python的语句有很强的可读性,但文字解读会更具体地介绍方法
ps:为了一个参数,很多东西都要连着修改....编游戏真不容易啊...
pps:编游戏要注意写反馈,报错....不然之后一点点排查耗死人(从入门到放弃233)....