unity台桌小游戏

2023-11-03

1、创建桌面

新建一个empty命名为table,创建子物体plane和四个cube,调整位置和大小,并赋予材质设置颜色

table

cube1

 

 cube2

cube3

 

cube4

 

2、给主相机添加代码,使相机始终跟随小球

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class cama : MonoBehaviour
{
    public GameObject player;
    private Vector3 offset;
    // Start is called before the first frame update
    void Start()
    {
        offset = transform.position;
        player = GameObject.Find("Sphere");
    }

    // Update is called once per frame
    void Update()
    {
        transform.position = player.transform.position + offset;
    }
}

3、新建一个text和rawimage,用来计分和显示游戏结束后的画面,把图片添加到Texture上 

 

4、创建一个小球,添加刚体材质(Add Compoenet-->rigidbody),添加代码,相关注释见代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;

public class move : MonoBehaviour
{
    public float speed=10;
    private int count;
    public Text countText;
    public RawImage abc;
    // Start is called before the first frame update
    void Start()
    {
        count = 0;
        for (int i = 0; i < 12; i++)
        {
            float a = Random.Range(-24f, 24f);
            float b = Random.Range(-2f, 24f);
            float c1= Random.Range(0, 1f);
            float c2 = Random.Range(0, 1f);
            float c3= Random.Range(0, 1f);
            GameObject obj1 = GameObject.CreatePrimitive(PrimitiveType.Cube);
            obj1.transform.position = new Vector3(a, 1f, b);
            obj1.transform.Rotate(45, 45, 45);
            obj1.transform.localScale = new Vector3(1.3f, 1.3f, 1.3f);
            obj1.name = "pickup0";
            obj1.tag = "pickup";
            Material mat = obj1.GetComponent<MeshRenderer>().material;
            mat.SetColor("_Color", new Color(c1, c2, c3, 1));//创建十二个cube,设置大小,位置和颜色随机,并设置标签为pickup
        }
            setCountText();
        abc.enabled = false;//设置画布不可见
    }

    // Update is called once per frame
    void FixedUpdate()
    {
        float moveh = Input.GetAxis("Horizontal");
        float movev = Input.GetAxis("Vertical");
        Vector3 movement = new Vector3(moveh, 0.0f, movev);
        GetComponent<Rigidbody>().AddForce(movement * speed * Time.deltaTime);//给小球施加力,使小球运动
    }
        void OnCollisionEnter(Collision other)
    {
        if (other.gameObject.tag == "pickup")
        {
            Destroy(other.gameObject);//小球碰到标签为pickup的物体则摧毁物体
            count++;
            setCountText();
        }
        if (count == 12)
        {
            abc.enabled = true;//如果分数等于十二,则游戏结束,设置画布可见
        }
    }
    void setCountText()
    {
        countText.text = "计分:" + count + "/12";//设置分数显示格式
    }

}

5、点击保存后返回unity界面,点击小球,把代码赋予小球,并设置初始值,把text拖到count Text的位置,把rawimage拖到Abc的位置,点击play。

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

