- 博客(75)
- 资源 (23)
- 收藏
- 关注
原创 [IDE]VSCode+Premake5打造(c++)跨平台开发调试工具(5): SFML测试
说实话,上一篇VSCode配置编译和调试C++程序已经全部结束了,引用第3方库的功能其实是通过premake5中配置的,这篇是讲述在premake5在XCode上的踩的坑, Windows上没有任何问题。先描述一下自己遇到的问题:Mac上我不想安装SFML库,或者将SFML库拷贝到Library/Framework目录中,因为这些库我不常用。 先去SFML官网下载,需要下载3个文件,VS2017 32位和64位的,和Mac的。在Game同级目录中创建Third文件夹,把下载好的SFML-2....
2020-10-10 10:10:25
470
原创 [IDE]VSCode+Premake5打造(c++)跨平台开发调试工具(4): Premake5
在正式引用第3方库SFML之前,先开始premake5,因为现在cpp文件只有一个Main.cpp,还好管理。现在我们就按照正常开发C++的步骤来。PS:CMake是不会去学的,打死都不会的。 现在Source目录下创建新的文件夹Engine,创建一个Application.h,和Application.cpp文件。 Application.h:#include <iostream>#include <exception>class Applica...
2020-10-10 09:52:24
943
原创 [IDE]VSCode+Premake5打造(c++)跨平台开发调试工具(3): VSCode编译和调试C++
是时候开始表演真正的技术了,开玩笑的。这次的任务就是按照官网教程编译和调试C++工程。之前已经创建好了目录结构,现在只需要在Game/SFML/Source创建一个新的文件Main.cpp,代码很简单,就是用来调试使用。#include <iostream>int main(int args, char* argv[]){ std::cout << "Hello, World!" << std::endl; int i = 0; ...
2020-10-10 09:37:47
2447
原创 [IDE]VSCode+Premake5打造(c++)跨平台开发调试工具(2): VSCode task测试
环境搭建好了,是时候开始测试了,先在Windows上创建一个文件夹VSCode-Premake5-Example, 在VSCode-Premake5-Example创建Game/SFML/Souce目录。先来介绍下目录结构,Game是工程目录,SFML是项目目录, Source是代码目录。 在Game目录下, 输入cmd打开cmd窗口,或者shift+鼠标右键选择Open PowerShell window here(Win10),输入code .打开。也可以先打开VSCode再选择目...
2020-10-10 09:22:16
650
原创 [实战]C++加Lua加SDL来重写龙神录弹幕游戏(6):只读表
这次就不急着往下讲解游戏功能了,先来说下lua的功能,因为Unity热更新的问题,导致很多手游都会使用c#加lua来开发,因此有很多新手,或者用lua开发了一两年的程序员,还不是很了解lua,在使用中会出现很多问题。这里推荐一个比较好的文章,有英文基础的可以看下。PS:为什么要说这个,因为最近在自己上线半年多的手游项目中发现一个bug,之前有看到过,但没时间仔细看,就扫了一眼。先...
2019-12-12 19:22:49
456
原创 [实战]C++加Lua加SDL来重写龙神录弹幕游戏(5):添加背景
敲代码很快,写博客很慢,如果写详细一点,就有点太长了,跟写策划文档没区别了,╮(╯_╰)╭。之前虽然在SDL窗口中显示出了一张人物图片,但也只是为了测试SDL_Image而已。现在就正式来完成这次的工作,显示背景。PS:老实说,我真没有仔细看那个弹幕射击游戏的教程,因为代码写的实在是太乱了。因此我就按照教程实现的效果来,不用他的乱七八糟的代码。这次采用的框架也是我...
2019-12-12 18:13:57
405
原创 [实战]C++加Lua加SDL来重写龙神录弹幕游戏(1):准备
自学程序加工作好几年了,是时候来练个手了(不算用引擎开发游戏)。之前Google学习资料的时候,找到一个弹幕射击游戏的教程,稍微瞄了眼,还挺不错的,但用的是封装的DxLib库,这就不开心了,后面就没看了。学习DirectX也有年头了,觉得是时候可以练习下,但不打算用DirectX来开发,打算用最近刚学习的SDL或者SFML来开发。 为了加大难度,就打算采用C++加...
2019-12-05 14:13:16
802
1
原创 [实战]C++加Lua加SDL来重写龙神录弹幕游戏(4):完善Game类
大部分前期工作都已经完成了,可以正式开始敲游戏代码了。之前显示的都是死循环的窗口,这次终于可以来解决这个问题了,先看看今天的结果。这次C++中有部分修改的代码,但有了之前的基础,就不花费很多精力在这上面,代码会放到最后面。首先将之前的Game.lua修改下名字,改成GameBase.lua。GameBase.luarequire "Module.Enum...
2019-12-04 11:35:59
433
原创 [实战]C++加Lua加SDL来重写龙神录弹幕游戏(3):添加Logger类
上一篇已经完成了Lua调用SDL创建窗口的功能了,めでたしめでたし。但在开始敲游戏代码之前,继续做一个准备工作,添加C++类logger。在之前的测试中,控制台上全是白色的输出字,一眼望过去,全是一样,调试的时候很难找到自己想要查看的输出。继续在Ryuujinn工程中添加头文件Logger.h和Logger.cpp文件,在Source文件夹下的Wrap文件中添加Log...
2019-12-04 11:35:27
285
原创 [实战]C++加Lua加SDL来重写龙神录弹幕游戏(2):Lua创建SDL窗口
完成了准备工作之后,就可以开始撸代码了。因为项目也不是很大,就打算大部分都用lua来开发。上一篇已经写了一部分测试代码,但都是塞到一个Main.cpp之中,主要是为了测试配置是否成功。这次的工作就要把测试代码给提取出来,用lua来实现SDL窗口的创建。Lua的搭建上一篇是用dostring来执行lua的,项目中不会用这玩意开发的(那要多累啊,排版也不爽)。先右键Ry...
2019-12-03 22:11:59
704
原创 [汇编]汇编学习笔记(7):代码注入
之前练习写了个拳皇13修改器,发现需要对远程进程操作,一直需要ReadProcessMemory,发现代码量会变得很多,最近又学到一个代码注入,发现比之前的的要方便很多。关键API是CreateRemoteThread,这个网上有很多介绍,这边就不仔细介绍了。 有2个地方需要注意:平台和发布模式。必须是Release模式下,平台要跟需要注入的程序有关,比如:黑暗之...
2019-10-18 08:46:20
324
原创 [汇编]汇编练习(1):写个拳皇13修改器
学了汇编有一段时间了,不练练手不太好,刚好把之前留下来的坑填完--拳皇13的成就。PS:拳皇13在硬盘里躺了有一两年了(100对战胜利的成就拿到后就没玩了,剩下的都太烦了,需要100超必杀,100真超必杀,哪有这么多气,网络又不好,还有打一半退出的没素质货),最近硬盘快爆了,清下空间。 先举个简单一点的,修改战斗时间:利用Cheat Engine(我的版本是6.8....
2019-09-29 19:41:06
649
原创 [汇编]汇编学习笔记(6):MASM32编译器编译链接16位汇编
在学习16位汇编的时候,需要用到MASM32编译器,为了方便编辑环境变量装了个XP的虚拟机来学习,刚好也可以用到debug.exe来调试16位汇编代码。 MASM32安装很简单。可以参考这篇文章,环境变量配置也有,ctrl+c,ctrl+v就OK,事先声明,MASM32版本下载的是masm32v11r。 参考文章中给了个Win32窗口的汇编代...
2019-09-21 14:23:17
1532
原创 [汇编]汇编学习笔记(5):支持x86和x64
《3D.Game.Engine.Programming》第4章都是数学计算相关的优化,大部分都是采用汇编代码,然而这本书有点老了,书上x86平台都是采用混编的方式,x64位的编译就会报出如下错误,不支持x64位,有点伤,又逼我面向百度和Google编程。 百度Google后,了解x64位需要写.asm文件,如果需要工程同时支持x86和x64位的话,需要一个宏定义...
2019-08-27 11:42:34
2544
原创 [C++]fatal error LNK1181
Visual Studio2019上遇到个很神奇的Bug,一直在报“fatal error LNK1181: cannot open input file filename”错误,4个工程都用到了同一个静态库"_Utility.lib",4个工程的配置都是一样的,都使用了#pragma comment指令来链接该库。最重要的是之前编译都成功的,只是停电导致电脑死机后,就遇到这个bu...
2019-08-27 11:41:12
6536
原创 [汇编]汇编学习笔记(4):SHUFPS(洗牌)指令
《3D.Game.Engine.Programming》书上刚看到一个SHUFPS指令。这个SHUFPS指令类似洗牌功能,这个指令的功能还是比较难理解的。自己多次测试和百度Google后,大致理解这个指令的功能,记录一下。先借用一篇文章的内容:文章地址 《3D.Game.Engine.Programming》书上的代码例子是SHUFPS XMM0, XMM1,...
2019-08-22 12:49:20
1636
1
原创 [汇编]汇编学习笔记(3):SIMD了解
《3D.Game.Engine.Programming》第4章主要讲的就是数学计算,一直在扯一个SIMD概念,SIMD全称Single Instruction Multiple Data,单指令多数据流。还有介绍Intel公司的MMX和AMD公司的3DNow的历史,以及SSE,SSE2指令,这些都需要自己去百度Google了解,因为作者都是简单介绍下。 举个对比的例...
2019-08-21 19:53:13
988
原创 [汇编]汇编学习笔记(2):EBP寻址
刚看到ESP寻址和EBP寻址,个人理解其实2个寻址都是差不多的,都是利用偏移量来获取参数,一个搞懂另一个也明白了。只要记住ESP寻址有缺陷就OK了,缺陷就是在函数中使用push后会导致ESP一直在变,不好计算传入参数的地址而已。多写写就能记住。 练习:写个3数相加的函数。在敲代码之前,先画张图,理清下思路: 1.第一张图完成了计算,并将结果存入E...
2019-08-16 19:54:40
1191
原创 [汇编]汇编学习笔记(1):push,pop,call,jmp,retn
不知道为啥,学啥后面都会碰到汇编指令┑( ̄Д  ̄)┍,看书学习DirectX引擎开发(才第4章)也要碰到,怒了,开始刚汇编,记录一些学习上的问题,好回头看看。ESP:栈指针寄存器(extended stack pointer),永远指向系统栈最上面一个栈帧的栈顶EIP:指令寄存器,存放当前指令的下一条指令的地址(就是CPU从这边开始执行)push指令:把值压入栈中,ESP栈指...
2019-08-16 19:22:10
5406
原创 [DirectX]3D.Game.Engine.Programming:01
最近找到一本好书《3D.Game.Engine.Programming》,讲的是引擎相关的内容,最重要的是底层渲染采用的是DirectX,不是OpenGL太好了(根本就没学过,之前看了很多都是讲OpenGL的,太累了)。 前2章没啥内容,第一章介绍引擎是啥,游戏开发人员(从策划到程序),DirectX和OpenGL的战争,稍微过一下就好(太多生僻词了)。第二章就介绍了需...
2019-08-15 21:04:09
1088
原创 [Unity]Unity自动添加Android定位权限问题
今年权限问题比较严重,大厂提出去掉一些权限(敏感权限),不然下架。说实话,我们游戏根本就很少用到这些权限,全是大厂自身的SDK需要这些权限╮(╯▽╰)╭,利用之前写的工具反编译获取王者荣耀的AndroidMainfest文件,然后对照修改,So easy。 但是打包后发现还在申请定位权限,怎么回事。反编译我们游戏的AndroidMainfest文件,咦,ACCESS...
2019-07-16 19:26:14
3683
1
原创 [DirectX]Assimp环境配置
之前有提到过正在看DirectX Engine系列的视频,最近刚看完,发现这不是Engine的教程,应该算是DirectX11的教程,将近10多个小时的英文视频教程,还是学到了很多东西,一个算是ImGui(玩了一会,感觉很类似Unity的OnGUI), 另一个则是assimp(加载模型)吧。记得之前在这个网站学习DirectX11学习加载模型的时候,还得一步一步去解析顶点和索引数据。...
2019-06-20 12:04:02
2197
原创 [DirectX]RegisterRawInputDevices和DirectX11垂直同步渲染冲突
最近在学习引擎的时候,发现DirectX11垂直同步提交非常卡,测试了下,发现每次提交需要20毫秒以上时间,关闭垂直同步的提交时间几乎在2毫秒以下。(没有任何渲染,就是设置背景色为蓝色而已) float bgColor[4]; bgColor[0] = 0.0f; bgColor[1] = 0.0f; bgColor[2] = 1.0f; bgColor[3...
2019-06-05 18:36:33
715
原创 [DirectX]Engine的第一步?控制台创建窗口及封装main函数
看《Teach Yourself Game Programming with DirectX in 21 Days》真的快半年了,虽然有很长时间都花在项目上(主要是在对接大厂的SDK,那段时间真的快对接疯了),但至少从开始到现在有半年的时间了,真的看的有点累了,换个心情看起了GameEngine相关视频。最近也会开始将从《Teach Yourself Game Programming...
2019-06-01 12:09:56
264
原创 [Unity]聊天使用TextMeshPro
项目已经在大厂正式上线半个月了,忙碌了大半年的时间啊。时间实在是太赶了,上线的那几天,一堆问题,通宵达旦的修复问题,几乎没这么睡过,想想都心累呀!*************************************************分割线*********************************************************** ...
2019-05-14 20:07:55
11076
8
原创 [Unity]302域名重定向
当大厂问起项目是否支持域名重定向的时候,我是一脸懵逼的,302域名重定向那是啥玩意,问了公司运维,他们也不是很清楚,网上搜索,找到一篇nginx配置302的方法,来测试项目是否支持302域名重定向。 试了半天,终于配置成功,可以重定向的: 不太懂这些配置,只好一个一个试过来,试过另写一个server来写重定向,或在location下来写重定向...
2019-04-12 08:16:08
927
原创 [Unity]配置Xcode工程(2)--添加Capability
之前已经写过一篇关于XCode配置的,但那篇其实还有一个小bug,就是开启不了有些Capability,需要自己手动开启,这其实很繁琐,需要复制粘贴文本等。 刚开始怀疑是不是Unity版本的问题,因为用的是Unity官方自带的API来添加Capability。之前的Unity版本是2017.4.7f1,最近项目升级了Unity版本,现在是2017.4.22f1版本...
2019-03-31 21:29:20
8872
6
原创 [Unity]Mac调用SVN更新
其实之前有过一篇关于SVN更新的,但那是在Windows上的,Windows上bat之后也没有用,用的是小乌龟工具。用了一年多没啥大问题。现在来写Mac的主要是本人在用Mac的SVN更新的时候,有点累,一直用命令行更新,写烦了cd xxx,然后svn update,再接着svn revert --depth=infinity .这些命令。 也用过一些SVN工具,M...
2019-03-26 23:19:23
952
原创 [Unity]iOS过审记录
之前完全没有做过iOS过审相关的,这应该算是First Blood吧!虽然只是发包给大厂运营,然后由他们来提交,但遇到的问题还是好好记录一下。 1.第一次被拒是证书问题,用了开发证书,不是发布证书的问题: 2.第二次被拒是因为UnexpectedCFBundleExecutableKey的问题,删除第三方SDK中自带的Info.plist...
2019-03-24 14:59:14
891
原创 [工具]反编译APK和XML
接SDK坑的就是配置文件这些,为了防止出问题,也是为了学习,最近一直在反编译一些游戏的APK,获取AndroidManifest.xml。用到了2个jar包,一个是AXMLPrinter2.jar,另一个则是主程给我的apktool_2.3.4.jar。2个都在用,AXMLPrinter2.jar反编译后的布局很舒服,不是堆在一起,看起来不是很累,但有个问题是很多显示都是数字(比如...
2019-03-12 23:58:59
988
原创 [Unity]腾讯SDK踩坑之路(5)--应用宝省流量更新+米大师托管模式坑
之前项目平台没有定好是大厂独代模式,所以在大厂提出省流量更新问题的时候,大厂给的建议是用大厂自家的应用宝省流量更新功能,说是项目组自己去写这个功能的话,需要的时间估计会有点超过预期,想了一下,也对,对接的事项这么多,不能花太多时间去研究,然后就坑了。 MSDK上的应用宝省流量更新接起来非常快,只要MSDK接好,调用几个接口,接入游戏加上拼UI啥的,估计1个小时左右...
2019-03-09 23:26:12
842
原创 [Unity]腾讯SDK踩坑之路(4)--GCloud+GVoice坑
为啥要接GCloud呢?因为我们项目采用的方式有问题,这是腾讯专家说的,然后只能改了。先说下我们这边的方式,客户端是请求PHP后台生成的一个txt文件(Json格式的),然后获取CDN和区服相关信息,根据参数是否显示审核服还是正式服,接着再去请求一堆区服数据的txt。如果在选服界面的话,还需要每隔5秒或者10秒重新请求,判断是否有新的服务器开了或服务器状态变化了(比如变成维护了)。...
2019-03-09 21:35:31
4669
1
原创 [Unity]安卓安装时获取权限
上线测试的时候,有玩家反馈卡登陆界面,一排查发现是卡在获取IMEI。导致问题的原因有2种,一种是平板没有IMEI,第二种就是玩家没有授权。因为之前获取IMEI的方法是C#来实现的,没有在Java里实现,这是之前尝试的代码,忘了trycatch下。 为了避免玩家拒绝授权的情况,只好在安装时就获取权限。因为不是很熟悉这个问题,查了下,官网有2个字段, forceInt...
2019-02-23 21:34:23
4021
原创 [Unity]腾讯SDK踩坑之路(3)--米大师坑 + MSDK坑 (2)
接完MSDK的登录后,就开始对接MSDK其他的功能,在对接过程中遇到很多坑,一一记录下来,给后来者提供方便,也为自己提供方便。(前面已经有一篇是关于MSDK坑的文章了,但是坑太多,还是分开来记录)一、公告问题: 1.首先是调用接口中的参数问题,是公告栏ID,不是公告ID。如果你是第一次对接,而且看不到后台的时候,请确认下,不然会很坑的。 2.图片...
2019-02-17 23:14:29
1527
1
原创 [Unity]调用iOS(自己的插件)
之前调用iOS的SDK代码都是将Unity导出XCode工程,再将iOS代码拷贝到XCode工程目录下,手动在CompileSources中添加。但在接入MSDK和米大师,嫌大厂的麻烦,自己写了一套自动配置Xcode工程的代码。感觉略微了解XCode的配置。 在后续的对接中,大厂需要收集运营商和网络情况(Wifi/2G/3G/4G)这些数据,就尝试写个iOS的插件...
2019-02-17 13:46:32
2014
原创 [Unity]腾讯SDK踩坑之路(2)--配置Xcode工程(MSDK和米大师配置代码冲突)
前不久接完MSDK,又花了几天时间改之前的打包工具和MSDK的一些代码,主要是这边有骚操作,需要不带SDK的包和带SDK的包,还有很多杂七杂八的包。然后顺带着打了个iOS测试包,检测SDK有没有接好。大厂给的插件中有对XCode工程进行配置,不需要手动去拖frameworks和添加代码啥的,简单方便。稍微改下,就能快速打iOS包。确认没问题后,就马不停蹄的开始接入米大师充值SDK。...
2019-01-24 20:20:21
3570
原创 [Unity]腾讯SDK踩坑之路(1)--MSDK Android9巨坑
最近一直忙,主要是在接大厂的MSDK, 因此学习的时间就变少了,更不要说写博客了。但是最近一直在踩坑,觉得还是有必要记录下来,避免再次出错。其实有些巨坑很多都是Android9系统的问题。 1. 首先是签名的问题,因为打包时候没有设置keystore,所以生成的Android签名是有问题的,导致在写demo测试微信和QQ登录的时候一直失败,好在大厂的技术支持给力,找...
2019-01-09 21:34:22
1816
4
原创 [工具]获取keystore签名,APK签名和包名
在接大厂MSDK的时候,因为签名的问题,影响了接SDK登录的进程,为了避免这个错误和重复操作:打开cmd输入命令来查看keystore的签名和apk和签名以及包名,因此写了个简单工具。之前有学过Windows API,但也只是用来学习DirectX,简单了解一下创建窗口流程和消息机制。界面那是什么?不了解。不想用MFC,主要是没装,网上搜索了解了下,实现了2个界面:对话框模式和纯代...
2019-01-09 21:06:48
3419
原创 [工具]C++一键改名
学习DirectX的2D游戏制作的时候,要切割小图并合并成TileMap。没找到好的切割工具,切割成小图只好用Unity,然后用TexturePacker合并。因为代码中是用索引来获取Json结构数据,因此小图需要重新命名,一个一个修改,太烦也太傻了。写个工具避免重复劳动。一堆小图:代码:#include <iostream>#include <...
2018-12-21 21:11:16
651
[DirectX]はじめての3Dゲーム:DirectX_09_Chapter02
2018-12-12
[DirectX]Programming.Role.Playing.Games:GameCore
2018-09-24
[DirectX]Programming.Role.Playing.Games:04_Sound
2018-07-18
[DirectX]Programming.Role.Playing.Games:03_Input
2018-07-18
[DirectX]Programming.Role.Playing.Games:02_06_Font
2018-07-07
DirectX_RPG_Chap02_04_AlphaTest
2018-06-30
DirectX_RPG_Chap02_03_AlphaBlend
2018-06-30
DirectX_RPG_Chap01_Introduction
2018-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人