7-18面试总结

第一次去面试,都没进行到面试这一步,到了先让机试,做个游戏,但好长时间没做过,基础都忘的差不多了,直接gg。这里总结下今天用到的忘了的知识点:

1.爆炸力

    void OnCollisionEnter()

    {

        //获取爆炸范围的所有碰撞器

        Collider[] col = Physics.OverlapSphere(transform.position, explosionRadius,lm);

        if(col.Length>0) //如果有的话

        {

            for(int i=0;i

            {  //获取刚体

                Rigidbody b = col[i].GetComponent();

                if(b!=null) //如果该物体有刚体的话

                {

                    //添加爆炸力场

                    b.AddExplosionForce(explosionForce, transform.position, explosionRadius);

                }

                unit u = col[i].GetComponent();

                if(u!=null)

                {

                    u.ApplyDamage(atk);

                }

              }

        }

    }

2.刚体添加力,

rigidbody.AddForce (Vector3.up * 10);

//在全局坐标系统添加一个向上的力

3.弹力的设置

a.在Project栏目下Create一个Physic Material物理材质;

b.在此物理材质中设定Bounciness值为大于0的小数,此数值越大,则说明弹力越大;

c.点选Sphere球体,在Inspector的Sphere Collider球体碰撞体的材质Material中选择刚刚创建好的New Physic Material;

4.碰撞和触发检测

a.碰撞器

MonoBehaviour.OnCollisionEnter(Collision collision)

MonoBehaviour.OnCollisionExit(Collision collision)

MonoBehaviour.OnCollisionStay(Collision collision)

b.触发器

MonoBehaviour.OnTriggerEnter(Collider collider)

MonoBehaviour.OnTriggerExit(Collider collider)

MonoBehaviour.OnTriggerStay(Collider collider)

5.跳转场景

a.Unity中切换场景使用的是Application.LoadLevel()函数,括号中加入场景的名称或编号即可,例如:

if( GUI.Button( Rect( Screen.width-105 , 520 , 80 , 40 ) , "切换场景" ) )

{

Application.LoadLevel("scene1") ;

}

b.切换场景后所有加载物体都将删除,除非使用Object.DontDestroyOnLoad(Object)添加标记,例如人物角色在切换场景后需要保留,就可以用此方法。

c.不要忘记的是,还需要在File->Building Setting中设置添加场景,否则也不能实现切换成功。

你可能感兴趣的:(7-18面试总结)