#GA

pygame 笔记-9 图片旋转及边界反弹

h5或flash中,可以直接对矢量对象,比如line,rectange旋转,但是pygame中,仅支持对image旋转,本以为这个是很简单的事情,但是发现还是有很多小猫腻的,记录一下:先看一个错误的版本:1importpygame2importsys34pygame.init()56SIZE=WIDTH,HEIGHT=...

pygame 笔记-8 背景音乐&子弹音效

游戏哪能没有音效?这节我们研究下如何加背景音乐,其实也很简单:#加载背景音乐pygame.mixer.music.load(music_base_path+"music.mp3")#设置音量pygame.mixer.music.set_volume(0.1)#循环播放pygame.mixer.music.play(-1...

pygame 笔记-7 生命值/血条处理

通常游戏中的角色都有所谓的生命值,而且头顶上会有一个血条显示。生命值无非就是一个属性而已,很容易在Player.py类中增加,头顶上的血条其实就是绘制二个矩形,叠加在一起。以上节的Player.py为例:importpygame#主角classPlayer(object):def__init__(self,x,y,wi...

pygame 笔记-6 碰撞检测

这一节学习碰撞检测,先看原理图: 2个矩形如果发生碰撞(即:图形有重叠区域),按上图的判断条件就能检测出来,如果是圆形,则稍微变通一下,用半径检测。如果是其它不规则图形,大多数游戏中,并不要求精确检测,可以在外层套一个矩形,大致用上图的原理检测。可以封装一个函数:defcollision_check(a,b)...
代码星球 ·2020-04-06

pygame 笔记-5 模块化&加入敌人

上一节,已经用OOP方法,把几个类抽象出来了,但是都集中在一个.py文件中,代码显得很冗长,这一节复用模块化的思想,把这个大文件拆分成几个小文件:先把主角Player单独放到一个文件player.py里:importpygame#主角classPlayer(object):def__init__(self,x,y,wi...

pygame 笔记-4 代码封装&发射子弹

继续之前的内容,随着游戏的内容越来越复杂,有必要把代码优化一下,可以参考OOP的做法,把人物类抽象出来,弄成一个单独的类,这们便于代码维护,同时我们给小人儿,加个发射子弹的功能,代码如下:(看上去略长,但是绝大多数,都是上节的代码)importpygameimportospygame.init()WIN_WIDTH,W...

pygame 笔记-3 角色动画及背景的使用

上二节,已经知道如何控制基本的运动了,但是只有一个很单调的方块,不太美观,本节学习如何加载背景图,以及角色的动画。素材准备:(原自github)角色动画的原理:动画都是一帧帧渲染的,比如向左走的动画,实际是类似上图中的L1.png~L9png连续切换,由于肉眼视觉暂留的作用,所以看上去象连续的动画。好了,直接上代码:(...

pygame 笔记-2 模仿超级玛丽的弹跳

在上一节的基础上,结合高中物理中的匀加速直线运动位移公式,就能做出类似超级玛丽的弹跳效果。importpygamepygame.init()win=pygame.display.set_mode((200,400))#画布窗口的大小pygame.display.set_caption("firstgame")#窗口标题...

pygame 笔记-1 按键控制方块移动

背景:家里的娃慢慢长大了,准备教一些儿童入门的编程知识,研究了一阵麻省理工的scratch2 虽然不错,但是功能有限,很多高级点的东西玩不出来。所以就有了这一系列,先提前自学一下,顺便拿来练手python~_^pygame虽然不是做大型游戏的最好选择,但是入门却是不错,python也易于学习,官网的文档也算齐...

mysql: Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '= 的解决

昨天把mysql里所有table的varchar字段的字符集,批量换成了utf8mb4/utf8mb4_unicode_ci,以便能保存一些emoji火星文,结果有一个sql语句执行时,报错如下:Illegalmixofcollations(utf8_unicode_ci,IMPLICIT)and(utf8_gener...

爬取数据时解析url时一直报错Caused by: java.net.URISyntaxException: Illegal character in query at index 823替换了所有空格和特殊字符还是无效

近日在用HttpClient访问抓取汇率时,为了省力,直接采用Stringurl="http://api.liqwei.com/currency/?exchange=usd|cny&count=1";HttpClientclient=newDefaultHttpClient();HttpGethttpget=n...

OC 委托delegate 与 Block

一、概述委托:就是一个对象对另一个对象的变化的响应,或者也可以说的对另一个对象影响的反应。Block:就是一个代码块,有闭包的思想在其中。Block执行代码在编译时就已经生成,并且会将与之相关的使用的变量的数据结构的快照拷贝到栈或堆上(依照Block类型而定)。二、委托优缺点?优点:减少代码耦合性,将事件监听和事件处理...
代码星球 ·2020-04-06

Android 调试出现 could not get wglGetExtensionsStringARB

解决AVDManager->选择模拟器->点击Edit看Enabled是不是被选中了。是的话取消选中,OK。希望对你实用....

BZOJ 1108 POI2007 天然气管道Gaz

题目大意:给定平面上的n个黑点和n个白点。一个黑点仅仅能和右下方的白点匹配。代价为曼哈顿距离,求最小权值完备匹配STOOTZSTOOTZSTOOTZans=Σ(y黑-y白+x白-x黑)=Σy黑-Σy白+Σx白-Σx黑然后。。。233333333333333333333#include<...

Android捕获View焦点事件,LinearLayout结合HorizontalScrollView实现ViewPgaer和选项卡Tabs联动

《Android捕获View焦点事件,LinearLayout结合HorizontalScrollView实现ViewPgaer和选项卡Tabs联动。》如图:packagezhangphil.tabs;importjava.util.ArrayList;importandroid.sup...
首页上一页...5556575859...下一页尾页