自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SmileBasic的博客

路过人间

  • 博客(28)
  • 收藏
  • 关注

原创 wxPython和pycairo练习记录19

pygame.mixer.Channel 这里的声道和音频文件的声道含义不一样,这里的声道是指播放通道,0 为第一个声道。在 wxPython 中 wx.adv.Sound 只能播放 WAV 格式的文件,或者在 UI 中调用 wx.media.MediaCtrl 控件,但素材里的音频还有 OGG 格式的,没法用 wxPython 在后台播放。测试的时候,只有设置同步播放 wx.adv.SOUND_SYNC 才有声音,后面再修改,所有代码都完成了如果还是这样就再创建一个线程来播放声音。

2024-05-12 14:59:38 669 1

原创 wxPython和pycairo练习记录18

Font.py 中 Font 类居然继承 Spritesheet 类来加载字符对应图片,还和 Sprites 类的功能差不多,总感觉哪里不太对。基本都没法写测试啊,后面待完成的是声音、鼠标键盘输入、碰撞检测、实体和主要显示类:面板、关卡、菜单、暂停画面。Camera.py 摄像机,这里的功能是记录坐标,跟随实体移动坐标。

2024-05-11 11:28:00 211 1

原创 wxPython和pycairo练习记录17

按理说素材图片虽然是位图但因为是纯色,手动缩放显示都没问题,不知道为什么会这样,网上解释说是"Cairo 默认使用线性插值算法进行缩放操作,而线性插值会导致图像像素的颜色被平滑地混合,从而造成图像的模糊效果。不要当过程完美主义者,很容易自我攻击。素材中的 characters.gif,用 wx.Image 加载后,调用 GetAlpha 方法发现得到不正确的透明通道值,而且 HasAlpha 得到的结果是 False,因为没有正确解释透明通道数据,RGB 数据也错了,加载后整个图片都变成了粉色。

2024-05-09 19:27:54 652

原创 wxPython和pycairo练习记录16

先找出没有依赖其他文件的代码,可以作为后续其他代码的零件,这里选择 https://github.com/mx0c/super-mario-python/blob/master/classes/Spritesheet.py。总之,将图像存储在 Surface 中的主要目的是为了提供一个统一的、灵活的、可移植的绘图接口,使得开发者可以更容易地进行绘图操作,并且可以轻松地将相同的绘图操作应用于不同的输出目标。在 Cairo 中,一切都被视为绘图操作,即使是对图像的修改也被视为在绘图上下文中进行的操作。

2024-05-08 00:14:53 218 1

原创 wxPython和pycairo练习记录15

像素:是指在由一个数字序列表示的图像中的一个最小单位,称为像素。这里的像素并非我们平时所说的眼睛看到的点,它更像是屏幕上的一个网格,不同的显示设备可能有不同大小的格子。在 Python 中,我们可以方便地通过一些库读取图像的某个像素值。这个例子中,返回的像素值是 RGBA 数值元组。

2023-11-04 01:40:26 190

原创 wxPython和pycairo练习记录14

继续之前的坦克游戏。碰撞检测技术像什么四叉树、凸包,看不懂啊,所以先从成熟的 pygame 框架里抠出几个能用到的。之前写坦克游戏并没有明确组合多个 Sprite 对象,还是先只考虑独立的 Sprite 吧。这样,需要用到和改写的方法只有 `collide_rect、collide_rect_ratio、collide_circle、collide_circle_ratio、collide_mask`。

2023-11-02 23:42:23 107

原创 嘿,别蹉跎

小说里写,配角成功降魔99次,结果很厉害的时候,俯视众生的时候,第100次出手,嘎了。从结果看,第1次和第100次都有可能失败,而每个人的结果都只有死亡。结果就像孩子的玩具,堆在角落里,越积越多,从碍眼到放不下,但还是一个也舍不得扔,总觉得哪天会想玩,其实几年也不会翻出来。你可以根据你的知识和数据来更新你的概率,但你永远无法确定你的概率是正确的,除非你能观察到所有可能的结果。学习也是这样,什么都想学,遇到不会的就顺着那条路走下去,总觉得这些知识哪天会用到,结果岔路越走越多,越走越远,早已忘了最初想干什么。

2023-07-09 12:01:47 114

