自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 Cocos Creator - 制作精灵帧动画

本文档主要根据官方文档上的图集资源、动画系统、音乐和音效等章节内容进行综合使用。1、制作图集制作图集有两种工具:TexturePackerZwoptex(只能在Windows上使用)我这里使用TexturePacker进行图集制作:1.准备原始图片,如下图: 这些都是单张的图,按顺序播放的话,能看出是佐助在释放千鸟技能的一个动画,我们现在就是要将这些图做成图集,并使用......

2020-03-16 21:30:36 11578 6

原创 Delta3D(9)教程:添加消息发送和可激活体

Delta3D事件本身只是简单的字符串标识,当某个事件发生后以消息的形式发出,每一个游戏事件都代表一个单独的行为,如发现了苹果,解救了人质等,我们常常混淆了游戏事件和游戏消息。游戏事件是一个简单的数据结构GameEvent游戏消息是用来承载GameEvent,然后通过消息发送器发送出去的Delta3D提供了一个简单的事件管理层,是一个单例类:dtCore::GameEventManager,通过它,可在任何地方查询任何游戏事件。...

2022-08-24 23:32:59 1070 1

原创 Delta3D(8)教程:通过GameStart.exe启动应用

前面的文章,我们已经创建完成了一个角色库,并能在场景编辑器STAGE中进行加载,但是还没有形成一个可以运行的程序,这节,我们先用Delta3d自带的GameStart.exe程序来启动我们的游戏GameStartGameStart是一个可独立运行的程序,在我们的角色库输出目录下,GameStart.exe文件。他可让我们在不编译自己的可执行程序的情况下通过查找游戏入口点来启动我们的应用或游戏。需要关注的三个函数:CreateApplication()创建我们自己的App,可以传入配置文件的路径

2022-02-27 11:49:41 5603 2

原创 Delta3D(7)教程:在场景编辑器中加载角色

上一篇已经创建了角色和角色代理,要加载到STAGE场景编辑器,或要被GameManager识别,还需要创建一个角色注册器,这篇就来介绍角色注册器并编译角色库导入到STAGE中使用6、在场景编辑器中加载角色创建角色注册器要创建角色注册器,很简单,只需要创建一个类并继承至dtCore::ActorPluginRegistry并实现特定的方法即可,见以下代码(原文中继承的是dtDAL,由于dtDAL并入到了dtCore,因此需要改为dtCore)// ActorsRegistry.h#ifndef Ac

2022-02-25 21:18:39 3795 2

原创 Delta3D(6)教程:创建游戏角色-2

继续上一篇的创建游戏角色部分内容…4、创建坦克角色为了简单起见,我们暂时不按官方文档来,本教程的目的是让大家熟悉流程,太多其他的功能会影响大家的关注点,因此我这里创建的角色暂时先不添加消息处理,可激活体注册等这些代码,只是先创建一个静态角色能加载到场景中显示即可,后续会专门开篇写怎么添加消息处理函数、怎么注册可激活体等内容。坦克角色部分代码如下:// HoverTandActor.h#ifndef HoverTankActor_h__#define HoverTankActor_h__#in

2022-02-25 18:04:06 3478

原创 Delta3D(5)教程:创建游戏角色-1

通过上一篇的接收,应该对游戏角色有所了解了。下面,我们将创建我们自己的游戏角色,它是一个坦克,我们将通过代码编写此角色,然后生成一个角色库将其加载到场景编辑器,并创建一个小的包含坦克角色的场景地图。1、创建工程由于角色库是以dll的方式进行加载的,因此创建工程需要创建dll库工程。如下图,创建一个空的dll项目。点击完成后,是一个空项目,里面没有任何文件,只有几个虚拟文件夹。为了后面的环境配置我们先添加两个空的文件,一个是h文件,一个是cpp文件,名字相同,只是后缀不同。点击完成后,项目中会自动

2021-10-12 11:20:20 1224 3

原创 Delta3D(4)教程:Game Manager介绍

这一部分主要接收Game Manager框架。它包括了Game Manager、Game Actors、Game Components和GameMessages的概览,下面这张图是这部分的高层图。1、游戏管理器通过上面那张图,我们知道Game Manager拥有所有的Game Actors、Normal Actors、Components和Messages,并且,它还管理他们的声明生命期和他们之间的相互关系。它是应用的核心。如果你使用Delta3D编写应用程序,你需要把各种内容手工编写到一起,包括:

