1、Unity支持三种汇编语言,分别是JS、c#和Boo。创建脚本的方法主要有三种,首先启动Unity,单机菜单栏中的Assets->Create来添加脚本。
2、第二种是启动Unity后,单击Project视图中的Create按钮创建脚本,如图所示。
3、启动Unity应用程序,在Project视图中的assets文件夹内通过右击d出的列表框创建脚本,如图所示。
4、添加完脚本后就可以在Project视图中看到。
5、双击脚本文件就可以将其打开进行编辑。
1、方法定义为static,直接类名.方法名调用;\x0d\x0a如\x0d\x0aclass Main1{\x0d\x0apublic static function Add(j:int,i:int):void\x0d\x0a{\x0d\x0aDebug.Log(i+j)\x0d\x0a}\x0d\x0a}\x0d\x0aMain1.Add(1,2)\x0d\x0a2、new 一个对象,对象调用,如\x0d\x0avar m:Main1 = new Main1()\x0d\x0am.Add(2,3)\x0d\x0a3、GameObject.Find(),得到那个有这个脚本组件的GameObject,这个GameObject再GetComponent,得到script,scirpt再调用方法。由于项目需求,需要在unity中播放高清视频,视频分辨率达到了3840x1200。采用的是c++plugin解码视频,提供图片纹理给unity渲染的方式。而在unity中使用的是rendertexture来保存解码的视频图片。为了方面调试,需要保存某一些时刻的图片数据到本地,可以采用下面的函数实现:
[csharp]
view
plain
copy
[contextmenu("save
png")]
private
void
savetexturetofile()
{
if
(outputtexture
!=
null)
{
rendertexture
prev
=
rendertexture.active
rendertexture.active
=
target
texture2d
png
=
new
texture2d(outputtexture.width,
outputtexture.height,
textureformat.argb32,
false)
png.readpixels(new
rect(0,
0,
outputtexture.width,
outputtexture.height),
0,
0)
byte[]
bytes
=
png.encodetopng()
string
path
=
string.format("dump/raw
{0}.png",
random.range(0,
65536).tostring("x"))
filestream
file
=
file.open(path,
filemode.create)
binarywriter
writer
=
new
binarywriter(file)
writer.write(bytes)
file.close()
texture2d.destroy(png)
png
=
null
rendertexture.active
=
prev
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)