![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
pygame
文章平均质量分 57
国产跑车
行百里者半九十
展开
-
pygame里实现导弹追踪效果,同时对python的指针机制有一点点思考
使用pygame实现弹道导弹追踪效果原创 2024-01-18 21:15:52 · 1027 阅读 · 1 评论 -
关于pygame里 追踪目标的运动轨迹算法(一)
首先这里要说明一下的是在pygame里,坐标系实际上是普通二位坐标系的第四象限,而且y轴乘以-1.如图所示。途中绿色区域就是pygame的画面坐标系。接下来我们分析一下,怎么计算导弹追踪的轨迹计算。先看下图上图中,我们可以看到,当A在x轴向右移动|AR|长的距离以及在y轴向上移动|BR| 长的距离后 A就和B重合了,也就是完成了我们所谓的追踪,那么我们只要求出了AR、BR就能够实现我们想要的功能。由于A和B的位置已知,所以:AR = Bx-Ax ;BR = (By-Ay)*.原创 2020-09-23 15:40:33 · 2274 阅读 · 1 评论 -
pygame用blit()实现动画效果
pygame的的实现动画的方法有很多,但是都是围绕着表面进行的,也就是说实现动画的方式不同,但是本质其实都是对表面的不同处理方式而已。原理其实很简单,有点像我们做地铁的时候隧道里的广告一样。我们设置一个窗口。然后让窗口在一个画着很多帧图像的图上面移动,当我们透过这个窗口去观察这幅图的时候,只要窗口沿着一个方向去运动,那么就会产生动画效果。今天我介绍的是通过块传输的方法去实现。surfa...原创 2018-08-27 19:49:55 · 55429 阅读 · 15 评论 -
使用pygame.surface.subsurface() 来实现精灵动画
前两天写了一个使用blit 实现动画的文章.今天我们我们用 另一个方法surface来实现精灵动画.这两个方法本质上的区别在于. blit() 是直接把图像绘制在surface表面.而subsurface()是先将图像提取子表面.然后通过Sprite.draw, 或者Group.draw将自表面绘制出来.在使用的时候主要还是看个人习惯.对于我来说一般在写一些只做单词循环的动画,比如飞机...原创 2018-09-01 20:04:32 · 11470 阅读 · 12 评论 -
pygame学习笔记-打砖块游戏开发日志(三) 精灵冲突
好了,接着昨天的继续,今天我要实现的是游戏中各个元素的互动,这里用到的是pygame.sprite.collide_rect(firs_sprite,secend_sprite)这个函数,在pygame中提供很丰富的冲突检测方法。具体如下pygame.sprite.collide_rect() 两个精灵间的矩形冲突检测pygame.sprite.collide_rect.ratio()上一...原创 2018-09-25 00:41:02 · 2140 阅读 · 5 评论 -
pygame学习笔记-打砖块游戏开发日志(一)
最近一段时间比较忙,出差很多。虽然带着surface在哪都可以撸代码,但是,白天跑一天晚上真的是一点精力都没有。直到这两天回到家,慢慢的才调整过来。看了看书架上的那一堆书,紧迫感油然而生。最近还是赶紧把这本《Python游戏编程入门》看完吧。这两天看到介绍打砖块的那一章。我感觉这个作者平时主要使用的开发语言肯定是C#和java,因为他的代码里对变量作用域的写法很奇怪。经常看到作者用...原创 2018-09-21 00:37:47 · 2331 阅读 · 0 评论 -
pygame学习笔记-打砖块游戏开发日志(二)
接着昨天的程序继续写下去,昨天我们已经绘制了好了挡板并且实现了挡板对键盘的响应使之能够根据按键进行移动。今天我们开始绘制砖块。那么大概的思路是将所有砖块定义为精灵,然后全部添加进一个精灵组里面。这样方便后面去做砖块和球的冲突判断。这里我使用了surface.subsurface(rect)这个方法,给砖块进行贴图。我们先绘制一个砖块,来看看代码功能是否正常。其实代码非常简单。class ...原创 2018-09-22 23:04:52 · 1014 阅读 · 2 评论