- 博客(86)
- 资源 (5)
- 收藏
- 关注
原创 maven创建多项目
创建的流程可以参考这个https://www.cnblogs.com/h--d/p/6001366.htmlmaven exec命令可以参考http://blog.youkuaiyun.com/bluishglc/article/details/7622286
2018-01-09 17:35:59
370
原创 java基础-使用dom4j解析XML文件
一解析XML解析过程 /** 解析XML文件的基本流程* 1:创建SAXReader,用来读取XML* 文件* 2:指定xml文件使得SAXReader读取,* 并解析问文档对象Document* 3:获取根元素* 4:获取每一个元素,从而达到解析的* 目的。 */代码1.1用到的辅助类package
2018-01-03 20:37:30
6822
原创 TCP-UDP-线程池
一TCP通信过程二主要API三用线程池技术实现的服务器和客户端案例3.1Serverpackage demoServer;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStre
2018-01-02 21:13:06
1170
原创 java基础-Thread线程
一 * 第一种创建线程的方式 * 继承Thread类,重写run方法public class ThreadDemo3 { public static void main(String[] args){ //1 Thread t1 = new Thread(){ public void run(){ for(int i=0;i<1000;i++){
2017-12-26 21:49:57
408
原创 java基础-文件操作
一创建多级目录下的一个文件public class FileDemo3 { public static void main(String[] args) throws IOException{ File file = new File( "a"+File.separator+ "b"+File.separator+ "c"+File.separator
2017-12-26 21:24:26
295
原创 maven详解-eclipse和maven构建项目
一配置eclipse二创建java项目File-New-Other-Maven我们可以看到maven生成的工程目录如下三Build Maven工程我们需要把jre换成jdk项目右击-->Run As-->Run
2017-12-26 12:13:53
341
原创 maven详解-坐标-本地仓库-远程仓库-镜像仓库
一坐标每个maven所依赖的库或者是maven项目都有一个唯一的标识,这个标识就是坐标。坐标有groupId,artifactId,version这三个字段决定二仓库作用maven在构建项目的时候发现所依赖的库在本项目中没有,就会去库中加载。三本地仓库本地仓库的默认路径为用户\.m2\repository我们可以在settin
2017-12-26 11:04:09
1271
原创 maven详解-maven入门
这一节不用eclipse来创建maven项目,我们自己创建一Maven概念二maven安装2.1http://maven.apache.org/download.cgi下载2.2解压缩我的在E:\tools\maven2.3配置环境变量新建一个环境变量在path环境变量中加一条2.4
2017-12-25 16:56:15
446
原创 java基础-日期操作-SimpleDateFormat-Calendar
一Datepublic class DateDemo { public static void main(String[] args){ //创建出来的实例表示当前系统时间 Date date = new Date(); System.out.println(date); long time = date.getTime(); time += 1000*60*6
2017-12-21 21:38:34
267
原创 Java基础-正则表达式
一首先看一个验证一个字符串是否为邮箱的例子二然后看一下正则表达式的规则还有一个ppt中没提到的 ()的意思是只出现一次 比如说 (abc)+ 这种就表示 只能是abcabc这样有顺序的三字符串支持的正则表达式二按条件拆分字符串四字符串支持的
2017-12-19 22:38:05
258
原创 Java基础-String-StringBuilder
一String特性二String重写了Object的equals方法三String常用的方法四StringBuilder五Strin
2017-12-17 21:38:07
249
原创 Java基础-类-接口interface-package-import.
一Java通过关键字extends来实现集成二继承中的构造方法super三Package语句Import语句五访问控制符修饰成员六Final关键字七抽象类八接口interface
2017-12-17 00:17:17
815
原创 c#操作XML
先简单介绍一下XML文档的一些组成元素XML元素xml元素包含一个开始标记,元素中的数据,结束标记。c#,开始标记为,结束标记为,数据为c#元素名称区分大小写,在父元素开始前必须将子元素都结束;XML特性除了在元素体内存储数据外,也可以在特性内存储数据,将特性添加到元素的开始标记内;,这里的name="c#"即为节点book的特性这句话等同于: c#XML声
2017-01-08 18:33:21
579
原创 Ugui Image控件绘制多个动态图
我们用一个Image控件,绘制多个动态图,效果如下先说一下主要思路我们创建一个Image控件会看到有个CanvasRenderer的组件,这个组件是负责渲染的。首先我们准备一个图集关于如何打图集,请参考我的上一篇文章然后我们创建一个SpriteGraphicHelper.cs脚本这个脚本中主要有我们自定义的一个Mesh,我们将用这个mesh中的数据渲染图
2016-12-29 19:32:19
3161
原创 Unity 打图集Atlas
这一节我们来写一下怎么用代码吧很多图片打到一个图集中(也就是一个大图片中)在Unity中我们可以设置图片的Packing Tag来制定图片所属的图集,Unity运行的时候会把相同图集的图片合批,我们自己来实现一个这样的功能.假如我们有下面这些图片打成图集之后的效果如下然后我们就可以像这样来使用Sprite[] sprite = Resources.L
2016-12-27 17:54:54
10881
原创 UGUI雷达图
雷达图的实现主要是通过函数OnPopulateMesh,关于函数OnPopulateMesh的用法在上一节中介绍的很清楚了。先看一下效果图我们有五个属性攻击,防御,闪避,穿透,治疗。雷达图的制作思路是:首先我们放五个Text控件,控件上写上对应属性的名字,然后把控件的位置移动到你想要的雷达图形状的位置。我们在OnPopulateMesh函数中设置五个顶点,这五个顶点的信
2016-12-25 23:27:59
2278
原创 OnPopulateMesh函数
主要写一下OnPopulateMesh函数的使用方式OnPopulateMesh函数当一个UI元素生成顶点数据时会调用OnPopulateMesh(VertexHelper vh)函数,我们可以在这个函数中修改顶点的数据或者获取顶点的数据。VertexHelper结构UI元素的顶点数据会填充这个数据结构,我们可以修改这个数据结构里面的数据从而影响到顶点的一些属性。在
2016-12-25 22:33:57
14644
1
原创 UGUI RectTransform
主要来写一下RectTransform组件中的Pivot,Anchors,offsetMin,offsetMax,sizeDelta属性的作用我们创建一个Image会看到一个圆圈和一个菊花,圆圈的那个就是Pivote,菊花的那个就是AnchorsPivot中心点,范围是0-1,Pivote的值和我们创建的Image控件关系如下Anchors锚点 用于限制UI控件
2016-12-24 19:09:39
694
原创 Unity AssetBundle管理(二)
这次我们把上节中的立方体Cube从AssetBundle中加载出来,实例化立方体;然后把材质m_Material2从AssetBundle加载出来,并把立方体Cube的材质换成m_Material2我们新加了两个资源,一个是纹理detail2,一个是材质m_Material2先看一下效果讲一下思路,代码不详细讲,太多了,也都挺简单的,原理在上一节都讲过了
2016-12-23 17:05:18
745
原创 Unity AssetBundle管理(一)
AssetBundle 是一种压缩文件,压缩时用到的压缩格式可以在打bundle的时候指定,BuildPipeline.BuildAssetBundles方法第二个参数可以指定压缩格式。使用AssetBundle流程分为两部1.把资源打成AssetBundle先把资源(纹理,材质,模型)指定一个AssetBundle名字和后缀然后调用BuildPipeline.BuildA
2016-12-23 16:12:59
2117
原创 动画位移的控制
动画位移的控制有两种,一种是动画本身带有位移,第二种是没有位移的动画。对于没有位移的动画,即Root Motion为0的动画,想让动画运动的时候有位移,我们可以使用动画曲线加脚本的形式来控制,也可以单独使用脚本来控制动画的位移。假如我们有一个跑动的动画run,这个动画没有位移我们点击run动画中的Curves选项加曲线,使曲线的y轴为1,这个值作为动画位移的
2016-10-31 19:03:16
2515
转载 使用ScriptableObject进行序列化
原文地址 http://blog.sina.com.cn/s/blog_647422b90101d73s.html如果你想创建不需要附加到游戏物体的对象,就可以使用ScriptableObject这个类。ScriptableObject一般用来存储u3d无法打包的对象(object),利用它可以将对象打包为assetbundle或者.assets文件以供后续使用。总体来看这也是一个很好的序
2016-10-27 16:27:41
2467
原创 Unity 避免重复加载资源
代码很简单,我们把加载到内存中的资源用一个字典保存起来,用到的时候从字典中获取。如果需要清除已经加载到内存中的资源,需要扩展该方法代码:public class GameResourceManager{ private Dictionary _resourceDict; public GameResourceManager() { _resou
2016-09-12 18:10:43
3930
原创 物体在指定距离处绕另一个物体旋转
我们来写一个例子,让Cube物体在距离Sphere 2米处绕Sphere旋转代码:public class t_Distance : MonoBehaviour { public Transform target; //旋转距离 public float targetDistance = 2.0f; //是否到达旋转的距离 private bool
2016-09-12 15:34:36
1495
原创 Transform类
Rotate 绕某一向量旋转public void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self);public class ExampleClass : MonoBehaviour { void Update() { transform.Rotate(Vector3.right * Time.d
2016-09-12 14:58:51
2743
原创 Quaternion类
Eulerpublic static Quaternion Euler(float x, float y, float z);public static Quaternion Euler(Vector3 euler);功能: 返回Quaternion对应的欧拉角例子:public class ExampleClass : MonoBehaviour { pu
2016-09-09 16:36:34
2120
原创 Matrix4x4类
MultiplyPoint3x4 矩阵变换public Vector3 MultiplyPoint3x4(Vector3 v);通过指定的矩阵来变换向量v下面的代码是通过矩阵m来变换vvoid Start () { Matrix4x4 m = Matrix4x4.identity; Vector3 v = Vector3.one;
2016-09-08 17:39:45
4635
原创 Mathf类
属性:Mathf.Deg2Rad 表示从角度到弧度转变的常量值,其值为(2*Mathf.PI)/360Mathf.Rad2Deg 表示从弧度到角度转变的常量值,其值为360/(2*Mathf.PI)方法:Clamp 返回有限范围值public static float Clamp(float value, float min, float max);
2016-09-08 11:47:58
4925
1
原创 摄像机目标渲染纹理targetTexture
Camera的属性targetTexture作用是可以吧某个摄像机A的视图作为Renderer Texture,然后添加到一个Material对象形成一个新的材质。首先我们创建一个材质Material修改名字为TargetMaterial,然后创建一个Render Texture 修改名字为TargetRenderTexture把材质TargetMaterial的Shader修改为Te
2016-09-04 12:03:49
27084
2
原创 射线Physics.Raycast
这一节我们做一个鼠标悬停在某一个物体上后,打印出该物体的标签tag首先我们创建两个物体立方体Cube和球Sphere,并把立方体的tag设置为Cube,球体的tag设置为Sphere然后我们创建脚本Raycast.ca并挂在主摄像机上代码如下public class Raycast : MonoBehaviour { // Update is called once per f
2016-09-04 01:20:31
996
原创 摄像机层剔除距离Camera.layerCullDistances
Camera.layerCullDistances属性用来设置摄像机基于层的消隐距离。摄像机可以通过基于层(GameObject.layer)的方式来设置不同层物体的消隐距离,但这个距离必须小于或等于摄像机的farClipPlane才有效。我们同样是在layer中加两个层Cube和Sphere层,分别属于第8层和第9层创建一个立方体和一个球体,并把立方体的Layer
2016-09-04 00:13:49
6496
原创 摄像机按层响应事件Camera.eventMask
Camera.eventMask属性可以设置拿个层的物体响应鼠标事件如果使物体响应鼠标有三个条件1.物体在摄像机的视野范围内2.eventMask与物体的layer进行与运算&后结果仍为物体的layer值,比如现在有两个物体,他们的layer值分别为1和3,则当eventMask与9(因为2^0+2^3=9)进行与运算后若结果仍为9,则这两个物体都会响应鼠标事件。3.物体的Ig
2016-09-03 23:48:39
2050
原创 摄像机按层渲染Camera.cullingMask
摄像机Camera的属性cullingMask用于按层(即GameObject)有选择性的渲染场景中的物体。我们先在Layer中加两个层 Cube和Sphere层 分别是第8和第9层我们在场景中创建两个物体,一个立方体Cube,一个球体Sphere。把立方体的Layer设置为Cube,把球体的Layer设置为Sphere,然后加两个按钮分别控制显示球体和立方体
2016-09-03 23:14:27
4654
原创 COMPOSITE(组合模式)
1. 意图将对象组合成树形结构以表示“部分 -整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。2. 适用性以下情况使用Composite模式:• 你想表示对象的部分-整体层次结构。• 你希望用户忽略组合对象与单个对象的不同,用户将统一地使用组合结构中的所有对象。3. 结构
2016-06-04 19:56:00
448
原创 BRIDGE(桥接模式)
1. 意图将抽象部分与它的实现部分分离,使它们都可以独立地变化。2. 别名H a n d l e / B o d y3. 动机当一个抽象可能有多个实现时,通常用继承来协调它们。抽象类定义对该抽象的接口,而具体的子类则用不同方式加以实现。但是此方法有时不够灵活。继承机制将抽象部分与它的实现部分固定在一起,使得难以对抽象部分和实现部分独立地进行修改、扩充和重用。4.案例
2016-06-04 11:23:29
754
原创 ADAPTER(适配器模式)
1. 意图将一个类的接口转换成客户希望的另外一个接口。 Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。2. 别名包装器 Wrapper。3. 动机有时,为复用而设计的工具箱类不能够被复用的原因仅仅是因为它的接口与专业应用领域所需要的接口不匹配。4. 适用性以下情况使用Adapter模式• 你想使用一个已经存在的类,而它的接口不符
2016-05-18 09:17:59
666
原创 SINGLETON(单例模式)
1. 意图保证一个类仅有一个实例,并提供一个访问它的全局访问点。2. 适用性在下面的情况下可以使用Singleton模式• 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。• 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。3. 结构4. 参与者• Singleton— 定义一个 Insta
2016-05-01 21:31:12
446
xen-4.4.0源码包
2014-11-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人