2021-10-11 15:29:26 1929

原创 Delta3D(3)教程介绍

从这里开始,按照官方的英文文档开始了Delta3D的教程部分。这部分的教程将会通过很多Delta3D工程的方方面面指导你学习Delta3D。这些教程的主要目的是指导那些具备基本C++知识的人,怎么使用基于游戏的仿真引擎-Delta3D来开发虚拟的仿真应用。更多的例程在delta3d/examples中,并且还有超过20000行的单元测试代码。怎么开始由于项目里有很多教程、Demo应用、测试示例等,会让新手有一些不知该从哪里开始,因此本教程从Delta3D的核心架构方面来开始,让新手有一个基本的认识,

2021-10-07 18:49:05 727

原创 Delta3D(2)简介

这篇文章是基于官方文档进行整理的,也不知道是否匹配2.8.0版本的delta3d,后续学习过程中,如果发现文档有出入的地方,再进行修改吧。一、简介Delta3d是一套可用在游戏开发、仿真项目开发以及其他图形应用程序开发方面的开源引擎。它的模块化设计继承了众所周知的开源项目,如OSG图形渲染引擎,ODE物理引擎,CAL3D动画库,OpenAL立体音效,Qt,CEGUI,Xerces-C,Producer,智能感知驱动,HawkNL网络引擎,以及GNE游戏网络引擎。Delta3D没有采用将第三方引擎或框架

2021-08-26 16:15:34 1466

原创 Delta3D(1)VS2010+Qt4.8.7环境编译Delta3D

