自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 带撤销的无限状态机-lua篇

核心就一个FSM(状态机),一个FSMState(状态)。每个状态可以有一个父状态和无限个子状态。具体实现可以参考下面代码将附件的后缀该为.zip后,解压可获得到源码require(“FSM”)require(“FSMState”)local fsm = FSM:New(“fsmName”)local idleState = FSMState:New(“idle”)local mo...

2018-11-07 11:25:33 1178

原创 线与线相交、线与矩形相交判断

/// /// 只要线与矩形有一条线有相交,则线与矩形相交/// public class LineWithRect : MonoBehaviour{public Rect rect = new Rect(0, 0, 100, 100);public Transform LineStart;public Transform lineEnd;Vector3 VecLineStart;...

2018-11-02 17:57:17 7259

原创 权重随机算法

一个Test类的Start方法,用于测试实例化一个 RandomControllerEx ,传入数据与数据对应的权重值。GetDatas方法可以获取到当前这一次随机的值。思路就是将权重值乘一个1到100的随机数,然后将随机后的权重值排序。[code]csharpcode:using System.Collections;using System.Collections.Generic;...

2018-10-30 17:38:37 5768

原创 抛物线子弹

抛物线子弹想实现愤怒小鸟的抛物线,在网上找了一番,没有找到。 自己实现了下。实现了两种抛物线的算法:1.通过sin函数,需知道目标点。2. 通过匀加速和自由落体,模拟了抛物线子弹的效果。如有更好的计算方式,请留言。 互相分享,共同进步。// 需知道目标点public class TestBullet : MonoBehaviour{public float value;pu...

2018-10-23 11:54:10 1825

原创 数学算法

计算两向量角度 float angle = Vector2.Angle(v1,v2);

2017-12-14 09:49:55 584

原创 socket通信实例

闲来无事,研究了下socket~ 文章最后会给出实例链接,如果不想看介绍的可以直接下下来运行。 本人小白一枚,如有错误请看者不奢赐教。客户端为unity,服务端为vs,都是用c#语言编写。先说下我对socket的理解,建立连接、通信、释放连接。此为socket通信的三次握手。对于socket通信,c#底层已经为我们封装好了,我们可以选择使用UDP还是TCP,这里我使用的是TCP连接。先介绍下

2017-09-07 15:07:10 593

原创 代码计算抛物线