原创 Ruby 和 Python 语法对应参照列表

为了读一本用 Ruby 描述的书,而又不想专门学习 Ruby 的语法,故有了这部分内容整理。

2023-05-31 11:22:26 177

原创 C语言编译器cc典型用法

cc-std=c99-Wallhello.h-o helloC99(或C语言标准第三版)是C语言的一个更新版本,相对于早期版本(如C89或ANSI C)具有以下一些不同之处:可变长度数组(Variable-length arrays):允许数组的长度在运行时动态分配,而不是在编译时确定。这为编写更加灵活的代码提供了更多的可能性。复合文字(Compound literals):允许创建一个临时的、匿名的复合类型对象,该对象可以在程序中使用。这样可以避免创建一个显式命名的对象,从而使代码更加简洁。

2023-05-01 05:56:43 1055

原创 wxPython和pycairo练习记录13

之前虽然通过设置窗口样式去掉了标题栏,但是背景看起来还是有些碍眼。通过 SetTransparent 只能调整整体透明度,文字和背景都透明了。希望实现的效果是背景透明,而文字不透明。

2023-03-06 19:26:56 342

原创 wxPython和pycairo练习记录12

过年在家刷视频号直播时发现弹幕互动游戏,挺有意思的,刚好诠释了反射的用法。想要自己也做一个弹幕游戏,于是就有了这个基本的需求,先让弹幕滚动显示出来,直播时可以当作小挂件。

2023-03-04 18:49:12 266

原创 wordpress lnmp环境配置记录

配置nginx源安装nginx-1.16版本yum install nginx,会默认创建nginx:nginx,组和账户。文件默认位置:二进制文件在/usr/sbin/nginx配置文件夹在/etc/nginx/log文件夹在/var/log/nginxyum安装会自动创建/usr/lib/systemd/system/nginx.service,可以用systemctl 启动停止。

2023-02-24 08:14:01 106

转载 事件与信号

仔细来看,事件与信号其实并无多大差别,从我们对其需求上来说,都只要能注册事件或信号响应函数,在事件或信号产生时能够被通知到即可。但有一项区别在于,事件处理函数的返回值是有意义的,我们要根据这个返回值来确定是否还要继续事件的处理

2022-12-06 09:58:52 192

原创 Python反射

反射,一种基于字符串的事件驱动

2022-12-03 17:51:23 145

原创 wxPython和pycairo练习记录11

了解事件机制是学习 wxPython 绕不过去的坎,结合各种资料和个人理解整理了一下,如果有问题请留言指出。

2022-10-14 14:11:01 390

原创 网站推荐:Flash 保存计划 & 互联网档案馆

比如未来发现的新元素,新元素衍生的新材料、新能源、新配方,把这些所谓的科幻事物 NFT 化。同样,那些千千万万设备中,曾经有意义的数据,如今完全毫无痕迹地消失在历史中。那些传言中科技发达的纪元,是否也是如此凭空不见的…NFT,全称为Non-Fungible Token,指非同质化通证,实质是区块链网络里具有唯一性特点的可信数字权益凭证,是一种可在区块链上记录和处理多维、复杂属性的数据对象。未来本身就在那里,不用物理介质存储,需要的只是想象和推测,也许有一天能以此为基础实现真正的不依托物理的虚拟。

2022-09-28 14:18:55 3763

翻译 怎样学习wxPython

在新闻组有很多问题是询问,如何去学习wxPython?本文提供了一些相应的学习指南。

2022-09-23 01:15:33 148

原创 wxPython和pycairo练习记录10

一开始考虑不全面,后面写的时候就只有一个心思,烂代码,完成就好。代码创建控件实例是个痛苦的过程,因为做的基本都是重复的事,能用循环的最好写进循环,熟悉控件后推荐用 wxFromBuilder。

2022-09-02 19:10:35 390

原创 wxPython和pycairo练习记录9

想要实现的效果是,同时按下多个方向,无论松开或按下其他键,总是响应剩余最近按下的键,这里直接用列表存储处在按下状态的按键代码。测试 wxPython 按下多个方向后松开最近按下的,之前保持按住的会失效。那就不能靠按键直接改变坐标,只改变速度方向,然后坐标的计算移动交给定时器刷新。射击按键行为也交给定时器,只改变状态,不执行操作。效果看起来还不错。之后可以看到,坦克和砖墙碰撞时的回弹问题也没有了。...

