Unity3D学习基本知识

 
 

Unity3D学习基本知识

2014-12-17 21:32



Unity的脚本中常用的必然事件:

       在 Unity 的脚本中,可以定义一些特定的函数,这些函数会在满足某些条件时由 Unity 自动调用,它们被称为必然事件 (Certain Events) 。而 StartUpdate 正是最常用的两个事件,因此 Unity 默认为新建的脚本添加了这两个事件。 
 
    还有一个我们也会经常用到Unity没有默认添加的事件——Awake

     1Awake(): 唤醒脚本,此方法为系统执行的第一个方法,用于脚本 的初始化,在脚本的生命周期中只执行一次。
     注意:Awake()方法最先执行。

    2Update():正常更新,用于更新逻辑。每创建一个脚本,脚本中会默认添加这个方法。此方法每帧都会由系统自动调用一次。

    3Start():此方法在Awake()方法之后,Update()方法之前执行,并且只执行一次


坐标系

         ----World Coordinate System--世界坐标系:

         这个坐标系将世界空间或模型空间作为一个整体。
         世界空间是世界坐标系,世界坐标系是软件用于在场景中追踪对象的。当你看到视口中的主珊格,你就见到世界空间坐标系。世界空间是固定不变的。
        在世界坐标系下,从前视图front看去,X轴正方向指向(屏幕)右侧,Z轴正方向指向(屏幕)上方,Y轴正方向背离你。


         ----Local局部坐标:

        使用所选择对象的坐标系统。一个对象的局部坐标来自它的枢轴点。你可以通过使用选项中的Hierarchy命令面板, 相对于对象调整局部坐标的位置和方向。
        当局部坐标处于激活状态,按钮“Use Transform Center”是不起作用的,所用的变换使用局部坐标轴作为变换的中心。在一个选择集中的几个物体,每个分别使用它自己的中心来做变换。

         

        游戏对象的Transform


      Transform

        位置:position

        旋转:rotate

        大小:localScale

      Vector3向量

    
     Vector3是Unity中定义的一个含有x,y,z三个字段的类,可以表示位置点,也可以表示一个向量。Vector3乘以数值表示对向量的三个值乘以相应的值,v1-v2则表示从v2指向v1的向量。

    Vector类内置成员:up,down,left,right,forward,back,zero

    写法:transform.Translate (Vector3.forward);
         transform.Translate (new Vector3(10,0,0));

     

      键盘判断
GetKey             当通过名称指定的按键被用户按住时返回true
GetKeyDown   当用户按下指定名称的按键时的那一帧返回true。
GetKeyUp        在用户释放给定名字的按键的那一帧返回true。
GetAxis(“Horizontal")和GetAxis(“Verical”)   
                        用方向键或WASD键来模拟-1到1的平滑输入 
    示例

if (Input.GetKey(“up”)) {
      print("up arrow key is held down"); 

if (Input.GetKey(“down”)) {
     print("down arrow key is held down");

If(Input.GetKeyDown(KeyCode.Escape)){
     print(“按下Esc键”);
}
If(Input.GetKeyUp(KeyCode.Escape)){
    print(“松开Esc键”);
}


If(Input.GetKeyDown(KeyCode.A)){
     print(“按下A键”);
}
If(Input.GetKeyUp(KeyCode.D)){
    print(“松开D键”);
}
If(Input.GetAxis(“Horizontal")){
    print(“按下水平键”);
}
If(Input.GetKeyUp("Verical“)){
    print(“按下垂直键”);
}



鼠标判断

GetButton           根据按钮名称返回true当对应的虚拟按钮被按住时。 
GetButtonDown   在给定名称的虚拟按钮被按下的那一帧返回true。
GetButtonUp        在用户释放指定名称的虚拟按钮时返回true。

示例:

按下鼠标左键
if(Input.GetButton("Fire1")){
        print(“按下鼠标左键”);
}
if (Input.GetMouseButton(0)) {
     Debug.Log("按下鼠标左键");
}
 if (Input.GetMouseButton(1)) {
     Debug.Log("按下鼠标右键"); 
}
if (Input.GetMouseButton(2)) {
     Debug.Log("按下鼠标中键");
}

给物体施加普通力

先给物体添加刚体
transform.rigidbody.AddForce (0,0,1000);


更多精彩内容请到:http://www.gopedu.com/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值