设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
12
返回列表 发新帖
楼主: crossin先生
打印 上一主题 下一主题

【Pygame 第5课】 游戏中的运动

[复制链接]

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

11#
发表于 2016-4-1 17:34:08 |显示全部楼层
shangyaoshi 发表于 2016-4-1 16:29
C老师,我拷贝您的代码,怎么感觉子弹好快啊,没有一颗子弹消失另一颗才出现的感觉,只有把速度降到‘1’的 ...

这个代码里没有考虑程序的运行速度对帧数的影响。所以应该是你电脑上帧数高,子弹就快。
通常游戏里会把每一帧的时间考虑进去,保证速度一致
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

12#
发表于 2016-9-11 00:23:19 |显示全部楼层
Phoestia 发表于 2016-9-10 00:59
改了下子弹的X坐标,变成散弹了

有点意思
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

13#
发表于 2017-3-6 14:42:35 |显示全部楼层
brahmagupta 发表于 2017-3-5 18:06
crossin老师:
我想问几个问题

1子弹的问题,你只要做成按照你点击发射,而不是自动发射,这个问题就很好解决了。把子弹的销毁和发射分成两件事来做。然后你也可以不回收子弹,每次打出去的,最后从游戏里移除就可以

2 帧率有办法设置降低,但你没办法无限提高帧率,就像老电脑玩游戏帧率就是会很低一样,这是由性能所限。

3 卡顿的问题有可能是代码上实现的不好。另外你说的事件响应和渲染分离,这个很多游戏引擎都是这么做的,只是pygame现在这样写是比较原始的做法
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

14#
发表于 2017-3-13 20:59:13 |显示全部楼层
saberetoile 发表于 2017-3-13 18:50
怎么感觉子弹越射越慢了

可能帧率下降了
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

15#
发表于 2018-1-8 16:19:28 |显示全部楼层
语法错误,肯定是抄错了,少了括号之类,或者用了中文符号
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

16#
发表于 2018-1-18 11:10:24 |显示全部楼层
calf_in_cup 发表于 2018-1-17 15:45
飞机对打

有意思
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

17#
发表于 2018-11-13 20:23:35 |显示全部楼层
东东哥 发表于 2018-11-13 16:59
老师,为什么我左右两边的子弹的射速不一样,左边的快

    else:
        bullet_y -= 5
        bullet_y -= 5
        #子弹位置上移

写错了吧

既然左右子弹不一样,就找代码里关于左右子弹的代码查
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

174

主题

45

好友

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

18#
发表于 2019-12-17 16:06:56 |显示全部楼层
PMCoding 发表于 2019-12-17 14:31
看了前面的同学反馈,好像是帧率的问题,运行其他同学的双发子弹的代码,子弹射出来很顺畅,我的代码原地 ...

screen.blit(background, (0, 0))

这句话的缩进不对,导致背景没有重绘制
#==== Crossin的编程教室 ====#
微信ID:crossincode
网站:http://crossincode.com
回复

使用道具 举报

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

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

GMT+8, 2024-5-3 05:05 , Processed in 0.019885 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部