- 博客(40)
- 资源 (1)
- 收藏
- 关注
原创 Shader编程
管线渲染定义:图形数据在GPU上经过运算处理,最后输出到屏幕的过程1. 顶点处理: 接收模型顶点数据、坐标系装换2. 图元装配: 组装面、连接相邻的顶点,绘制为三角面3. 光栅化 : 计算三角面上的像素,并为后面着色阶段提供合理的插值参数(以及深度值)4. 像素处理: 对每个像素区域进行着色、写入到缓存5. 缓存: 一个存储像素数据的内存块,最重要的缓
2017-12-22 09:15:35 9058
原创 C#计算天数(星期几)
第一种:给定两个日期计算相隔的天数例 2017/11/2 2020/3/29第二种:给定一个日期,求过了Y 年 M 月 D 天 经过了多少天例 2017/11/2 3年/14个月/53天/
2017-12-02 11:39:31 1785
转载 C# 1000的阶乘
转载自:http://blog.sina.com.cn/s/blog_4baa2c250100ijpn.html1000的阶乘是一个非常之大的数字,在看到这个问题的第一个反应就是,直接运算肯定会溢出,事实也如此,我们如何解决这个问题呢?我们小学的时候就会计算这样的乘法:123*9三九二十七进二写七 7 2二
2017-12-01 22:47:01 993
原创 C#请写出代码判断一个整数是不是2的幂次方
思路一:通过递归 a/2计算public static bool Judge(float a) { if (a == 1) return true; if (a < 1) return false; return Judge(a / 2);
2017-12-01 22:27:12 2302
原创 C#1.数组里有{1,2,3,4,5,6,7,8,9,10},在一个 新数组中进行随机打乱顺序。
思路一:通过Random.next获取随机下标//1.数组里有{1,2,3,4,5,6,7,8,9,10},在一个 //新数组中进行随机打乱顺序。 public static int[] RandArray(int[] arr) { int[] newarr = new int[arr.Length];
2017-12-01 21:28:41 6926
原创 C# 泛型委托应用
泛型委托实现例如 List.Find() /Array.Find()的功能,就是一个工具(跨平台、通用、方便)using System.Collections;using System.Collections.Generic;using UnityEngine;using System;/// /// 泛型和委托应用/// public static class Array
2017-11-27 17:54:12 551
原创 Unity 对象池的简单介绍(Dictionary使用)
使用对象池的目的:增加频繁使用的游戏物体的 复用性 (游戏物体(敌人小兵)反复的创建与销毁 会消耗比较多的性能)创建对象池的步骤:1.创建一个存放对象的字典(对象池)2.对对象池的操作方法2.1创建对象 CreateObject()2.2为对象池添加元素 Add()2.3寻找可以使用的对象 FindUs
2017-11-27 17:27:24 3971
原创 unity 连接Sqlit数据库,操作数据库
链接Sqlite数据库需要sqlite工具,下载对应系统的工具 SQLite Download Page和下载sqlite可视化工具(下方百度云)操作Sqlite数据库,通过封装的(增删改查)的类来操作数据库 可视化工具和DBAccess类脚本链接:http://pan.baidu.com/s/1mij6z7E我用的是Mac系统,数据库的路径不一样,如果是windows系统的朋友需要改
2017-11-13 21:59:31 1034
原创 Unity 通过服务器加载配置文件(Text/XML/Json)
思路:上传文件到本地服务器,通过www获取本地服务器中的配置文件数据,将配置文件中的数据存放到字典中方便使用例:
2017-11-13 21:42:42 2720
原创 unity GPU优化(Occlusion Culling遮挡剔除,LOD多细节层次,GI(Global Illumination)全局光照)
渲染管线:定义:图形数据在CPU上经过运算处理,最后输出到屏幕的过程 1. 顶点处理:接收模型顶点数据、坐标系转换2. 图元装配:组装面、连接相邻的顶点,绘制为三角面3. 光栅化:计算三角面上的像素,并为后面着色阶段提供合理的插值参数(以及深度值)4. 像素处理:对每个像素区域进行着色、写入到缓存中5. 缓存:一个存储像素数据的内存块,最重要的缓存是帧缓存与深度缓存•
2017-11-13 18:36:57 6702 1
原创 Unity 资源热更之AssetBundle
通过阅读:http://blog.csdn.net/y1196645376/article/details/52556938简单实现功能1.菜单栏中添加一个打包的按钮using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;using System.
2017-11-10 22:55:32 573
原创 Unity Editor编辑器(MenuItem)
在菜单栏中添加按钮是为了方便大佬们编程方便根据我写Editor编辑器的总结,可以添加 7 种按钮注意:所有Editor的脚本不需要挂载,只需要放在Editor文件夹下,Unity会自动编译,所有方法都是静态方法MenuItem ConstructorOther VersionsLeave feedbackpublic Me
2017-11-10 21:48:25 816
原创 Unity UI层级管理框架
1.为什么要使用UI层级管理框架?根据我个人写的UI层级总结出:在一般UI界面的 Canvas 下有多个Panel,每个Panel下又有很多个需要操作的控件(Image、Text、inputField、Button)等,因此要去管理如此多的事件处理非常繁琐,UI的层级结构刚好适合用一套框架来管理 :Canvas--->Panel--->(控件)例:第一步:给需要监听
2017-10-31 12:01:17 7310
原创 Unity3d 三种血条的制作
方法一:(推荐)结果:血条跟随目标物体移动,血条一直面向摄像机步骤一:1.制作一个血条(Image)的预设体;2.在Canvas 中添加一个Plane,作为血条的父物体;3.(1,2)准备工作做完了,思路:在生成游戏物体时,生成血条,把游戏物体的3D坐标转换为屏幕坐标,让血条的坐标等于游戏物体的屏幕坐标,如果要修改,可以添加一些偏移,代码如下public class E
2017-10-27 21:09:16 11774 3
原创 unity3d C#之配置文件的加载
一,放置配置文件位置一般放在 StreamingAssets下面我的TowManager.TxT文件里面写的是[Tow_Crystal]#attack=10#attackDistance=15#attackInterval=1.5#weaponName=Test[Tow_Gatling]#attack=15#attackDistance=10
2017-10-25 17:42:41 3994
原创 Unity3d NavMeshAgent自动寻路组件
我们常见的有三种寻路方式1.路点寻路2.单元格寻路3.网格寻路简单介绍一下1.路点寻路 如下图,物体从 point位置出发依次经过(point1 、point2、point3、point4、point5)进行移动代码如下using System.Collections;using System.Collections.Generic;using UnityEngin
2017-10-19 20:19:45 16725
原创 Unity3d 动画系统介绍
动画类容:1.了解老版动画(Animation)播放2.熟悉新版动画的制作3.熟悉Animator Controller的使用4.了解动画中的BlendTree(混合树)一,介绍(Animation)动画播放添加 Animation 组件注意:组件上有 Animations 这个动画列表,一般都会自动加在到里面,如果没有手动拖入;
2017-10-17 17:24:22 25463
原创 Unity3D 物体移动的方法
1.简介 在unity3d中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position。2.通过Transform组件移动物体 Transform 组件用于描述物体在空间中的状态,它包括 位置(position), 旋转(rotation)和 缩放(scale)。 其实所有的移动都会导致position
2017-10-11 09:14:24 1097
原创 Unity3d 简单的背包系统(物品交换)
预览图:根据Hierarchy面板创建控件UI Panel--->Scroll View ---->Gird(Empty gameobject)----很多Image等Grid加了Grid Layout Group(用于UI排版的控件) Scroll Rect(Script)使物体在一定范围内有一定的弹性缓动和用于固定(水平、垂直)的移动(查找详细资料了解)还有一个Pa
2017-10-10 20:42:49 4803 1
原创 Unity3d 通过射线使物体移动
实现:using System.Collections;using System.Collections.Generic;using UnityEngine;public class RayTest : MonoBehaviour { //设置射线在Plane上的目标点target private Vector3 target; // Use this for ini
2017-10-10 19:50:48 4169
原创 Unity3d UI中对于鼠标的监听事件
Plane中的的一个Button and Image控件方法一.倒入命名空间 using UnityEngine.EventSystem; using UnityEngine.UI;通过接口 EventTrigger (EventTrigger继承类很多的父类,可以查看其源码VS编辑器按 F12
2017-10-10 14:55:05 7776
原创 C# 泛型
1. 泛型初识: 我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string 数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每一数据类型,因为方法的参数类型不同。 public static void Swap(int a,int b){
2017-09-16 10:35:18 257
原创 C# 接口(Interface)
接口的概念: 由于C# 语言不支持多重继承,所以该功能很重要。此外,您必须使用接口,如果要模拟结构的继承,因此他们不能从另一个机构或选件类实际继承。如下面的实例所示,通过使用Interface 关键字,定义一个借口。interface USB{ void Read(string[] datas);}
2017-09-15 21:28:34 497
原创 C# 集合( Stack和Queue 、Dictionary、 ArrayList和List<T> )
对于集合的分析1.集合的概念2.Stack 和 Queue3.Dictionary 4.ArrayList和List一. 集合的概念1.为什么要有集合对于很多应用程序,需要创建和管理相关对象组。有两种方式可以将对象分组创建对象数组,如下例: object[] obj = new object[4] { 1, 2.23, "name", 'a'
2017-09-09 15:29:33 2726
原创 C# 单例设计模式
什么是单例设计模式?简单来说单例设计模式就是确保一个类只有一个实例为什么要有单例设计模式?单例模式是资源管理的必备模式,保证一个类只有一个实例,并且这个实例易于被访问。如何实现单例设计模式?1.构造方法设为private2.内建静态实例3.静态构造方法给实例做初始化 public class Inforplayer{ private static I
2017-09-09 11:18:48 469
原创 C# 委托(delegate)的使用
一.委托的概念1)什么是委托 之间学过的任何类型,不管是值类型还是引用类型,其变量都可以进行赋值,或者作为方法的参数进行传递,而如何引用方法或者把方法作为参数进行传递呢?这就需要用到委托 delegate. 委托也是一种类型,它与类一样,需要我们自己来定义。 委托的定义如下: delegate 返回值类型 委托类型名 (参数)
2017-09-08 20:46:31 529
原创 C# 委托(delegate)事件(event)分析
一.事件的由来1)委托也是一种类型,根据面相对象的特性,通常会把一个类型的变量封装到类的内部,并把其设置成private的,然后通过属性来访问该变量,所以在实际编程时委托类型也会定义在类里面。2)使用event 关键字来修饰委托变量,其实质上是委托变量的属性。using System;namespace LearningSummary{//声明一个带参数的委托G
2017-09-08 18:06:09 588
原创 C# 之分数的 加 减 乘 除 取余数
定义分数(Fraction)类: 1)、成员变量私有字段以及可读可写属性:分子、分母2)、成员方法:* 打印分数信息(例如: 1 / 3) PrintFraction()* 约分Reduction()* 创建一个方法交换分子和分母的值Exchange()* 创建一个方法能同时得到加、减、乘、除、求余运算;Add(Fraction fra
2017-08-23 17:50:31 6628
原创 C# 之 结构体(struct)---复合类型的数据结构
例题:/*创建学生结构体,输出最高分数*/ /*使用结构体数组 -----复合类型(string int float等) student[] students=new student[5]; */ //定义一个结构体 struct student { //年龄 前面加了 p
2017-08-21 10:29:36 1527
原创 C# 输出一个 实心菱形&&空心菱形
/*8、输入n,分别用*输出边长为n的实心菱形。例如:n = 3时,输出 n space * space数 * 数 * -2 1 |i| 2n-1-2*|i| *** -1
2017-08-15 17:16:03 2959
原创 求解一元二次方程的解
/*输入a,b,c三个整数,求一元二次方程的解(有没有解,是多少)。一元二次方程为ax^2 + bx + c = 0;*/ double result1; double result2; Console.WriteLine("请输入三个数:"); int a = int.Parse(Console
2017-08-12 10:35:28 1145
原创 While 语句的使用
/*思考如何实现:连续输入若干个字符,包括换行和空格等其他特殊符号,按~结束(最后语句中包含换行和空格等,但不包含~)*/ Console.WriteLine("输入若干个字符,一'~'结尾"); //定义一个中间变量 char temp; int i = 0; //申请一个字符数组
2017-08-12 10:27:19 379
原创 C#冒泡排序&&选择排序&&快速排序
/*编写一个程序,要求用户从键盘输入3个不同整数,输出中间者。 */ Console.WriteLine("请同时输入多个数,用空格键隔开:"); //输入的字符串 C#冒泡排序&&选择排序 string str = Console.ReadLine(); //使用空格分隔成字符串数组 string[] str1 = str.S
2017-08-12 10:18:34 421
原创 C#之字符判断和大小写的转换
//判断一个字符的大小写 //读取一个字符 int mark = Console.Read(); int marknum = mark; //判断字符的Ascll值 //大写字符转换为小写 if (marknum >= 65 && marknu
2017-08-09 14:00:23 1687
原创 C#之字符匹配输出
//匹配字符 //申请一组字符串数组 string[] name = new string[10]; //循环接收控制台输入的字符串 for (int i = 0; i 10; i++) { name [i] = Console.ReadLine ();
2017-08-09 11:29:14 251
原创 C#进制转换(十进制)转化为二进制和16进制
//进制换算 Console.WriteLine ("请输入一个十进制数:\n"); int num= Convert.ToInt32( Console.ReadLine()); Console.WriteLine("转为二进制数为:\n"); int a=0,k; i
2017-08-09 09:54:46 1361
原创 C#之从当前的字符串中移除头部和尾部的空白字符和截取字符(字符串的位数)
//从当前的字符串中移除头部和尾部的空白字符 string str=" hello word "; string str1=str.Trim (); Console.WriteLine (str1); //截取字符串 string st
2017-08-09 09:36:15 1289
原创 C#之字符匹配
//判断字符串是否包含某个字符串 string str="hello"; bool str1=str.Contains ("el"+"h"); Console.WriteLine (str1); //以某一个字符串结尾 str.EndsWith("o");
2017-08-09 09:24:08 1669
原创 C#之数据类型转换
问题描述:输入的字符串转化为其他数据类型//从控制台接受的字符(char)转换为int 类型数据public static void Main (string[] args) { int a; a = 5; float b = 5.6f; //系统自动的类型转换,只能由
2017-08-09 09:15:03 216
原创 C#之字符匹配
问题描述:通过控制台匹配自己设置的登录密码和登录名 //用户名 string user = "xingjiashileiao"; //密码 string password = "likeme"; //提示语 Conso
2017-08-09 08:58:40 451
C#基础教学资源
2017-09-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人