《Qt从入门到放弃》(Yanlz+Unity+SteamVR+云技术+5G+AI=VR云游戏=信号槽+GUI+跨平台+人机交互+服务器+面向对象+立钻哥哥+==)

Qt从入门到放弃

Qt从入门到放弃

版本

作者

参与者

完成日期

备注

YanlzFramework_Qt_V01_1.0

严立钻

 

2019.09.15

 

 

 

 

 

 

##《Qt从入门到放弃》发布说明:

++++“Qt从入门到放弃”:是对“C++C铸就生存利器”的综合探索;

++++“Qt从入门到放弃”:定位在一个科普类知识,

 

@@提示:有些博客可能只是开了头,如果感兴趣的同学,可以“点赞”或“评论区留言”,只要关注的同学多了,那就会继续完善哟!(“++==”,表示没有写完的,如果关注度不高就不完善了;“++ok++”,表示此篇博客已经完成,是阶段性完整的!)

 

##《Qt从入门到放弃》目录

#第一篇:钻哥百科

#第二篇:Qt的自由探索篇

#第三篇:Qt入门篇

#第四篇:Qt放弃篇

#第五篇:立钻哥哥带您Qt框架编程

《Qt从入门到放弃》(Yanlz+Unity+SteamVR+云技术+5G+AI=VR云游戏=信号槽+GUI+跨平台+人机交互+服务器+面向对象+立钻哥哥+==)_第1张图片

 

 

#第一篇:钻哥百科

#第一篇:钻哥百科

#第一篇:钻哥百科

++++立钻哥哥:Qt是一个跨平台的C++应用程式开发框架;广泛应用于开发GUI程式:部件工具箱;也可用于开发非GUI程式,比如控制台工具和服务器

++++A.1、C++编程

++++A.2、Qt框架

++++A.3、立钻哥哥带您从C++到Qt框架编程

 

++A.1、C++编程

++A.1、C++编程

++A.1、C++编程

++++立钻哥哥:C++语言是一个面向对象的语言,使用C++编写的代码更加简洁、高效,更具可维护性和可重用性;没有任何一个程序员使用C语言的编程效率可以超越C++语言的

++++A.1.1、namespace

++++A.1.2、C++风格的HelloWorld

++++A.1.3、C++新增高级特性

++++A.1.4、函数overload重载

++++A.1.5、在C++中调用C的库函数

++++A.1.6、类和面向对象

++++A.1.7、立钻哥哥带您了解C++编程

++C++实战傻瓜第一步

++++1、使用newdelete进行动态内存分配和释放

++++2、使用inline内敛函数替代宏调用

++++3、使用函数重载

++++4、使用引用(Reference)代替指针进行参数传递

++++5、使用缺省参数

++++6、使用模板和BIDS

++++立钻哥哥:C++是在C语言基础上开发出来的;C++不仅完全兼容C的语法,而且它的底层实现和C语言也是一致的;例如:局部/静态/全局变量的存储区、动态内存的分配、函数调用规范、目标文件格式、链接规范等等;C++可以直接调用C语言编写的库函数

 

 

++A.1.1、namespace

++A.1.1、namespace

++A.1.1、namespace

++++立钻哥哥:namespace命名空间(是指标识符的各种可见范围)

++++C++标准库中的所有标识符都被定义于一个名为stdnamespace

namespace ylzFrameworkQt{

    int ylzScore;

}

++++pthread库的函数名都以pthread_开头,pthread_createpthread_exit

++++pthread库中与mutex相关的函数名和类型名都以pthread_mutex_开头,pthread_mutex_intpthread_mutex_lock

++++这样命名的好处是保证了名字是全局唯一的,不会和其他库中的函数或类型命名冲突;

++++所以以pthread_开头的名称构成一个命名空间,以pthread_mutex_开头的名称构成一个子命名空间

++++一个命名空间中可以定义变量名、类型名、函数名等等

 

 

++A.1.2、C++风格的HelloWorld

++A.1.2、C++风格的HelloWorld

++A.1.2、C++风格的HelloWorld

++++立钻哥哥:通过一个C++风格的HelloWorld来熟悉C++编程语言啦

