error2-1 知识性错误--alien_invasion游戏制作学习 self.rect.center 与self.centerx

在使飞船变换速度为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)....

你可能感兴趣的:(error2-1 知识性错误--alien_invasion游戏制作学习 self.rect.center 与self.centerx)