2022-08-26 10:32:57 329

原创 wxPython和pycairo练习记录8

经过障碍物的编写,发现需要停止前进并重新梳理一下。1.新的检测项加入时,已经在向混乱发展。是时候用上封装变化的编程工具,用策略模式或状态模式重写。2.显示,在基类引入层级和优先级,不同层低层级先绘制,同层高优先级先绘制。3.范围的碰撞和本身的碰撞的作用顺序。还有像已经实现的碉堡,只有一个外层碰撞区域,如果要多加几层呢,最外层出现坦克,射速为1,再近一层射速为5,最近一层射速达到20。

2022-08-20 23:14:36 229

原创 wxPython和pycairo练习记录7

继续写障碍,选几个典型的来写。有个问题,有调用图片文件的类,每次生成新实例,都重新加载一次图片。应该把素材统一加载为全局变量,具体使用只需要引用素材变量。积重难返,记住这个教训,以后写其他的再注意吧。...

2022-08-19 01:15:54 336

原创 wxPython和pycairo练习记录6

这次想要实现障碍物。

2022-08-18 03:22:35 155

原创 wxPython和pycairo练习记录5

先不管稀烂的坦克碰撞检测,开始添加武器系统。

2022-08-17 01:22:46 115

原创 wxPython和pycairo练习记录4

继续写碰撞检测。

2022-08-16 07:15:00 198

原创 wxPython和pycairo练习记录3

现在的感觉像是学武功的人,对着一本秘籍瞎练,没有师父,也没有参照,不知对错。之前写的有很多混乱的地方,比如主 fps 对对象 fps 的作用,比如 MovieClip 对象 surface 的宽高及对继承方法 GetWidth 的影响,等等没有影响现有结果的地方。唯一检验的标准是,实现出想要的效果。这次想实现的是,在四个角生成敌方坦克,自动行驶,相互碰撞转向。...

2022-08-15 14:24:13 242

原创 wxPython和pycairo练习记录2

因为要实现图像的显示和交互,今天添加两个基础的图像容器类。

2022-08-14 13:26:16 804

原创 wxPython和pycairo练习记录1

学习,分为学和习,学完了不练习,让大脑觉得不重要,会忘记。所以,我决定练习并记录 wxPython 和 pycairo 的代码编写,如果你也想试试请自行配置环境。wxPython官网:https://www.wxpython.org/pycairo官网:https://cairographics.org/pycairo/本机环境:WIN10因为没有相关完整项目经验,所以不能把全局都设计好,先从基本的迭代。...

2022-08-13 20:12:58 158

原创 去国外卖友链赚差价?

网站权重评定是依搜索引擎而定,总体上国内网站百度权重高 DA 低,国外网站百度权重低 DA 高。国外权重算法更准确,价格也更准确,没有溢价空间;国内权重算法存在较大作弊空间,价格无标准,高质量链接需筛选。国内链接卖国外或国外链接卖国内赚差价,操作空间较小。...

2022-07-27 17:03:19 336 1

wxPython pycairo 待完成 mario

烂尾,待完成 main.py 和一些关于窗口上下文及事件处理的 TODO 部分,此代码仅用作记录。 部分过程记录:https://blog.csdn.net/SmileBasic/article/details/138549966 wxPython 对于写游戏并不是一个好的选择,对碰撞检测、声音播放、精灵图等功能都没有完善的封装支持。用它写游戏可以学习巩固一些游戏的基础知识,并帮助了解 wxPython 的 API 的使用和一些原理,更好地编写 GUI 程序。 高 Fork 项目也可能会是烂代码,以后记得先选结构良好的。 原项目: https://github.com/mx0c/super-mario-python

2024-05-17

游戏地图编辑器 Tile 砖块地图 wxPython

游戏地图编辑器 Tile 砖块地图 wxPython,一开始考虑不全面,后面写的时候就只有一个心思,烂代码,完成就好。代码创建控件实例是个痛苦的过程,因为做的基本都是重复的事,能用循环的最好写进循环,熟悉控件后推荐用 wxFromBuilder 。

2022-09-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除