++main_ylz_1.cpp

//iostream是C++标准库中的头文件,按照C++库的惯例,头文件的文件名通常没有.h;

#include <iostream>

 

int main()

{

    //iostream中声明了std::cout和std::endl等变量;

    std::cout << 立钻哥哥:Hello World! << std::endl;

    return 0;

}

++++[std:cout]:表示输出到标准输出

++++[std:endl]:表示换行

++++[<<]:本来是移位运算符,这里overload成了输出函数;把要打印的内容一项一项用“<<”连接到“std::cout”后面即可

++++相当于C程序中的:printf(立钻哥哥:Hello World!\n);

 

++main_ylz_2.cpp

#include <iostream>

//用using namespace std; 声明之后,cout和endl前面的std::就可以省略不写了;

using namesapce std;

 

int main()

{

    cout << 立钻哥哥:Hello Yanlizuan! << endl;

    return 0;

}

++++虽然std::可以省略不写,但是cout变量的全面仍然是std::cout,如果有一个全局变量叫做cout,它和std::cout应该是两个不同的变量,在声明了“using namespace std; ”的情况下,为了和std::count区别开,全局变量的cout可以写作 ::cout

++++类似于pthread_mutex_init函数名,一个C++命名空间也可以有子命名空间,例如 a:b:c

 

++++调试运行:$g++ main_ylz_1.cpp -o ylz    $./ylz 

 

 

++A.1.3、C++新增高级特性

++A.1.3、C++新增高级特性

++A.1.3、C++新增高级特性

++++立钻哥哥:C++新增高级特性包括:重载(overload)、内联(inline)、constvirtual四种新机制

++++[重载(Overload)]:C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,即函数重载;类的构造函数需要重载机制:C++规定构造函数与类同名,构造函数只能有一个名字;可用重载机制来实现,类可以有多个同名的构造函数(只能靠参数类型的不同来区分重载函数);全局变量和类的成员函数同名不算重载(因为函数的作用域不同)

++++[内联(inline)]:

++++[const]:

++++[virtual]:

++构造函数

++++立钻哥哥:构造函数(用来初始化的)

++++构造函数的两个执行阶段(初始化阶段和计算阶段)

++++[初始化阶段(在初始化列表中)]:所有类类型(class type)的成员都会在初始化阶段初始化,即使该成员没有出现在构造函数的初始化列表中

++++[计算阶段(由构造函数的函数体中所有语句组成)]:一般用于执行构造函数体内的赋值操作

++变量初始化

++++立钻哥哥:变量初始化(C++引入了一种新的变量初始化方式)

++++对于内建类型(比如int, char, float类型),这两种方式是等价的:int i = 10; int i(10);

++++对于class类型的变量,用()的方式初始化相当于调用构造函数,可以在()中传多个参数

++++C++变量的初始化方式:

----<1、一般变量(int)>:可以在初始化列表或者构造函数里初始化,不能直接初始化或者类外初始化

----<2、静态成员变量(static int)>:必须在类外初始化

----<3、常量(const int)>:必须在初始化列表里初始化

----<4、静态常量(static const int)>:必须只能在定义的时候初始化

++++数据类型按类型分类:

----<1、内置数据类型,复合类型(指针,引用)>:

----<2、用户定义类型(类类型)>:

++初始化列表

++++立钻哥哥:C++初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段

struct YanlzGame{

    string gameName;

    int gameId;

    YanlzGame(string s, int i) : gameName(s), gameId(i){};  //立钻哥哥:初始化列表

}

++++初始化列表的成员的两种方式:

----<1>使用初始化列表

----<2>在构造函数体内进行赋值操作

++++必须使用初始化列表的场合:

----<1、常量成员>:因为常量只能初始化不能赋值,所以必须放在初始化列表里面

----<2、引用类型>:引用必须在定义的时候初始化,并且不能重新赋值,所以也要写在初始化列表里面

++++成员变量的初始化顺序:成员是按照他们在类中出现的顺序进行初始化的,而不是按照他们在初始化列表出现的顺序初始化的;一个好的习惯是:按照成员定义的顺序进行初始化

