| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 11088 人关注过本帖
标题:求助帖。。。Python武装飞船里,setting类报错AttributeError: 'Settings' ...
只看楼主 加入收藏
fzqqn
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-9-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:13 
求助帖。。。Python武装飞船里,setting类报错AttributeError: 'Settings' object has no attribute '
使用程序调用类的时候,就会出现报错,但是在类自己的程序测试却是OK 的。但
图片附件: 游客没有浏览图片的权限,请 登录注册
from..improt..的语法没有发现错误,这边研究很长时间了,没有解决,求高手看看,万分感谢!!!,补充一下,两个文件都是再同一个目录下的,谢谢!
代码.zip (1.16 KB)

附件是代码以及报错图片,万分感谢!!!!
搜索更多相关主题的帖子: attribute Python object 报错 同一个 
2019-09-11 21:15
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:244
专家分:2106
注 册:2019-8-16
收藏
得分:0 
回复 楼主 fzqqn
报错信息都说了错误在 settings.py 下的
print(cs.screen_width) 这行
AttributeError: type object 'Settings' has no attribute 'screen_width' 错误类型是Settings这个object没有screen_width参数.
你应该 写成 cs=Settings() 这样才能正确实例这个class.才能使用他的screen_width
而且在alie_invasion.py里不有正确的使用方式吗,你自己都不看的.

[此贴子已经被作者于2019-9-12 16:22编辑过]

2019-09-12 16:16
fzqqn
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-9-11
收藏
得分:0 

这个还是帮忙将代码下下来看一下,万分感谢,之前输入print是为了在Settings()测试类有没有写错,而在alie_invasion.py里面调用类的时候出错,这边将Settings()里面的print()删除还是不能调用类。
2019-09-16 20:27
fzqqn
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-9-11
收藏
得分:0 
从新发图片

[此贴子已经被作者于2019-9-16 21:04编辑过]

2019-09-16 20:31
fzqqn
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-9-11
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册


[此贴子已经被作者于2019-9-16 21:11编辑过]

2019-09-16 20:34
fall_bernana
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:17
帖 子:244
专家分:2106
注 册:2019-8-16
收藏
得分:20 
回复 5楼 fzqqn
程序代码:
class Settings():
    def __init__(self):
        self.screen_width = 1200
        self.screen_height = 800
        self.bg_color = (230,230,230)

程序代码:
import sys
import pygame
from settings import Settings
def run_game():
    #初始化一个游戏并且创建一个屏幕
    pygame.init()
    ai_settings=Settings()
    print(ai_settings.screen_height)
    screen=pygame.display.set_mode((ai_settings.screen_width,ai_settings.screen_height))
    pygame.display.set_caption("Alien Invasion")
    #开始游戏的主循环
    while True:
         #监视键盘鼠标
        for event in pygame.event.get():
            if event.type==pygame.QUIT:
                sys.exit()
        #每次循环时都从新绘制屏幕
        screen.fill(ai_settings.bg_color)
        #让最近的屏幕绘制可见
        pygame.display.flip()
run_game()

我这里是可以运行的.你自己对比下吧
2019-09-17 10:17
fzqqn
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-9-11
收藏
得分:0 
我这边重新输入一遍又可以运行了,也不知道为什么,谢谢!高手
2019-09-18 21:00
python110
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2020-2-21
收藏
得分:0 
遇到同样问题,有人知道什么原因吗
2020-02-22 08:30
时光流逝
Rank: 4
来 自:北京
等 级:业余侠客
威 望:8
帖 子:94
专家分:297
注 册:2019-11-16
收藏
得分:0 
回复 5楼 fzqqn
楼主,你代码里的Settings写成了Steeings
#每次循环时都重新绘制屏幕
screen.fill(ai_settings.bg_color)
2020-02-23 17:38
jxr0345
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-4-5
收藏
得分:0 
我曾经输这个程序错误到想放弃。最后是因为格式(缩进)不对造成的!
2020-03-04 13:46
快速回复:求助帖。。。Python武装飞船里,setting类报错AttributeError: 'Setti ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019701 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved