设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 9715|回复: 6
打印 上一主题 下一主题

pygame飞机大战

[复制链接]

5

主题

1

好友

87

积分

注册会员

Rank: 2

跳转到指定楼层
楼主
发表于 2018-6-19 01:02:55 |只看该作者 |倒序浏览
这是创建Bullet类的部分代码:
class Bullet:
    def __init__(self):
        self.x=0
        self.y=-1
        self.image= pygame.image.load('bullet.png').convert()
我有点不理解为什么在__init__()里不加x,y参数。
对这个__init__()的概念还是很模糊即使看了面向对象的课程。
求大佬解救

回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

沙发
发表于 2018-6-19 22:05:55 |只看该作者
因为这里初始化时候不需要给它x y,已经设定好是 0 和 -1了
给了x y,那就要 Bullt(0, -1) 这样来创建
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

5

主题

1

好友

87

积分

注册会员

Rank: 2

板凳
发表于 2018-6-23 02:22:23 |只看该作者
crossin先生 发表于 2018-6-19 22:05
因为这里初始化时候不需要给它x y,已经设定好是 0 和 -1了
给了x y,那就要 Bullt(0, -1) 这样来创建 ...

Bullett(0,-1)是指在创建对象的时候吗?
例如 bullet=Bullet9(0,-1)
回复

使用道具 举报

174

主题

45

好友

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

地板
发表于 2018-6-23 11:04:06 |只看该作者
皮一下 发表于 2018-6-23 02:22
Bullett(0,-1)是指在创建对象的时候吗?
例如 bullet=Bullet9(0,-1)

对的
但Bullt9又是啥……
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

5

主题

1

好友

87

积分

注册会员

Rank: 2

5#
发表于 2018-6-24 10:08:23 |只看该作者
crossin先生 发表于 2018-6-23 11:04
对的
但Bullt9又是啥……

多打了一个9
回复

使用道具 举报

5

主题

1

好友

87

积分

注册会员

Rank: 2

6#
发表于 2018-6-24 10:10:21 |只看该作者
crossin先生 发表于 2018-6-23 11:04
对的
但Bullt9又是啥……

多打了一个9
回复

使用道具 举报

2

主题

0

好友

52

积分

注册会员

Rank: 2

7#
发表于 2018-9-11 11:58:57 |只看该作者
本帖最后由 KarvenSun 于 2018-9-11 12:00 编辑

__init__()括号里面放的是形参,你下面
self.x=0
self.y=-1
这两行已经是在给x和y赋值了,括号里就不需要形参x和y了
创建实例的时候就直接是Bullet()。

相反,如果你__init__()括号里写了(self,x,y),那么在之后的代码编写里就要给这两个形参赋值,
创建实例的时候就应该是例如Bullet(0,-1)这样了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-4-24 12:46 , Processed in 0.027424 second(s), 23 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部