U3D学习项目一:2D横版小狐狸闯关游戏(代码部分二) 您所在的位置:网站首页 unity横版游戏教学 U3D学习项目一:2D横版小狐狸闯关游戏(代码部分二)

U3D学习项目一:2D横版小狐狸闯关游戏(代码部分二)

2023-12-23 22:37| 来源: 网络整理| 查看: 265

UI界面(Class EnterDialog)

1、为界面添加一些文本及按钮。 在这里插入图片描述

//小狐狸经过物体门时会看到一个提示对话框 public GameObject enterDialog; private void OnTriggerEnter2D(Collider2D collision) { if(collision.tag== "Player") { enterDialog.SetActive(true); } } private void OnTriggerExit2D(Collider2D collsion) { enterDialog.SetActive(false); } } 主菜单界面(Class Menu)

1、创建一个总UI代码并挂载到UI画布Canvas上:

public GameObject pauseMenu; //获取暂停对话框 public AudioMixer aduioMixer; //创建音频混音器 //切换场景 public void PlayGame() { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex+1); } //退出游戏 public void QuitGame() { Application.Quit(); } //获取Hierarchy界面中的游戏项目 public void UIName() { GameObject.Find("Canvas/Panel_2/UI").SetActive(true); } //暂停游戏 public void PauseGame() { pauseMenu.SetActive(true); Time.timeScale= 0f; } //返回游戏 public void ResumeGame() { pauseMenu.SetActive(false); Time.timeScale= 1f; }

2、在文件夹中新建一个AudioMixer: 在这里插入图片描述 2、将滑动条Inspector中的数值范围调整为跟AudioMixer相匹配,-80到0;并添加AdjustVolume()方法。 在这里插入图片描述 3、展开AudioMixer后打开Master的Inspector界面,需要将其中的数值变成代码。选中右侧界面中的Volume,点击右键选择“Expose’Volume (of Master)'to script”;在左侧界面Exposed Parameters (1)下拉框中选择MainVolume。现在我们可以在代码中调节AudioMixer中的数值了!在Class Menu中添加以下代码:

//调节音量 public void AdjustVolume(float value) { aduioMixer.SetFloat("MainVolume",value); }

在这里插入图片描述

场景切换(Class SceneManagement) using UnityEngine.SceneManagement; public class SwitchScene : MonoBehaviour { void Update() { if(Input.GetKeyDown(KeyCode.E)) //按下键盘的E键切换场景 { SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex+1); } } } 声音控制(Class SoundManager)

1、创建一个空物体命名为“SoundManager”并赋予其一个代码来调取声音以免造成我们的小狐狸挂载的AudioSource组件过多。

public static SoundManager instance; //创建一个该类的静态变量,这样我们在其他类中也能调用该类中的方法 public AudioSource audioSource; [SerializeField] //使我们的private变量可视化 private AudioClip jumpAudio,hurtAudio,cherryAudio; private void Awake() { instance= this; } //跳跃音效 public void JumpAudio() { audioSource.clip= jumpAudio; audioSource.Play(); } //受伤音效 public void HurtAudio() { audioSource.clip= hurtAudio; audioSource.Play(); } //获得物品音效 public void CherryAudio() { audioSource.clip= cherryAudio; audioSource.Play(); } 视觉差(Class Parallax)

1、为了制造近、中、远景各自不同的移动速度,我们创建一个新代码

public Transform cam; //创建摄像机物体 public float moveRate; //移动速率 private float startPointX,startPointY; public bool lockY; //false void Start() { startPointX=transform.position.x; } void Update() { if(lockY) { transform.position= new Vector2(startPointX+cam.position.x* moveRate,transform.position.y); }else{ transform.position= new Vector2(startPointX+cam.position.x* moveRate,startPointY+cam.position.y*moveRate); } }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有