Roll A Ball 简单案例记录。以后还有其他不同类型、难易程度不同游戏案例技术点文章也将记录在《Unity游戏案例学习》博文专栏下。

一、主要脚本

1.小球控制脚本(移动及拾取物体得分检测)
using UnityEngine;
using UnityEngine.UI;/// <summary>
/// 小球(主角)控制脚本
/// </summary>
public class PlayerControlller : MonoBehaviour
{private Rigidbody rb;public float playerSpeed = 5f;int score = 0;public  Text text;public GameObject winText;void Start(){rb = GetComponent<Rigidbody>();}//更新事件,Update(),FixUpdatevoid Update(){//使用系统预设的w,a,s,d 控制Cube移动float h = Input.GetAxis("Horizontal");float v = Input.GetAxis("Vertical");//  PlayerMovePosition(h,v);PlayerMoveAddForce(h, v);}//方法private void PlayerMovePosition(float h,float v){Vector3 dir = new Vector3(h, 0, v);dir = transform.position + dir.normalized *playerSpeed* Time.deltaTime;//刚体移动的特点:物体的位置+方向,太快就方向*一个小数,使之慢一点rb.MovePosition(dir);}private void PlayerMoveAddForce(float h, float v){Vector3 dir = new Vector3(h, 0, v);rb.AddForce(dir * playerSpeed);}private void OnTriggerEnter(Collider other){if (other.tag == "PickUp"){score++;text.text = score.ToString();if (score == 10){winText.SetActive(true);}Destroy(other.gameObject);}}
}
2.摄像机跟随主角移动脚本
using UnityEngine;
/// <summary>
/// 摄像机跟随主角移动脚本
/// </summary>
public class FollowTarget : MonoBehaviour
{public Transform playerTranform;Vector3 offset;void Start(){offset= transform.position - playerTranform.position;}// Update is called once per framevoid Update(){transform.position = playerTranform.position + offset;}
}
3.拾取物自身旋转脚本
using UnityEngine;public class PickUp : MonoBehaviour
{void Update(){transform.Rotate(new Vector3(0, 1, 0) * Time.deltaTime * 60);}
}

二、工程层级

Roll A Ball 案例学习相关推荐

  1. Unity官方案例——Roll a ball

    现在的我还是一名 Unity3d 游戏开发初学者,所以现在都在围绕 Unity3d 的官方案例来做练习,为此写下一些文章作为笔记,文章中难免会有一些疏漏,有些不当之处还望指正. 项目简介 首先玩家可以 ...

  2. Unity3d学习笔记--从roll a ball 开始(一)

    以下这篇文章主要面向刚接触Unity的新手(比如我),通过 做roll a ball项目 介绍在Unity里怎样创建项目,加载组件(component)等一系列的基本操作.此外还分享了在做项目的时候要 ...

  3. Unity官方案例-roll a ball

    通过学习: 1.将了解到如何新建一个游戏对象(game object) 2.为这些游戏对象添加组件(components) 3.为他们的属性(properties)赋值 4.把这些对象放置在场景(sc ...

  4. Unity MVC 案例学习笔记《二》

    MVC 案例学习笔记 注册事件,就是把事件加入到事件字典 发送事件,并携带参数,就是在事件字典中遍历找到具体的 controller 进行处理 using System.Collections; us ...

  5. 通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本...

    通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本   版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...

  6. 《大数据导论》——1.4节案例学习背景

    本节书摘来自华章社区<大数据导论>一书中的第1章,第1.4节案例学习背景,作者瓦吉德·哈塔克(Wajid Khattak),保罗·布勒(Paul Buhler),更多章节内容可以访问云栖社 ...

  7. ArcGIS案例学习1_2

    ArcGIS案例学习1_2 联系方式:向日葵,135_4855_4328, xiexiaokui#qq.com 时间:第一天下午 案例1:矢量提取,栅格提取和坐标系投影变换 目的:认识数据类型 教程: ...

  8. 零元学Expression Blend 4 ndash; Chapter 21 以实作案例学习MouseDragElementBehavior

    原文:零元学Expression Blend 4 – Chapter 21 以实作案例学习MouseDragElementBehavior 本章将教大家如何运用Blend 4内建的行为注入元件「Mou ...

  9. ArcGIS案例学习笔记-找出最近距离的垂线

    ArcGIS案例学习笔记-找出最近距离的垂线 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于任意矢量要素类,查找最近距离并做图 数据: 方法: 0. 计算 ...

  10. ArcGIS案例学习笔记2_2_等高线生成DEM和三维景观动画

    ArcGIS案例学习笔记2_2_等高线生成DEM和三维景观动画 计划时间:第二天下午 教程:Pdf/405 数据:ch9/ex3 方法: 1. 创建DEM SA工具箱/插值分析/地形转栅格 2. 生成 ...

最新文章

  1. 【转】感知哈希算法——找出相似的图片
  2. linux的帮助命令及区别,linux经常使用命令以及帮助命令
  3. 【Java】字符串substring方法在jkd6,7,8中的差异
  4. docker安装oracle11g史上最全步骤(带图文)
  5. 雨林木风四大绝笔系统下载
  6. 简单的Charles抓包ios微信网页
  7. Android Studio 解决数据库手机电脑不同步
  8. Android学习笔记(十):jsonArray转array
  9. Seafile私有云盘搭建详解
  10. [原创]酒好喝,好喝酒,喝好酒,酒喝好
  11. 阿里巴巴公开大数据打假模式
  12. 2018年辽宁省电子设计大赛D题手势识别装置
  13. Kali 安装HP p1505打印机驱动
  14. Version of Delve is too old for this version of Go【Goland Debug】报错
  15. 字符串的介绍及常用API总结
  16. linux 内核 4.9,Linux Kernel 4.9发布下载
  17. html锚链接设为无效,使用jQuery使HTML锚链接(HyperLink)不可点击或禁用
  18. 统计分析——相关分析
  19. Matlab:实现在输入音频上使用混响器对象(附完整源码)
  20. 2020年中国智慧水务行业现状、竞争格局及未来发展趋势分析,水务是民生工程,是智慧城市推进中重要一环「图」

热门文章

  1. PDF拆分页面,免费拆分为多个PDF
  2. Python对象与json数据的转换
  3. 二维码中间嵌入logo
  4. 大学精品课matlab,大学精品课件:Matlab绘图教程.ppt
  5. 离散数学11:图的着色
  6. Android学习之路
  7. C语言程序设计谭浩强第五版课后答案
  8. 倒立摆 adams matlab,基于adams和matlab的一级倒立摆联合仿真
  9. 登录小米账号 服务器问题怎么办,小米官网无法登陆是怎么回事 小米官网无法登陆解决方法...
  10. 计算机office视频百度云,word视频教程百度云 office2016视频教程