U3D学习项目一:2D横版小狐狸闯关游戏(代码部分二)
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; //falsevoid 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);}}
U3D学习项目一:2D横版小狐狸闯关游戏(代码部分二)相关推荐
- U3D学习项目一:2D横版小狐狸闯关游戏
一.版权出处 该学习内容均来自B站up主:M_Studio 的教学视频,初衷是为了以后忘了某些流程方便检索,非商用!!!! 二.Cinemachine 1.通过Windows--Packages Ma ...
- Unity学习笔记2 简易2D横版RPG游戏制作(二)
十二.敌人受攻击时的闪烁和Player的生命值的修正 上一篇中,我们利用Controller2D中的IEnumerator TakenDamage接口,使得我们的Player受到攻击时会进行闪烁,我们 ...
- Unity学习笔记3 简易2D横版RPG游戏制作(三)
这一篇本来应该是在上一篇后面直接补进去的.不过因为排版的问题.所以我就另开一篇来整理了,好了,废话不多说,马上整理: 十八.关卡的锁定与解锁 前面我们已经解决了在游戏开始时可以选择关卡的问题,接下来我 ...
- unity3d游戏2d横版射击游戏完整项目源码分享
unity3d游戏2d横版射击游戏完整项目源码分享 免费下载地址: 链接:https://pan.baidu.com/s/1YwhEy7DeKIHFU8pBLdJFPg 提取码:3wnx 复制这段内容 ...
- 2D横版冒险文字游戏Horror Book2项目总结
前些时间接手了个烂尾的社团游戏,其实也没出什么事,就是上一个码农字面意思上的删码跑路了而已(想想也是蛮吓人的orz),美术他们手上只剩下一个仅做了标题界面的demo,没办法只能找新的猴子重构一个游戏出 ...
- 用Unity开发一款2D横版游戏demo
# LanW Game Project 目录 (一) 介绍 (二) 安装教程 (三) 开发流程 1. 新建工程 2. 设置人物 3. 控制主角的移动 4. 添加切换动作的动画 5. 镜头 ...
- Unity 4 3 制作一个2D横版射击游戏 2
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 在上一篇 ...
- 2D横版游戏Demo试做流程(Unity3D+Visual Studio C#)
2D横版游戏Demo试做流程(Unity3D+Visual Studio C#) 目录 UI界面设置 游戏规则制定 Player角色(玩家可控制角色相关)(创建playerC#文件) 怪物类(各种怪物 ...
- Unity 2D横版通关 小游戏——幻城探险 C#
Unity 2D横版通关 小游戏 C# 分辨率 1920*1980 点击这里下载项目工程 本项目,为个人练习demo,美术资源原创自合作美工. 本项目涉及到的功能: 1.UI:开始游戏按钮,游戏帮助 ...
- unity中实现经典的2d横版单向跳跃平台
经常玩2d横版游戏的朋友们相信一定对这种单向跳跃平台很熟悉:我希望我的角色可以通过跳跃跳上平台,然后在平台之上按下键盘的下键后从平台上落下. 那么想要实现这样的效果具体要怎么做呢?我们还是先将想要实现 ...
最新文章
- python画图标题_使用pyplot.matshow()函数添加绘图标题
- 如何让决策树中有样本的索引
- 聊聊flink的AscendingTimestampExtractor
- Maven在windows下的安装
- compileReleaseJavaWithJavac
- 【hihocoder - offer编程练习赛60 B】最大顺子(双指针,思维)
- SpringCloud Hoxton版微服务-入门篇
- Java集合框架之三:HashMap源码解析
- python实现语义分割_如何用PyTorch进行语义分割?一文搞定
- 微软MCITP系列课程(十)WSUS服务器搭建
- python学习模型_python学习笔记(IO模型)
- Jenkins系列一Linux环境安装Jenkins
- 一些忘记了的....
- H5互动游戏营销方案策划
- 不会英语能学java_不会英语可以学java吗 不会英语怎么学java?
- Ubuntu18.04与RTX1080Ti安装深度学习框架
- Java脚本写的随机验证码
- 怎么找到公众微信上的视频链接
- 新手程序员编程必不可少的八大工具
- 微软“咸鱼翻身”:股价沉沦17年后创历史新高
热门文章
- 年金系数用计算机怎么算,年金系数是什么?怎么计算?
- markdown语法手册完整版
- 魔兽星期二服务器维护,魔兽世界例行维护,假如我星期一晚上通宵,在星期二凌晨五点维护时我没退出游戏,会被强制退出么?...
- VMware安装Linux详细教程
- Zoned-Storage - 对ZNS块设备进行基准测试
- python做数据透视表_Python pandas中强大的数据透视表
- Linux root密码暴力破解及重置的三种方式
- 第1节 基本数据类型分析
- C语言源码实现俄罗斯方块
- USB 的UVC协议分析