Unity|小游戏复刻|见缝插针1(C#)

准备
  1. 创建Scenes场景,Scripts脚本,Prefabs预制体文件夹
修改背景颜色
  1. 选中Main Camera

  2. 找到背景

  3. 选择颜色,一种白中透黄的颜色

创建小球
  1. 将文件夹里的Circle拖入层级里

  2. 选中Circle,位置为左右居中,偏上,颜色为黑色,大小缩为0.7

分数
  1. 创建Text

  2. 删除掉EventSystem,因为本例中UI不需要做任何事件

  3. 选中Text,点击重置,文本居中,颜色为白色,内容为0

  1. 选中Canvas,将渲染模式改为世界空间,接着修改大小,改为100.100
  1. 将缩放改为0.01,拖动到小球上

  2. 使得Circle和Canvas的位置坐标一致,都为0,2,0

  3. 选择MainCamera设置为Canvas的事件摄像机

小球运动
  1. 创建一个脚本,选择MonoBehaviour,命名为RotateSelf

  2. 将此脚本挂载到Circle的下面

  3. 编写脚本

c# 复制代码
using JetBrains.Annotations;
using UnityEngine;

public class NewMonoBehaviourScript : MonoBehaviour
{
    public float speed = 90;

    // Start is called once before the first execution of Update after the MonoBehaviour is created
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        transform.Rotate(new Vector3(0, 0, speed * Time.deltaTime));
    }
}
  1. 在场景中点击播放,可以看到Circle在逆时针旋转,如果想要顺时针旋转,在speed前加一个负号
针头
  1. 将针导入到层级里,将Pin的大小适当放大
  1. 制作针的尾部,复制一个Circle

  2. 调整大小位置颜色

  1. 将Pin拖入Prefabs文件夹里,方便进行实例化创建

  2. 给针头添加碰撞器,选中针头,在检查器底下的添加组件,搜Circle Collider 2D添加

生成针
  1. 创建两个空对象,将第一个命名为StartPosition

  2. 将Pin放到StartPosition的下面,这样可以进行预览,调整位置

  1. 将StartPosition复制,拖到屏幕外面进行实例化
  1. 然后删去针,改名为SpawnPositon

  2. 创建一个空对象,命名为GameManager

  3. 创建一个GameManager脚本,挂载到对象下面

c# 复制代码
using UnityEngine;

public class GameManager : MonoBehaviour
{
    private Transform startPosition;
    private Transform spawnPosition;

    public GameObject pinPrefab;

    // Start is called once before the first execution of Update after the MonoBehaviour is created
    void Start()
    {
        startPosition = GameObject.Find("StartPosition").transform;
        spawnPosition = GameObject.Find("SpawnPosition").transform;
        SpawnPin();
    }

    // Update is called once per frame
    void Update()
    {
        
    }

    void SpawnPin()
    {
        GameObject.Instantiate(pinPrefab, spawnPosition.position, pinPrefab.transform.rotation);
    }
}
  1. 将PIn实例拖到右边的Pin Prefab里

  2. 点击运行后屏幕外生成了针

相关推荐
Sator14 小时前
Unity关于射击游戏人物动画的设计经验
游戏·unity·游戏引擎
冰凌糕4 小时前
Unity3D Shader 坐标空间详解
unity
心前阳光1 天前
Unity之ScrollRect简易实现
unity·游戏引擎
WarrenMondeville1 天前
9.Unity面向对象-对象池
unity
KaGme1 天前
生成3DGS场景在unity中的呈现
3d·unity·游戏引擎
zyh______2 天前
关于unity的序列化
unity·游戏引擎
星夜泊客2 天前
C# : 引用类型都存在堆上吗
unity·c#
点量云实时渲染-小芹2 天前
Unity模型数字孪生虚拟仿真webgl推流卡实时云渲染推流
unity·webgl·数字孪生·实时云渲染·虚拟仿真·云推流
mxwin2 天前
Unity Shader 齐次坐标与透视除法理解 SV_POSITION 的 w 分量
unity·游戏引擎·shader
NPUQS2 天前
【Unity 3D学习】Unity 与 Python 互通入门:点击按钮调用 Python(超简单示例)
学习·3d·unity