自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(18)
  • 资源 (2)
  • 收藏
  • 关注

原创 C#不安全代码只会在使用 /unsafe 编译的情况下出现

习惯C++的童靴会经常与内存操作打交道,那么C#里面可以直接对内存进行直接操作吗?答案是可以哒,但是不推荐。用的时候需要加unsafe限制。我们在C#中允许unsafe编译,操作如下:好吧,是不是非常简单?下面写个简单例子  using System;namespace test01{ class Program {

2016-05-19 14:19:23 16179

原创 快速排序算法

快速排序的原理很简单:先选定集合中一个数,然后将大于它的数字都放在它的右侧,将小于它的数字都放在它的左侧。然后对它左侧和右侧的子集合重复这个过程,直到每个子集合只有一个元素为止。这就是分治法的思想,将大的问题分解为一个个小的问题来解决。using System;namespace test01{ class Program { static int

2016-05-19 13:56:53 421

原创 C#装箱和拆箱(Boxing 和 UnBoxing)

1、什么是装箱和拆箱?简单来说:      装箱是将值类型转换为引用类型 ;拆箱是将引用类型转换为值类型。(网上广为流传) C#中值类型和引用类型的最终基类都是Object类型(它本身是一个引用类型)。也就是说,值类型也可以当做引用类型来处理。而这种机制的底层处理就是通过装箱和拆箱的方式来进行,利用装箱和拆箱功能,可通过允许值类型的任何值与Object 类型的值相互转换,将值类型与

2016-05-17 21:44:11 46053 12

原创 写一段程序,找出数组中第k大小的数,输出数所在的位置。

基本上是利用排序思想,稍微改造以适应这种需求。比如最简单的冒泡排序,冒泡到第k次时就找到了这个数(需要提前缓存原始索引位置);快速排序的思想,把数组分割成大于和小于某值的两部分后,判断每部分的元素个数,然后递归分割,等等。下面这个代码是基于快排的思想:using System;namespace test01{ class Program { st

2016-05-17 15:18:22 3398 2

原创 将数组A中的0都移至数组末尾,将非0的移至开始(保持原来顺序)例子:1,2,0,2,3,0-->1,2,2,3,0

可以考虑用2个位置同时遍历:不等于0的数字 放在数组前面C#using System;namespace test01{ class Program { static void Main(string[] args) { int[] p = { 1, 3, 0, 2, 5, 7, 8, 0, 3 };

2016-05-16 23:00:51 2637

原创 打印杨辉三角

杨辉三角形,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排列。在我国南宋数学家杨辉所著的《详解九章算术》(1261年)一书中用如图的三角形解释二项和的乘方规律。与杨辉三角联系最紧密的是二项式乘方展开式的系数规律,即二项式定理。例如,在杨辉三角中,第3行的三个数恰好对应着两数和的平方的展开式的每一项的系数,即(a+b)²;=a²+2ab+b²第4行的四个数恰好依

2016-05-16 22:37:50 986

原创 1-9九个数字不重复组成一个三位数加法算式,求出所有组合

此题咱没想出很巧妙的解法,直接根据编程来吧using System;using System.Collections.Generic;using System.Text; namespace RemainerMaths { class Program { static void Main(string[]

2016-05-16 19:44:15 32909

原创 C#反射详解

两个现实中的例子:1、B超:大家体检的时候大概都做过B超吧,B超可以透过肚皮探测到你内脏的生理情况。这是如何做到的呢?B超是B型超声波,它可以透过肚皮通过向你体内发射B型超声波,当超声波遇到内脏壁的时候就会产生一定的“回音”反射,然后把“回音”进行处理就可以显示出内脏的情况了(我不是医生也不是声学专家,不知说得是否准确^_^)。2、地球内部结构:地球的内部结构大体可以分为三层:地壳、地幔和

2016-05-16 11:46:18 4409 1

转载 C#常用数据结构:数组,ArrayList,List<>,链表,Queue,Stack,Dictionary

谈谈在平时使用U3D时经常用到的数据结构和各种数据结构的应用场景吧。回到顶部1.几种常见的数据结构 这里主要总结一下在工作中常碰到的几种数据结构:Array,ArrayList,List,LinkedList,Queue,Stack,Dictionary 数组Array:  数组是最简单的数据结构。其具有如下特点:数组存储在连续的内存上。数组的内

2016-05-12 07:54:37 19904 2

原创 Unity跑酷游戏的无尽关卡是如何生成的?

其实跑酷游戏的场景都是由一段一段不同的路径连接而成。为了保证地图的多样性,游戏每段路径都保证了不同,但是保证多个地路段模型的两端都是能够两两连接。这样的话,其实整个游戏实时存在的只有三个路段:1.Player正在运动的路段、2.Player运动的上一个路段、3.Player下一个即将进入的路段。之所以要保证多个路段是因为保证在跑酷中Cmaera在合理的角度可能会有前一段或者后一段路径的视野,我们要

2016-05-08 18:15:52 10809

原创 如何在Unity中播放视频?

提要:在Unity 中 视频支持.mov、.mpg、.mpeg、.mp4、.avi和.asf。而Unity对于视频都是以MovieTexture来使用的。如果视频中有声音那么在视频文件下面会相应生成audio文件。所以一个完整的视频播放是应该画面和音频的同步播放。       方法一:基于GameObject上,这种方式可以让影片以任何方式播放,比如你要实现一个教室,教室讲台上有个投影幕,

2016-05-08 17:52:31 19148 1

原创 Unity两个物体发生碰撞的条件

网上好多资料显示发生碰撞条件如下:两个对象都有Collider组件且至少一个有Rigidbody组件其中至少一个物体(必须运动的)必须带有碰撞器(collider)+刚体(Rigidbody),另一个物体(可以静止也可以运动)也必须至少带有collider也有说一方有CharacterController,另一方有Collider,于是对 CharacterController做点补充

2016-05-07 18:37:46 44639 1

原创 Unity中游戏暂停和开始怎么实现?

(1)Time.timeScale = 0可以暂停游戏,Time.timeScale = 1恢复正常,但这是作用于整个游戏的设置,不单单是当前场景,记得在需要的时候重置回Time.timeScale = 1。当然也可以使用Time.timeScale来做游戏的1倍、2倍整体加速。(2)timeScale影响的因素:设置Time.timeScale = 0 将会暂停所有和帧率无关的事

2016-05-07 18:09:31 70543

原创 Unity如何实现磁铁效果?(比如跑酷游戏中,获得磁铁道具后,自动吸附附近金币的效果。)

获得磁铁效果后,主要流程可以分为3步:首先判断金币是否进入磁铁有效范围(圆半径,距离,矩形,collider 触发器等方式都可以)接着可以使用差值运算方法,Lerp方法或ITween等插件或者类似方法对金币做一个缓动效果吸附的动画,最后判断动画到达目标点后(碰撞器,触发器,计时等)进行销毁加分等处理即可。下面以使用触发器为例:使用OnTriggerEnter  为角色P

2016-05-07 15:38:26 9842

原创 Unity3d Update和FixedUpdate、LateUpdate的区别

1、Update: Update() 和 FixedUpdate()在游戏中都会在更新的时候自动循环调用。但是Update是在每次渲染新的一帧的时候才会调用,也就是说,这个函数的更新频率和设备的性能有关以及被渲染的物体(可以认为是三角形的数量)。在性能好的机器上可能fps 30,差的可能小些。这会导致同一个游戏在不同的机器上效果不一致,有的快有的慢。因为Update的执行间隔不一样了。

2016-05-07 11:10:56 1380

原创 Unity中Awake与Start函数的区别

在Unity中编写脚本时,有一系列的可重写(override)函数供我们使用,其中的Awake与Start两个函数作为初始化与设置之用,几乎在每个脚本中都要用到。因此,正确的把握这两个函数的调用时机,就能让我们在程序开发过程中避免一些错误,提高开发效率。1、  Awake函数        首先,我们来看unity的参考手册中对Awake函数的一些说明情况:

2016-05-07 09:21:47 8335 3

原创 Unity问答系列1

1,让一个物体围绕某一点旋转,有几种方法?分别是什么?答:见 http://blog.csdn.net/qiaoquan3/article/details/513065142,Mesh,Sphere,Box,Capsule,四种碰撞器。请按照性能开销由小到大进行排序。答:collider的性能和效率大概的顺序是:Sphere Collider > Capsule Collider> B

2016-05-05 09:45:42 2207 1

原创 Unity3d实现物体围绕某一点进行旋转

1,让一个物体围绕某一点旋转,有几种方法?分别是什么?答:在这个点处放一个空物体B,则问题变为A绕着B旋转,方法1:旋转函数transform.Rotate()来实现        方法2:B不动,A挂脚本实现transform的RotateAround(vector3 postion,vector3 axis,float angle)函数方法3:A不动,A作为B的子物体,B挂脚本

2016-05-03 17:51:19 70935 6

unity多个物体间的脚本执行顺序

测试unity多个物体间的脚本执行顺序,unity5.3环境

2017-02-25

FlexCell.chm

FlexCell.chm 不错的帮助文件 基础学习使用

2012-10-09

空空如也

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

TA关注的人

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