public class GTool{ // 计算抛物线 static public Vector3 getPoint(Vector3 start,Vector3 end,float t, float hight){ Vector3 value = Vector3.Lerp (start, end,t); // x z 轴上的线性位移 v

2017-05-23 09:19:59 3711

原创 实现六边形网格

打开1场景,运行就可以看到效果。 所有的六边行都都是通过顶点数绘制到Mesh上的。只用了一个网格,一个材质。点击地图上的某个六边形时,将这个六边形的颜色设置为红色,之后再重写根据所有六边行的顶点数和颜色绘制Mesh网格。代码比较简单,三个文件 SixangleDatas :提供六边形行列的数据 Sixangle :传入六边形坐标,外半径,状态。 vertices 存储六边形的顶点数,colo

2017-05-16 23:09:46 6704

原创 继承EditorWindow实现画布

先介绍下主要的几个文件: CanvasBaseData -> 最基本的数据文件,是个Scriptable资源。每个画布都要有一个自己的数据。 CanvasEditor -> 最基本的画布绘制代码,继承 EditorWindow。 NodeStyles -> 一些常用的 GUIStyle zNode -> 画布中的基本节点,继承 zBaseNode zNodeTransitionLine -

2017-05-14 22:26:35 809

原创 c# 反射使用及详解

获取成员变量的方式有两种typeof(T).GetPropertys(BindingFlags 参数) // 这中方式获取的成员变量一定要是实现了 get set 存储器的变量typeof(T).GetFields(BindingFlags 参数) // 这种方式获取的成员变量不能实现 get set 。 否则获取不到成员变量。 命名空间备注 :BindingFlags 在 System.Refl

2017-03-26 21:28:10 803

原创 计算当前场景顶点数和面数

/// /// 得到场景中所有的GameObject /// void GetAllObjects() { verts = 0; tris = 0; GameObject[] allGameObject = FindObjectsOfType(); for (int i = 0; i < all

2017-03-01 16:34:46 3801

原创 代码GC测试

for(int i = 0;i < 10000;i++){ enActorEnum enu = (enActorEnum)1; }枚举类型转换 GC 0 Time 0.1public delegate void VoidDelegateString (string str);------------------------------ 分割线 【委托】 ---------------

2017-03-01 10:28:56 1204

原创 使用 PropertyAttribute和PropertyDrawer

项目地址: http://pan.baidu.com/s/1nv6mjB7 密码:grmi

2016-12-07 17:45:45 578

原创 unity项目接入 SDK 模版

项目开发完了都要接入各种 sdk ,unity调用java? java调用unity? 每次需求改了就要重现将项目导出成eclipse项目重新接一遍sdk? 这太麻烦了,费时,对自己编程之路又没有什么帮助。 so, 我今天与大家分享一个 sdk工具,所有要接的sdk只需在eclipse上接入一次导入unity后,除了sdk更新,完全不需要接入第二次。如果不懂的unity和java的通信可以我

2016-12-03 19:37:58 2405 1

原创 unity 安卓平台上设置头像

需求是这样的,安卓用户在设置头像时,可以从相册选择或者是拍张图片,然后通过圆形或者是矩形裁剪后,将裁减后的图片当作头像。思路是这样的,1.在unity上通过jni调用java代码。2.然后通过Intent去打开安卓手机的摄像机或是相册,选择一张图片后,接着进行圆形或是矩形裁剪。3.然后将裁剪后的图片保存到指定的一个路径下,接着调用Unity的方法,并将图片路径传过去。4.这时在unity上就

2016-11-20 16:43:43 2286 1

原创 unity调用eclipse导出的jar插件

1.首先要明白unity与java之间的通信 unity调用java// 直接调用java的静态方法, 我比较喜欢这种,简单明了AndroidJavaClass klass = new AndroidJavaClass("com.unity.player.UnityInvokeAndroid");// 这是包名加你要调的类名klass.CallStatic ("java方法名", "参

2016-11-15 11:37:13 4664 2

原创 求两点之间连线的角度

function getAngle(px1, py1, px2, py2) { //两点的x、y值 x = px2-px1; y = py2-py1; hypotenuse = Math.sqrt(Math.pow(x, 2)+Math.pow(y, 2)); //斜边长度 cos = x/h

2016-11-08 07:52:25 9101

原创 判断两个向量是否平行

/// /// 判断两个向量是否平行 /// Lhs. /// Rhs. /// true:平行 false:不平行 /// public static bool IsParallel(Vector3 lhs, Vector3 rhs) { float value = Vector3.Dot(lhs.normalized,rhs.normalized); i

2016-11-08 07:42:31 12849 3

原创 判断两个向量是否垂直

/// /// 判断两个向量是否垂直 /// /// true :垂直 false:不垂直. /// Lhs. /// Rhs. public static bool IsVertical(Vector3 lhs, Vector3 rhs) { float value = Vector3.Dot(lhs.normalized,rhs.normalized);

2016-11-08 07:41:02 9768

原创 计算点到直线的距离

/// <summary>/// 点到直线的距离/// </summary>/// <returns>The of point to vector.</returns>/// <param name="startPoint">Start point.</param>/// <param name="endPoint">End point.</param>/// <param name="

2016-11-08 07:39:30 3062

原创 解决 android manager 无法更新问题

先看看如何加快更新速度,再说如何更新。 首先更新host文件,如图,打开目录 C:\Windows\System32\drivers\etc,在目录下有hosts文件 打开方式选用“记事本”打开 将一下的文字复制到hosts文件里面,保存,注意不修改原来的文件内容,只是附加这些内容 203.208.46.146 www.google.com 74.125.113.121 developer

2016-08-18 09:45:41 1013

原创 lua 语法

三元表达式: lua : a = 1 b = (a == 1) and "one" or "not one" c# : bool a = 1; string b = a == 1 ? "one" : "not one";while循环 lua : a = 1 while a~= 5 do -- Lua uses ~= to me

2016-07-25 13:39:10 518

原创 unity 扩展编辑器 文件操作时常用的类与方法

Selection 获取到当前鼠标点中的物体 (详细API看unity圣典)AssetDatabase 资源数据库 (对资源进行读写和各种操作的接口) (1) AssetDatabase.Refresh(); // 重新导入有更新的资源 (2) AssetDatabase.GetAssetPath(gameObject); // 返回该对象在工程资源位置的路径 (3) Ass

2016-07-25 10:24:46 1795

原创 unity Vector3

MoveTowards(currentPos, targetPos, time); 在指定时间移动到目标点SmoothDamp(currentPos, targetPos, smoothSpeed, time); 在指定时间移动到目标点 (带平滑效果)Lerp(currentPos, targetPos, time); 每帧移动多少,返回移动后的坐标 Distance(currentPos,

2016-07-15 16:17:41 615

原创 unity 控制旋转的方法

将角度转换成四元数,然后修改transform的rotation。 Quaternion q = Quaternion.AngleAxis(angle, axis); // 1.角度 2.旋转的轴 transform.rotation = Quaternion.slerp(transform.rotation, q, Time.deltaTime * speed);最简单的旋转 tra

2016-07-12 14:08:11 5757

原创 unity 接入移动MM (3.1.10)

搞了四天,终于把移动mm接上了~ 心里又爽快了一把。趁现在赶紧写篇文章记录下流程。网上关于unity接入移动mm的文章很多,接入方式大致有两种: 一、新建一个Android项目,在项目中接入移动mm的SDK,能正常运行后,用eclipse将项目导出成jar包,以插件的方式导入unity中,在unity中调用Android对应的代码,然后用unity导出安卓包。 你可能觉得导出安卓包就成功了,

2016-07-07 11:08:18 1617 1

原创 unity 2d 与3d坐标互相转换

// 根据3d的主角坐标,获得主角血条的坐标 (通过视窗坐标转换) Vector3 pos = cam.WorldToViewportPoint(Boy.position); // 将主角的3d坐标转换成对象屏幕的视窗坐标 UI.transform.position = UIcam.ViewportToWorldPoint(pos); // 根据视窗坐标获得UI血条在3d的位置// 根据3d的主角

2016-07-01 14:15:43 10514

原创 cocos2dx ipv6处理

2016年6月1日,苹果出台新政策,要求所有提交Apple Store渠道的包必须要支持IPv6。这昂无疑让很多人心头一凉。 果然在这几天很多公司的产品都被打回来了。我们公司也不例外,提交了几个包,只有一款侥幸逃过一劫,其它全部被打回。 碰到这种问题,第一时间就去调查了下,首先肯定是去构建一个ipv6网络测试。面临着一大堆的问题,这个是客户端还是服务端的问题?如果是服务端的问题,怎么处理,服

2016-06-22 19:39:25 5343 1

原创 unity 定义回调函数

public delegate void Action(); // 返回值为空, 参数为空的回调函数public delegate void Action<T>(T arg); // 返回值为空, 参数为一个任意类型的回调函数public delegate void Action<T1,T2>(T1 arg1,T2 arg2); // 返回值为空, 参数为两个任意类型的回调函数public dele

2016-05-22 16:08:24 3118

原创 unity 刚体

使用kinematic 能够使添加了刚体的物体更自然的移动,但是该物体就不能再触发OnTrigger这一类的方法了。勾选碰撞器的Is Trigger后,物体将不会触发OnCollision这一类的方法,只能触发OnTrigger一类的方法。且物体将会失去物理效果(能直接穿过墙)即勾了kinematic , 又勾了 IsTrigger,不能触发OnCollision一类的方法,只能触发OnTrigge

2016-05-16 09:58:18 748

原创 unity 刚体的旋转

// 注视着某个点旋转,返回旋转后的四元数Quaternion rotate = Quaternion.LookRotation(Data.TargetPos.position - transform.position); // 刚体朝着这个四元数,随着时间与平滑度旋转rb.rotation = Quaternion.Slerp(transform.rotation, rotate, Time

2016-05-15 16:42:50 3344

原创 unity 计算两点角度

Vector3 targetDir = targetPos.position - transform.position; // 目标坐标与当前坐标差的向量Vector3.Angle(transform.forward,targetDir) // 返回当前坐标与目标坐标的角度

2016-05-14 12:03:56 25805 1

原创 unity 计算两点的距离

float distance = (transform.position, targetPos.position).magnitude

2016-05-14 11:57:42 19968 2

原创 unity 控制移动的方法

一。 transform.Translate(new Vector3(1, 1, 1) * moveSpeed * Time.deltaTime); // Translate方法移动不会考虑刚体等碰撞(会直接穿过物体)二。 // 使用刚体移动物体(移动会受到物理引擎的影响) rb.MovePosition(rb.transform.position + new Vector3

2016-05-07 11:05:25 4558

原创 jni的使用

首先说下,jni只有在安卓平台下才会用到,所以在包含头文件时要加个条件编译#if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)#include "platform/android/jni/JniHelper.h"#endif接着通过一小段代码来说明一下这个类的用法。#if(CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)

2016-04-21 17:12:44 667

原创 cocos2dx 调用java 代码

看链接~ http://blog.csdn.net/ku726999/article/details/38553889

2016-04-19 16:16:41 708

原创 cocos2d-x 3.10 热更新 使用AssetsManagerEx

热更新的思路:玩家一启动游戏时,将客户端资源的版本与服务器进行比对,如果客户端版本低于服务端版本,则下载最新的资源,并将客户端的资源版本更新至服务端的版本。由于我们没有对打包出来的APK中的资源有写的权限,所以我们需要将下载下来的资源放在一个可以读写的路径中,并添加这个路径至搜索路径,且优先级要高于默认的搜索路径。在3.10 官方例子中,cocos使用了AssetsManagerEx 来代替原先的A

2016-04-12 10:09:06 15088 1

原创 cocos 使用extensions 库需要注意的事

否则会出现各种错误,如:extension不是命名空间什么的。

2016-04-08 15:19:46 537

原创 cocos2d 在ios上设置横竖屏

参考一下文章 http://www.tuicool.com/articles/ieeYnq原文 ##http://blog.csdn.net/u010229677/article/details/38614221

2016-04-06 16:30:54 1891

原创 armv7 armv7s arm64 armv6 描述

参考下文 http://blog.csdn.net/oskytonight/article/details/22319853

2016-04-06 14:12:28 603

抛物线子弹 效果实现

想实现愤怒小鸟的抛物线,在网上找了一番,没有找到。 自己实现了下。实现了两种抛物线的算法: 1.通过sin函数,需知道目标点。 2. 通过匀加速和自由落体,模拟了抛物线子弹的效果。

2018-10-23

空空如也

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

TA关注的人

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