51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#GA
pygame-KidsCanCode系列jumpy-part13-改进跳跃
这节研究下跳跃如何做得更自然,先看看之前的跳跃有什么问题,我们把settings.py里的初始化参数调整下:1#startingplatform2#PLATFORM_LIST=[(5,HEIGHT-35),3#(WIDTH/2-50,HEIGHT*0.75),4#(WIDTH*0.12,HEIGHT*0.5),5#(W...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part13-
改进
跳跃
pygame-KidsCanCode系列jumpy-part12-platform图片
目前为止,Player的站立、行走、跳跃都是动画了,只有跳板(即:Platform类)还是难看的矩形,这节我们把Platform也换成图片:原来的Platform类长这个样子:1classPlatform(pg.sprite.Sprite):2def__init__(self,x,y,w,h):3pg.sprite.S...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part12-platform
图片
pygame-KidsCanCode系列jumpy-part11-角色动画(下)
接上节继续,上节并没有处理向左走、向右走的动画效果,这节补上,看似很简单,但是有一些细节还是要注意:defjump(self):hits=pg.sprite.spritecollide(self,self.game.platforms,False)ifhits:self.vel.y=-PLAYER_JUMP#水平方向未...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part11-
角色
动画
pygame-KidsCanCode系列jumpy-part10-角色动画(上)
上一节学习如何利用spritesheet加载图片,但是player仍然是一张静态的图片,比较枯燥,我们要让它动起来!Player类,先把各种状态的图片加载起来:1#加载各种状态的图片序列2defload_images(self):3#站立状态的图片4self.standing_frames=[self.game.spr...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part10-
角色
动画
pygame-KidsCanCode系列jumpy-part9-使用spritesheet
做过前端的兄弟应该都知道csssprite(也称css精灵),这是一种常用的减少http请求次数的优化手段。把很多小图拼成一张大图,只加载1次,然后用css定位到不区的区域,从而展示不同的图片。游戏中也是类似的道理,如下图:每一个小图片,都有自己的x,y,width,height信息,通常会放在一个xml中,类似:1&...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part9-
使用
spritesheet
pygame-KidsCanCode系列jumpy-part8-记录历史最高分
通常在多玩家的游戏中,每个玩家都会有自己的得分,最高分数会成为该游戏的最佳记录。这一篇,学习下如何记录最高得分:(为了简化代码,本文采用文件方式,仅记录本机得分,明白原理后,可以将得分保存在云端或数据库中,就可能支持多玩家了)。首先要在settings.py中新建一个常量:HIGH_SCORE_FILE="../dat...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part8-
记录
历史
pygame-KidsCanCode系列jumpy-part7-游戏启动/结束画面
通常一个游戏启动(start)或结束(gameover)时,都会显示一个画面,来引导用户。这节,我们学习如何处理这块逻辑。其实之前,我们已经预留了2个函数,只要把它实现即可:defshow_start_screen(self):self.screen.fill(BG_COLOR)self.draw_text(TITLE...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part7-
游戏
启动
pygame-KidsCanCode系列jumpy-part6-主角挂掉重新开始
游戏的虚拟世界中,最让人happy的一个因素就是主角挂了,而且重来,只要restart就行了,不象现实中人的生命只有1次。回顾上节的效果,如果方块向下落时,挡板没接住,整个游戏就跪了:如果我们希望方块挂了之后,可以重新来过,可以这样做,修改Game类的update方法:defupdate(self):self.all_...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part6-
主角
挂掉
pygame-KidsCanCode系列jumpy-part5-屏幕滚动
接上回继续,方块不断向上跳动的过程中,从视觉上看,整个背景屏幕应该不断向下滚动,而且上方要不断出现新档板(否则就没办法继续向上跳了),这节我们将来实现这种效果,感觉好象很复杂,但实现起来其实很简单,只要对main.py略做调整:Game类的update方法改成下面这样defupdate(self):self.all_s...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part5-
屏幕
滚动
pygame-KidsCanCode系列jumpy-part4-弹跳
终于要到弹跳环节了,向上弹跳其实很简单,按下空格触发时,只要把y轴速度给一个向上的速度即可。Player类,新加一个jump()方法:defjump(self):self.vel.y=-25调用该方法,会使方块具有向上25px的速度,然后由于重力依然在起作用,所以二者结合,就会形成向上弹跳的效果。然后在main.py中...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part4-
弹跳
pygame-KidsCanCode系列jumpy-part3-重力及碰撞检测
这个游戏叫jumpy,大致玩法就是模拟超级玛丽一样,可以不停在各个档板上跳动,同时受到重力的作用,会向下掉,如果落下时,没有站在档板上,就挂了。这节,我们加入重力因素,继续改造sprites.pyfrompart_03.settingsimport*importpygameaspgvec=pg.math.Vector2...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part3-
力及
碰撞
pygame-KidsCanCode系列jumpy-part2-加速度与摩擦力
上一节,我们整理了一个游戏开发的新框架(即:Game类),本节将运用这个框架,实现基本的加速度及摩托力效果。先定义游戏的精灵(下面代码命名为sprites.py)frompart_02.settingsimport*importpygameaspg#Vector可以看成(x,y)的封装vec=pg.math.Vecto...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part2-
加速度
摩擦力
pygame-KidsCanCode系列jumpy-part1-如何组织复杂游戏的代码
武侠小说中,高手过招讲究起手式,所谓"行家一伸手,便知有没有"。程序开发、软件架构中,也是类似的道理,当业务逻辑越来越复杂,代码越来越多时,一个好的项目结构,从目录命名、模块分层这些,从一开始就决定了后面的代码是否易于维护。所以这节主要讨论下,游戏中如何组织自己的代码,回忆上节学到的最小开发框架(即:模板),一个游戏大...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part1-
如何
组织
pygame-KidsCanCode系列jumpy-part0-使用sprite
油管(youtube)上有一个号称"史上最好的pygame教程"(传送门:https://www.youtube.com/watch?v=VO8rTszcW4s&list=PLsk-HSGFjnaH5yghzu7PcOzm9NhsW0Urw),作者思路很清晰,循序渐进,很适合大人学会了,然后指导孩子入门。作者还...
代码星球
·
2020-04-06
pygame-KidsCanCode
系列
jumpy-part0-
使用
sprite
pygame 笔记-10 摩擦力与屏幕环绕
多年前写过一篇 Flash/Flex学习笔记(25):摩擦力与屏幕环绕,可惜的当时上传的flash,服务器后来无人维护,现在flash链接都失效了。本篇用pygame重新实现了一个:原理是类似,但要注意的是:pygame中旋转的角度采用逆时针系统,即:逆时针方向旋转,角度为正,反之为负。所以在外理角度时,y轴...
代码星球
·
2020-04-06
pygame
笔记
摩擦力
屏幕
环绕
首页
上一页
...
54
55
56
57
58
...
下一页
尾页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他