Unity学习之坦克游戏制作(1)开始场景的制作

这篇具有很好参考价值的文章主要介绍了Unity学习之坦克游戏制作(1)开始场景的制作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


1. 实现效果

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

2. 场景装饰

2.1 创建场景

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

2.2 拖入场景地板

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

相当于开始界面,想怎么创建就怎么创建

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
我最终模拟的效果
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

3 开始界面

3.1 导入UI

这部分不关键,关键的是创建可用来装载脚本的button
这部分感兴趣的可以去看我博客的GUI部分,但建议大家把学GUI的时间拿来学UGUI
导入预设体
Root
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
创建一格Label组件作为标题

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
这部分也可以自己创建
同时创建四个按钮,
每个按钮都可以自行设置,
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
最终实现的效果
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

3.2 创建面板基类

使用单例模式
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

提供两个方法,给所有子类(面板类)使用
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
这个基类的最大作用,就是可以直接传类名给单利模式,而不需要在unity通过名字寻找到脚本的API进行面板的操作
直接.instance就可以进行操作

3.2.1 开始按钮

1)首先创建公共的成员变量 来关联各个组件
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
2) 监听按钮点击后做什么

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
先进行测试场景切换有无作用
在build中先把GameScene场景添加上
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
此时点击 开始游戏,应该会切换场景

4 设置界面

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

声明成员变量关联组件
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
因为暂时没有音效文件
所以监听事件先写在这儿,后面再改

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
关闭面板
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
因为现在一进游戏面板就显示,需要修改逻辑
在start 函数中,所有监听事件下面增加HideMe函数
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
此时被隐藏

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
在beginPanel中添加
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
此时点击游戏设置,应该会跳转到这个界面
点击×应该能关闭界面
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

因为GUI的不完善,可能会出现 穿透现象,简单处理一下
在打开设置面板的时候,开始面板进行失活
在关闭设置面板时,再对开始面板激活
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

5 音效数据逻辑

5.1 音效数据可持久化

创建音效管理类
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

5.2 声明音效管理的主要变量

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

5.3 声明数据管理器

声明单例模式的管理类,用于管理游戏数据
PlayerPrefsDataMgr 感兴趣的可以去看我的 数据持久化 playerprefs的博客,如果有基础建议把学习时间花在xml和json
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
如果第一次进入游戏没有音效数据,所以所有的数据要不是false 要不是0 ,所以在音效数据类中增加一个是否是第一次加载数据的标识

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

只会进一次这个逻辑

5.4 在设置面板的数据初始化

新增一个函数进行数据更新
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

并且重载虚函数ShowMe,让打开面板的时候更新数据
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
测试一下
是选中状态,并且音量是满的就是成功了
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

5.5 提供API给外部

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

在监听事件中添加各类函数
这是Setting Panel里的
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
测试一下
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
设置完毕后,停止游戏再开启,应该还是一样的状态
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

6 排行榜界面

拖一下UI
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
自己可以拼一下

6.1 Panel脚本

和设置一样,首先继承basePanel
关联对象
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

GUI太难拖五个对象,所以代码找到对象

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

看看找到没
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
关闭界面
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

再打开的时候更新信息
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

6.2 更新排行榜数据

创建排行榜数据类
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
在声明排行榜列表类

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

6.3 在数据管理类初始化

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

6.4 更新排行榜列表数据

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

6.5 提供一个在排行榜中添加数据的方法

在GameDataMgr中添加
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
在Panel中添加一条测试数据
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
别忘了添加监听事件,不然btn没用
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
测试成功,多运行几次
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

7 背景音乐

7.1 在工程新建空物体管理背景音乐

添加 Audio Source

Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

7.2 创建新脚本控制音乐开关

挂载在场景的BKMusic上
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
改变API 中函数
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记

7.3 初始化的时候就设置

如果不初始化的时候设置,不管之前的设置会怎么样,游戏一开始就会播放音乐,只有打开设置面板后才会根据设置改变音乐,所以在初始化脚本的Awake函数中增加一句
Unity学习之坦克游戏制作(1)开始场景的制作,unity,学习,游戏,笔记文章来源地址https://www.toymoban.com/news/detail-815446.html

