51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#ME
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
笔记
摩擦力
屏幕
环绕
pygame 笔记-9 图片旋转及边界反弹
h5或flash中,可以直接对矢量对象,比如line,rectange旋转,但是pygame中,仅支持对image旋转,本以为这个是很简单的事情,但是发现还是有很多小猫腻的,记录一下:先看一个错误的版本:1importpygame2importsys34pygame.init()56SIZE=WIDTH,HEIGHT=...
代码星球
·
2020-04-06
pygame
笔记
图片
旋转
边界
pygame 笔记-8 背景音乐&子弹音效
游戏哪能没有音效?这节我们研究下如何加背景音乐,其实也很简单:#加载背景音乐pygame.mixer.music.load(music_base_path+"music.mp3")#设置音量pygame.mixer.music.set_volume(0.1)#循环播放pygame.mixer.music.play(-1...
代码星球
·
2020-04-06
pygame
笔记
背景音乐
子弹
音效
pygame 笔记-7 生命值/血条处理
通常游戏中的角色都有所谓的生命值,而且头顶上会有一个血条显示。生命值无非就是一个属性而已,很容易在Player.py类中增加,头顶上的血条其实就是绘制二个矩形,叠加在一起。以上节的Player.py为例:importpygame#主角classPlayer(object):def__init__(self,x,y,wi...
代码星球
·
2020-04-06
pygame
笔记
生命
血条
处理
pygame 笔记-6 碰撞检测
这一节学习碰撞检测,先看原理图: 2个矩形如果发生碰撞(即:图形有重叠区域),按上图的判断条件就能检测出来,如果是圆形,则稍微变通一下,用半径检测。如果是其它不规则图形,大多数游戏中,并不要求精确检测,可以在外层套一个矩形,大致用上图的原理检测。可以封装一个函数:defcollision_check(a,b)...
代码星球
·
2020-04-06
pygame
笔记
碰撞
检测
pygame 笔记-5 模块化&加入敌人
上一节,已经用OOP方法,把几个类抽象出来了,但是都集中在一个.py文件中,代码显得很冗长,这一节复用模块化的思想,把这个大文件拆分成几个小文件:先把主角Player单独放到一个文件player.py里:importpygame#主角classPlayer(object):def__init__(self,x,y,wi...
代码星球
·
2020-04-06
pygame
笔记
模块化
加入
敌人
pygame 笔记-4 代码封装&发射子弹
继续之前的内容,随着游戏的内容越来越复杂,有必要把代码优化一下,可以参考OOP的做法,把人物类抽象出来,弄成一个单独的类,这们便于代码维护,同时我们给小人儿,加个发射子弹的功能,代码如下:(看上去略长,但是绝大多数,都是上节的代码)importpygameimportospygame.init()WIN_WIDTH,W...
代码星球
·
2020-04-06
pygame
笔记
代码
封装
发射
tk.mybatis通用插件updateByPrimaryKeySelective无法自动更新ON UPDATE CURRENT_TIMESTAMP列的解决办法
tk.mybatis是一个很好用的通用插件,把CRUD这些基本的数据操作全都用动态SQL语句自动生成了,mapper和xml里十分清爽,但是昨天发现有一个小坑,记录在此:有一张表,结构如下(已经简化了):CREATETABLE`t_sample`(`id`bigint(20)NOTNULLAUTO_INCREMENTC...
代码星球
·
2020-04-06
tk.mybatis
通用
插件
updateByPrimaryKeySelective
无法
pygame 笔记-3 角色动画及背景的使用
上二节,已经知道如何控制基本的运动了,但是只有一个很单调的方块,不太美观,本节学习如何加载背景图,以及角色的动画。素材准备:(原自github)角色动画的原理:动画都是一帧帧渲染的,比如向左走的动画,实际是类似上图中的L1.png~L9png连续切换,由于肉眼视觉暂留的作用,所以看上去象连续的动画。好了,直接上代码:(...
代码星球
·
2020-04-06
pygame
笔记
角色
动画
背景
pygame 笔记-2 模仿超级玛丽的弹跳
在上一节的基础上,结合高中物理中的匀加速直线运动位移公式,就能做出类似超级玛丽的弹跳效果。importpygamepygame.init()win=pygame.display.set_mode((200,400))#画布窗口的大小pygame.display.set_caption("firstgame")#窗口标题...
代码星球
·
2020-04-06
pygame
笔记
模仿
超级
玛丽
pygame 笔记-1 按键控制方块移动
背景:家里的娃慢慢长大了,准备教一些儿童入门的编程知识,研究了一阵麻省理工的scratch2 虽然不错,但是功能有限,很多高级点的东西玩不出来。所以就有了这一系列,先提前自学一下,顺便拿来练手python~_^pygame虽然不是做大型游戏的最好选择,但是入门却是不错,python也易于学习,官网的文档也算齐...
代码星球
·
2020-04-06
pygame
笔记
按键
控制
方块
java学习:JMM(java memory model)、volatile、synchronized、AtomicXXX理解
一、JMM(javamemorymodel)内存模型从网上淘来二张图:上面这张图说的是,在多核CPU的系统中,每个核CPU自带高速缓存,然后计算机主板上也有一块内存-称为主内(即:内存条)。工作时,CPU的高速缓存中的数据通过一系列手段来保证与主内的数据一致(CacheCoherence),更直白点,高速缓存要从主内中...
代码星球
·
2020-04-06
java
学习
JMM
memory
model
CQRS框架:AxonFramework 之 Hello World
CommandQueryResponsibilitySegregation,CQRS这个架构好象最近博客园里讨论得比较多,有几篇园友的文章很有深度,推荐阅读:CQRS架构简介 浅谈命令查询职责分离(CQRS)模式DDDCQRS架构和传统架构的优缺点比较比较有趣的是,以往一断谈及架构思路、OO这些,往往都是ja...
代码星球
·
2020-04-06
CQRS
框架
AxonFramework
Hello
World
首页
上一页
...
480
481
482
483
484
...
下一页
尾页
按字母分类:
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
其他