自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (5)
  • 收藏
  • 关注

原创 反射、泛型读取XML后动态创建实例并赋值

前言:最近小匹夫参与的游戏项目到了需要读取数据的阶段了,那么觉得自己业余时间也该实践下数据相关的内容。那么从哪入手呢?因为用的是Unity3d的游戏引擎,思来想去就选择了C#读取XML文件这个小功能。网上的例子倒也不少,但总是觉得缺点什么。比如读取xml文件之后该如何处理?看到的文章基本上都是手动创建一个目标类的实例,然后手动从读取的XML文件的内容中给刚才创建的目标类实例相关字段赋值。缺点什么呢?对嘞,感觉上不够简单和智能。正所谓驱动科技发展的原因就是懒,为了使我们的小工具能够傻瓜到只需要指定一个

2021-04-30 18:28:03 399 1

原创 时间复杂度和空间复杂度

数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。为什么需要复杂度分析?首先,我可以肯定地说,你这种评估算法执行效率的方法是正确的。很多数据结构和算法书籍还给这种方法起了一个名字,叫事后统计法。但是,这种统计方法有非常大的局限性。 测试结果非常依赖测试环境 测试环境中硬件的不同会对测试结果有很大的影响...

2021-04-30 17:46:59 822 1

原创 Unity中的面向对象

面向对象是的精髓,是其能够模拟真实世界的根源所在,面向对象问题也是诸多Unity程序员每天需要苦苦面对的问题。面向对象思维的精髓是:依据我们所生活的这个物理世界中的奇妙特性,将世界观与代码观融为一体。Unity中的面向对象1 场景物体与脚本看图中标注的1,2,3三大块。【单击图片可放大】第1块: Hierachy在场景下面有 Main Camera,Directional Light,Cube和s四个物体,这四个物体都是在场景中实实在在存在的游戏对象,即GameObject.

2021-04-29 15:04:19 1226 1

原创 Unity开发尽量避免使用MonoBehavior

链接:https://www.zhihu.com/question/31163311/answer/557136453“尽量避免使用MonoBehavior”,这显然是不对的。本科阶段我们就学习过设计模式,即良好的程序要尽可能提高聚合性,降低耦合性。而巨量的MonoBehavior有大概率是会大大拉低聚合性,并使逻辑缠绕在一起提高耦合性的。耦合度高的代码不仅难以维护,还会造成巨量性能消耗。举个栗子吧,比如你需要实现这么一个需求:做一个Left 4 Dead中的打僵尸的FPS射击实现,...

2021-04-29 11:28:07 3283

原创 Unity3d是如何调用MonoBehaviour子类中的Start等方法的?

Unity3d开发,需要继承MonoBehaviour,实现Start方法:using UnityEngine;using System.Collections;public class ExampleClass : MonoBehaviour { private GameObject target; void Start() { target = GameObject.FindWithTag("Player"); }}但是这个Sta...

2021-04-29 11:13:14 1000

原创 C# 反射及使用场景

