自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cbbbc

博客博客

  • 博客(29)
  • 收藏
  • 关注

转载 Unity3d报奇怪的错误CompareBaseObjectsInternal can only be called from the main thread.

其实主要问题就是:不要在子线程中是用unity的对象,使用unity对象要在协程中使用,子线程完成后的回调函数要加到主线程的某个函数来处理,例如update,每帧去处理回调函数。在项目里面使用了.NET的Async Socket代码,然后不知道什么时候起出现了这个怪异的报错:CompareBaseObjectsInternal can only be called from the m

2016-01-30 13:08:14 1841

转载 C#模拟Http与Https请求框架类实例

本文实例讲述了C#模拟Http与Https请求框架类。分享给大家供大家参考。具体实现方法如下:using System.Text;using System.Net;using System.IO;using System.Text.RegularExpressions;using System.Security.Cryptography.X509Certificates;us

2016-01-29 16:02:51 1239

转载 C#中HttpWebRequest的用法详解

本文实例讲述了C#中HttpWebRequest的用法。分享给大家供大家参考。具体如下:HttpWebRequest类主要利用HTTP 协议和服务器交互,通常是通过 GET 和 POST 两种方式来对数据进行获取和提交。下面对这两种方式进行一下说明:GET 方式:GET 方式通过在网络地址附加参数来完成数据的提交,比如在地址 http://www.jb51.net/?hl=zh-CN

2016-01-29 15:58:50 655

转载 C#写入和读出文本文件