++new和delete

++++立钻哥哥:C++的new和delete相当于C的malloc()和free()函数

++++newdelete运算符用于动态分配和撤销内存的运算符,要访问new所开辟的结构体空间,无法直接通过变量名进行,只能通过赋值的指针进行访问:

----<1、开辟单变量地址空间>:

--------1.1、new int;  //开辟一个存放数组的存储空间,返回一个指向该存储空间的地址

--------int *a = new int;  //将一个int类型的地址赋值给整型指针a

--------1.2、int *a = new int(5);  //将整数赋值为5

----<2、开辟数组空间>:

--------2.1、一维:int *a = new int[100];  //开辟一个大小为100的整型数组空间

--------2.2、二维:int **a = new int[5][6];

----<3、delete用法>:

--------3.1、int *a = new int;    delete a;  //释放单个int的空间

--------3.2、int *a = new int[5];    delete[] a;  //释放int数组空间

++++newdelete可以动态开辟,撤销地址空间

//立钻哥哥:new和delete应用的简单例子

//new_delete_malloc_ylz_1.cpp

#include <iostream>

using namespace std;

 

int main()

{

    int *arraySize = new int;  //int *arraySize = (int*)malloc(sizeof(int));

    cin >> *arraysize;  //cin>>相当于scanf,从标准输入读取到变量中;

 

    int *array = new int[*arraySize];  //int *array = (int*)malloc((*arraySize)*sizeof(int));

    for(int i = 0;  i < *arraySize;  i++){

        array[i] = i;

    }

 

    for(int i = 0;  i < *arraySize;  i++){

        cout << array[i] << ,;

    }

    cout << endl;

 

    delete[] array;  //free(array);

    delete arraySize;  //free(arraySize);

}

++++[cin >>]:相当于scanf,从标准输入读取到变量中

++函数的缺省参数的简单例子

++++立钻哥哥:$g++ aa_ylz.cpp -o ylz    $./ylz

#include <iostream>

using namespace std;

 

void YanlzTestFunc(int x, int y, int z)

{

    cout << x << y << z << endl;

}

 

void YanlzTestFunc(int x = 1;  int y = 2;  int z = 3);

 

void main()

{

    YanlzTestFunc(4, 5);  //函数调用时,从左到右匹配

}

++++输出结果:453

 

 

 

++A.1.4、函数overload重载

++A.1.4、函数overload重载

++A.1.4、函数overload重载

++++立钻哥哥:函数Overload使功能相同或相似的函数具有统一的接口和调用形式,写出来的代码更为紧凑

++++在调用重载函数时,根据调用者提供的argument类型自动选择最合适的函数定义,所以各重载函数定义的parameter个数和类型必须互不相同

++++[重载(overload)]:C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,即函数重载

++++[类的构造函数需要重载机制]:C++规定构造函数与类同名,构造函数只能有一个名字;可用重载机制来实现,类可以有多个同名的构造函数(只能靠参数类型的不同来区分重载函数);全局变量和类的成员函数同名不算重载(因为函数的作用域不同)

//立钻哥哥:函数overload重载的简单例子

//overload_ylz.cpp

#include <iostream>

using namespace std;

 

int add(int a, int b)

{

    return a + b;

}

 

double add(double a, double b)

{

    return a + b;

}

 

int main()

{

    cout <<  add(1, 2)  << endl << add(2.13, 3.14) << endl;

    return 0;

}

 

++++$g++ overload_ylz.cpp -o ylz    $./ylz

++++输出结果:3    5.27

 

++运算符Overload重载

++++立钻哥哥:“运算符overload重载”本质就是函数重载

++++[运算符重载]:C++中可以用关键字operator加上运算符来表示函数,称为运算符重载

<返回类型说明符> operator <运算符符号>( <参数表> )

{

    <函数体>

}

++++Complex operator+(const Complex &a, const Complex &b);

++立钻哥哥:调用运算符重载函数与调用普通函数的不同之处在于:

+A、[对于普通函数,参数出现在()内]:

Complex Add(const Complex &a, const Complex &b);    // c = Add(a, b);

