Roll-A-Ball 游戏

Roll-A-Ball 游戏

在这里插入图片描述

1)学习资料

  • b站视频教程:https://www.bilibili.com/video/BV18W411671S/
  • 文档:
    * Roll-A-Ball 教程(一),
    * Roll-A-Ball 教程(二)
  • 线上体验roll-a-ball成品
    * http://www-personal.umich.edu/~ayarger/ShadowsInPlatformersWeb/

2)核心代码:

功能1:用W A S D控制小球移动的脚本:

新建一个C#脚本叫做sphereControll,添加到 小球身上。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class sphereControll : MonoBehaviour
{// Update is called once per framevoid Update(){if (Input.GetKey(KeyCode.W)){GetComponent<Rigidbody>().AddForce(new Vector3(0, 0, 10));}if (Input.GetKey(KeyCode.S)){GetComponent<Rigidbody>().AddForce(new Vector3(0, 0, -10));}if (Input.GetKey(KeyCode.A)){GetComponent<Rigidbody>().AddForce(new Vector3(-10, 0, 0));}if (Input.GetKey(KeyCode.D)){GetComponent<Rigidbody>().AddForce(new Vector3(10, 0, 0));}if (Input.GetKey(KeyCode.Space)){GetComponent<Rigidbody>().AddForce(new Vector3(0, 10, 0));}}
}

或者:用Input.getAxis控制小球移动的脚本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class sphereControll : MonoBehaviour
{float horizontal;float vertical;public float speed=10;// Update is called once per framevoid Update(){horizontal=Input.GetAxis("Horizontal");vertical=Input.GetAxis("Vertical");GetComponent<Rigidbody>().AddForce(new Vector3(horizontal,0,vertical)*speed);}
}

功能2:摄像机跟随脚本,

新建一个C#脚本叫做CameraController.cs,添加到 摄像机身上。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class CameraController : MonoBehaviour
{public GameObject player;Vector3 offset;void Start(){offset = transform.position - player.transform.position;}void Update(){transform.position = player.transform.position + offset;}
}

功能3:物块自动旋转

新建脚本,Rotator.cs,挂到要旋转的物体上。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Rotator : MonoBehaviour
{void Update(){transform.Rotate(new Vector3(15,30,45)*Time.deltaTime);}
}

功能4:碰到即消失。

在小球的脚本中,添加以下代码,若碰到了tag是pickup的物体,则销毁该物体

void OnTriggerEnter(Collider other){if (other.gameObject.tag == "pickup"){Destroy(other.gameObject);}        }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/227543.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

带着GPT-4V(ision)上路,自动驾驶新探索

On the Road with GPT-4V(ision): Early Explorations of Visual-Language Model on Autonomous Driving GitHub | https://github.com/PJLab-ADG/GPT4V-AD-Exploration arXiv | https://arxiv.org/abs/2311.05332 自动驾驶技术的追求取决于对感知、决策和控制系统的复杂集成。…

C语言错误处理之“非局部跳转<setjmp.h>头文件”

目录 前言 setjmp宏 longjmp函数 使用方法&#xff1a; 实例&#xff1a;测试setjmp与longjmp的使用 前言 通常情况下&#xff0c;函数会返回到它被调用的位置&#xff0c;我们无法使用goto语句改变它的返回的方向&#xff0c;因为goto语句只能跳转到同一函数内的某个标号…

VSCode 配置 C++ 环境

文章目录 VSCode 配置 C 环境1. 配置 C 编译器1.1 下载 MinGW1.2 添加环境变量1.3 测试 2. 配置编辑器 VSCode2.1 下载 VSCode2.2 安装插件2.3 运行代码 3. 优化Reference VSCode 配置 C 环境 VSCode&#xff08;Visual Studio Code&#xff09;是一款轻量级的代码编辑器&…

概要设计检查单、需求规格说明检查单

1、概要设计检查表 2、需求规格说明书检查表 概要&#xff08;结构&#xff09;设计检查表 工程名称 业主单位 承建单位 检查依据 1、设计方案、投标文件&#xff1b;2、合同&#xff1b;3、信息系统相关技术标准及安全规范&#xff1b; 检查类目 检查内容 检查…

基于Java+Vue+uniapp微信小程序校园二手交易平台设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

Unity 关于生命周期函数的一些认识

Unity 生命周期函数主要有以下一些&#xff1a; Awake(): 在脚本被加载时调用。用于初始化对象的状态和引用。 OnEnable(): 在脚本组件被启用时调用。在脚本组件被激活时执行一次&#xff0c;以及在脚本组件被重新激活时执行。 Reset(): 在脚本组件被重置时调用。用于重置脚本…

递归实现全排列

思路: 对于给定的集合&#xff0c;选择一个元素作为当前位置的元素。将当前位置的元素与集合中其他位置的元素交换&#xff0c;依次产生新的排列。通过递归调用&#xff0c;将当前位置向后移动&#xff0c;继续生成新的排列。当当前位置达到集合的末尾时&#xff0c;表示生成了…

Charles下载安装及配置之Mac

因工作需要用到抓包工具&#xff0c;但Fiddler不能在mac上使用&#xff0c;所以找到了Charles&#xff0c;Charles其实是一款代理服务器&#xff0c;通过过将自己设置成系统&#xff08;电脑或者浏览器&#xff09;的网络访问代理服务器&#xff0c;然后截取请求和请求结果达到…

Leetcode—28.找出字符串中第一个匹配项的下标【简单】

2023每日刷题&#xff08;四十&#xff09; Leetcode—28.找出字符串中第一个匹配项的下标 实现代码 int strStr(char* haystack, char* needle) {int len1 strlen(haystack);int len2 strlen(needle);int idx -1;int i 0;while(i < len1 - len2) {if(strncmp(haystac…

蓝桥杯物联网竞赛_STM32L071_5_串口接收发送数据

理论&#xff1a; 串口采取异步通信&#xff0c;即不依赖时钟节拍来接收或发送数据&#xff0c;而是采用互相约定的波特率传输数据。 波特率与单位时间传输的比特数有关&#xff0c;波特率越大传输的数据越多 传输一个比特花费的时间T 1 / 比特率 接受和发送数据的时候需要…

JS+ES6新增字符串操作方法大汇总,共四十七种方法

让我为大家介绍一下字符串的操作方法吧&#xff0c;你知道与不知道的大部分都在这&#xff01; 分类可能有点不太对&#xff0c;还请大家见谅&#xff01; 增 1.concat() 拼接字符串 可以连接两个或多个字符串 let str "hello"let str1 " str"console…

VS2010配置opencv2.4.10

1.下载opencv2.4.10&#xff0c;百度网盘链接如下&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1UdoQJbRUEB_G2urT703xYQ 提取码&#xff1a;7lbd 2.运行opencv-2.4.10.exe&#xff0c;将文件提取到一个自定义目录里&#xff1a; 3.添加系统环境变量 在“系统变量…