设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

【Pygame 第6课】 面向对象的游戏设计

[复制链接]

0

主题

0

好友

34

积分

新手上路

Rank: 1

楼主
发表于 2016-3-14 12:32:44 |显示全部楼层
第5课里自己编的情况是 只有按下鼠标的时候才会发射子弹,所以不用面向对象的方式的话可以很轻松的实现
但是这一课里,如果用 crossin给的 class的话,似乎没办法实现按鼠标才发射子弹?
应该怎么办呢?
回复

使用道具 举报

0

主题

0

好友

34

积分

新手上路

Rank: 1

沙发
发表于 2016-3-14 12:55:46 |显示全部楼层
crossin先生 发表于 2016-3-14 12:44
不是没办法,只是你要改代码。不是让子弹自己循环move
你判断鼠标按着的时候,就创建新的子弹,让它们mov ...

还是有几点疑问:
1. MOUSEBUTTONDOWN 是一个状态还是一个即时动作呢?从切换图片的那课程来看,应该是一个即时动作。因为如果一直按着鼠标,图片没有不停的切换。
2. 如果在while循环内部套嵌if event.type == pygame.MOUSEBUTTONDOWN 的话,并且把bullet.move()放到if中,应该是只有在鼠标按下的一瞬间才会创建新子弹并移动吧?结果是时间太短显示不出来。
所以还是不大明白应该怎么写哈。。。麻烦crossin了
回复

使用道具 举报

0

主题

0

好友

34

积分

新手上路

Rank: 1

板凳
发表于 2016-3-15 09:10:20 |显示全部楼层
crossin先生 发表于 2016-3-14 21:44
你加个变量比如叫 pressed,buttondown之后设为true,buttonup再设为false

循环中判断是 pressed 的状态 ...

感谢!!
回复

使用道具 举报

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

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

GMT+8, 2024-5-5 09:02 , Processed in 0.027142 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部