- 博客(39)
- 收藏
- 关注

原创 Unity开发简单的RPGDemo【工程分享】
写在前边最近入职新公司,在前期学习阶段,需要去实现一个简单的RPG小练习,在这里便记录分享一下,本RPGDemo中的一些基本功能实现以及工程分享。感兴趣的同学,在文章最下边可以找到项目的GitHub地址哦。正文基本功能首先来介绍一下Demo中的基本功能及效果。1.使用terrain生成基本地形2.主角NPC与野怪NPC的动画效果,包括移动、攻击、站立以及死亡动画。3.摄...
2020-04-17 15:26:43
1718
3
原创 Lua基础教程之函数
定义函数--获取较大值function Max(a,b) return (a > b) and a or bend lua中还可以将函数作为参数传递给函数myprint = function(param) print("这是打印函数 - ##",param,"##")endfunction add(num1,num2,functionPrint) result = num1 + num2 -- 调用传递的函数参数 functionPrin
2020-05-10 09:57:47
422
原创 Lua基础教程之语句
赋值 基础赋值a = 10 tab.name = "name" 多重赋值a,b = 10,"abc" a,b = b,a --交换两个变量 多重赋值时,注意左右格数不匹配的情况 a,b,c = 0,1 print(a,b,c) 输出 0,1,nil a,b,c = 0 print(a,b,c) 输出 nil.nil,0局部变量与块(block) 使...
2020-05-07 09:53:52
367
原创 Lua基础教程之表达式
算数运算符 +、-、*、/、^(指数)、%(取模) 取模操作定义a%b == a-floor(a/b)*b 对于整数来说,以上算式通常都是有意义的,热对于实数来说,则可能有其他用途。 例如,X%1的结果就是X的小数部分,而X-X%1的结果就是其整数部分。类似的,X-X%0.01则是X精确到小数点后两位的结果。x = math.pi print(x-x%0.01)...
2020-05-05 15:56:46
390
原创 Lua基础教程之类型与值
注释单行注释 -- 多行注释 --[[ --]]基本数据结构 nil nil 类型表示一种没有任何有效值,它只有一个值 -- nil,例如打印一个没有赋值的变量,便会输出一个 nil 值,对于全局变量和table,nil还有一个“删除”的作用,将其赋值为nil即可。 nil作比较时,应该加上双引号""type(X) nil type(X)==nil...
2020-05-05 15:53:02
413
原创 剑指Offer之从上到下打印二叉树
题目: 从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。 示例:给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回:[3,9,20,15,7]题解: 显而易见,使用BFS(广度优先搜索)来遍历二叉树,利用队列的先进先出特性来存储当前遍历节点。...
2020-04-29 09:39:05
159
转载 剑指Offer之压入栈弹出序列
题目: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如,序列 {1,2,3,4,5} 是某栈的压栈序列,序列 {4,5,3,2,1} 是该压栈序列对应的一个弹出序列,但 {4,3,5,1,2} 就不可能是该压栈序列的弹出序列。 即:判断序列是否为栈的弹出可能结果。 示例 1:输入:pushed = [1...
2020-04-29 09:31:33
130
原创 剑指Offer之包含min函数的栈
题目: 定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。 示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);minStack.push(-3);minStack.min(); ...
2020-04-29 09:28:46
167
原创 剑指Offer之顺时针打印矩阵
题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。 示例 1: 输入:matrix = [ [1,2,3], [4,5,6], [7,8,9] ] 输出:[1,2,3,6,9,8,7,4,5] 示例 2:输入:matrix = [ [1,2,3,4], [5...
2020-04-28 09:29:43
128
原创 剑指Offer之对称二叉树
题目: 请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。 例如,二叉树[1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2/ \ / \3 4 4 3但是下面这个[1,2,2,null,3,null,3] 则不是镜像对称的: 1 / \ 2 2...
2020-04-28 09:25:52
129
原创 剑指Offer之二叉树镜像
题目: 请完成一个函数,输入一个二叉树,该函数输出它的镜像。例如输入: 4 / \ 2 7 / \ / \1 3 6 9镜像输出: 4 / \ 7 2 / \ / \9 6 3 1 示例 1: 输入:root = [4,2,7,1,3,6,9] 输出:[4,7,2,9,6...
2020-04-27 09:56:35
127
原创 剑指Offer之二叉树的子结构
题目: 输入两棵二叉树A和B,判断B是不是A的子结构。(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值。 例如:给定的树 A: 3 / \ 4 5 / \ 1 2给定的树 B: 4 / 1返回 true,因为 B 与 A 的一个子树拥有相同的结构和节点值。 示例 1:...
2020-04-27 09:48:34
153
原创 剑指Offer之合并两个有序链表
题目 将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例输入:1->2->4, 1->3->4输出:1->1->2->3->4->4题解 遍历指针,比较节点值大小,合并即可。注意最后剩余节点的处理。public class ListNode { ...
2020-04-27 09:44:38
174
原创 剑指Offer之反转链表
题目: 反转一个单链表。 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL题解: 从前向后依次反转即可,如下所示第一次:2->1->3->4->5第二次:3->2->1->4->5第三次:4->3-&...
2020-04-26 10:28:26
110
原创 剑指Offer之链表中的第k个节点
题目: 输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。 示例: 给定一个链表: 1->2->3->4->5, 和 k = 2. 返回链表 4->5.题解:...
2020-04-26 10:08:23
205
原创 剑指Offer之调整数组顺序使奇数位于偶数前边
题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。题解: 使用头尾双指针,头指针找出偶数,尾指针找出奇数,然后交换即可。 代码实现public class Solution { public int[] Exchange(int[] nums) { int i ...
2020-04-26 10:05:08
128
原创 剑指Offer之删除链表中的节点
题目: 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。返回删除后的链表的头节点。 示例 1:输入: head = [4,5,1,9], val = 5输出: [4,1,9]解释: 给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 4 -> 1 -> 9. 示例 2:输入: head = [4,5,...
2020-04-24 09:42:09
172
原创 剑指Offer之打印从1到最大的n位数
题目: 输入数字n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 示例 1: 输入: n = 1 输出: [1,2,3,4,5,6,7,8,9]题解: 求出最大值,遍历存入即可。public class Solution { public int[] PrintNumbers(int...
2020-04-24 09:36:51
174
原创 剑指Offer之数值的整数次方
题目: 实现函数double Power(double base, int exponent),求base的exponent次方。不得使用库函数,同时不需要考虑大数问题。 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例2: 输入: 2.10000, 3 输出: 9.26100 示例3: 输入: 2.00000, -2 输...
2020-04-24 09:33:57
115
原创 剑指Offer之二进制中1的个数
题目: 请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。 示例 1:输入:00000000000000000000000000001011 输出:3 解释:输入的二进制串 00000000000000000000000000001011中,共有三位为 '1'。...
2020-04-23 09:46:48
130
原创 剑指Offer之剪绳子
题目: 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] 。请问 k[0]*k[1]*...*k[m] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。 示例 1: 输入: 2 输出: 1 ...
2020-04-23 09:42:38
203
原创 剑指Offer之机器人运动范围
题目: 地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8=19。请问该机器...
2020-04-22 09:57:18
177
1
原创 剑指Offer之矩阵中的路径
题目: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。例如,在下面的3×4的矩阵中包含一条字符串“bfce”的路径(路径中的字母用加粗标出)。 [["a","b","c","e"], ["s","f","c",...
2020-04-22 09:44:36
101
原创 剑指Offer之旋转数组的最小数字
题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组[3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。 实例1: 输入:[3,4,5,1,2] 输出:1 实例2: 输入:[2,2,2,0,1] 输出:0题解: 方法一:...
2020-04-21 10:04:40
116
原创 剑指Offer之青蛙跳台阶
题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。注意:当n=0时,result=1; 实例1:输入:n = 2输出:2 实例2:输入:n = 7输出:21题解: 通过计算前几项后,发现是变相...
2020-04-21 09:50:36
149
原创 剑指Offer之斐波那契数列
题目:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下: F(0) = 0, F(1)= 1 F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模 1e9+7(1000000007...
2020-04-21 09:46:13
123
原创 剑指Offer之用两个栈实现队列
题目:使用两个栈实现队列,实现插入,删除函数功能。题解:一个栈用来插入,另一个栈用来删除元素。当插入元素时,直接插入,当删除元素时,如果删除栈为空,则将插入栈中元素依次出栈存入删除栈(实现反序),然后出栈即可,若删除栈不为空,则直接出栈删除即可。注意:队列为空时,返回-1;代码实现public class CQueue { private Stack<in...
2020-04-21 09:42:42
127
1
原创 剑指Offer之重建二叉树
题目: 输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例:前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7题解: 经验总结:二叉树的问题...
2020-04-04 11:18:10
121
原创 剑指Offer之从尾到头打印链表
题目:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例:输入:head = [1,3,2]输出:[2,3,1]题解:利用栈的属性,遍历节点,将节点值压入栈中,在将栈中值弹出存入数组即可。public class ListNode{ public int val; public ListNode next; public...
2020-04-04 10:08:09
121
原创 剑指Offer之替换数组中的字符
题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。题解:1.转换为char 数组 进行处理static string ReplaceSpace(string item){ char[] tempstr = item.ToCharArray(...
2020-04-03 10:39:15
145
原创 剑指Offer之二维数组中的查找
题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 示例{ [1,2,8,9], [2,5,8,12], [3,5,7,8], [10,11,12,13] }...
2020-04-03 10:08:52
90
原创 Unity发布WebGL运行问题
写在前面 Unity发布到Web平台的项目,在低版本的浏览器中,直接右键打开index.html文件,便可打开项目运行,但是升级浏览器后,发现在双击打开项目时,显示网页不支持运行WebGL等错误。下面我就来解决一下这个小问题。正文 ...
2020-04-02 21:09:52
4387
1
原创 剑指Offer之数组中重复数字
题目: 找出数组中重复的数字。 在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入: [2, 3, 1, 0, 2, 5, 3] 输出:2 或 3题解: 方法一: 利用字典Dictionary,遍历数组,在将数...
2020-04-02 10:22:04
132
转载 Unity Shader 基础教程
Unity-Shader-基础教程在Github上看到一篇关于Unity-Shader的教程,感觉还不错,作者写的很好,很适合Unity-Shader的基础入门,我在这里翻译一下,分享给大家,英文水平很烂,大致能明白Unity-Shader是什么,渲染管线的工作流程,以及Unity Shader的一些类型和怎样编写Unity Shader。(原文链接)第一部分:什么是Shader?S...
2019-05-07 15:46:09
434
1
原创 Unity中实现3D拾取功能及其原理
写在前面3D拾取功能在实际项目开发中是一种非常常用的功能,尤其是在3D游戏中,拾取技术是必不可少的基础操作,拾取技术极大的增强了游戏的交互性。3D拾取原理简单的来说,3D拾取是通过屏幕上的一个点与摄像机的位置(摄像机控件原点)构成一条射线,然后与场景中物体进行相交,判断是否相交,进而进行拾取操作,这个相交判断的实际是射线与三角形的相交判断算法。在实际开发中,更多的使用包围盒等算法...
2019-05-06 17:10:08
6431
转载 深入探索3D拾取技术
3D拾取在游戏中,玩家需要通过点击2D屏幕来选择3D物体,这个过程就是拾取(picking)。拾取是3D游戏必不可少的基本操作,它实现了玩家和游戏世界内对象的交互。虽然拾取技术很基本,但它却迷惑了很多3D初学者。很多朋友都问过我关于拾取的细节问题,这让我觉得很有必要具体探讨一下该技术。 其实,拾取之所以让很多开发者感到复杂,主要原因在于它跨域了流水线的多个阶段,并且是逆流水线上行。另外,它...
2019-05-06 17:04:58
568
转载 【好文推荐】在你步入职业软件开发生涯那天起就该知道的五件事
这篇博客是实验室老哥推荐给我的,觉得很受用,便转发过来了。我也非常感谢感谢他,免费帮他宣传一波他的博客吧(我认为他很强,哈哈哈)。本博客转发自浅墨_毛星云,原文链接:https://blog.youkuaiyun.com/poem_qianmo/article/details/24658081这是一篇译文。个人觉得很不错,就发到博客上来了。 我的软件开发生涯开始于大约15年以前。但是直到最...
2018-10-31 19:03:12
160
原创 Three.js实现台灯的灯光效果
写在前面这篇博客和Demo早就想写了,简单版的Demo早就完成了,博客最近才写,主要的原因是原来不努力啊,非常惭愧啊。扯远了,不说了。回到正轨,这个案例的由来是有一天晚上从实验室回宿舍,看到街边的路灯,便想实现一下。结果便了无音讯了(哈哈哈嗝.gif),前两天在一个webgl交流群里,有个人发了一张室内装修渲染图,我看到了里边的台灯,便想起了这个坑还没有填,最后便有了这个案例。台灯效果类似...
2018-10-31 17:19:20
3594
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人