unity台桌小游戏 的相关文章

  • UE4 解决景深效果闪烁问题

    原因 1 模型的垂直竖线 造成抗锯齿算法对竖线的渲染计算 处于一种不稳定的状态 因此闪烁 解决办法 使用LOD 用贴图去替代线条模型 2 材质的法线贴图 当法线贴图含有垂直竖线的纹理效果 也会造成闪烁 比如这种幕墙材质 解决办法 关闭或动态
  • Unity 分块延迟渲染01 (TBDR)

    现代移动端图形体系结构的概述 现代SoC通常会同时集成CPU和GPU CPU被用于处理需要低内存延迟的序列 大量分支的数据集 其晶体管用于流控制和数据缓存 GPU为处理大型 未分支的数据集 如3D渲染 晶体管专用于寄存器和算术逻辑单元 而不
  • Unity 粒子特效、材质发光 HDR ShaderGraph图文教程[完成lit发光设置]

    效果如图 准备工作 在hdr模式下 关闭Directional Light 相机设置 移动球挂一个点光源作为子节点 设置自行调节 0 创建移动球的材质及shader shader gt 在Project Create Shader Grap
  • Unity动画控制器animator.CrossFade

    需要特别注意 1 CrossFade虽然可以不用任何逻辑来链接而直接跳转 但是CrossFade只能覆盖其他动画 当当前动画播放完毕而没有跳出这个动画时再次调用CrossFade将会失败 造成动画依旧停在原位 参数animator Cros
  • Unity中UI框架的使用1-添加面板、显示Loading页面

    其中BasePanel和Canvas都是挂在面板的预制物上的 1 导入我们的UI框架 本篇文章中有用的是两个UIPanelType NUIManager和NBasePanel 会放在文章最后供大家使用 2 先将我们做好的Panel设置成预制
  • Unity学习笔记(一)—— 基础知识

    一 基础知识 1 开发团队组成 2 unity特点 图形界面 所见即所得 入门简单 支持C 比OC C 更友好 js 国内外资源丰富 因为使用的人多 跨平台性好 PC端 移动端等 对VR AR的支持最完善 3 成功案例 游戏 炉石传说 神庙
  • 【IMGUI】 各种辅助类 EditorGUIUtility、EditorUtility、GUIUtility、GUILayoutUtility

    EditorGUIUtility class in Editor 继承自 GUIUtility EditorGUI 的各种辅助程序 EditorGUIUtility currentViewWidth 我尝试打印了下这个值和position
  • Unity 键盘控制人物移动——之输入方式代码的编写

    键盘输入 控制人物移动 在我们制作游戏中最常见的需求之一就是使用键盘移动游戏角色 那么我们首先需要获取键盘输入 以下提供两种方法获取键盘 这里尽量通过截图解释让大家理解代码的含义 GetInput void FixedUpdate Move
  • unity dots jobSystem 记录

    Looking for a way to get started writing safe multithreaded code Learn the principles behind our Job System and how it w
  • unity3d切换场景Application.LoadLevel(1)含义

    Application LoadLevel 1 场景ID
  • unity3d image组件不显示

    需要将UI组件放到画布下面
  • mixamo根动画导入UE5问题:滑铲

    最近想做一个跑酷游戏 从mixamo下载滑铲动作后 出了很多动画的问题 花了两周时间 终于是把所有的问题基本上都解决了 常见问题 1 动画序列 人物不移动 2 动画序列 人物移动朝向错误 3 蒙太奇 人物移动后会被拉回 4 蒙太奇 动画移动
  • 【Unity】运行时创建曲线(贝塞尔的运用)

    Unity 运行时创建线 贝塞尔的运用 1 实现的目标 在运行状态下创建一条可以使用贝塞尔方法实时编辑的网格曲线 2 原理介绍 2 1 曲线的创建 unity建立网格曲线可以参考 Unity程序化网格体 的实现方法 主要分为顶点 三角面 U
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • Unity学习笔记

    一 旋转欧拉角 四元数 Vector3 rotate new Vector3 0 30 0 Quaternion quaternion Quaternion identity quaternion Quaternion Euler rota
  • 游戏开发常见操作梳理之NPC任务系统

    多数游戏存在任务系统 接下来介绍通过NPC触发任务的游戏制作代码 using System Collections using System Collections Generic using UnityEngine
  • 游戏开发常见操作梳理系列之——玩家信息的显示系统

    在游戏中 有不少游戏在左上角会出现玩家的头像和等级以及血量 这就是玩家的信息显示系统 那么这些是如何制作的呢 接下来我将讲讲代码的操作 其它操作我会在其它笔记中一一说明 敬请期待 信息的显示相当简单就是控制一些UI 然后在其它系统里面填写相
  • 游戏开发常见操作梳理之小地图的制作

    游戏中一般存在小地图系统 实际上就是设置一个新的摄像机放置在玩家的正上方 然后在小地图上显示新摄像机看见的东西就可以了 在小地图上一般存在放大地图和缩小地图的按钮可以方便放大和缩小地图 这些操作是如何实现的呢 接下来直接上核心代码 usin
  • 游戏开发之常见操作梳理——武器装备商店系统(NGUI版)

    游戏开发中经常出现武器商店 接下来为你们带来武器装备商店系统的具体解决办法 后续出UGUI Json版本 敬请期待 武器道具的具体逻辑 using System Collections using System Collections Ge
  • 游戏开发常见操作系列之敌人系统的开发一(U3D)

    在开发游戏的过程中 我们常常会出现一些敌人攻击我们玩家 并且实现掉血以及死亡的现象 敌人还会源源不断地生成 这是怎么制作的呢 接下来为大家提供方法 其中使用了NGUI 后续会更新其它方法 敬请期待 使用HUDText实现扣血时显示文本 直接