反射就是反着来。假如知道一个类的名字,我要得到它的方法,你知道怎么办吗?反射就是解决诸如此类的问题开始:我一个项目里面定义了一个Person 接口,有一个方法叫go()public interface Person {public void go();}然后我定义一个Student类来实现它public class Student implements Person{public void go(){System.out.print("student is go........ ");}

2021-04-28 12:10:10 1023 1

原创 FFT(快速傅里叶变换)

https://blog.csdn.net/enjoy_pascal/article/details/81478582https://blog.csdn.net/WADuan2/article/details/79529900

2021-04-22 23:29:23 192

原创 VB两个Excel表合并查找替换

两个Excel表合并查找替换:Sub 替换() Dim vData As Variant, nRow As Integer, vContrast As Variant, nI As Integer With Sheets("对照表").UsedRange vContrast = Sheets("对照表").UsedRange.Offset(1).Resize(.Rows.Count - 1).Value '单元格向下偏移一行,并大小向上调节1行创建数组

2021-04-22 23:20:11 581

原创 Unity开发常见错误集合

这里记录的是原因隐藏比较深比较神奇 又与项目无关的bug在写bug之前记录几点能提高查询bug效率,减少加班时间的手段,要想写代码少出错,掌握设计原则也是很重要的在像Dictionary,List这样的存储列表里面,取值的时候最好判断是否存在,不存在则进行报错打印,以及某个函数返回空值的时候进行报错打印,因为程序发布出去以后像WebGL,iOS,安卓这样的平台报错打印是不能直接确定到哪一行的,最多确定到哪个函数,如果有了查找为空的判断,调试的时候知道更多的信息,会方便很多使用一些字符串常量的...

2021-04-22 17:37:52 5509

原创 UnityAction异步回调导致的方法执行时机错误

else if(reply.upcomingEventsItem.Count > 0) { Debug.Log("reply.buyPackage == null 或 this.eventsReply == null"); UpComingBuffer.GetInstance().UpComingEventList = reply.upcomingEventsItem; ...

2021-04-22 17:12:24 398

原创 Unity  把向量归一化的normalized和Normalized

场景:只需要拿到向量的方向,不需要这个向量的距离时两者联系:其实两个方法是一模一样,结果目的都一样,把一个向量拿到或者改变成 归一化向量,所谓归一化就是 把原来某个向量变成 x,y,z平方之和的平方根为1,也就是新向量长度为1.但是!方向与原向量一样!两者区别:一个是方法Normalized(); 他会把一个向量直接变成 长度为一的 单位向量。ThirdVectorPoint.Normalize(); 注意这是一个函数,一个方法!一个小写normalize 这是一个属性,只能.

2021-04-22 09:08:32 2253 2

原创 C#比较两个对象是否相等

https://blog.csdn.net/u014467089/article/details/80135513https://blog.csdn.net/u014467089/article/details/80136178

2021-04-17 17:24:34 559

原创 Unity——RectTransform详解

本文讲解顺序1.Anchor(Min,Max) 2.绝对与相对布局 3.Pivot 4.Offset(Min,Max) 5.SizeDelta 6.rect 7.anchoredPosition 8.Recttransform类中一些方法的介绍赶时间的看官可以直接跳到感兴趣的部分1.Anchorunity中的ui元素是有严格的父子关系的,子物体的位置是根据父物体的变化而变化的,而子物体和父物体联系的桥梁就是Anchor。在recttransform面板中可以调整锚点的值为.

2021-04-02 17:01:41 2281

原创 unity 移动物体位置的常用方法

在Unity开发中我们难免要使用代码控制角色的移动,现将已知的几种方法总结如下:一、transform.Translate()functionTranslate(translation:Vector3,relativeTo:Space=Space.Self) : void沿着Translation的方向移动|translation|的距离,其结果将应用到relativeTo坐标系中。如果relativeTo为空(即调用方法Translate(translation:Vector...

2021-04-02 12:55:57 5236 1

相机畸变矫正标定棋盘格打印图

相机畸变矫正标定棋盘格打印图

2022-12-16

Deforming_Pages_of_3D_Electronic_Books_sketches_01.pdf

u3D翻书效果 Deforming_Pages_of_3D_Electronic_Books_sketches_01.pdf

2020-05-08

手游核心技术实战.pdf

举例来讲,Unity3d流行使很多C++阵营的人一夜之间用上C#,Cocos2d-x的流行又使人离不开C++。苹果的手机漫天都是的时候,Object-C也就成为了很多开发者必须要会的东西。所以,选择的时候,首要的不是语言,而是你选择用什么东西做游戏。语言只是其中的一部分,不能本末倒置。 在软件开发中,游戏开发这个方向看起来目标很明确,但其实是个领域很广的方向,入门的时候如果得不到指点一二,很容易误入歧途

2020-02-23

现代游戏开发工作流.pptx

程序部 码农们的家乡 程序猿的部落 头发的战俘集中营 先说这个整个部门啊 程序游戏程序员 需要学习什么语言呢 这要看是什么游戏 如果是页游 一般需要AS3或者是HTML6 如果是手游平台 那一般是JAVA 如果是PC和游戏机 那一般是C++ 我主要说的是另一个 我认为这个部门的所有职位都必须要非常了解游戏 可能很多人觉得 只要代码写得好就好啦 诶不是啊 这个部门的人懂不懂游戏 对游戏的整体品质有极大的影响 因为如果这个部门的人对游戏不熟悉 他们将很难抓住一些细节的东西 设计部或者技美还是会提出细节的需求 当然这个前提是这些人也有大量游戏经验 如果像国内很多团队那样 这个需求就算交货了 但就算他们能够提出更细节的需求 第一 如果每个细节都得说那么清楚 那工作量和沟通成本会呈指数放大 第二 这里面还是很多的东西是别人从表面看不出来的 甚至根本不知道怎么提出需求 比如如果这个图标拖出去的时候 这个技能刚好没了呢 比如这是个武器技能 刚好这个武器突然坏了呢 或者晚点把这个图标拖到了正在cd的技能上的 又或者把他的背包格子呢 又或者拖出来的的时候没有放左键情况下按了右键 我原本右键是可以触发技能的呢 等等这些情况到底应该发生什么事情 一个熟悉和不熟悉游戏的程序员 考虑到的是完全不同的情况 有些情况QA部门能够发现出来 但有些就很难发现 而这个时候就会留下BUG 同理 在战斗系统 升级系统等等各个系统都有这样的例子 比如战神一个按键回收斧头 这能提出一大堆问题 斧头在飞回来的路上碰到小屁孩怎么办 玩家松手了怎么办 放技能了怎么办 换武器了怎么办 播放过场了怎么办 等等一大堆问题 虽然如果出了BUG总会被抓出来 但是一批好的程序员 如果在一开始就能理清这些逻辑 那无疑让游戏整体品质大大提高 所以一个好的游戏程序员 不能什么事都靠设计提需求 靠QA反馈BUG 自己也需要经验和判断 这决定了游戏的成品品质 而想要成为这样的游戏员 只会写代码可不够啊 还需要大量的游戏经验以及 对这些细微之处的观察 观察好的游戏是怎么处理这些奇葩情节 思考他们是怎么编写这些复杂逻辑 方能成为一个好的程序员 那现在说说这个部门各个职位

2020-02-23

LitJson.dll

游戏网络通信的时候,需要传输很多信息,之前都是把各种信息拼接成字符串,然后接收到字符串后在个顺序分割得到信息,但是当信息一多的时候就比较麻烦了.就学习了下json来传输,通过键值对来进行设置信息和解析信息就方便多了,LitJson是一个封装好的C#的Json处理dll,很小只有几十K.就用他进行处理

2020-02-23

unity3d逻辑程序员开发面试题.doc

unity开发面试题目 Unity3d逻辑程序员面试题 姓名: 时间(30分钟)请认真作答,字迹不要潦草 基础题: 1.C# 值类型和引用类型的区别?什么是拆装箱,如何避免 现有一Dictionary testMap ,如何删除key 小于1的元素?

2020-01-01

空空如也

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

TA关注的人

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