import pygame
from setting import Setting
from fc import Ship
import gf
from pygame.sprite import Group
def rg():
pygame.init()
aiis=Setting()
s=pygame.display.set_mode((aiis.sw,aiis.sh))
pygame.display.set_caption('王琦大战丁浩')
fc=Ship(aiis,s)
bs=Group()
ws=Group() #???
gf.wxrq(aiis, s, ws) #???
while True:
gf.ce(aiis,s,fc,bs)
fc.ud()
gf.shangchuzidan(bs)
gf.us(s, aiis, fc, bs,ws) #???
rg()
import pygame
import sys
from bt import Bt
from wxr import Wxr
def cde(e,aiis,s,fc,bs):
if e.key == pygame.K_RIGHT:
fc.mr = True
elif e.key == pygame.K_LEFT:
fc.ml = True
elif e.key == pygame.K_UP:
fc.mu = True
elif e.key == pygame.K_DOWN:
fc.md = True
elif e.key == pygame.K_SPACE:
zidan(aiis, s, fc, bs)
elif e.key == pygame.K_q:
sys.exit()
def zidan(aiis,s,fc,bs):
if len(bs) < aiis.zidanshu:
nb = Bt(aiis, s, fc)
bs.add(nb)
def cue(e,fc):
if e.key == pygame.K_RIGHT:
fc.mr = False
elif e.key == pygame.K_LEFT:
fc.ml = False
elif e.key == pygame.K_UP:
fc.mu = False
elif e.key == pygame.K_DOWN:
fc.md = False
def ce(aiis,s,fc,bs):
for e in pygame.event.get():
if e.type==pygame.QUIT:
sys.exit()
elif e.type==pygame.KEYDOWN:
cde(e,aiis,s,fc,bs)
elif e.type==pygame.KEYUP:
cue(e,fc)
def us(s,aiis,fc,bs,ws):
s.fill(aiis.sc)
for bt in bs.sprites():
bt.huajuxing()
fc.hz()
ws.draw(s) #???
pygame.display.flip()
def shangchuzidan(bs):
bs.update()
for bt in bs.copy():
if bt.r.bottom <= 0:
bs.remove(bt)
def wxrq(aiis,s,ws): #??? 这整个函数都是新建的
wxr=Wxr(aiis,s)
ww=wxr.zpr.width
wsx=aiis.sw-2*ww
nax=int(wsx/(2*ww))
for na in range(nax):
wxr = Wxr(aiis,s)
wxr.zpx=ww+2*ww*na
wxr.zpr.x=wxr.zpx
ws.add(wxr)
我把改过的都用???标出来,就改了两个文件,都是根据书上弄的,为什么运行的时候就显示AttributeError: 'Dinghao' object has no attribute 'image'
这个错误呢!这个'Dinghao'是我的那个外星人的类,我把名字改了一下
你先按书上的代码跑一遍,看程序有没有问题,没有问题你再自己修改一下。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632