随机推荐

  • log4j2的JsonLayout测试

    log4j2的JsonLayout测试 工程开发 最近在开发通用的分布式日志采集器 碰到日志信息块的划分问题 尤其是碰到有异常堆栈的情况 需要做合并操作 当前我们的解决方案是使用日志块的起始时间来判断 有过萌生使用JsonLayout的想法
  • XCTF_very_easy_sql

    简单的进行sql注入测试后发现不简单 尝试一下按照提示 结合这句提示 应该是内部访问 所以采用的手段应该是ssrf 顺便看看包 唯一值得关注的是set cookie 说回ssrf 唯一能使用的方式应该是Gopher协议 找到了一个POST的
  • RS码(Reed-Solomon码)

    RS编码是一种多进制编码技术 适合于存在突发错误的通信系统 RS解码技术相对比较成熟 但由RS码和卷积码构成的级联码在性能上与传统的卷积码相比较提高不多 故在未来第三代移动通信系统采用的可能性不大 RS是 Reed Solomon 里德 所
  • Java中final关键字理解

    最近毕业面试 有几家都问到了final关键字的使用 谈到final关键字 想必很多人都不陌生 在使用匿名内部类的时候可能会经常用到final关键字 另外 Java中的String类就是一个final类 那么今天我们就来了解final这个关键
  • 服务器显示checkin,checkin.gstatic.com服务器iP

    2020 07 14 2021 08 08 203 208 50 162 2021 08 08 2021 08 08 142 250 186 131 2021 08 08 2021 08 08 142 250 72 131 2019 07
  • IPC:有名管道

    mkfifo chatA c 有名管道 FIFO namedPipe 提供了一个路径名相关联 以FIFO文件形式存在于文件系统中 FIFO的内容存放在内存 文件中没有内容 创建后可以read write close等 实现了任意不同进程间的
  • Registration based Few-Shot Anomaly Detection

    Registration based Few Shot Anomaly Detection paper https arxiv org abs 2207 07361 code https github com MediaBrain SJTU
  • 数值求解一维定态薛定谔方程

    背景 学习量子化学原理与应用课程时 一维定态薛定谔方程经常归结为解二阶偏微分方程 因此 学习数值解法一方面能够验证解析解 另一方面也能够应对更多更复杂的势垒函数对应方程的解 参考资料 https github com FelixDesroc
  • vue.js框架+mintUI 网站自建之挂件编写: 实现图片选择、预览和上传之后再从数据库读出并显示的一种方式

    网站上传图片 预览图片 加载图片的实现方法 文章结构 1 原始实现方法 2 更新 利用canvas重绘 优化加载速度 3 更新 canvas绘制在移动端与pc端的不同 19 4 28 4 28更新 对于4 27提出的想法现在出现一个问题 利
  • IDEA OutOfMemory(内存溢出)的问题解决

    1 idea编译时内存溢出 解决办法 打开设置界面 搜索Compiler 编译 如下图所示 将这个值设置为一个较大的值 2 运行时内存溢出 解决办法 打开tomcat设置页面 VM options加上参数 server XX PermSiz
  • MySQL-如何分库分表?一看就懂

    一 为什么要分库分表 如果一个网站业务快速发展 那这个网站流量也会增加 数据的压力也会随之而来 比如电商系统来说双十一大促对订单数据压力很大 Tps十几万并发量 如果传统的架构 一主多从 主库容量肯定无法满足这么高的Tps 业务越来越大 单
  • CentOS 8 正式停服;复旦教授痛批 Google 修复高危漏洞一直延期;WebStorm 2021.3.1 发布

    整理 宋彤彤 责编 屠敏 开源吞噬世界的趋势下 借助开源软件 基于开源协议 任何人都可以得到项目的源代码 加以学习 修改 甚至是重新分发 关注 开源日报 一文速览国内外今日的开源大事件吧 一分钟速览新闻点 开源大新闻 CentOS 8 正式
  • 蓝牙mesh_解密蓝牙mesh:低功耗节点LPN工作过程

    转载自蓝牙技术联盟 低功耗蓝牙 Bluetooth Low Energy 是全球最具节能性的短距离无线通信技术之一 其低功耗的特性广受开发者和消费者赞誉 随着蓝牙mesh网络的推出 开发者可能想知道蓝牙mesh网络是否也被设计为低功耗 是否
  • cmake使用总结

    官方文档CMake Reference Documentation CMake 3 7 2 Documentation CMake是一个跨平台的安装 编译 工具 可以用简单的语句来描述所有平台的安装 编译过程 输出各种各样的makefile
  • 老电脑装Win11的步骤

    去UUP dump选择最新的win11 pro 运行脚本生成ISO文件 使用 https github com AveYo MediaCreationTool bat tree main bypass11 此脚本对ISO文件进行处理 让其可
  • 李开复硅谷之行感悟:跟他们比,我们的创业者现在最缺什么?

    李开复硅谷之行感悟 跟他们比 我们的创业者现在最缺什么 创业10日谈 2016 03 04 i黑马 15天 100人 2016年新年伊始 李开复亲自带队奔赴硅谷 26位鼎鼎大佬 DST米尔纳 Google皮猜 雅虎杨致远 YC孵化器SAM
  • R语言中rattle安装,GTK+反复不成功的问题

    1 首先百度到R语言官网下载最新的R语言环境 2 安装Rstudio去官网下载最新的Rstudio版本安装 如果下载太慢 可以通过百度网盘来下载 链接 https pan baidu com s 1N9eDa14Z5D dUQ5jH LDH
  • 【Leetcode】二叉树刷题I:226/116/114

    还是喜欢手写笔记 这里就直接附上笔记图片和代码 Cpp 学习资源 公众号labuladong 一 二叉树总述 二 leetcode226 Definition for a binary tree node struct TreeNode i
  • shell脚本的正则表达式

    一 概念 正则表达式是通过一些特殊字符的排序 用以删除 查找 替换一行或者多行文字字符串的程序 二 特殊字符 1 字符类 注意 任意字符 与重复字符 1 小数点 代表一定有一个任意字符的意思 2 星号 代表重复前一个0到无穷多次的意思 为组
  • unity台桌小游戏

    1 创建桌面 新建一个empty命名为table 创建子物体plane和四个cube 调整位置和大小 并赋予材质设置颜色 table cube1 cube2 cube3 cube4 2 给主相机添加代码 使相机始终跟随小球 using Sy