- 博客(136)
- 收藏
- 关注
原创 34. Linux系统下打包qt应用程序
使用超级用户打开,即不要使用su模式启动终端,终端打开后直接运行qtcreator.sh文件),原代码中如果遇到找不到库文件就会警告并停止,本人实际使用时是希望将能找到的拷贝完成,所以修改了对应代码,这个看个人需求进行修改。命令找到对应文件名称的具体路径,然后将其所在的文件夹整个复制到打包程序所在的文件夹内,一点点把所有缺失的都找到就可以了。此时就需要我们手动的去找到这些库,然后把这些库文件复制到打包程序新建的文件夹内。编译完成后,进入编译生成的文件夹内,此文件夹内会生成一个名为。
2023-05-31 13:35:37
559
原创 33. QML中的常用变量和类型转换
对该对象的对象原型的引用。**toString()**返回对象的字符串表示,在QML中,很多Qt提供的类型,如 Rectangle,toString()方法返回其对应的C++类型名字或QML类型名字。**hasOwnProperty(property)**判断对象是否有某个属性,property 为字符串,比如root.hasOwnProperty (“width”)**var:**可以定义为任意类型的值,可以随时改变变量所存储的数据类型。,使用**typeof()**函数可具体查看某个变量的类型。
2023-05-30 14:34:32
459
原创 7. Linux系统下在桌面设置添加安装软件启动图标快捷方式
另一种快捷启动方式就是像在Windows桌面系统中那样,在桌面设置快捷图标,会更加的方便,本文讲述一种方式来实现软件快捷图标的设置。执行后即可在桌面成功创建一个开启qt程序的快捷图标,如果图标没显示,可以在桌面按键盘。我的Linux系统版本:LinuxMint20.1。经过上述步骤,双击桌面图标即可完美打开应用程序。以创建Qt程序图标为例。
2023-05-29 15:49:16
586
原创 4. QT中的事件函数 --- 鼠标事件、键盘事件、定时器事件、绘图事件
在Qt中显示一张图片,是使用QLabel控件来装载QPixmap图像源,如果图片控件需要支持鼠标的拖拽移动,需要自己定义一个控件,然后重新其父类的鼠标控制相关函数。使用鼠标移动时,需要在构造函数中开启鼠标追踪。鼠标键盘移动自定义控件。
2023-05-19 16:15:40
551
原创 3. QT中的信号和槽 --- 信号连接方式、自定义信号和槽、信号槽重载、断连
信号自定义时,使用关键字signals,只需要定义,不用实现槽函数自定义时,使用,需要实现auto selfBtn = new QPushButton("测试");//设置大小 selfBtn -> resize(100 , 30);//设置字体 QFont font4("楷体" , 15 , 1);//设置样式 selfBtn -> setStyleSheet("QPushButton{background-color:lightblue;}\}\}");
2023-05-18 15:08:03
373
原创 23. Unity - 3D游戏开发小计02 --- 动画结束UI、导航网格代理、场景搭建插件(ProGrids,ProBuilder,Polybrush)、标签控制
若不控制透明度,则游戏运行后会一直显示这个结束UI界面,这个界面应该在玩家角色碰撞到某一场景节点时触发显示,需要使用碰撞体和代码进行实现。后(设置后,移动的物体不会再与其发生穿透现象),即可在需要导航移动的角色身上添加导航网格代理:关于导航移动的详细讲解可参考这位大神的文章。中设置角色的停止距离,这个距离是与当前目标点位之间的距离,达到这个距离阈值,就更换下一个点位。属性,让网格代理区域尽可能的贴合角色本身,设置如下图所示:可以在属性。首先选中角色节点,然后在右侧的。然后在第一层背景上面添加。
2023-05-15 17:56:07
320
原创 22. Unity - 3D游戏开发小计01 --- 修复动画BUG、更改环境光照、导航网格、相机跟随、场景渲染后期处理
在unity中可以为摄像机组件添加一些后期处理效果,这些效果最终会作用在整个场景中,使整个场景渲染的更加有氛围,更好的调动玩家的情绪。首先在层级窗口中添加一个空节点,并将其层设置为上面创建的 PostProcessing 层,然后在该节点下添加后处理体积组件。,在unity中 static 类型的物体默认是不移动的,在本例中可以选中层级窗口中的。中的 2D Camera,在3D游戏中,如果想让摄像机跟随玩家角色进行移动,可以选择。在整个游戏中,环境光照或者灯光的巧妙设置,会增加玩家的游戏体验感。
2023-05-15 10:22:27
403
原创 32. QML仿制思维导图系列03 -- 添加连线功能
当小箭头的鼠标控制区域发生移动后,要更新绘图区域的尺寸(否则当节点产生后,若节点为移动,仅拖拽小三角形,无法绘制完整连接线)和鼠标控制区域的位置(否则当鼠标松开后,无法再对连线末端的箭头进行拖拽),其位置应与鼠标箭头位置保持一致。大致思路就是在右侧三角形上面设置一个鼠标控制区域,当拖动这个区域时,让画布重新绘制,此时重新绘制的内容要包括根部的小三角形,连接线(三次曲线)和线顶端的小箭头。本系列文章最终目的是利用QML设计一个类似思维导图的小软件,可以基本实现节点之间的连线问题。思维导图第一版最终效果。
2023-05-12 11:42:23
412
原创 31. QML仿制思维导图系列02 -- 绘制初始三角形
大致思路就是在产生节点时,要首先在节点的右侧绘制一个三角形,此三角形为起初的三角形,并在这个三角形上面设置一个鼠标控制区域,当拖动这个区域时,让画布重新绘制,此时重新绘制的内容要包括根部的小三角形,连接线(三次曲线)和线顶端的小箭头。经过第一步之后,每次产生的新节点都会在其右侧绘制一个小三角形,但是在窗口中中拖动节点时会发现绘制的三角形并不能跟随节点一块移动,这是因为绘制三角形所需要的坐标点未随着节点移动而发生变化。很关键,否则将出现非常奇怪的现象,读者可以将代码注释掉尝试一下!思维导图第一版最终效果。
2023-05-11 17:01:54
298
原创 21. Unity - 2D游戏开发小计04 --- 2D摄像机跟随移动、精灵素材替换粒子特效、射线投射、音频特效播放、音频空间感效果
组件删除,在上面讲述的2D游戏的虚拟相机节点下面添加一个空物体,将该物体的z坐标修改为 10 ,目的是为了抵消虚拟相机的 z 坐标的 -10 的影响,并在该空物体上挂载。当玩家角色移动到场景边界时,跟随相机会照射到玩家角色的四周,会把场景之外的区域也给显示出来,会发生越界现象,此时就需要给跟随相机设置一个边界区域,超出边界就不再照射。添加后,需要在层级窗口中添加一个空物体节点,并在此物体上挂载一个碰撞体组件(这个空物体的唯一作用就是设定摄像机的碰撞边界,在摄像机边界扩展属性里需要用到),可以选择。
2023-05-11 14:00:40
350
原创 20. Unity - 2D游戏开发小计03 --- 刚体碰撞方法、2D角色动画、帧帧动画、混合树组合动画
比如在2D游戏开发中,角色的一个跑的动作可以是向前跑,向后跑,向左跑,向右跑,朝不同的方向跑时其面部朝向是不一样的,每一个方向跑的动作可以设计成一个动画,然后将这几个动画使用。动画制作时,所拥有的素材可能时针对某一动作所拆解的一系列动作图片,比如角色向左跑动,可能会把跑动这个行为拆分成几个动作,以图片的形式当作素材,制作跑动行为动画时就需要把这几个动作图片排序一下,然后按照顺序进行播放,这样看起来就像是在跑动一样,实际上只是在特定时间间隔内播放每一个动作的图片素材。此处为小人角色创建了4种动画,分别为。
2023-05-09 14:51:41
457
原创 19. Unity - 2D游戏开发小记02 --- 伪透视图、2D物体碰撞、瓦片地图碰撞、素材缩放平铺
在unity场景搭建中,若希望将素材占满某个区域,可以直接选择对素材进行尺寸的缩放,但是这样会使素材整体尺寸变大,有时会发生长宽比例不一致导致像素失帧问题,此时可以在unity中将素材设置为。中选中创建的Tilemap节点,可以为其添加碰撞体组件,此时选择的应该是专门的 Tilemap Collider 2D,添加完成后,在地图中的所有瓦片元素都会自动加入一个碰撞体。的值实现的,添加碰撞体组件之后,可以使用自身的碰撞体组件来移动物体,这样物体的抖动现象基本上会消除掉。
2023-05-04 13:55:42
441
原创 18. Unity - 2D游戏开发小记01 --- 瓦片地图搭建基本操作
对于提供的素材瓦片,可以在场景中直接搭建适用,若尺寸太大也可以对其进行相应的切割再使用,这两种方式在上面已经介绍过。在实际搭建场景时,有时会希望瓦片根据自身周围的一些设定自动去选择使用某种瓦片去填充。此时就需要用到规则瓦片Rule Tile分割完成后,在Assets文件夹下面创建一个新的文件,用于储存自己常见的规则瓦片,在新文件夹中点击鼠标右键,按照下图选择顺序创建一个Rule Tile文件:创建完成后,选中这个文件,在属性窗口中点击下图中的**+
2023-04-27 21:39:54
378
原创 2. C++使用Thread线程参数传递问题
在自定义类中使用关键字mutable定义了一个变量,可以方便更改操作。实际将自定义类对象传输到子线程中,Thread构造函数会调用自定义类的拷贝构造函数public :cout << "[A::A(int a )构造函数执行]" << this << "threadid = " << this_thread :: get_id() << endl;
2023-04-18 15:07:59
151
原创 1. C++使用Thread类创建多线程的三种方式
这种方法需要重载()运算符,把子线程需要执行的代码写到里面即可。而且此种方法将类对象名传输到thread类构造函数中后,实际上时调用了自定义类的拷贝构造函数复制了一份,线程执行结束后会调用自定义类的析构函数。public ://构造函数 background_task() {cout
2023-04-17 16:58:33
442
原创 17.unity粒子特效--Renderer模块、灯光模块、粒子系统组合、二级发射器、粒子间碰撞、粒子拖尾
复杂的粒子特效是需要多种粒子系统组合在一起才能实现的,此时就像在场景中创建子节点和父节点一样,一个粒子系统节点下面也可以挂载多个粒子系统子节点,播放时会同时播放所有的粒子特效,如果不知道使用哪一个粒子系统作为父节点,可以创建一个粒子系统然后将这个粒子系统的。二级发射就是在第一个粒子系统产生的粒子消亡后,二级粒子系统会在一级粒子消亡的地方触发,就像烟花先是一个火球发射到空中,然后火球爆炸后产生很多烟花粒子,这里的火球就相当于是一级粒子系统产生的粒子,爆炸后产生的很多烟花粒子就相当于是二级系统产生的粒子。
2023-04-14 17:31:10
629
原创 3. QML实现蓝牙通信
复杂的软件系统里面,可能不止包括一种通讯协议,可能是多种通讯的结合才能实现软件控制的整个流程。目前,使用蓝牙通讯在短距离传输信号是比较常见的一种方式,特别是在安卓端开发软件时,使用蓝牙通讯很常见的
2023-03-31 16:36:09
374
原创 27. 使用XmlListModel加载XML数据供ListView、GridView使用
listview结合gridview设计抽屉式菜单栏,并在其中学习使用xml数据
2023-03-27 15:21:05
184
原创 5. Python中的异常处理和自定义异常问题
自己写的代码保证万无一失有点难度,代码报出异常后,对其进行正确的处理有助于提高开发产品的稳定性和灵活性。
2023-03-22 17:09:37
317
原创 7.自定义渐变椭圆形进度条
本篇文章代码设计了一种可以实现渐变色的进度条,目前能够实现横向的进度条,纵向的进度条通过调整***rotation***属性,旋转一定的角度也能够实现,不过布局会有一点问题,后期在解决吧。
2023-03-20 11:35:57
40
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人