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.mzph.cn/news/179543.shtml

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

相关文章

Spring面向切面编程(AOP);Spring控制反转(IOC);解释一下Spring AOP里面的几个名词;Spring 的 IoC支持哪些功能

文章目录 Spring面向切面编程(AOP)什么是AOPSpring AOP and AspectJ AOP 的区别&#xff1f;Spring AOP中的动态代理如何理解 Spring 中的代理&#xff1f;解释一下Spring AOP里面的几个名词Spring在运行时通知对象Spring切面可以应用5种类型的通知&#xff1a;什么是切面 Aspe…

第八节HarmonyOS @Component自定义组件的生命周期

在开始之前&#xff0c;我们先明确自定义组件和页面的关系&#xff1a; 1、自定义组件&#xff1a;Component装饰的UI单元&#xff0c;可以组合多个系统组件实现UI的复用。 2、页面&#xff1a;即应用的UI页面。可以由一个或者多个自定义组件组成&#xff0c;Entry装饰的自定…

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用【鸿蒙专栏-05】

ArkUI开发进阶—@Builder函数@BuilderParam装饰器的妙用与场景应用 HarmonyOS,作为一款全场景分布式操作系统,为了推动更广泛的应用开发,采用了一种先进而灵活的编程语言——ArkTS。ArkTS是在TypeScript(TS)的基础上发展而来,为HarmonyOS提供了丰富的应用开发工具,使开…

创建一个带有背景图层和前景图层的渲染窗口

开发环境&#xff1a; Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example demo解决问题&#xff1a; 创建一个带有背景图层和前景图层的渲染窗口&#xff0c;知识点&#xff1a;1. 画布转image&#xff1b;2. 渲染图层设置&#xff1b;3.…

高级JVM

一、Java内存模型 1. 我们开发人员编写的Java代码是怎么让电脑认识的 首先先了解电脑是二进制的系统&#xff0c;他只认识 01010101比如我们经常要编写 HelloWord.java 电脑是怎么认识运行的HelloWord.java是我们程序员编写的&#xff0c;我们人可以认识&#xff0c;但是电脑不…

python基础练习题库实验6

文章目录 题目1代码实验结果题目2代码实验结果题目3代码实验结果题目4代码实验结果题目总结题目1 根据以下规范编写一个函数: 函数名称:triple输入参数:1个输入参数数据类型字符串返回值:函数返回1个字符串值。该字符串由每个字符重复3次的句子构成。例如,如果句子是Uni,…

赋值,浅拷贝,深拷贝

1.前置知识 数据分为基本类型(String, Number, Boolean, Null, Undefined&#xff0c;Symbol)和引用类型(Object)基本类型&#xff1a;直接存储在栈内存中的数据引用类型&#xff1a;指向改数据的指针变量存储在栈内存中&#xff0c;真实的数据存储在堆内存中引用类型在栈内存…

电机伺服驱动学习笔记(6)PID算法

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、连续PID二、参数整定1.一般调节法 工具提示参考文献 前言 提示&#xff1a;本文是根据野火科技电机系列教学视频PID算法的通俗解说和参数整定视频课章节整…

数据结构 | 查找

基本概念 关键字&#xff1a;数据元素中唯一标识该元素的某个数据项的值&#xff0c;使用基于关键字的查找&#xff0c;查找结果应该是唯一的。例如&#xff0c;在由一个学生元素构成的数据集合中&#xff0c;学生元素中“学号”这一数据项的值唯一地标识一名学生。 查找表&a…

ARM Cortex-M核的内核态,用户态

首先&#xff0c;用户态和内核态是从操作系统层面上来划分的&#xff0c;如果没有操作系统&#xff0c;我可以直接运行在特权模式下&#xff0c;并使用特权指令。在这种情况下&#xff0c;我将负责管理和控制系统资源&#xff0c;执行关键操作&#xff0c;以及确保系统的安全性…

OSG编程指南<十三>:OSG渲染状态

1、前言 在 OSG 中存在两棵树&#xff0c;即场景树和渲染树。渲染树是一棵以 StateSet 和 RenderLeaf 为节点的树&#xff0c;它可以做到 StateSet 相同的 RenderLeaf 同时渲染而不用切换 OpenGL状态&#xff0c;并且做到尽量少但在多个不同 State 间切换。渲染树在 CullVisito…

正则表达式回溯陷阱

一、匹配场景 判断一个句子是不是正规英文句子 text "I am a student" 一个正常的英文句子如上&#xff0c;英文单词 空格隔开 英文单词 多个英文字符 [a-zA-Z] 空格用 \s 表示 那么一个句子就是单词 空格&#xff08;一个或者多个&#xff0c;最后那个单词…

java学习part21枚举

117-面向对象(高级)-枚举类的两种定义方式及练习_哔哩哔哩_bilibili 1.概念 2.enum关键字 枚举早期是用class内放n个public static final类变量供调用。 后来有了enum关键字&#xff0c;enum里的枚举变量都是public static final&#xff0c;但是必须都省略不写 正确方法 &…

【Java】7. 类型转换和类型判断

7. 类型转换 7.1 基本类型转换 顺箭头&#xff1a;隐式转换&#xff08;自动&#xff09; 逆箭头&#xff1a;强制转换&#xff08;可能造成精度丢失&#xff09; byte a 10; int b a; int c 1000; byte d (byte) c; System.out.println(d); // -24 7.2 包装类型与基…

Vue 双向数据绑定

之前通过v-bind来完成的数据绑定&#xff0c;属性值和表达式进行绑定&#xff0c;表达式的值发生变化了属性值也跟着发生变化。 单向数据绑定&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>首页</titl…

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

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

文件服务器迁移

文件服务器迁移还是比较简单的 win server加域 导出配额文件 选中所有项&#xff0c;点击导出 导出共享文件夹权限列表 导出文件夹的权限表&#xff0c;留作备用。需要用到“icacls” icacls c:\windows\* /save aclfile /t # C:\Windows 目录及其子目录中所有文件的 DAC…

pandas教程:USDA Food Database USDA食品数据库

文章目录 14.4 USDA Food Database&#xff08;美国农业部食品数据库&#xff09; 14.4 USDA Food Database&#xff08;美国农业部食品数据库&#xff09; 这个数据是关于食物营养成分的。存储格式是JSON&#xff0c;看起来像这样&#xff1a; {"id": 21441, &quo…

简单认识泛型【java】

目录 1.什么是泛型 2.引出泛型 2.1语法 3. 泛型类的使用 3.1 语法 4 泛型如何编译的 4.1 擦除机制 5.泛型的上下界 5.1 语法 6.注意 1.什么是泛型 一般的类和方法&#xff0c;只能使用具体的类型: 要么是基本类型&#xff0c;要么是自定义的类。如果要编写可以应用于…

2023第十四届蓝桥杯Java B组个人题解

&#x1f48e;蓝桥杯系列文章 欢迎大家阅读蓝桥杯文章专栏&#x1f344;&#x1f344; &#x1f525;2023第十四届蓝桥杯模拟赛第二期个人题解&#xff08;Java实现&#xff09; &#x1f525;2023第十四届蓝桥杯模拟赛第三期个人题解&#xff08;Java实现&#xff09; &#…