【U3D/UGUI】3.2DImage制作仿3D轮转图

自我介绍

广东双非一本的大三小白,计科专业,想在制作毕设前夯实基础,毕设做出一款属于自己的游戏!

2DImage制作仿3D轮转图

这一章其实不难,涉及的数学知识也非常简单,但是实现过程中有很多收获!

主要的还是两个脚本:

  • RotationDiagram2D.cs 这是需要挂载到一个物体上的
  • RotationDiagramItem.cs 并不需要挂载到任何物体上,由 RotationDiagram2D 组件自动生成gameobject对象并挂载

RotationDiagram2D.cs

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

public class RotationDiagram2D : MonoBehaviour
{
   
    public Vector2 ItemSize;
    public Sprite[] ItemSprites;
    public float Offset;
    public float ScaleTimeMin;
    public float ScaleTimeMax;

    List<RotationDiagramItem> _items = new List<RotationDiagramItem>();
    List<ItemPosData> _posData = new List<ItemPosData>();

    private void Start()
    {
   
        CreateItem();
        CaculateData();
        SetItemData();
    }

    private GameObject CreateTemplate()
    {
   
        GameObject item = new GameObject("Template");
        item.AddComponent<RectTransform>().sizeDelta = ItemSize;
        item.AddComponent<Image>();
        item.AddComponent<RotationDiagramItem>();
        return item;
    }

    private void CreateItem()
    {
   
        GameObject template = CreateTemplate();
        RotationDiagramItem itemTemp = null;
        foreach (Sprite sprite in ItemSprites)
        {
   
            itemTemp = Instantiate(template).GetComponent<RotationDiagramItem>();
            itemTemp.SetParent(this.transform)
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值