编程新小白 2024-03-29 20:05 采纳率: 33.3%
浏览 3

pygame中self有点想问的问题


unsupported operand type(s) for *: 'int' and 'method'

各位,这种情况怎么解决啊


```python
class Block(pygame.sprite.Sprite):
    def __init__(self, blockType, baseRowIdx, baseColIdx, blockShape, blockRot, blockGroupIdx, width, height, relPos):
        super().__init__()
        self.blockType = blockType
        self.blockShape = blockShape
        self.blockRot = blockRot
        self.blockGroupIdx = blockGroupIdx
        self.baseRowIdx = baseRowIdx
        self.baseColIdx = baseColIdx
        self.width = width
        self.height = height
        self.relPos = relPos
        self.loadImage()
        self.updateImagePos()

    def updateImagePos(self):
        self.rect = self.image.get_rect()
        self.rect.left = self.relPos[0] + self.width * self.colIdx
        self.rect.top = self.relPos[1] + self.height * self.rowIdx

出问题的源码在这


    def getBlockConfigIndex(self):
        return BLOCK_SHAPE[self.blockShape][self.blockRot][self.blockGroupIdx]

    def rowIdx(self):
        return self.baseRowIdx + self.getBlockConfigIndex()[0]

    def colIdx(self):
        return self.baseColIdx + self.getBlockConfigIndex()[1]

该咋解决啊

  • 写回答

3条回答 默认 最新

  • 码农阿豪 Java领域优质创作者 2024-03-29 20:05
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题描述: 代码中出现了以下错误:unsupported operand type(s) for *: 'int' and 'method' 问题原因: 这个错误一般是因为代码中使用了错误的运算符或数据类型。在这段代码中,很可能是因为代码中使用了方法而不是返回值,导致了错误的发生。 解决方法: 根据错误描述,可以看到是在将一个整数乘以一个方法的时候出现的错误。所以我们需要查找代码中有哪些地方使用了错误的数据类型或运算符。 在这段代码中,我们可以看到在函数rowIdx和colIdx中,使用了getBlockConfigIndex方法,这个方法应该返回一个元组,在两个函数中需要使用返回元组的第0或第1个元素进行计算,但是代码中却直接用方法进行计算,导致了出错。 我们需要修改这两个函数中的代码,将方法调用改为返回值的调用,即:使用self.getBlockConfigIndex()[0]和self.getBlockConfigIndex()[1]代替self.getBlockConfigIndex(). 这样就能够避免这个错误的发生。 修改后的代码: def rowIdx(self):
    return self.baseRowIdx + self.getBlockConfigIndex()[0]
    

    def colIdx(self): return self.baseColIdx + self.getBlockConfigIndex()[1]

    评论

报告相同问题?

问题事件

  • 创建了问题 3月29日

悬赏问题

  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?