到了这里,关于Unity学习之坦克游戏制作(1)开始场景的制作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity 关卡跳转——开始界面切换到游戏场景的实现

    1 .在已有关卡的基础上,另外新建一个关卡,将其命名为start并进行保存。 2 .在新建立的start关卡中创建TitleScreen.cs脚本,代码如下。 (值得注意的是,这里不要忘记使用unity引擎提供的SceneManagement类,即在脚本顶部添加 using UnityEngine.SceneManagement;) 3 .将TitleScreen.cs脚本挂载到

    2024年02月11日
    浏览(31)
  • Unity3D学习之UI系统——用NGUI制作游戏登陆界面

    会省略一些东西,可以看我的NGUI的博客 设置UI分辨率自适应 设置Root 的层级 和摄像机渲染的层级为UI 主摄像机不渲染UI 一般都是美术给一个示意图,然后按示意图上拼面板 3.1.1 制作图集 制作两个新图集 3.1.2 拖面板 检查DrawCall 3.1.3 面板基类 创建面板基类, 首先设置成单例

    2024年02月19日
    浏览(63)
  • Unity3D项目之游戏场景小地图制作

    创建一个场景资源,可在asset store资源商店下载,选择心仪场景。 链接:https://assetstore.unity.com/?locale=zh-CN 添加一个对象GameObject,命名为player,子物体包括:主摄像机,角色,后面步骤会添加一个plane。 添加一个地图摄像机,命名为MapCamera。修改属性projection为OrthoGraphic;Size为

    2024年02月11日
    浏览(45)
  • Unity从零开始制作多人回合制对战游戏(1)——网络通讯

    考虑到我们的教程是网络游戏,所以还是得先写个服务器,本篇教程会向你科普什么是网络通讯、实现网络通讯需要的工具protobuf及其使用方法,最后,其主要内容是教你运用这些知识来开发一个使用c#作为后端的服务器,并完成通讯功能 新建一个unity项目作为客户端和c#控制

    2024年02月04日
    浏览(43)
  • 【用unity实现100个游戏之7】从零开始制作一个仿杀戮尖塔卡牌回合制游戏

    参考原视频链接: 【视频】:https://www.bilibili.com/video/BV1eF41177hu/ 注意 :本文为学习笔记记录,推荐支持原作者,去看原视频自己手敲代码理解更加深入

    2024年02月10日
    浏览(32)
  • 【用unity实现100个游戏之17】从零开始制作一个类幸存者肉鸽(Roguelike)游戏1(附项目源码)

    他来了他来了,万众期待的类幸存者肉鸽(Roguelike)游戏。我将从0带大家制作一款肉鸽游戏。 这款游戏采用经典的 Roguelike 游戏玩法,每次冒险都将是一次全新的体验。敌人的位置和道具都是随机生成的,确保每次游玩都充满了无限可能性。 你需要运用智慧、策略和一点运气来

    2024年02月05日
    浏览(112)
  • 【用unity实现100个游戏之7】从零开始制作一个仿杀戮尖塔卡牌回合制游戏(附项目源码)

    参考原视频链接: 【视频】:https://www.bilibili.com/video/BV1eF41177hu/ 注意 :本文为学习笔记记录,推荐支持原作者,去看原视频自己手敲代码理解更加深入

    2024年02月08日
    浏览(85)
  • 【用unity实现100个游戏之17】从零开始制作一个类幸存者肉鸽(Roguelike)游戏2(附项目源码)

    本节紧跟着上一篇,主要实现对象池程序化生成敌人和属性配置。 新增不同敌人预制体,并配置默认跑步动画 新增一个敌人类的脚本,实现了敌人向玩家移动并面对玩家的功能。注释已添加在相应的代码行上。 挂载脚本,配置参数,一般敌人移速都是比主角低 我们放几个敌

    2024年03月16日
    浏览(57)
  • Unity游戏程序设计——3D双人坦克大战

    3D多人坦克大战 ·Unity2019.4.29   ·Visual Studio 2019 双人坦克游戏: 坦克:可移动旋转,发射炮弹 子弹:按一定方向一定速度发射;炮弹周围会产生冲击波,击中坦克或接触地面后爆炸 坦克生命:坦克被击中后血条相应变化;血条不随坦克的旋转而旋转;血条减到小于等于0后爆

    2024年04月28日
    浏览(29)
  • Unity学习记录:制作双屏垃圾分类小游戏

    要实现的功能 游戏操作 在规定时间内,垃圾通过拖拽进入正确垃圾桶的容器,垃圾在这里消失,飞入第二个屏上对应垃圾桶的位置并实现加分和加时间的效果,垃圾拖拽进入不正确的垃圾桶,垃圾会返回到原来的位置,同时,相应的时间也会减少 胜利和失败的条件: 胜利:

    2024年02月03日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包