一、编译前准备Qt4.8.7(https://download.qt.io/archive/qt/4.8/4.8.7/qt-opensource-windows-x86-vs2010-4.8.7.exe)Delta3D源码,源码托管在GitHub上,可在这里找到,是国外的朋友创建的,虽然很久没有更新了(https://github.com/delta3d/delta3d),我Fork了一个版本到我自己的GitHub上(https://github.com/deverwh/delta3d),以后打算在

2021-08-03 12:12:37 676

转载 树莓派安装 GitBlit 并运行

1.创建Gitblit安装目录首先我们将在我们的服务器上建立一个目录,并在该目录下安装最新的Gitblit。 1 2 $ sudo mkdir -p /opt/gitblit $ cd /opt/gitblit   2. 下载并解压现在,我们将从Gitblit官方站点下载最新版的Gitblit。这里我们将安装1.6.2版本。所以,请在安装时根据具体的版本对命令进行修改。 1 2 $ sudo.

2021-01-03 13:40:44 241

转载 树莓派安装Git服务器

安装sshsudo apt-get install ssh//启动systemctl start ssh安装git-coresudo apt-get install git-core新增git用户//添加用户:gitadduser --system --shell /bin/bash --gecos 'git version control by pi' --group --home /home/git git//设置密码passwd git设置g.

2020-12-31 10:43:59 552 1

原创 鼠标右键添加 “在此处打开命令窗口”

1. 打开注册表# 1. 使用快捷键打开 “运行”# win + r # 2. 在 “运行” 中输入# regedit # 3. 回车2. 创建与设置 OpenCMDHere# 1. 切换到# HKEY_CLASSES_ROOT\Directory\Background\shell\ # 2. 创建# 右击 shell ,新建项 “OpenCMDHere”# 并在该项下,右击新建项 “command” # 3. 将 OpenC

2020-06-25 11:01:15 469

原创 QtFAQ:DXGI ERROR: CreateDXGIFactory cannot be called from DllMain. [ MISCELLANEOUS ERROR #76:]

问题来源在使用Qt5的插件框架加载QtWebEngine时,调用执行到QPluginLoader::load()时,会出现调用不返会的情况,查阅网上解决办法,说的是Qt的Bug,Qt官方Bug网站有此问题的描述:https://bugreports.qt.io/browse/QTBUG-46720解决办法在QApplication创建后,调用QtWebEngine::initialize()...

2020-01-23 21:50:49 1472

转载 使用VS+VisualGDB编译调试Linux程序

原文链接:https://www.linuxidc.com/Linux/2015-02/112844.htmLinux程序开发变得越来越多,越来越多的程序、产品需要跨平台,甚至有些开源项目只支持Linux平台,所以掌握Linux开发变得越来越重要。但是对于习惯了Windows下的开发,使用了VS这个宇宙第一IDE后,觉得Linux下的纯命令行开发调试,还是有些不习惯,效率有些低(大神除外)...

2018-08-12 21:57:58 641

原创 Qt:通过代码在UI设计器上无法放置组件的Widget上添加组件

可视化UI设计存在一些缺陷,如某些组件无法可视化的添加的界面上,比如在工具栏上无法可视化添加ComboBox组件,SpinBox等组件,但是用代码就可以 auto combox = new QComboBox; combox->addItems(QStringList() << "A" << "B" << "C"); ui-

2018-07-29 22:31:03 1583

原创 C++(标准库):template表达式内的空格

带空格的:vector<list<int> >    :支持所有C++版本不带空格的vector<list<int>>        :c++11 以上支持

2018-07-13 16:16:35 559

原创 【Wt, C++ Web Toolkit 】 Wt4.0.1 + VS2015 编译

在Github上没有VS编译好的最新Wt4.0.1的windows二进制文件,rc1版的我又下载不了,无奈只能自己编译根据官方文档,编译需要:Microsoft Visual Studio 2015 or newer.cmake-3.1.x or higherBoost 1.46.1 or new(附上:二进制版的boost_1_65_1-msvc-14.0-32.exe,注意你的

2017-11-23 18:35:40 1016

转载 软件设计是怎样炼成的(8)——用户感觉好才是真的好(用户体验设计)

软件设计是怎样炼成的(8)——用户感觉好才是真的好(用户体验设计)原文地址:http://www.cnblogs.com/umlonline/p/3585562.html摘要:软件的UI是客户直接体验软件的地方,好的用户体验可能比追求新技术和追求漂亮设计更加重要,优秀的软件应该是既有外在美也有内在美的。但大部分用户是“外貌协会”的,你和用户说你的软件如何OO,用了多少种设计模式,客

2016-12-14 22:41:57 7729

转载 软件设计是怎样炼成的(7)——细节决定成败(详细设计)

软件设计是怎样炼成的(7)——细节决定成败(详细设计)原文地址:http://www.cnblogs.com/umlonline/p/3579609.html摘要:当我们需要考虑类、类的内部细节、类之间的关系时,这时我们已经开始做详细设计了。详细设计不一定是一份文档,也不一定是Word文档,详细设计也不一定叫“详细设计”,有时候“编码就是设计”也是未尝不可的。对于MIS类型系统

2016-12-14 22:41:05 635

转载 软件设计是怎样炼成的(6)——打造系统的底蕴(数据库设计)(下篇)

软件设计是怎样炼成的(6)——打造系统的底蕴(数据库设计)(下篇)原文地址:http://www.cnblogs.com/umlonline/p/3568967.html摘要:数据库是系统的根基,如果需求变更导致你要经常修改数据库的字段,甚至需要修改表及表关系,相信多折腾几次谁都受不了!因为数据库结构的变化,不仅仅是数据库本身的变更,实体类、数据操作层、逻辑层和表现层的代码都需

2016-12-14 22:40:02 396

转载 软件设计是怎样炼成的(6)——打造系统的底蕴(数据库设计)(上篇)

软件设计是怎样炼成的(6)——打造系统的底蕴(数据库设计)(上篇)原文地址:http://www.cnblogs.com/umlonline/p/3568104.html摘要:数据库是系统的根基,如果需求变更导致你要经常修改数据库的字段,甚至需要修改表及表关系,相信多折腾几次谁都受不了!因为数据库结构的变化,不仅仅是数据库本身的变更,实体类、数据操作层、逻辑层和表现层的代码都需

2016-12-14 22:39:11 334

转载 软件设计是怎样炼成的(5)——规划系统的骨架(架构设计)(下篇)

软件设计是怎样炼成的(5)——规划系统的骨架(架构设计)(下篇)原文地址:http://www.cnblogs.com/umlonline/p/3554770.html摘要:概要设计和详细设计,可能是最开始听说的设计,但后来发现如果局限在这两个设计的框架下,可能会有诸多不顺,我们需要架构设计、数据库设计、模块设计和用户体验设计,本文主要分享架构设计,此文有点长,所以分拆为上下两

2016-12-14 22:38:05 359

转载 软件设计是怎样炼成的(5)——规划系统的骨架(架构设计)(上篇)

软件设计是怎样炼成的(5)——规划系统的骨架(架构设计)(上篇)原文地址:http://www.cnblogs.com/umlonline/p/3548544.html摘要:概要设计和详细设计,可能是最开始听说的设计,但后来发现如果局限在这两个设计的框架下,可能会有诸多不顺,我们需要架构设计、数据库设计、模块设计和用户体验设计,本文主要分享架构设计,此文有点长,所以分拆为上下两

2016-12-14 22:36:57 377

转载 软件设计是怎样炼成的(4)——软件设计的“大道理”

软件设计是怎样炼成的(4)——软件设计的“大道理”原文地址:http://www.cnblogs.com/umlonline/p/3535143.html摘要:十几年前刚毕业不久,我从事第一份软件开发的工作,要完成一个项目,但没有任何软件设计的思路,于是请教我的老板。我的老板给了我两种思路:1)先假设软件已经做出来了,想好软件的外在表现,由此倒推软件的实现方法;2)思考程序的数

2016-12-14 22:35:51 329

转载 软件设计是怎样炼成的(3)——软件系统不是木桶型的

软件设计是怎样炼成的(3)——软件系统不是木桶型的原文地址:http://www.cnblogs.com/umlonline/p/3534321.html摘要:前文提到我们应该需求驱动设计,那就直接来一个更干脆的做法,我们将需求表示为一个一个的用户故事,软件设计分别针对用户故事来做就行了,只要将用户故事逐个实现了,系统也就完成了。果然能这样做吗? 大纲:1.什么是优

2016-12-14 22:32:44 286

转载 软件设计是怎样炼成的(2)——优秀设计从分析需求开始

软件设计是怎样炼成的(2)——优秀设计从分析需求开始摘要:设计应该针对需求来做,这个大道理似乎人人都懂,但实际操作时往往就不是这样。所以我们也不说大道理,直接通过一个“很简单”的案例来体验一下优秀设计应该如何从分析需求开始,体验架构设计是如何全面考虑各种需求、项目的工期限制预算限制,还有项目组人员水平后做出来的。 大纲:1.什么是优秀的设计?2.优秀的设计能节省项目工作

2016-12-14 22:31:42 420

转载 软件设计是怎样炼成的(1)——什么是优秀的设计?

软件设计是怎样炼成的(1)——什么是优秀的设计?摘要:某项目的设计文档评审会上,各路技术大牛进行了“热烈”的讨论,讨论的焦点是怎样的设计才漂亮!大家围绕着如何OO,如何高内聚低耦合,如何反转控制等话题进行了“热烈”的争论。照这样开下去,这个评审会岂不是变成了“神仙大会”!怎样的设计才叫优秀的设计呢? 大纲:1.什么是优秀的设计?2.优秀的设计能节省项目工作量3.优秀

2016-12-14 22:30:30 474

原创 QTableWidget设置某列不可编辑

item = new QTableWidgetItem(str);item->setFlags(item->flags() & (~Qt::ItemIsEditable));

2016-10-19 10:26:12 21291 1

转载 获取QTableWidget中setCellWidget中控件所在的行列信息

在button的slot函数中,从sender得到button指针,根据这个button的位置(x,y),由tablewidget->itemAt(x,y)可得到modelindex,其中itemAt不受scroll影响.用这个方法的好处是,从modelindex开始,能完全操作tablewidget.  int x = obj->frameGeometry().x();//o

2016-10-07 10:54:17 8054

原创 Qt-信号和槽中使用自定义数据类型

QT如果要在信号中使用自定义类型,需要首先调用qRegisterMetaType函数,语句类似 qRegisterMetaType("Foo");      其实不止是自定义类型,包括QList这种QT的容器类也是一样的。估计QT只是给少数几个类如QString注册了。还有少数原生类型,比如发现__int64也是需要注册的,qRegisterMetaType__int64>("__int6

2016-09-22 19:54:53 1008

原创 ODB-Oracle填坑

odb --generate-query --generate-schema xxx.h生成的schema需要将双引号去掉生成的hxx cxx  需要去掉 \" std::string 作为id  需要修改.cxx文件中id (const id_image_type& i)  {    oracle::database* db (0);    ODB_POTENTI

2016-03-29 12:11:33 1010

boost_1_42_0_vs2010 静态预编译库

boost_1_42_0_vs2010 静态预编译库 boost_1_42_0_vs2010 静态预编译库 boost_1_42_0_vs2010 静态预编译库

2018-04-28

空空如也

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

TA关注的人

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