写入文本文件 class WriteTextFile { static void Main() { //如果文件不存在,则创建;存在则覆盖 //该方法写入字符数组换行显示 string[] lines = { "first line", "second line", "third l

2016-01-29 15:54:36 525

转载 C#,往线程里传参数的方法总结

Thread (ParameterizedThreadStart) 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托。   Thread (ThreadStart) 初始化 Thread 类的新实例。  由 .NET Compact Framework 支持。  Thread (ParameterizedThreadStart, Int32) 初始化 Thre

2016-01-29 15:50:17 387

转载 结构及其使用 struct (C#)

结构及其使用 struct (C#)首先结构是值类型。结构是使用 struct 关键字定义的,结构如下:struct 结构名{}结构概述 结构具有以下特点:结构是值类型,而类是引用类型。 (结构不能包含显式的无参数构造函数)与类不同,结构的实例化可以不使用 new 运算符。结构可以声明构造函数,但它们必须带参数。一个结构不能从另一

2016-01-29 15:45:14 595

转载 c#中判断对象为空的几种方式(字符串等)

(1)先了解几个与空类型相关的关键字和对象  Null : 关键字表示不引用任何对象的空引用,它是所有引用类型变量的默认值,在2.0版本之前也就只有引用变量类型可以为null,如(string a=null)但在c# 2.0版本之后,Net也引入了可以为Null的值类型,但变量在定义的时候方式有所不同,如:int ? a=null。详细看http://msdn.microsoft.com/zh

2016-01-29 15:41:12 8797 1

转载 在Unity中StartCoroutine/yield return的原理和模式

说到Coroutine,我们必须提到两个更远的东西。在操作系统(os)级别,有进程(process)和线程(thread)两个(仅从我们常见的讲)实际的“东西”(不说概念是因为这两个家伙的确不仅仅是概念,而是实际存在的,os的代码管理的资源)。这两个东西都是用来模拟“并行”的,写操作系统的程序员通过用一定的策略给不同的进程和线程分配CPU计算资源,来让用户“以为”几个不同的事情在“同时”进行“。在

2016-01-29 15:37:01 1074

转载 Unity协程(Coroutine)原理深入剖析

记得去年6月份刚开始实习的时候,当时要我写网络层的结构,用到了协程,当时有点懵,完全不知道Unity协程的执行机制是怎么样的,只是知道函数的返回值是IEnumerator类型,函数中使用yield return ,就可以通过StartCoroutine调用了。后来也是一直稀里糊涂地用,上网google些基本都是例子,很少能帮助深入理解Unity协程的原理的。        本文只是从Unity

2016-01-29 15:25:43 1045

转载 Coroutine,你究竟干了什么?(小续)

前篇中讲了一些自己关于Coroutine的理解,后来陆陆续续的又想到了一些,在此简单记录一下,内容不多,故作“小”续吧 :)  之前的示例程序基本实现了一个自己的WaitForSeconds,功能上及使用上都与Unity自建的WaitForSeconds类似,另外的,如果我们进一步考虑WaitForFixedUpdate和WaitForEndOfFrame这类的YieldInstruction

2016-01-28 20:39:55 518

转载 Coroutine,你究竟干了什么?

随着自己对C#有了进一步的了解,我才慢慢发现,上面所言的那两个奇怪的IEnumerator和yield return,其实并不是Unity的什么独创,相反,他们却是C#中到处可见的迭代器的构造方式(之一),你也许对于迭代器这个东西没什么印象,但实际上,我们可能天天都在使用它!让我们马上来看一个最普遍的迭代器运用: int[] array = new int[] {1, 2, 3, 4, 5}

2016-01-28 20:36:40 782

转载 Unity里获取Material里所有的Texture

背景:通过Material获取Texture的接口有:Material.mainTexture, Material.GetTexture(string propertyName); 但没有一个接口可以直接获取Material的所有textures.解决方法一: 利用资源依赖, EditorUtility .  CollectDependencies ()。 static s

2016-01-26 16:17:41 3750

转载 Unity3d运行时程序创建NGUI图集

前言,由于现在公司手头上的项目使用的Unity3d版本为4.0.0f7,所有这里我用的NGUI版本为2.6.3。      项目中UI经常要用到动态加载图片,比较简单的方法是使用UITexture控件,这样只用3W类下载好图片后直接给UITexture控件赋值就好了,缺点是DrawCall太高了,一个UITexture一个DrawCall,通常只有是背景图片这种才会使用UITexture控件,

2016-01-26 15:37:41 674

转载 NGUI所见即所得之UIAtlasMaker , UIAtlas

本文的重点就是要将NGUI把多张图片打成一个图集(Atlas)的原理和过程研究下,学习下Unity提供的api和NGUI写的功能以及设计思想。UIAtlas       在介绍UIAtlasMaker之前先看下,先看下UIAtlasMaker的产物——UIAtlas,在创建Sprite的时候都要指定UIAtlas,下面先对UIAtlas的代码:C#代码  // Materi

2016-01-26 15:19:51 529

转载 Unity3d Texture2D打包图集

很多时候我们需要美术把贴图合并为一张贴图,现在在unity3d里通过几行代码就可以轻松完成(注释:今天查看API时发现的没想到如此好用),查看unity3dAPI你会发现Texture2D有个Texture2D.PackageTextures的API这个API可以自动将你的几张贴图合并为一张大图最大大小还能自定义,贴上一段我的测试代码和屏幕截图(只做测试用的有需要可以做成一个小工具)u

2016-01-26 15:11:25 3552

转载 Unity3D-NGUI动态加载图片

NGUI提供了很方便的UIAtlas,其主要作用是改进DrawCall,把众多图片整合在一张贴图上,由于UNITY3D简单易用的好处,所以只是用原生的GUI很容易忽视DrawCall的问题,所以NGUI为了改进,才有了UIAtlas。当然NGUI还做了很多优化。这里主要还是介绍如何利用UISprite来动态的加载图片。NGUI所提供的UIAtlas虽然好用,但只能在Editor内生成贴图和pr

2016-01-23 20:12:58 924

转载 Linux Shell之sort命令

sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[rocrocket@rocrocket programming]$ cat seq.txtbananaapplepear

2016-01-08 11:42:27 512

转载 shell下整数运算

exprt是用tab上面``包含起来,并且expr中运算符两边要有空格,否则当作连字符。((i=$j+$k))    等价于i=`expr $j(空格) +(空格)  $k`((i=$j-$k))     等价于   i=`expr$j -$k`((i=$j*$k))     等价于   i=`expr$j \*$k`((i=$j/$k))     等价于   i=`expr$

2016-01-08 11:35:41 4800

转载 Unity3D调用摄像头并保持为图片然后加载到场景中代码 拍照照相代码

using UnityEngine;using System.Collections;using System.IO;public class CameraController : MonoBehaviour { public stringdeviceName; public WebCamTexturewebTex; public GameObjectobjCamera

2016-01-08 09:59:18 2484 1

转载 Unity获取游戏对象详解

我觉得Unity里面的Transform 和 GameObject就像两个双胞胎兄弟一样,这俩哥们很要好,我能直接找到你,你也能直接找到我。我看很多人喜欢在类里面去保存GameObject对象。解决GameObject.Find()无法获取天生activie = false的问题。 private GameObject root ;我觉得你最好不要保存GameObject ,而是去保存

2016-01-08 09:56:08 489

转载 修改xcode生成app的名字

选择指定的Target,在Build Settings选项卡中搜索Product Name选项,修改为自定义的名字

2016-01-07 16:44:19 2767

原创 linux mac下使用sed a\追加文本

由于mac系统是原生于bsd系,sed命令和gnu不同,如果想用sed实现在某一行插入一行文本。gnu sed:sed "$line a\\(多加一个\,防止后面的$value被转义)$value" $filemac sed:sed "$line a\ (注意此处有空格,要在下一行添加文本)$value(如果想换行要把"写到下一行)" $file示例:在te

2016-01-07 11:17:27 16622 4

转载 Mac下使用sed -i

sed -i '' 'sed expression' file_name-i 选项后面是两个单引号,单引号里面什么都没有, -i 和第一个单引号之间必须有一个空格

2016-01-06 15:59:32 2296

转载 Unity3d与iOS交互开发——接入平台SDK必备技能

前言废话:开发手机游戏都知道,你要接入各种平台的SDK。那就需要Unity3d与iOS中Objective-C的函数有交互,所以你就需要用到如下内容:一、Unity3d  To  iOS:1、创建一个C#文件 SdkToIOS.cs 这是调用iOS函数的接口: public class SdkToIOS: MonoBehaviour { /

2016-01-04 18:03:31 585

转载 unity3d之 C# WaitFOrSeconds()

学习unity3d不久,在使用WaitFOrSeconds()时,遇到了不少麻烦,故记录,以警示后人。首先介绍C#和javascript 在使用它有很大的区别。javascript可以直接使用 yield WaitFOrSeconds(5);即延时5秒而C#中,首先定义自己的方法IEnumerator MyMethod() { Debug.Log("Before Waiting

2016-01-04 16:26:47 2543

转载 Unity3D中的工具类-Time类

1、时间:Unity提供了Time类,这个类主要用来获取当前的系统时间。Time.time:从游戏开始后开始计时,表示截止目前共运行的游戏时间。Time.deltaTime:获取Update()方法中完成上一帧所消耗的时间。Time.fixedTime:FixedUpdate()方法中固定消耗的时间总和。FixedUpdate()每一帧更新的时间可以通过导航菜单栏”Edit“——”Pr

2016-01-04 15:54:52 662

转载 Unity3D研究院之异步加载游戏场景与异步加载游戏资源进度条(三十一)

异步任务相信大家应该不会陌生,那么本章内容MOMO将带领大家学习Unity中的一些异步任务。在同步加载游戏场景的时候通常会使用方法 Application.LoadLevel(“yourScene”);  这句代码执行完毕后程序会干什么呢??如下图所示,这是我随便找了一个游戏场景, 在Hierarchy视图中我们可以看到该场景中“天生”的所有游戏对象。天生的意思就是运行程序前该场景中就已经存在的所

2016-01-04 00:37:50 570

转载 Unity制作Loading详解

游戏中的Loading现在都做得很漂亮,但是归根究底就两种类型,静态Loading和动态Loading。静态Loading可能就是一张背景图。而动态的Loading就是在读取的同时有一个东西在“转圈”。1.静态Loading:优点:读取场景使用同步的方法就可以,因为是同步方法所以读取的速度是最快的,也不用更新界面,因为同步执行方法的时候程序在等待读取结束。执行Applicati

2016-01-04 00:31:00 1498

转载 Unity实现场景切换的方法

跨平台的游戏引擎Unity用于游戏和一些交互式3D应用程序的开发非常方便。很多游戏和程序都不止在一个场景中运行,就需要进行场景视图的切换,在Unity中实现场景切换的方法非常简单,几句话就能说清楚:1、Unity中切换场景使用的是Application.LoadLevel()函数,括号中加入场景的名称或编号即可,例如:if( GUI.Button( Rect( Screen.wid

2016-01-04 00:28:02 5094

空空如也

空空如也

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

TA关注的人

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