python - 制作蛇游戏(按照教程):我收到错误,对象不可下标
问题描述
所以下面的代码是用立方体制作真正的蛇(这段代码也是唯一self.pos
明显的部分):
class cube (object):
rows = 20
w = 500
def __init__(self, start, dirnx=1, dirny=0, colour=(255, 0, 0)):
self.pos = start
self.dirnx = 1
self.dirny = 0
self.colour = colour
def move(self, dirnx, dirny):
self.dirnx = dirnx
self.dirny = dirny
self.pos = (self.pos[0] + self.dirnx, self.pos[1] + self.dirny)
def draw(self, surface, eyes=False):
dis = self.w // self.rows
i = self.pos[0]
j = self.pos[1]
pygame.draw.rect(surface, self.colour, (i * dis + 1, j * dis + 1, dis - 2, dis - 2))
if eyes:
centre = dis//2
radius = 3
circleMiddle = (i * dis + centre - radius, j * dis + 8)
circleMiddle2 = (i * dis + dis - radius * 2, j * dis + 8)
pygame.draw.circle(surface, (0, 0, 0), circleMiddle, radius)
pygame.draw.circle(surface, (0, 0, 0,), circleMiddle2, radius)
当我运行整个程序(其中包含更多代码)时,我收到此错误:
File "/Users/shreevathsagorur/PycharmProjects/FirstStepGameDevelopment/Snake.py", line 30, in draw
i = self.pos[0]
TypeError: 'NoneType' object is not subscriptable
我非常感谢您的帮助,因为我对这些东西很陌生。谢谢你。
解决方案
推荐阅读
- python - 使用 for 循环创建多个 Tkinter 页面
- javascript - 如何使整个背景可点击?
- python - 响应内容流中的 Pandas 0.25.0 和 xlsx
- bash - bash read -d '' 有什么作用?
- javascript - 在 react.js 中获取值形式的 json 数据
- python - Python多处理 - 映射私有方法
- shell - Ansible playbook 中的用户响应是 yes
- javascript - 在通过 mergeResolvers 导入的外部解析器文件中使用 MongoDB 集合变量时的 ReferenceError
- regex - Perl 子程序和 if-else 块只计算 else 块
- javascript - 使用猫鼬填充过滤数据