• 大小: 9KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-20
  • 语言: 其他
  • 标签: unity3d  

资源简介

博客地址:http://blog.csdn.net/zy19940906/article/details/48154241

资源截图

代码片段和文件信息

using UnityEngine;
using System.Collections;
using System;
using System.Collections.Generic;
using UnityEngine.UI;
public enum MYDirection
{
    //向左
    LEFT
    //向右
    RIGHT
}

public class Ellipse : MonoBehaviour 
{
    //Test 自定义
    public Gameobject whichshouldmake;
    public Vector3 Point;
    public int num;

    //保存需要排序的精灵容器
    private Gameobject[] Sprites;
  //  private Transform centerPoint;//椭圆的中心点
    public float anglecheap = 25;//每个方块间的角度偏移
    //保存位置点
    private List location = new List();

    
    private float angle =270;//第一个保证是中心位置的当前到的角度
    private float firstangle = 270;//记录第一个角度,用以左右对称
    private float r =90;
    private float R = 150;

    int size = 0;//即对象数组的一半,奇数为总长度+1/2偶数为一半
    int depcount = 0;//用以判断是否需要更新渲染层级
    //用以判断当前是否所有的按钮回调都执行完了
    List m_eventList = new List();
    bool isruningone = false;//是否已经在执行一个移动回调了。
    int i_havemovesprite = 0;//计数用,如果已经移动完所有的方块,那么可以运行下一个按钮回调了
    private Vector3 centerPos = new Vector3();
    void Awake()
    {
        Sprites=new Gameobject[num];
        //获取当前示例按钮的大小,用以保证做出来的按钮大小是一样的
        Rect size = whichshouldmake.GetComponent().rect;
        //保证被克隆出来的一样
        Vector2 anchorMax = new Vector2(size.width/Screen.widthsize.height/Screen.height);

        centerPos = Point;
        for (int i = 0; i < num;i++ )
        {
            Gameobject _objcet;
           _objcet= Instantiate(whichshouldmakePointwhichshouldmake.transform.rotation)as Gameobject;
           _objcet.transform.parent = gameobject.transform;
           var rcTrans = _objcet.GetComponent();
           // 锚点上下贴边
          // rcTrans.localScale = new Vector3(1 1 1);
        //   rcTrans.anchorMin = centerPos;
          // rcTrans.anchorMax = new Vector2(centerPos.x + 0.1f centerPos.y + 0.2f);
           rcTrans.localScale = new Vector3(1 1 1);
           rcTrans.anchorMin = new Vector2(0 0);
           rcTrans.anchorMax = anchorMax;
           // 占满整个锚点区域
           rcTrans.offsetMin = rcTrans.offsetMax = new Vector2(0 0);
           Sprites[i] = _objcet;
        }
       
    }
// Use this for initialization
void Start () 
    {
        if (Sprites.Length % 2 == 0)
        {
            size = Sprites.Length / 2;
        }
        else
        {
            size = (Sprites.Length + 1) / 2;
        }
        //排序分级显示
        makespriteSort();
        //重置渲染层级
        ResetDeep();
}
    //给这些精灵排序显示
    void makespriteSort()
    {
        //取出椭圆的中心点
     //   Vector3 center = centerPoint.position;
       // centerPos = center;
        //判断该数组的个数奇偶性,如果是偶数,那么需要留出一个来放到对面
        if (Sprites.Length % 2 == 0)
        {
            //右半边
            for (int i = 0; i < size; i++)
            {
                Sprites[i].transform.position = getPosition(angle centerPos);
         //       m_rightsprite.Add(Sprites[i]);
         

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件       16367  2015-09-06 14:50  椭圆旋转选择界面源码\Ellipse.cs
     文件       19351  2015-09-06 15:32  椭圆旋转选择界面源码\ManagerEffective.cs
     目录           0  2015-09-06 15:54  椭圆旋转选择界面源码\

评论

共有 条评论