基本流程


**
0、在基础的地面上会有一个小球,通过控制小球的滚动,吞吃地面上的一些小块。
1、创建基础场景,包括地面,主角,触碰小块。

① 通过材质设置修改相关物体的颜色/光滑度等显示。
② 重复出现的游戏物体最好设置成prefab,以方便修改。
③ 小球上需要添加刚体组件,以模拟物理效果。
④ 触碰小块上添加PickUp标签,用于判断。

2、创建脚本,实现对游戏主角的控制,镜头对主角的跟随,主角触碰小块小块消失(吞食)的功能。

① 在脚本中定义一个刚体,并通过获取组件上的刚体对其赋值。private Rigidbody rd;//在start()模块中对其进行赋值。rd = getComponent<Rigidbody>();
② 通过对这个刚体施加力,对主角进行控制。float h = getAxisRaw("Horizontal");float v = getAxisRaw("Vertical");rd.AddForce(new Vector3(h,0,v));③ 镜头的跟随,脚本挂在在相机上。首先定义一个gameObject,并将其和工程中的Player联系起来。public gameObject PlayerTransform;
④ 记录初始化时主角和相机的偏移量,在持续运行时加上偏移量。//在start()模块中offset = transform.position - PlayerTransform.position;//在Update()模块中,更新相机位置transform.position = PlayerTransform.position + offset;⑤ 吞吃小球,有两种方式,一种是碰撞检测,但会有明显的触碰效果,第二种是触发检测,将触碰小快的碰撞盒修改成触发器(is Trigger)。//触碰检测void OnCollisionEnter(Collision collision){if(collision.collider.tag == "PickUp"){Destroy(collision.collider.gameObject);}}//触碰检测void OnTriggerEnter(Collider collider){if(collider.tag == "PickUp"){Destroy(collider.gameObject);}}

3、创建UI界面的显示内容,包括一个计数量score,一个完成时的提示量win。

4、在脚本中实现score的计数功能,和win的条件显示功能。

① 首先引入新的环境(?),using UnityEngine.UI;
② 得分计数的实现,因为是对游戏物体的text组件进行修改,所以定义一个text变量,用以和项目中对应的组件联系起来。public Text text;private int score;//计数变量score++;//在每次检测到加分条件时,score+1text.text = score;//完成赋值
③ 获胜提示,在满足条件的情况下,对winText进行一个激活操作。同样定义一个gameObject变量,和工程中的物体联系起来。public gameObject winText;winText.setActive();

5、游戏的发布(将需要构建的scene场景拖入到build的窗口中)

总结


**
1、善用unity提供的manual,当中包括很多class,需要一一熟悉。
2、脚本工程和游戏工程的联系需要定义,使用物体即用gameObject,使用组件即定义组件名称,获取组件通常使用gameObject.getComponent<>();

