Unity3d-C#常用API

游戏开发的时候有很多常用的功能,比如遍历目录下文件等。很多时候大家会自己写...好一点的会写到项目的库里面,差一点的可能各个源文件中到处都是。但是其实系统库中已经提供了不少现成的。另外感觉C#的系统库真的很不错,像C++之类的风格一般是系统库提供低级api,开发者总需要自己二次开发定制自己的方案,而C#已经积累了足够经验直接给最佳实践了。

这里是一些汇总,基于Unity3d以及C#,慢慢汇总,不断更新。

有些API属于Unity,另一些属于C#

文件-资源-路径-场景树系统

路径系统

下面的操作已经是最简的单函数调用。

  • Directory.GetFiles()      // 获得path下文件列表。Directory下还有一些做其他遍历功能的函数。 
  • Path.GetFileName()    // 最简单的从路径中取出文件名的方法,比手写的字符串搜索斜杠直接很多。Path下面还有好多类似作用的函数
  • Path.GetFileNameWithoutExtension()
  • Path.GetDirectoryName()     // 用于找到上一级目录。
  • AssetDatabase.GetAssetPath()   // 获取UnityEngine.Object的文件路径,如果资源不是永久性资源(即没有对应文件)则返回""。

System.IO.Path类用于路径字符串解析。可以解析文件名、扩展名以及向找到上一级文件夹之类的操作。

在做编辑器插件的时候,可以用AssetDatabase.GetAssetPath()用来获得用户选中文件夹路径,进而可以实现文件夹批操作的功能。

文件路径对应的URL

www系统等使用uri。他们接受"file://"开头指定的本机文件。

file是一种uri格式,规则可以阅读http://en.wikipedia.org/wiki/File_URI_scheme

简而言之,下面操作可以将一个本地路径转换为uri,貌似没看见API:

  • "file:///" + Path.GetFullPath( path );    // 貌似uri不支持相对路径?所以先取绝对路径。严格版本来说file那里是三个斜杠。

文件读取和资源导入

下面操作已经是最简的单函数调用,但是不支持webplayer。

  • File.ReadAllBytes()    // 直接读取文件中所有字节,下面俩个类似。注意发布为webplayer时这个默认没有这个api。
  • File.ReadAllText()
  • File.ReadAllLines()

C#直接提供了这些操作,现在大部分情况下根本不需要从File或者Stream级封装读取函数了。不过webplayer为了减小下载量,没带上这族API,具体可以参考Unity3d兼容性列表。mobile默认支持这些api。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值