自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 收藏
  • 关注

原创 游戏开发如何快找到工作,一步教你定位 直接网易游戏大厂Offer~

游戏程序员工作怎么找?快速定位 一步带你飞

2022-03-02 17:52:01 593

原创 ET-异步编程与ETTask使用

ET-异步编程与ETTask使用

2021-08-14 11:08:55 1457

原创 Unity 全局类的单例模式设定方式

编号名字次数21475Tieying or jiaying3/0.012

2021-08-14 11:06:17 416

原创 宝塔面板中Mongodb数据库无法启动,卸载重装没用 以及启动报错完美解决方案

宝塔面板中Mongodb数据库无法启动,卸载重装没用 以及启动报错报错1:Failed to unlink socket file /tmp/mongodb-27017.sock Unknown报错2:To see additional information in this output, start without the “–fork“ option报错3:about to fork child process, waiting until server is ready for connect

2021-05-13 21:31:51 2327 2

原创 LuaFramework的类图结构图(包含消息机制图)清晰明了框架结构

(一)LuaFramework的类图结构图(包含消息机制图)清晰明了框架结构

2021-02-02 12:03:11 302

原创 Unity 获得动画状态机Animator上所有动画名字以及添加动画帧事件

Unity获得动画状态机上所有动画名字看了网上的很多博客,都是Animation,都没有Animator那我把查找名字的找出来了得到动画状态机Animator,再得到他的长度,最后把名字全部存在数组中这段代码是我用在了动画帧事件中控制动画的,直接贴出来提供给大家先得到Animator private void Start() { anim = GetComponent<Animator>(); AddAnimationEvent();

2020-12-03 09:34:03 6018 1

原创 Unity常用目录对应的Android && iOS平台地址

Unity常用目录对应的Android && iOS平台地址IOS:Application.dataPath            /var/containers/Bundle/Application/app sandbox/xxx.app/DataApplication.streamingAssetsPath /var/containers/Bundle/Application/app sandbox/test.app/Data/RawApplication.temporaryCa

2020-11-07 09:47:57 393

原创 NGUI事件分发过程

NGUI的事件分发过程2.1UGUI的事件系统void OnHover(bool isOver):当鼠标移出和悬停在某几碰撞器上的时候返回布尔值void OnPress(bool isDown):当鼠标或者触摸到某个碰撞器的发生布尔值返回void OnSelect(bool selected):当鼠标或者触摸从OnPress发生后的释放将返回这个布尔值void OnClick()和OnSelect的参生条件相同,当点击或者碰撞器并没有发生拖拽的时候触发void OnDrag(Vector

2020-10-30 09:26:44 305

原创 Unity3D背包系统鼠标移动物品槽显示提示信息面板(解决常见bug)

Unity3D背包系统鼠标移动物品槽显示提示信息面板(解决常见bug)中间遇到了一点问题,不过还好解决了鼠标移动到物品槽上的ui上,弹出提示面板需要继承两个接口 IPointerEnterHandler IPointerExitHandler命名空间using UnityEngine.EventSystems;实现接口方法在这里插入代码片...

2020-08-25 00:10:54 1225

原创 unity报错:Setting the parent of a transform which resides in a Prefab****完美解决方案

unity报错:Setting the parent of a transform which resides in a Prefab****完美解决方案1.报错日志Setting the parent of a transform which resides in a Prefab Asset is disabled to prevent data corruption"2.解析翻译: 设置位于预置资产中的转换的父元素是禁用的,以防止数据损坏是不是一脸懵逼?我不就是设置一个父物品,咋就报错了呢

2020-08-24 00:41:34 5206 3

原创 Unity报错:‘** Class‘ is missing the class attribute ‘ExtensionOfNativeClass‘! 完美解决方案

Unity报错:’** Class’ is missing the class attribute ‘ExtensionOfNativeClass’!解决方案这个问题呢,虽然不会影响程序的运行,但是报一个红杠杠也很不舒服,程序员的天职是啥?不就是无限的解决bug嘛让我们分析一个这个问题** Class’ is missing the class attribute 'ExtensionOfNativeClass翻译:** Class’缺少类属性’ExtensionOfNativeClass这个就

2020-08-22 09:05:01 9610 3

原创 Lua--什么是闭包?解析闭包概念和应用

Lua–什么是闭包?解析闭包概念和应用1.什么是闭包?Lua语言中,闭包(closure)是由一个函数和该函数会访问到的非局部变量(或者是upvalue)组成的,其中非局部变量(non-local variable)是指不是在局部作用范围内定义的一个变量,但同时又不是一个全局变量,主要应用在嵌套函数和匿名函数里,因此若一个闭包没有会访问的非局部变量,那么它就是通常说的函数。简单的来说,闭包就是函数内部定义的函数,严格意义上来说,还包含了他能截获的外部变量2.闭包的实例与语法function fun

2020-08-19 22:20:21 686

原创 Lua中的GC垃圾回收机制

Lua中的GC垃圾回收机制对于内存的管理,是程序在应用的时候的必需知识点,而lua内置的GC机制,你了解咩?先从一个点分析1. GC原理算法分析不同的语言,对GC算法的设计不同,常见的GC算法是引用计数和Mark-Sweep算法,c#采用的是Mark-sweep && compact算法,Lua采用的是Mark-sweep算法:**引用计数算法:**在一个对象被引用的情况下,将其引用计数加1,反之则减1,如果计数值为0,则在GC的时候回收,这个算法有个问题就是循环引用。适合在

2020-08-19 08:54:15 1064

原创 JAVA开发的IDEA插件,让你的代码骚起来,你知道是哪九个插件咩?

JAVA开发的IDEA插件,让你的代码骚起来,你知道是哪九个插件咩?1. google-java-format代码自动格式化2.Translation翻译插件3. Key promoter X代码提示插件4. Alibaba Java Coding Guidelines阿里巴巴diam规范检测5.Leetcode Editor力扣在线刷题插件6. RestfulToolkit搜索URL7.Jclasslib Bytecode Viewer看类的字解码文件8.CamelCase

2020-08-16 18:46:03 264

转载 密码学中的同态加密算法,保证数据的安全,你了解吗?

密码学中的同态加密算法,保证数据的安全,你了解吗?目录密码学中的同态加密算法,保证数据的安全,你了解吗?1:什么是同态加密?2:同态加密算法原理3:标准化进展4: 主流同态加密算法原理4.1(1)乘法同态加密算法1:什么是同态加密?同态加密(Homomorphic Encryption, HE) 是指满足密文同态运算性质的加密算法,即数据经过同态加密之后,对密文进行特定的计算,得到的密文计算结果在进行对应的同态解密后的明文等同于对明文数据直接进行相同的计算,实现数据的“可算不可见”。同态加密的实现效果

2020-08-16 18:20:33 9708 1

原创 排序算法在游戏中的应用,你确定你了解吗?(详细的图解带你实战)

排序算法在游戏中的应用,你确定你了解吗?(详细的图解带你实战)目录排序算法在游戏中的应用,你确定你了解吗?(详细的图解带你实战)1. 归并排序1.1 作为一种典型的分而治之思想的算法应用,归并排序的实现由两种方法:1.2 接下来看看效果演示的动态图1.3 算法分治笔记图(图片来源于菜鸟网)1.4 那么了解了过程,那你确定知道他在游戏中的应用吗?那我们来了解一下吧1.5 归并算法c++实现2.堆排序2.1 动态演示图2.2 堆排序在游戏中的应用,你了解吗?2.3堆排序的c++代码实现3.桶排序3.1桶排序

2020-08-16 18:04:07 1295

原创 Unity3D游戏密码学(同态加密)作为数据Socket通信加密

Unity3D游戏密码学(同态加密)作为数据Socket通信加密1.密码学中的加密算法 密码学是保证数据安全的关键屏障,密码学实现的安全往往是通过算法所依赖的数学问题来提供, 而并非通过对算法的实现过程进行保密。Unity技术中的密码算法能够确保数据通信的隐私。 存储在云服务上的数据通过加密技术进行保护,并且所使用的公-私密钥加密技术确保了数据仅由申请数据的目标接收。 加密技术还可以帮助用户在通过网络发送和接收数据时保持半匿名,从而保护隐私。2.什么是同态加密?同态加密(Homomorphi

2020-08-16 16:36:57 818

原创 数据结构(c++、c#)---栈,队列

数据结构(c++)–栈引用命名空间#include<stack>实例stack<int> s;for(inti i

2020-08-11 23:03:27 292

原创 平衡二叉树类的封装实现

平衡二叉树1.平衡二叉树: 二叉树的每一个结点的左右子树的深度差不超过1。2.自平衡二叉树: 红黑树(R-B tree)/AVL树/替罪羊树等;3.如何实现自平衡?1.LL型:在左子树的左孩子上添加新结点(右旋)![在这里插入图片描述](https://img-blog.csdnimg.cn/20200721110347262.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9i

2020-07-22 20:46:51 258

原创 深度优先搜索(depth first search(dfs)) 和 广度/宽度优先搜索(breath first search(bfs))

(一)深度优先搜索(depth first search(dfs)):沿着一个方向一直找,直到走不了,回到上一个分支,继续;dfs:解析1.将起始点放入path中,并且标记为走过2.dfs: 步骤:1.起点存入路径中: 先上下左右2.递归流程(x.y) 1:判断x,y是否是终点,如果是终点,递归结束 2.遍历x,y周围四个点 xx,yy { 1.判断xx.yy组成的点是否能走,(不是障碍物,没有走过,没有越界) 2..如果能走,递归XX.YY.组成的点(dfs(xx,yy)

2020-07-20 23:49:36 476

原创 c++数据结构面试题(附答案)

c++数据结构面试题(附答案)1.设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则一轮冒泡排序结束后的结果为?答案: 升序:15,14,18,20,21,36,10,40 降序:20,15,18,21,36,40,14,102.写一个函数实现选择排序?答案:void choiceSort(int n[], int size){for (int i = 0; i < size - 1; i++){ int k = i; //表示当前的最小

2020-07-20 12:38:40 2090

原创 Unity3D--委托事件的封装使用

Unity3D–委托事件的封装使用1:CallBack.cs //委托类public delegate void CallBack();public delegate void CallBack<T>(T arg);2. EventType.cs //枚举类型public enum EventType{ ShowText, Printf}3.EventCenter.csusing System.Collections;using System.Collec

2020-07-12 15:20:21 329

原创 Unity--Stealth秘密行动开发(六):敌人AI

Unity–Stealth秘密行动开发(六):敌人AI分别有移动,动画,视野,射击AI移动把动画加入到状态机的融合树中,选择第一个控制的值为AnglarSpeed,第二控制值Speed选择参数通过速度和角度来生成融合的控制通过控制一个速度的值,和一个旋转的值来控制敌人AI动画1:设置成员变量 public Transform[] wayPoint; //存储AI移动的位置 public float patrolTime = 3;//休息时间 private int in

2020-07-12 15:09:26 1202

原创 Unity--Stealth秘密行动开发(五):相机的移动控制

Unity–Stealth秘密行动开发(五):相机的移动控制相机在跟随玩家的时候,会考虑到很多问题,摄像机从从原点观看玩家, 有时候,刚好这个视角,被物体挡住,这个时候,相机就需要往玩家的方向移动,最大限度为垂直于玩家,这个时候给了一种思路,就是摄像机的位置到玩家正头上的位置,为一个向量,其中取五个点,目前得到起始点,和终点,通过每个点发射一条射线到英雄,判断是否碰撞到英雄,碰到即可为当前点,碰不到则移动到下一个点,直到移动到玩家最上头1:设置成员变量 public float moveSpee

2020-07-12 14:53:41 521

原创 Unity--Stealth秘密行动开发(四):通过按键改变物体材质

Unity–Stealth秘密行动开发(四):通过按键改变物体材质在游戏的开发中,有的时候,需要改变物体的自身的材质,在触发器中控制,当玩家进入触发器区域内,可以通过按键按下,来改变物体的材质 public AudioSource audio; public GameObject laser; //持有激光墙 public Material unlockMat;//持有解锁的材质 public GameObject screen;//更改材质的物体 void Start

2020-07-12 14:36:36 582

原创 Unity--Stealth秘密行动开发(三):玩家移动

Unity–Stealth秘密行动开发(三):玩家移动玩家移动通过动画状态机来控制,移动动画使用融合树,通过Speed去控制玩家的动画运动1:设置成员变量 public static Player _instance;//单例模式 public float moveSpeed = 1;//加速度 public float stopSpeed = 30;//减速度 public float rotateSpeed = 10;//旋转速度 public bool hasK

2020-07-12 14:33:30 761

原创 Unity--Stealth秘密行动开发(二):自动滑动门

Unity–Stealth秘密行动开发(二):自动滑动门自动滑动门的原理就是根据英雄的触发器来控制门的移动,在英雄身上加上刚体,触发器,碰撞器,门的上面只需要加触发器自动门有两种:通过的钥匙开启和自动开启1.设置成员变量 public bool reqireKey = false;//门的开启是否需要钥匙 public AudioSource audio; public AudioClip openmusic; //开门声音 public AudioClip denie

2020-07-12 14:16:56 939

原创 Unity--Stealth秘密行动开发(一):封装标签Tags

Unity–Stealth秘密行动开发(一):封装标签Tags在游戏开发中,更多的是在输入的控制中,把输入封装成标签,在调用的时候,只需要通过改标签, 减少游戏的一个耦合性,也可以对游戏减少错误Tags.cspublic class Tags { public const string player = "Player";//玩家 public const string gameController = "GameController";//游戏控制器 public cons

2020-07-12 14:05:25 401 1

原创 Unity3D--场景报警灯光(差值运算)和声音控制(单例模式)

Unity3D–场景灯光渐变(差值运算)和声音(单例模式)1:报警灯光在游戏的开发中,灯光的控制是通过差值运算来达到一个渐变的,在场景中,添加一个灯光,对它进行赋值成员变量 public static AlermLight _intance;//单例模式 public bool alermOn = false;//灯光状态 public float animationSpeed=1;//速度 public Light light;//灯光 private flo

2020-07-07 13:56:58 631

原创 Cocos2d经典面试题(二)

Cocos2d经典面试题(二)1.在C++程序中调用被C编译器编译后的函数,为什么要加extern “C”?答案:C++语言支持函数重载,C语言不支持函数重载.函数被C++编译后在库中的名字与C语言的不同.假设某个函数的原型为:void foo(int x,int y);该函数被C编译器编译后在库中的名字为_foo,而C++编译器则会产生像foo_int_int之类的名字.C++提供了C连接交换指定符号extern “C”来解决名字匹配的问题;2.#define DOUBLE(x) x+x,

2020-07-06 15:27:30 1088

原创 Cocos-lua 开发棋牌游戏(欢迎场景,登录场景,注册场景)

Cocos-lua 开发棋牌游戏(欢迎场景,登录场景,注册场景)1.欢迎场景1.1:欢迎界面层设置当前层的名字,继承Layerlocal WelcomeLayer=class("WelcomeLayer",cc.Layer)1.2:初始化加载csb文件function WelcomeLayer:ctor()local welcomescene= cc.CSLoader:createNode("Scnene/Layers/welcome.csb") self:addChild(welcome

2020-07-03 14:44:33 1636

原创 Unity3d--C#封装输入键(移动,鼠标,跳,开火,换弹,蹲下)

Unity3d–C#封装输入键游戏里我们为什么要封装输入呢?答案就是到处写输入函数,会导致输入控制乱不好统一管理,有时候还有一定的干扰1:创建脚本Input.cs1.1:创建输入控制类InputAxispublic class fps_InputAxis { public KeyCode positive; public KeyCode negative; }1.2:创建子弹和链表用来存储控制键,输入值,public Dictionary&lt

2020-06-30 22:34:25 1243

原创 Cocos2d-lua-初始化界面(二段构造)

Cocos2d-lua-初始化界面(二段构造)语法规则:1:访问cocos2d-x中的类。cc.类名(例如:cc.Director,cc.Scene,cc.Sprite/cc.S2:访问cocos2dx的ui类,ccui.Button、ccui.Text、ccui.Widget3:访问函数:冒号例如: 创建精灵(local sp=cc.Sprite:create("") 获取导演单例: cc.Director:getInstance() 设置位置 : sp.s

2020-06-23 11:40:10 301

原创 Lua--实现数据结构中的链表(new,push_back,pop_front,remove,sort,insert)

Lua–实现数据结构中的链表(new,push_back,pop_front,remove,sort,insert)one:学习之前先提下问题1:描述一下元表?改变表的行为(例如相加,访问不存在的键值)相同行为的表具有同一个元表2:__index 和 __newindex的区别?__index是查询,__newindex是更新3:至少说三张cocos2dx的单例模式导演Director /精灵帧缓存SpriteFameCache/userDefault用户数据/SimpleAudioEn

2020-06-22 21:20:32 781

原创 Unity3D--播放声音(音乐)(开始播放,暂停播放,继续播放,停止播放)

Unity3D–播放声音(音乐)(开始播放,暂停播放,继续播放,停止播放)1:设置成员变量public AudioClip bgaudioClip;private AudioSource audio;2:获得组件 audio = GetComponent<AudioSource>();3:设置启动计时播放 private void Awake() { Invoke("PlayMusic", 6f); }4:播放声音 //播放音乐

2020-06-22 09:44:53 14063

原创 Unity3D--文本设置旁白文字(类似打印机显示输出到屏幕)采用DoTween插件

Unity3D–文本设置旁白文字(类似打印机显示输出到屏幕)–采用DoTween插件1:设置旁白文字 public Text msgText; private bool isActive = false; private float timer = 0; //计时器 private string msg1 = "2020年1月,一场由新型冠状病毒引起疫情的开始在武汉爆发"; private string msg2 = "随之席卷全国"; private

2020-06-22 09:27:35 1051 1

原创 Unity3D--击毙怪物文本提示及其带声音(文本渐隐渐现)

Unity3D–击毙怪物文本提示(文本渐隐渐现)1:成员变量public Text hintText;public AudioClip FirstBlood;//一杀声音public AudioClip DoubleKill;//二杀声音public AudioClip triplekill;//三杀声音public AudioClip multkill;//多杀声音public AudioSource audioSources;private string hintmsg = "";p

2020-06-22 09:18:27 808

原创 Lua-面试考题附答案解析(一)

Lua-面试考题附答案解析(一)看看你有多少分,评论区等你1.实现替换字符串"abcdefgh"中的"abc"为"ddc".(10分)答案:string.gsub("abcdefgh","abc","ddc")2.写出下面程序的输出:(10分)g = 1local a = 3function add(a, b)g = g + 1a = a + 1b = b + 1return { a + b }, cendprint(add(1, 2)[1])print(a)print(g

2020-06-20 00:27:43 3920

原创 Lua--文件加载(四种方法)5.0版本

Lua–文件加载(四种方法)5.0版本当前使用的Lua:5.0版本1:loadstring :加载字符串,返回函数 local f=loadstring('print("hello world")') print(type(f)) --function f() --打印"hello world"2:loadfile :加载文件 ,返回函数1:必须加后缀 2:文件用/隔开local f=loadfile("Car.lua")print(type(f))--functionlocal

2020-06-19 10:56:35 1726

原创 Lua--继承与多态(实例)

Lua–继承与多态交通工具类:Vehicle(速度 /通过里程数求时间) --父类鸣笛方法汽车类:Car --子类卡车类:Truck --子类1:创建父类 :Vehicle交通工具类local Vehicle={}1.1父类构造function Vehicle:new(speed)local o={}o.speed=speed or 0setmetatable(o,self)self.__index=selfreturn oend1.2:父类方法:spe

2020-06-19 10:52:35 391

空空如也

空空如也

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

TA关注的人

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