+B、[对于运算符重载函数,参数出现在其左右两侧]:

Complex operator+(const Complex &a, const Complex &b);    //c = a + b;

++++cout后面的 << 运算符:C++标准库为 << 运算符定义了几个重载函数:

----A、这些函数的第一个参数都是 std::ostream& 类型(也就是cout的变量类型)

----B、第二个参数是某种内建类型,cout<< 可输出整型、字符型、浮点型、字符串等等,是分别调用不同的重载函数实现的

//立钻哥哥:运算符overload重载简单例子;

class X

{

    public:

        int i;

}

 

X operator+(const X& x1, const X& x2)

{

    X temp;

    temp.i = x1.i + x2.i;

}

 

X x1, x2, x3;  

x1 = x2 + x3;

 

++inline函数

++++立钻哥哥:C++中用inline函数来取代C语言中类似函数的宏定义

++++[C++inline函数既具备宏代码的效率,又增加了安全性]:在调用一个内联函数时,编译器像处理普通函数一样首先做类型安全检查和自动类型转换,如果检查通过,内联函数的代码就会直接替换函数调用,就像宏展开一样

++++使用内联函数时注意inline关键字应该和定义放在一起而不是和声明放在一起

//立钻哥哥:由于inline函数相当于宏定义,因此通常将inline函数的实现直接放在头文件中,不写声明;

+A、在函数返回类型前加上inline即可指定为内联:

void Foo(int x, int y);

inline void Foo(int x, int y)

{

    ... ...

}

 

+B、仅将inline放在函数声明前面不起任何作用:

inline void Foo(int x, int y);

++++定义在类声明之中的成员函数将自动地成为内联函数:

class A

{

public:

    void Foo(int x, int y){}    //立钻哥哥:自动地成为内联函数

}

++++不宜使用内联(内联仅仅省去了函数调用的开销):

