/// <summary>
/// 匀加速位移
/// </summary>
/// <param name="startSpeed">起始速度</param>
/// <param name="acceleration">加速度</param>
/// <param name="time">时间</param>
/// <returns></returns>
float getMovingDistance(float startSpeed,float acceleration,float time)
{
return startSpeed*time+acceleration*time*time/2;
}
/// <summary>
/// 格子位置 格子顺序:左→右 下→上 左右居中
/// </summary>
/// <param name="index">格子顺序索引</param>
/// <param name="grid">格子大小</param>
/// <param name="spacing">格子间隔</param>
/// <param name="width">横向格子数</param>
/// <returns></returns>
Vector2 getGridPos(int index,Vector2 grid,Vector2 spacing,int width)
{
Vector2 gridPos=Vector2.zero;
float groupWidth = grid.x*width+spacing.x*(width-1);
int line_idx = index%width;
gridPos.x = line_idx*spacing.x+line_idx*grid.x-groupWidth/2+grid.x/2;
int line = index/width;
gridPos.y = line*(grid.y+spacing.y)+grid.y/2;
return gridPos;
}
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;
/// <summary>
/// 图
/// </summary>
/// <typeparam name="T"></typeparam>
public class MapNode<T>
{
public Vector3 Pos;