学院网站建设意义,世界购物平台排行榜,装饰设计图片,重庆哪里做网站1、关于场景#xff0c;即scene。 一个正常的游戏至少要有三个场景#xff0c;即菜单#xff08;或者文件夹#xff09;场景、游戏关卡场景、游戏结束场景。它们一般统一放在project文件夹下scene文件夹#xff08;自己创建#xff09;中#xff0c;方便管理。1.1场景切… 1、关于场景即scene。 一个正常的游戏至少要有三个场景即菜单或者文件夹场景、游戏关卡场景、游戏结束场景。它们一般统一放在project文件夹下scene文件夹自己创建中方便管理。 1.1场景切换 要实现游戏的正常进行须要场景的切换。比方从開始菜单怎样进入到游戏中。 開始菜单 关卡画面 这些须要两步准备 1、设置 要将场景放在托放在上图所看到的位置做好标记。 2、相关代码编写 //材质public Texture startButton;public Texture rankButton;void OnGUI(){//開始菜单開始游戏,rect前一定要有new且rect參数为位置左、上button大小if (GUI.Button (new Rect (100, 250, 135, 75), startButton)) {Application.LoadLevel(Start);}GUI.Button(new Rect(460, 250, 135, 75), rankButton);if (GUI.Button (new Rect (20, 20, 60, 30), exit)) {Application.Quit();}} 场景切换要用到函数Application.LoadLevel(Start)Start是要切换场景的名称当然这里也能够用数字1来取代由于上图中地Start的标号就是1。 场景的切换通常是伴随着事件的发生上面是因为发生了点击buttonstartButton的事件才引起场景切换。 注意 if (GUI.Button (new Rect (100, 250, 135, 75), startButton)){}用于推断是否点击button 而GUI.Button (new Rect (100, 250, 135, 75), startButton);则是产生button。 1.2什么导致切换 一般而言有点击button、另外一些触发器、碰撞器也能导致切换临时学到这里 //小鸟与管道碰撞则游戏结束void OnCollisionEnter(Collision other){if(other.gameObject.tag Player){GameManager._intance.GameStateGameManager.GAMESTATE_END;audio.Play();Application.LoadLevel(End);if(other.gameObject.tag projectile){}}} OnCollisionEnter(Collision c)函数用于检測碰撞器发生反应类似的有OnCollisionStay、OnCollisionExit分别表示刚接触碰撞器、处于碰撞器中、离开碰撞器这样就能依据情况作出对应的推断。这里小鸟、管道都是碰撞器好像至少有一个必须加刚体组件rigidbody当他们碰撞时作出对应反应 1、首先推断是什么碰撞管道代码属于管道的部分就须要用到tag用于区分对象。 2、之后进行相关处理这里audio.play用于播放音乐须要事先要在管道上加入组件audioSource并绑定音乐由于代码是属于管道。 LoadLevel()y切换场景。 2、物体移动 1、小鸟的移动 bird有刚体组件如上图 public void getLife(){rigidbody.useGravitytrue;this.rigidbody.velocity new Vector3(2,0,0);} 初始时没有重力由于这里设定刚进入游戏时小鸟没有动作点击鼠标后才激活getlife函数的rigidbody.useGravitytrue使小鸟开启了重力之后的this.rigidbody.velocity new Vector3(2,0,0);给了它水平x轴方向的初速度。velocity描写叙述角色当前的相对速度。 pre namecode classcsharp //上跳void birdJump(){if(Input.GetMouseButton(0) ){// left mouse button downaudio.Play();Vector3 vel2 this.rigidbody.velocity;this.rigidbody.velocity new Vector3(vel2.x,5,vel2.z);}} 左键按下实现上跳首先获得当前速度然后改变y方向实际情况各不同样的速度实现向上的动作。 这样结合上面的代码就能实现小鸟的运动。 2、水平移动的实现 void Update () {//依据分数来决定子弹的出现if (GameManager._intance.score minScore) renderer.enabled true;float outToMove speed * Time.deltaTime;transform.Translate(Vector3.up*outToMove); //又一次出现if (transform.position.x (birdTransform.position.x-2.0f)) {setPosition();}} float outToMove speed * Time.deltaTime;transform.Translate(Vector3.up*outToMove);这两行代码实现某一轴方向的物体的移动详细的查资料吧。 转载于:https://www.cnblogs.com/mfrbuaa/p/4284788.html