----A、如果函数体内的代码比较长,使用内联将导致内存消耗代价较高;(立钻哥哥:内联函数中的执行代码不能太多了

----B、如果函数体出现循环,那么执行函数体内代码的时间要比函数调用的开销大

 

 

 

 

 

++A.1.5、在C++中调用C的库函数

++A.1.5、在C++中调用C的库函数

++A.1.5、在C++中调用C的库函数

++++立钻哥哥:C++中调用C标准库函数应使用包装后的头文件,例如:#include <cstdio> <ctime>

++++为了能被C++代码正确使用,C函数库提供的头文件都采用以下的开头和结尾:

#ifdef __cplusplus

extern C{

#endif

... ...    //立钻哥哥:头文件内容

#ifdef _cplusplus

}

#endif

++++说明1:extern C】修饰内的函数,一律按照C的风格来编译

++++说明2:如果该头文件被C++的调用代码包含,被C++编译器编译,__cplusplus就会有定义了,于是 extern C{} 可见,C++编译器对于括在 extern C{} 之间的函数名,在调用函数时不使用 name mangling, 以保证与C的实现代码匹配

++++说明3:如果该文件被C的调用代码包含,被C编译器编译,__cplusplus没有定义,就是一个普通的头文件了

++++在C++中调用C的库函数的简单例子:

//第一:做一个C动态库

++++$vim hello_ylz.c  (立钻哥哥:vim是Linux下的一个编辑器)

#include <stdio.h>

 

void hello_ylz()

{

    printf(立钻哥哥:Hello, C++!\n);

}

 

++++编译并copy到系统库目录下(也可以自己定义库目录: man ldconfig)

----$gcc -shared -o libhello_ylz.so hello_ylz.c  (立钻哥哥:默认在Linux环境下)

----$sudo cp libhello_ylz.so  /lib/    (立钻哥哥:/lib/是Linux环境中默认库目录)

 

//第二步:写一个C++程序去调用它(C函数)

++++$vim test_ylz.cpp

#include <iostream>

 

#ifdef __cplusplus

extern C {

#endif

 

    void hello_ylz();

 

#ifdef __cplusplus

}

#endif

 

int main()

{

    hello_ylz();

    return 0;

}

 

//第三步:编译并运行

++++$g++ test_ylz.cpp -o ylz  -lhello_ylz  

++++$.ylz

 

 

 

 

 

++A.1.6、类和面向对象

++A.1.6、类和面向对象

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

【XR游戏开发QQ群:784477094

++立钻哥哥推荐的拓展学习链接(Link_Url)

立钻哥哥推荐的拓展学习链接(Link_Url)

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

++++虚拟现实VR资讯: https://blog.csdn.net/VRunSoftYanlz/article/details/89165846

++++HTC_VIVE开发基础https://blog.csdn.net/VRunSoftYanlz/article/details/81989970

++++Oculus杂谈https://blog.csdn.net/VRunSoftYanlz/article/details/82469850

++++Oculus安装使用https://blog.csdn.net/VRunSoftYanlz/article/details/82718982

++++Unity+SteamVR=>VRhttps://blog.csdn.net/VRunSoftYanlz/article/details/88809370

++++Unity减少VR晕眩症https://blog.csdn.net/VRunSoftYanlz/article/details/89115518

++++SteamVR简介https://blog.csdn.net/VRunSoftYanlz/article/details/86484254

++++SteamVR脚本功能分析https://blog.csdn.net/VRunSoftYanlz/article/details/86531480

++++SteamVR2.0开发指南https://blog.csdn.net/VRunSoftYanlz/article/details/86618187

++++SteamVR2.2.0开发指南https://blog.csdn.net/VRunSoftYanlz/article/details/88784527

++++SteamVR2.2.0快速入门https://blog.csdn.net/VRunSoftYanlz/article/details/88833579

++++SteamVR2.2.0交互系统https://blog.csdn.net/VRunSoftYanlz/article/details/89199778

++++SteamVR2.2.0传送机制https://blog.csdn.net/VRunSoftYanlz/article/details/89390866

++++SteamVR2.2.0教程(一)https://blog.csdn.net/VRunSoftYanlz/article/details/89324067

++++SteamVR2.2.0教程(二)https://blog.csdn.net/VRunSoftYanlz/article/details/89894097

++++SteamVR_Skeleton_Poserhttps://blog.csdn.net/VRunSoftYanlz/article/details/89931725

++++SteamVR实战之PMCorehttps://blog.csdn.net/VRunSoftYanlz/article/details/89463658

++++SteamVR/Extrashttps://blog.csdn.net/VRunSoftYanlz/article/details/86584108

++++SteamVR/Inputhttps://blog.csdn.net/VRunSoftYanlz/article/details/86601950

++++OpenXR简介https://blog.csdn.net/VRunSoftYanlz/article/details/85726365

++++VRTK杂谈https://blog.csdn.net/VRunSoftYanlz/article/details/82562993

++++VRTK快速入门(杂谈)https://blog.csdn.net/VRunSoftYanlz/article/details/82955267

++++VRTK官方示例(目录)https://blog.csdn.net/VRunSoftYanlz/article/details/82955410

++++VRTK代码结构(目录)https://blog.csdn.net/VRunSoftYanlz/article/details/82780085

++++VRTK(SceneResources)https://blog.csdn.net/VRunSoftYanlz/article/details/82795400

++++VRTK_ControllerEventshttps://blog.csdn.net/VRunSoftYanlz/article/details/83099512

++++VRTK_InteractTouchhttps://blog.csdn.net/VRunSoftYanlz/article/details/83120220

++++虚拟现实行业应用https://blog.csdn.net/VRunSoftYanlz/article/details/88360157

++++Steam平台上的VRhttps://blog.csdn.net/VRunSoftYanlz/article/details/88960085

++++Steam平台热销VRhttps://blog.csdn.net/VRunSoftYanlz/article/details/89007741

++++VR实验:以太网帧的构成https://blog.csdn.net/VRunSoftYanlz/article/details/82598140

++++实验四:存储器扩展实验https://blog.csdn.net/VRunSoftYanlz/article/details/87834434

++++FrameVR示例V0913https://blog.csdn.net/VRunSoftYanlz/article/details/82808498

++++FrameVR示例V1003https://blog.csdn.net/VRunSoftYanlz/article/details/83066516

++++SwitchMachineV1022https://blog.csdn.net/VRunSoftYanlz/article/details/83280886

++++PlaySceneManagerV1022https://blog.csdn.net/VRunSoftYanlz/article/details/83280886

++++Unity5.x用户手册https://blog.csdn.net/VRunSoftYanlz/article/details/81712741

++++Unity面试题ABChttps://blog.csdn.net/vrunsoftyanlz/article/details/78630687

++++Unity面试题Dhttps://blog.csdn.net/VRunSoftYanlz/article/details/78630838

++++Unity面试题Ehttps://blog.csdn.net/vrunsoftyanlz/article/details/78630913

++++Unity面试题Fhttps://blog.csdn.net/VRunSoftYanlz/article/details/78630945

++++Cocos2dx面试题https://blog.csdn.net/VRunSoftYanlz/article/details/78630967

++++禅道[zentao]https://blog.csdn.net/VRunSoftYanlz/article/details/83964057

++++Lua快速入门篇(Xlua拓展):https://blog.csdn.net/VRunSoftYanlz/article/details/81173818

++++Lua快速入门篇(XLua教程):https://blog.csdn.net/VRunSoftYanlz/article/details/81141502

++++Lua快速入门篇(基础概述)https://blog.csdn.net/VRunSoftYanlz/article/details/81041359

++++框架知识点https://blog.csdn.net/VRunSoftYanlz/article/details/80862879

++++游戏框架(UI框架夯实篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80781140

++++游戏框架(初探篇)https://blog.csdn.net/VRunSoftYanlz/article/details/80630325

++++.Net框架设计https://blog.csdn.net/VRunSoftYanlz/article/details/87401225

++++从零开始学架构https://blog.csdn.net/VRunSoftYanlz/article/details/88095895

++++设计模式简单整理https://blog.csdn.net/vrunsoftyanlz/article/details/79839641

++++专题:设计模式(精华篇)https://blog.csdn.net/VRunSoftYanlz/article/details/81322678

++++U3D小项目参考https://blog.csdn.net/vrunsoftyanlz/article/details/80141811

++++Unity小游戏算法分析https://blog.csdn.net/VRunSoftYanlz/article/details/87908365

++++Unity案例(Vehicle)https://blog.csdn.net/VRunSoftYanlz/article/details/82355876

++++UML类图https://blog.csdn.net/vrunsoftyanlz/article/details/80289461

++++PowerDesigner简介https://blog.csdn.net/VRunSoftYanlz/article/details/86500084

++++Unity知识点0001https://blog.csdn.net/vrunsoftyanlz/article/details/80302012

++++Unity知识点0008https://blog.csdn.net/VRunSoftYanlz/article/details/81153606

++++U3D_Shader编程(第一篇:快速入门篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80372071

++++U3D_Shader编程(第二篇:基础夯实篇)https://blog.csdn.net/vrunsoftyanlz/article/details/80372628

++++Unity引擎基础https://blog.csdn.net/vrunsoftyanlz/article/details/78881685

++++Unity面向组件开发https://blog.csdn.net/vrunsoftyanlz/article/details/78881752

++++Unity物理系统https://blog.csdn.net/vrunsoftyanlz/article/details/78881879

++++Unity2D平台开发https://blog.csdn.net/vrunsoftyanlz/article/details/78882034

++++UGUI基础https://blog.csdn.net/vrunsoftyanlz/article/details/78884693

++++UGUI进阶https://blog.csdn.net/vrunsoftyanlz/article/details/78884882

++++UGUI综合https://blog.csdn.net/vrunsoftyanlz/article/details/78885013

++++Unity动画系统基础https://blog.csdn.net/vrunsoftyanlz/article/details/78886068

++++Unity动画系统进阶https://blog.csdn.net/vrunsoftyanlz/article/details/78886198

++++Navigation导航系统https://blog.csdn.net/vrunsoftyanlz/article/details/78886281

++++Unity特效渲染https://blog.csdn.net/vrunsoftyanlz/article/details/78886403

++++Unity数据存储https://blog.csdn.net/vrunsoftyanlz/article/details/79251273

++++Unity中Sqlite数据库https://blog.csdn.net/vrunsoftyanlz/article/details/79254162

++++WWW类和协程https://blog.csdn.net/vrunsoftyanlz/article/details/79254559

++++Unity网络https://blog.csdn.net/vrunsoftyanlz/article/details/79254902

++++Unity资源加密https://blog.csdn.net/VRunSoftYanlz/article/details/87644514

++++PhotonServer简介https://blog.csdn.net/VRunSoftYanlz/article/details/86652770

++++编写Photon游戏服务器https://blog.csdn.net/VRunSoftYanlz/article/details/86682935

++++C#事件https://blog.csdn.net/vrunsoftyanlz/article/details/78631267

++++C#委托https://blog.csdn.net/vrunsoftyanlz/article/details/78631183

++++C#集合https://blog.csdn.net/vrunsoftyanlz/article/details/78631175

++++C#泛型https://blog.csdn.net/vrunsoftyanlz/article/details/78631141

++++C#接口https://blog.csdn.net/vrunsoftyanlz/article/details/78631122

++++C#静态类https://blog.csdn.net/vrunsoftyanlz/article/details/78630979

++++C#中System.String类https://blog.csdn.net/vrunsoftyanlz/article/details/78630945

++++C#数据类型https://blog.csdn.net/vrunsoftyanlz/article/details/78630913

++++Unity3D默认的快捷键https://blog.csdn.net/vrunsoftyanlz/article/details/78630838

++++游戏相关缩写https://blog.csdn.net/vrunsoftyanlz/article/details/78630687

++++UnityAPI.Rigidbody刚体https://blog.csdn.net/VRunSoftYanlz/article/details/81784053

++++UnityAPI.Material材质https://blog.csdn.net/VRunSoftYanlz/article/details/81814303

++++UnityAPI.Android安卓https://blog.csdn.net/VRunSoftYanlz/article/details/81843193

++++UnityAPI.AndroidJNI安卓JNIhttps://blog.csdn.net/VRunSoftYanlz/article/details/81879345

++++UnityAPI.Transform变换https://blog.csdn.net/VRunSoftYanlz/article/details/81916293

++++UnityAPI.WheelCollider轮碰撞器https://blog.csdn.net/VRunSoftYanlz/article/details/82356217

++++UnityAPI.Resources资源https://blog.csdn.net/VRunSoftYanlz/article/details/83155518

++++JSON数据结构https://blog.csdn.net/VRunSoftYanlz/article/details/82026644

++++CocosStudio快速入门https://blog.csdn.net/VRunSoftYanlz/article/details/82356839

++++Unity企业内训(目录)https://blog.csdn.net/VRunSoftYanlz/article/details/82634668

++++Unity企业内训(第1讲)https://blog.csdn.net/VRunSoftYanlz/article/details/82634733

++++Unity企业内训(第2讲)https://blog.csdn.net/VRunSoftYanlz/article/details/82861180

++++Unity企业内训(第3讲)https://blog.csdn.net/VRunSoftYanlz/article/details/82927699

++++Unity企业内训(第4讲)https://blog.csdn.net/VRunSoftYanlz/article/details/83479776

++++Unity企业内训(第5讲)https://blog.csdn.net/VRunSoftYanlz/article/details/83963811

++++Unity企业内训(第6讲)https://blog.csdn.net/VRunSoftYanlz/article/details/84207696

++++钻哥带您了解产品原型https://blog.csdn.net/VRunSoftYanlz/article/details/87303828

++++插件https://blog.csdn.net/VRunSoftYanlz/article/details/83963905

++++计算机组成原理(教材篇)https://blog.csdn.net/VRunSoftYanlz/article/details/82719129

++++5G接入:云计算和雾计算https://blog.csdn.net/VRunSoftYanlz/article/details/88372718

++++云计算通俗讲义https://blog.csdn.net/VRunSoftYanlz/article/details/88652803

++++立钻哥哥Unity 学习空间: http://blog.csdn.net/VRunSoftYanlz/

--_--VRunSoft:lovezuanzuan--_--

你可能感兴趣的:(XR技术企业内训,框架编程,C++C铸就生存利器)