zoukankan      html  css  js  c++  java
  • Unity3D脚本中文系列教程(六)

    http://dong2008hong.blog.163.com/blog/static/469688272014031943118/

    Unity3D脚本中文系列教程(五)

    变量


    ◆var collider : Collider


    描述:被控制器碰到的碰撞器。


    ◆var controller : CharacterController


    描述:碰到该碰撞器的控制器。


    ◆var gameObject : GameObject


    描述:被控制器碰到的游戏物体。

    ◆var moveDirection : Vector3


    描述:从胶囊的中心到接触点的大致方向。
    这可以用来找到一个合理的方向将力应用到接触的刚体。


    ◆var moveLength : float


    描述:角色碰到这个碰撞器时已经行走了多远。
    注意这可能不同于你传递到CharacterController . Move的。因为所有的移动都是被碰撞器制约的。


    ◆var normal : Vector3


    描述:在世界空间中碰撞表面的法线。


    ◆var point : Vector3


    描述:世界空间中的碰撞点。


    ◆var rigidbody : Rigidbody


    描述:被控制器碰到的刚体。
    如果没有接触一个刚体而是一个静态碰撞器时为null。


    ◆var transform : Transform


    描述:被控制器碰到的变换。


    Debug


    一个类,包含用于开发游戏时的调试方法。


    类变量


    ◆static var isDebugBuild : bool


    描述:在Build Settings....对话框中,有一个被称为"strip debug symbols"的复选框。
    如果它被选择isDebugBuild将为关。在编辑器中isDebugBuild总是返回真,建议在发布游戏的时候移除所有对Debug .Log的调用,这样你就能够容易的发布带有调试输出的测试版,而最终版没有调试输出。
    //只有这是调试版时,记录调试信息
    if ( Debug .isDebugBuild )

    {
         Debug . Log ( " Something bad happened ! " ) ;
    }


    类方法


    ◆static function Break ( ) : void


    描述:暂停编辑器
    Debug . Break ( ) ;


    ◆static function DrawLine ( start:Vector3, end: Vector3, color : Color = Color . white ) : void


    描述:从point开始到end用颜色绘制一条线。
      这个线将被绘制在编辑器的场景视图中。如果在游戏视图中启用了gizmo绘制,这个线也将被绘制在这里。
    //从世界坐标的原点到点( 1 , 0 , 0 )绘制一条红色的线
    function Update ( )

    {
          Debug . DrawLine ( Vector3 . Zero , new Vector3 ( 1 , 0 , 0 ), Color . red ) ;
    }


    ◆static function DrawRay ( start:Vector3, dir : Vector3, color : Color = Color . white ) : void


    描述:从start 到start+dir 用颜色绘制一条线。
    //绘制一条10米长的线从position,沿着变换的z轴向前。
    function Update ( )

    {
         var forward = transform . TransformDirection ( Vector3 . forward ) * 10 ;
         Debug . DrawRay ( transform . position .Vector3 . forward * 10 , Color . green );
    }


    ◆static function Log ( message : object ) : void


    描述:记录message到Unity控制台。
    Debug . Log ( "Hello");


    ◆static function Log ( message : object . context : Object ) : void


    描述:记录message到Unity控制台。
    当你在控制台中选择消息的时候一个到上下文物体的链接将被绘制。这是非常有用的。如果你想知道那个物体发生了错误。
    Debug . Log ( "Hello" , gameObject ) ;


    ◆static function LogError ( message : object ) : void


    描述:Debug . Log 的一个变体,用来记录错误信息到控制台。
    var memberVariable : Transform ;
    if ( memberVariable == null )
    Debug . LogError ( " memberVariable must be set to point to a Transform. ") ;


    ◆static function LogError ( message : object , context : Object ) : void


    描述:Debug . Log的一个变体,用来记录错误信息到控制台。
    等你在控制台中选择消息的时候一个到上下文物体的链接将被绘制。这是非常有用的, 如果你想知道那个发生了错误。
    var memberVariable : Transform ;
    if ( memberVariable == null )
    Debug . LogError ( "memberVariable must be set to point to a Transform " , this ) ;


    ◆static function LogWarning ( message : object ) : void


    描述:Debug . Log 的一个变体,用来记录警告信息到控制台。


    ◆static function LogWarning ( message : object , context : Object ) : void


         描述:Debug . Log的一个变体,用来记录警告信息到控制台。
         当你选择控制台中的一个消息时,一个到上下文物体的连接将被绘制。这是非常有用的,     如果你想知道那个物体发生了错误


    Event 类


     一个UnityGUI事件。
    对应于用户的输入事件(按键,鼠标事件),或者是UnityGUI布局或渲染事件。 对于每个事件OnGUI在脚本中被调用;因此OnGUI在每帧中被潜在调用多次。
    Event . current对应于OnGUI调用“当前”事件。
     参见:GUIScripting Guide


    变量


    ◆var alt : bool


    描述:Alt/Option键被按住?(只读)
    在windows下,如果Alt键被按下返回真。在Mac下,如果Option键被按下返回真。


    ◆var button : int


    描述:哪个鼠标键被按下
    0表示左键,1表示右键。2表示中键。在EventType . MouseDown ,EventType .MouseUp
    事件中使用。


    ◆var capsLock : bool


    描述:Caps Lock 处于打开状态?(只读)
    如果Caps Lock为打开返回真


    ◆var character : char


    描述:输入的字符
    在EventType . KeyDown 事件中使用,注意EventType . KeyUp事件不包含字符,只包含Event . keyCode .
    参见:Event . keyCode.


    ◆var command : bool


    描述:Command/Windows键被按住?(只读)
    在Windows下,如果Windows键被按下返回真。在Mac下,如果Command键被按下返回真。


    ◆var control : bool


    描述:Control被按下?(只读)
    如果Control被按下返回真。


    ◆var delta : Vector2


    描述:与上次事件相比,鼠标的相对移动。
    在EventType .MouseMove,EventType .MouseDrag,,EventType .ScrollWheel时间中使用。
    参见:Event . mousePosition


    ◆var functionKey : bool


    描述:当前按下的键是功能键?(只读)
    如果当前按下的键是方向键,翻页键,退格键等等时返回真,如果这个键需要特殊处理才能用与文本编辑时,functionKey为打开。


    ◆var isKey : bool


    描述:这个事件是键盘事件?(只读)


    ◆var isMouse : bool


    描述:这个事件是鼠标事件?(只读)


    ◆var keyCode : KeyCode


    描述:用于键盘事件的原始键代码
    在EventType . KeyDown 和 EventType . KeyUp事件中使用;返回匹配物理键盘的KeyCode值,使用这个来处理光标,功能键等等。
    参见:Event . character 。


    ◆var mousePosition : Vector2


    描述:鼠标位置
    在EventType . MouseMove 和EventType . MouseDrag事件中使用。
    参见:Event . delta


    ◆var numeric : bool


    描述:当前按下的数字的键?(只读)
    使用这个表示区分主&数字键。


    ◆var shift : bool


    描述:Shift被按下?(只读)
    如果Shift被按下返回真。


    函数


    ◆function GetTypeForControl ( controlID : int ) : EventType


    参数


    controlID           查询的控件ID。从GUIUtilty . GetControlID ( ) 获取。参考   EventType获取可能值的列表。
    描述:为给定的控件ID获取一个过滤的事件类型。
    这个函数可以用来实现鼠标锁和键盘焦点。


    ◆function  Use ( ) : void


    描述:使用这个事件。
    当已经使用了一个事件时调用这个方法。事件类型将被设置为EventType . Used。使其 他GUI元素忽略它。


    类变量 


    ◆static var current : Event


     描述:现在被处理的当前事件。


    类方法


    ◆static function KeyboardEvent ( key : string ) : Event


     描述:创建一个键盘事件。
     这可用于检查某个键是否被按下。可能带有调整器。key字符串是键的名称(与输入管理器中的相同),可以使用任意数量的调整器前缀:& = Alternate , ^ = Controler, % = Command , # = Shift   例如:&f12 = Alternate +F12., " ^[ 0 ] " = Control +keypad0
     function OnGUI ( )

    {
         GUILayout . Lable ( " Press Enter To Start Game ") ;
         if ( Event . current . Equals ( Event . KeyboardEvent ("[enter]")))
              Application . LoadLevel ( 1 )
         if(Event current Equals(Event KeybordEvent("return") ))
              Print( "I said enter ,not return – try the keypad" );
    }


    GL 类


    底层图像库。
    使用这个类操作激活的变换矩阵,发送与OpengGL立即模式相同的渲染命令并做一些其他的底层图像操作。注意,在所有情况下使用Graphics.DrawMesh比任何使用立即模式绘制更有效。
    这个类只限于Unity Pro.


    类变量


    ◆ static var LINES: int


    描述:用于Begin的模式:绘制直线。
    参见:GL . Begin, GL . End.


    ◆ static var modelview:Matrix4x4


    描述:当前模型视矩阵。
    给这个变量赋值等同于OpenGL中的glLoadMatrix(mat);在其他图形API中对应的功能被模拟。
    改变模型视矩阵覆盖当前相机的视参数,因此最常用的是使用GL.PushMatrix和GL.PopMatrix来保存和恢复矩阵。
    读取这个变量返回当前模型视矩阵。


    ◆ static var QUADS:int


    描述:用于Begin的模式:绘制四边形
    参见:GL.Begin,GL.End.


    ◆ static var TRIANGLE_STRIP:int


    描述:用于Begin的模式:绘制三角面
    参见:GL.Begin,GL.End.


    ◆ static var TRIANGLES:int


    描述:用于Begin的模式:绘制三角形
    参见:GL.Begin,GL.End.


    类方法


    ◆ static function Begin(mode:int) : void


    参数


    mode         绘制的几何体:可以是TRIANGLES,TRIANGLE_STRIP,QUADS或
           LINES.
    描述:开始绘制3D几何体
    这个对应OpenGL中的glBegin,在其他图形API中相同的功能被模拟 ,在GL.Begin 和 GL.End之间,可以调用GL .Veriex,GL.Color,GL.TexCoord和其他立即模式绘制函数。
      在绘制你自己的几何体时,你应该注意它们的裁剪。裁剪规则可能会因为不同的图形 API而不同。在大多数情况下在shader中使用Cull Off命令是安全的。
    参见:GL.End.


    ◆ static function Clear(clearDepth:bool,clearColor:bool,backgroudColor):void


    参数


    clearDepth            应该清除深度缓存?
    clearColor            应该清除颜色缓存?
    backgroudColor       颜色被清理为什么,只有当clearColor为true时使用.
    描述:清除当前渲染缓存
    这将清除屏幕或激活的RenderTexture.


    ◆ static function Color(c : Color) : void


    描述:设置当前顶点颜色
    这个对应OpenGL中的glColor4f(c. r,c.g,c.b,c.a):在其他图形中API中相同的功能被模拟,
    为了使逐顶点颜色可以在不同的硬件上工作,你需要使用绑定了颜色通道的shader。参考BindChannels文档.
    这个函数只在GL.Begin和GL.End函数之间调用.


    ◆ static function End( ) : void


    描述:结束绘制3D几何体
    这个对应OpenGL中的glEnd;在其他图形API中相同的功能被模拟.
    参见:GL.Begin.


    ◆ static function LoadIdentity( ) : void


    描述:加载单位矩阵到当前模型视矩阵。
    这个函数覆盖当前相机的视参数,因此最常用的是使用GL.PushMatrix和GL.PopMatrix
    来保存和恢复矩阵。


    ◆ static function LoadOrtho( ) : void


    描述:辅助函数用来设置一个正交透视变换
    调用LoadOrtho知道,视锥从 (0,0,-1) 变化到(1,1,100).


    ◆ static function LoadPixelMatrix( ) : void


    描述:设置一个用于像素修正渲染的矩阵。
    这个设置模型视和投影矩阵,因此X,Y坐标直接映射到像素。(0,0)位于当前相机
    视口的左下角。Z坐标从-1到+100
    这个函数覆盖当前相机的参数,因此最常用的是使用GL.PushMatrix和GL.PopMatrix
    来保存和恢复矩阵。


    ◆ static function LoadPixelMatrix(left:float,right:float,bottom:float,top:float):void


    描述:设置一个矩阵的像素正确渲染。
    这样设置投影矩阵点以便X、Y坐标图直接像素化。(0,0)在底部左侧当前摄像机的视角。Z坐标是从-1到+100。
    这个函数覆盖了相机的参数,所以通常你要保存和恢复矩阵就使用GLPushMatrix和GL.PopMatrix。


    ◆  static function LoadProjectionMatrix (mat : Matrix4x4) : void


    描述:加载到当前任意矩阵投影矩阵。
    这个函数重写当前摄像机的投影参数,所以通常你要保存和恢复投影矩阵就使用GLPushMatrix和GL.PopMatrix。


    ◆  static function MultiTexCoord (unit : int, v : Vector3) : void


    描述:设置当前纹理坐标(v.x,v.y,v.z)实际的纹理单元。
    在OpenGL中glMultiTexCoord为特定的纹理单元如果多纹理是可用的。在其他图形的API中相同的功能进行了仿真。
    这个函数只能被称为介于GL.Begin和GL.End功能之间。


    ◆  static function MultiTexCoord2 (unit : int, x : float, y : float) : void


    描述:设置当前纹理坐标(x,y)的为实际纹理单元。
    在OpenGL中glMultiTexCoord为特定的纹理单元如果多纹理是可用的。在其他图形的API中相同的功能进行了仿真。
    这个函数只能被称为介于GL.Begin和GL.End功能之间。


    ◆  static function MultiTexCoord3(unit : int, x : float, y : float, z : float) :void


    描述:设置当前纹理坐标(x,y,z)的为实际纹理单元。
    在OpenGL中glMultiTexCoord为特定的纹理单元如果多纹理是可用的。在其他图形的API中相同的功能进行了仿真。
    这个函数只能被称为介于GL.Begin和GL.End功能之间。


    ◆  static function MultMatrix (mat : Matrix4x4) : void


    描述:复制当前的点矩阵和其中的一个说明。
    相当于glMultMatrix(垫在)OpenGL; 在其他图形API的相应功能是相仿的。
    换点矩阵覆盖当前相机视图的参数,所以通常你要保存和恢复投影矩阵就使用GLPushMatrix和GL.PopMatrix。


    ◆  static function PopMatrix () : void


    描述:恢复了投影和点矩阵的矩阵堆栈的顶部。
    换投影矩阵点覆盖当前相机视图的参数。这些矩阵可以用GLPushMatrix和GL.PopMatrix来保存和恢复。
    参见:PushMatrix函数。


    ◆  static function PushMatrix () : void


    描述:节约双方投影矩阵对点和矩阵堆栈。
    换投影矩阵点覆盖当前相机视图的参数。这些矩阵可以用GLPushMatrix和
     GL.PopMatrix来保存和恢复。
     参见:PopMatrix函数


    ◆ static function SetRevertBackfacing(revertBackFaces : bool) : void


     描述:选择是否翻转隐面剔除,是(真)或者不是(假)


    ◆ static function TextCoord (v : Vector3) : void


     描述:为所有纹理单元设置当前纹理坐标(v.x, v.y, v.z)
     这个对应于OpengGL中用于所有纹理单元的glMultiTexCoord或者多纹理不可用时的glTexCoord,在其他的图形API中仿真了相同的功能。
     这个函数只在GL.Begin和GL.End函数之间调用。


    ◆ static function TexCoord2(x : float, y : float) : void


     描述:为所有纹理单元设置当前纹理坐标(x, y)
     这个对应于OpengGL中用于所有纹理单元的glMultiTexCoord或者多纹理不可用时的glTexCoord,在其他的图形API中仿真了相同的功能。
     这个函数只在GL.Begin和GL.End函数之间调用。


    ◆ static function TexCoord3(x : float, y : float, z : float) : void


     描述:为所有纹理单元设置当前纹理坐标(x, y, z)
     这个对应于OpengGL中用于所有纹理单元的glMultiTexCoord或者多纹理不可用时的glTexCoord,在其他的图形API中仿真了相同的功能。
     这个函数只在GL.Begin和GL.End函数之间调用。


    ◆ static function Vertex(v : Vector3) : void


     描述:提交顶点
     这个对应OpenGL中的glVertex3f(v.x, v.y.v.z); 在其他图形API中相同的功能被模拟。
     这个函数只在GL.Begin和GL.End函数之间调用。


    ◆ static function Vertex3(x : float, y : float, z : float) : void


     描述:提交顶点
     这个对应OpenGL中的glVertex3f(x, y, z); 在其他图形API中相同的功能被模拟。
     这个函数只在GL.Begin和GL.End函数之间调用。


    ◆ static function Viewport(pixelRect : Rect) : void


     描述:设置渲染视口
     所有的渲染都被限制在pixelRect之内。


    GUIContent
     类


     GUI元素的内容
     这个与GUIStyle紧密相关,GUIContent定义渲染什么而GUIStyle定义如何渲染。
     参见:GUIStyle


    变量


    ◆ var image : Texture


    描述:包含图标的图像


    ◆ var text : string


     描述:包含的文本


    ◆ var tooltip : string


     描述:这个元素的提示
     与这个内容相关的提示。读取GUItooltip来获取当前用户指向的GUI元素的提示。


    构造函数


    ◆ static function GUIContent() : GUIContent


     描述:用于所有形状和尺寸的GUIContent的构造函数
     构建一个空的GUIContent。


    ◆ static function GUIContent(text : string) : GUIContent


     描述:构建一个只包含文本的GUIContent物体。
     使用GUI是,你不需要为一个简单的文本字符创建GUIContents – 这两行代码功能等效:
     function OnGUI()
    {
         GUI.Button(Rect(0, 0, 100, 20), “Click Me”);
         GUI.Button(Rect(0, 30, 100, 20), GUIContent(“Click Me”));
    }


    ◆ static function GUIContent(image : Texture) : GUIContent


     描述:构建一个只包含图片的GUIContent对象。
     var icon : Texture;
     function OnGUI()
    {
         GUI.Button(Rect(0, 0, 100, 20), GUIContent(icon));
    }


    ◆ static function GUIContent(text : string, image : Texture) : GUIContent


     描述:构建一个包含text和图片的GUIContent对象
     var icon : Texture;
     function OnGUI()
    {
          GUI.Button(Rect(0, 0, 100, 20), GUIContent(“Click me”, icon));
    }


    ◆ static function GUIContent(text : string, tooltip : string) : GUIContent


     描述:构建一个包含text的GUIContent,当用户鼠标悬停在它上面的时候,全局GUI.tooltip被设置为tooltip。
     function OnGUI()
     {
           GUI.Button(Rect(0, 0, 100, 20), GUIContent(“Click me”,  “This is a tooltip.”));
           //如果用户指向这个按钮,全局提示被设置
           GUI.Label(Rect(0, 40, 100, 40), GUI.tooltip);
    }


    ◆ static function GUIContent(image : Texture, tooltip : string) : GUIContent


     描述:构建一个包含图片的GUIContent,当用户鼠标悬停在它上面的时候,全局GUItooltip被设置为tooltip。


    ◆ static function GUIContent(text : string,  image : Texture, tooltip : string) : GUIContent


     描述:构建一个包含text和image的GUIContent,,当用户鼠标悬停在它上面的时候,全局GUItooltip被设置为tooltip。


    ◆ static function GUIContent(src : GUIContent) : GUIContent


     描述:从另一个GUIContent构建一个GUIContent。


    GUILayoutOption 类


    内部类用来传递布局选项给GUILayout函数,不要直接使用这些,而是在GUILayout类的布局函数中构造它们。
    参见:
    GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight


    GUILayoutUtility 类


     用于实现并扩展GUILayout类的工具函数。
     使用这个类制作你自己的GUI布局代码

  • 相关阅读:
    MAX导致数据库超时
    mysql查询效率提高技巧
    微信回调报文解析, 获取请求体内容
    炖汤秘方
    首字母小写
    List分页
    HttpServletRequest通过InputStream获取参数
    github命令行
    mysql死锁
    分布式锁-redis
  • 原文地址:https://www.cnblogs.com/123ing/p/3912074.html
Copyright © 2011-2022 走看看