Roll A Ball 案例学习
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 案例学习相关推荐
- Unity官方案例——Roll a ball
现在的我还是一名 Unity3d 游戏开发初学者,所以现在都在围绕 Unity3d 的官方案例来做练习,为此写下一些文章作为笔记,文章中难免会有一些疏漏,有些不当之处还望指正. 项目简介 首先玩家可以 ...
- Unity3d学习笔记--从roll a ball 开始(一)
以下这篇文章主要面向刚接触Unity的新手(比如我),通过 做roll a ball项目 介绍在Unity里怎样创建项目,加载组件(component)等一系列的基本操作.此外还分享了在做项目的时候要 ...
- Unity官方案例-roll a ball
通过学习: 1.将了解到如何新建一个游戏对象(game object) 2.为这些游戏对象添加组件(components) 3.为他们的属性(properties)赋值 4.把这些对象放置在场景(sc ...
- Unity MVC 案例学习笔记《二》
MVC 案例学习笔记 注册事件,就是把事件加入到事件字典 发送事件,并携带参数,就是在事件字典中遍历找到具体的 controller 进行处理 using System.Collections; us ...
- 通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本...
通过脚本案例学习shell(五) 通过创建DNS脚本一步一步教你将一个普通脚本规范到一个生产环境脚本 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 ...
- 《大数据导论》——1.4节案例学习背景
本节书摘来自华章社区<大数据导论>一书中的第1章,第1.4节案例学习背景,作者瓦吉德·哈塔克(Wajid Khattak),保罗·布勒(Paul Buhler),更多章节内容可以访问云栖社 ...
- ArcGIS案例学习1_2
ArcGIS案例学习1_2 联系方式:向日葵,135_4855_4328, xiexiaokui#qq.com 时间:第一天下午 案例1:矢量提取,栅格提取和坐标系投影变换 目的:认识数据类型 教程: ...
- 零元学Expression Blend 4 ndash; Chapter 21 以实作案例学习MouseDragElementBehavior
原文:零元学Expression Blend 4 – Chapter 21 以实作案例学习MouseDragElementBehavior 本章将教大家如何运用Blend 4内建的行为注入元件「Mou ...
- ArcGIS案例学习笔记-找出最近距离的垂线
ArcGIS案例学习笔记-找出最近距离的垂线 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于任意矢量要素类,查找最近距离并做图 数据: 方法: 0. 计算 ...
- ArcGIS案例学习笔记2_2_等高线生成DEM和三维景观动画
ArcGIS案例学习笔记2_2_等高线生成DEM和三维景观动画 计划时间:第二天下午 教程:Pdf/405 数据:ch9/ex3 方法: 1. 创建DEM SA工具箱/插值分析/地形转栅格 2. 生成 ...
最新文章
- 【转】感知哈希算法——找出相似的图片
- linux的帮助命令及区别,linux经常使用命令以及帮助命令
- 【Java】字符串substring方法在jkd6,7,8中的差异
- docker安装oracle11g史上最全步骤(带图文)
- 雨林木风四大绝笔系统下载
- 简单的Charles抓包ios微信网页
- Android Studio 解决数据库手机电脑不同步
- Android学习笔记(十):jsonArray转array
- Seafile私有云盘搭建详解
- [原创]酒好喝,好喝酒,喝好酒,酒喝好
- 阿里巴巴公开大数据打假模式
- 2018年辽宁省电子设计大赛D题手势识别装置
- Kali 安装HP p1505打印机驱动
- Version of Delve is too old for this version of Go【Goland Debug】报错
- 字符串的介绍及常用API总结
- linux 内核 4.9,Linux Kernel 4.9发布下载
- html锚链接设为无效,使用jQuery使HTML锚链接(HyperLink)不可点击或禁用
- 统计分析——相关分析
- Matlab:实现在输入音频上使用混响器对象(附完整源码)
- 2020年中国智慧水务行业现状、竞争格局及未来发展趋势分析,水务是民生工程,是智慧城市推进中重要一环「图」
热门文章
- PDF拆分页面,免费拆分为多个PDF
- Python对象与json数据的转换
- 二维码中间嵌入logo
- 大学精品课matlab,大学精品课件:Matlab绘图教程.ppt
- 离散数学11:图的着色
- Android学习之路
- C语言程序设计谭浩强第五版课后答案
- 倒立摆 adams matlab,基于adams和matlab的一级倒立摆联合仿真
- 登录小米账号 服务器问题怎么办,小米官网无法登陆是怎么回事 小米官网无法登陆解决方法...
- 计算机office视频百度云,word视频教程百度云 office2016视频教程