unity炸弹人游戏制作 详细注释每句代码 适用于新手了解基本unity知识

炸弹人代码====================================================================

人物移动;改变Tag值为player ,编写敌人代码是获取transform值(shuxing) public class
    playerContral:MonoBhaviour 	{ 	//声明一个动画组件; 	private Animation ani;
    	//声明一个刚体,
    	    private Rigidbody rBody; 	void Start() 	{ 	//获取刚体,为移动获取刚体。拿一次就可以,所以写在Start
    	   rBody = Getcomponent(); 	//获取该动画组件
    	   ani=Getcomponent(); 	} 	void Update() 	{
               //垂直轴 Vertical为untiy内置 
    	   float vertical = Input.GetAxis("Vertical");//vertical有两个值+1和-1,代表上下键和w,d上为+1.
               //水平轴
               float horizontal = Iuput.GetAxis("horizontal");
               //方向
               Vector3 dir = new Vector3(horizontal, 0, vertical);//3个方向代表xyz,y轴表示向上,一般不用
               if(dir != Vector3.zero)zero表示3个0,表示只要不等于0表示我们按下了一个键
                  {
                      //改变方向,
                      朝向 transform.rotation= 方向 Quaternion.LookRotation(dir);er:此时为人物加一个刚体,rigbody(此时人物会一直往下掉)地面和人物加一个碰撞体collider(调整碰撞体的大小与人物大小基本相符,触碰到碰撞体才会有效)
    		  //移动
    		  rBody.velocity(表示速度) = dir*3;(方向*速度) 			//播放跑的动画
    		  ani.play(播放动画)(“添加动画名称forex:run”);
                   } 		else 		{
    		    //站立动画,zero都为0,播放
    		    ani.play(""); 		}  	} 	}
    
    
    {{{{控制一个物体移动 float axisx,axisy void update() {
    axisx=input.getaxis("horizontal"); axisy=input.getaxis("vertical");
    this.transform.position=new Vetor3(axisx,axisy,0); }
    
    }}}}}}
    
    敌人 :在玩家到达一定距离时会跟随玩家,到达一定距离便会吃掉玩家 pubic class
    enemyControl:MonoBehaviour 	{
    	    private Rigidbody rBody;
                private Animation ani;
                private Transform player;(Transform代表玩家当前位置,缩放,)
    
    	void Start() 	{
    	    rBody = Getcomponent();
    	    ani = Getcomponet(); 	//获取玩家Transform信息,使用Gameobject的FindwithTag方法(通过标签找物体)
    	    player = Gameobject.FindwithTag("player").Transform; 	} 	void Update() 	{ 	 //如果没有玩家,就不返回
    	    if(player==null)
    	       {
    		   return;;
    	        }  	//计算和玩家的距离
                                                                                  自己的位置          玩家的位置      
            float dis = Vetor3.Distance/*(distance为Vetor的一个计算距离的方法)*/(transform.position,player.position)
    	if(dis<2f /*2mi*/) 	{
    	    //杀死    玩家 若只写player便会销毁player的transform,加上gameobject才会销毁游戏对象
    	    Destroy(player.gameobject);
    	    // 播放站立动画
    	    ani.play("idle"); 	} 	else if(dis<5f) 	{
    	     //朝向玩家         wanjiaweizhi
                 transform.lookat(player.position);  
    	     //追击玩家
    	     rBody.velocity = transform.forward*2;
    	     //跑步动画
    	     ani.play("move"); 	} 	else 	{
    	   //待机状态
    	   ani.play("idle"); 	} 	}
    
    
    
    	} 三 public class bomb:MonoBehaviour 	{
    	//写成public会出现在物体脚本属性下面,是希望通过拖动物体实现赋值效果。 	//即在inspeter面板中将物体拖进来赋值
    	   public GameObject BombEffectpre;
    	   void start() 	{
    	      	}  	//当有游戏物体进入到触发器中,就会出发这个方法,玩家触发玩家就是other 	//使用这个函数要将碰撞体中的istrigger勾选上 	private void OnTriggerEnter(Collider
    other) 	{
    	    if(other.tag=="Enemy"||other.tag=="player") 		{
    		   //实现爆炸效果,在销毁玩家敌人之前。
    		   Instantiate(BombEffectpre,transform.position,Quaternion.identity//第三个参数表示旋转,此时不旋转)
    	     	   Destroy(other.gameObject);
    		   Destroy(gameObject);//摧毁游戏对象,自生也会被摧毁 		} 	} 	}

四 声音 先创建一个空物体,声音看不见。

//飞机大战 讲解
https://www.cnblogs.com/HangZhe/p/7096233.html

你可能感兴趣的:(unity,代码,unity)