【Unity学习第二天】滚球游戏学习(Roll A Ball)相关推荐

  1. 制作滚球游戏学习Unity3D

    从创建项目开始 创建一个项目 打开unity,在Projects中可以查看当前的本地项目或者云端项目,点击New project或者右上角的New都可以新建项目. 然后在1处填写创建项目的名称,2处选 ...

  2. 【学习】Unity3D滚球游戏 原理及实现

    转载:https://blogs.littlegenius.xin/2019/02/10/从滚球游戏初步体验Unity3D/ 从创建项目开始 创建一个项目 打开unity,在Projects中可以查看 ...

  3. 【Unity3D】二、制作滚球游戏学习Unity3D(上)

    从创建项目开始 创建一个项目 打开unity,在Projects中可以查看当前的本地项目或者云端项目,点击New project或者右上角的New都可以新建项目. 然后在1处填写创建项目的名称,2处选 ...

  4. 【Unity3D】二、制作滚球游戏学习Unity3D(下)

    上一篇文章:https://blog.csdn.net/qq_38962621/article/details/86930742 创建碰撞小立方体 新建Cube 我们在游戏场地中加入一些旋转的小方块儿 ...

  5. 滚球游戏(动态规划)

    某滚球游戏规则如下:球从入口处(第一层)开始向下滚动,每次可向下滚动一层,直到滚至最下面一层为止.球每次可滚至左下.下方或右下三个方格中的任意一个,每个方格都有一个得分,如样例所示.第1层有1个方格, ...

  6. 滚球游戏(数字三角形的变形)

    问题 F: 滚球游戏 [命题人 : admin] 时间限制 : 1.000 sec 内存限制 : 128 MB 题目描述 某滚球游戏规则如下:球从入口处(第一层)开始向下滚动,每次可向下滚动一层,直到 ...

  7. unity fixedupdate_Unity之滚球游戏(上)

    程序员那些事 真正的程序员喜欢兼卖爆米花,他们利用CPU散发出的热量做爆米花,可以根据米花爆裂的速度听出正在运行什么程序. 创建一个项目 打开unity,在Projects中可以查看当前的本地项目或者 ...

  8. Unity官方教程滚球游戏实现(Roll A Ball)带工程源码

    记学习unity之后做出的第一款游戏   第一次使用Unity,在学成C#基础之后,迫不及待的照着教程做出了这个游戏,第一课最主要学习的东西就是Unity API的使用及场景中各个界面面板的主要功能, ...

  9. Unity从头开始开发增强现实(AR)游戏学习教程

    使用Unity 2021构建增强现实飞镖游戏 学习从头开始开发增强现实(AR)游戏,使用AR基金会,货币化,发布游戏玩商店 Build a Augmented Reality Dartboard Ga ...

最新文章

  1. Duo js 一个非常酷的前端打包工具
  2. python多线程不能利用多核cpu,但有时候多线程确实比单线程快。
  3. 查看Linux 系统的配置和增减用户/增减组/增减权限
  4. Apache Hudi 在 B 站构建实时数据湖的实践
  5. John the Ripper 密码破解者
  6. cocos2dx android运行Luac编译后的lua代码
  7. 挑战malloc极限,看看你的系统有多大的内存分配能力
  8. 删除重复记录10.22
  9. webpack 多入口打包配置示例
  10. Symbian中的iScanCode和iCode
  11. OA多级审批流程表设计方案以及开发思路(非常细节)
  12. 代码原理 webkit WebKit-利用百度siteapp开发网站App-(IOS和Android版本)
  13. 歌评-《Rex Incognito 尘世闲游》-陈致逸
  14. 恶心的八皇后全解python版
  15. Uber牵手戴姆勒共事自动驾驶,探索未来出行模式
  16. pycharm终端提示无法加载文件 F:\Users\Administrator\PycharmProjects\pythonProject\venv\Scripts\activate.ps1,因为在
  17. 2019江西(南昌)安博会 数字冰雹“警视”即将惊艳亮相
  18. vue3+ts+vite,使用高德api实现搜索城市展示在地图上
  19. 交通运输词汇(zt)
  20. 科普大佬说 | 港大黄凯斌老师带你解锁黑客帝国与6G的关系

热门文章

  1. 2021年安全员-C证复审考试及安全员-C证模拟考试
  2. 互联网日报 | 1/18 星期三 | 网易否决暴雪顺延六个月提案;腾讯回应退租朗科办公楼;苹果发布新款MacBook Pro...
  3. Python大佬总结出了超级详细的Python爬虫学习清单,新手免费领取
  4. c语言map函数指针,函数指针 - 弧光守望者 - OSCHINA - 中文开源技术交流社区
  5. 小乌龟git如何同步远程分支_git同步远程仓库分支
  6. self参数 - __ init__ ()方法 super(Net, self).__init__()是什么
  7. 【论文复现】MixConv(2019)
  8. 简易的验证码自动识别脚本
  9. 一次生产慢响应问题排查:TRUNCATE TABLE (MySQL Bug 68184)
  10. 项目游戏开发日记 No.0x000005