/// <summary> /// Start is called on the frame when a script is enabled just before /// any of the Update methods is called the first time. /// </summary> void Start() { AStarPoint[,] array = new AStarPoint[(int)128, (int)64]; for (int i = 0; i < array.GetLength(0); ++i) { for (int j = 0; j < array.GetLength(1); ++j) { var obj = GameObject.Instantiate(m_Rect); obj.SetActive(true); obj.transform.SetParent(transform); obj.transform.localScale = Vector3.one; obj.GetComponent <RectTransform>().anchoredPosition = new Vector2(i * 10, j * 10); var img = obj.GetComponent <Image>(); array[i, j] = new AStarPoint(i, j); array[i, j].Value = m_Txt.GetPixel(i, j) == Color.white?0:1; array[i, j].Position = obj.GetComponent <RectTransform>().anchoredPosition; img.color = array[i, j].Value == 0?Color.white:Color.black; } } AStarMap map = new AStarMap(new AStarMapData(array)); float t = Time.time; //var rst = map.GetPath(new AStarNode(1,1),new AStarNode(6,10),false); AStar.GetInstance().FindPathAsyn(map, new AStarNode(10, 10), new AStarNode(115, 32), true, (e) => { print("1cost time " + (Time.time - t)); StartCoroutine(showPath(e, map)); }); AStar.GetInstance().FindPathAsyn(map.Clone(), new AStarNode(11, 9), new AStarNode(115, 8), true, (e) => { print("2cost time " + (Time.time - t)); StartCoroutine(showPath(e, map)); }); AStar.GetInstance().FindPathAsyn(map.Clone(), new AStarNode(17, 23), new AStarNode(66, 8), true, (e) => { print("3cost time " + (Time.time - t)); StartCoroutine(showPath(e, map)); }); AStar.GetInstance().FindPathAsyn(map.Clone(), new AStarNode(66, 7), new AStarNode(15, 22), true, (e) => { print("4cost time " + (Time.time - t)); StartCoroutine(showPath(e, map)); }); AStar.GetInstance().FindPathAsyn(map.Clone(), new AStarNode(115, 31), new AStarNode(11, 11), true, (e) => { print("5cost time " + (Time.time - t)); StartCoroutine(showPath(e, map)); }); }
/// <summary> /// Start is called on the frame when a script is enabled just before /// any of the Update methods is called the first time. /// </summary> void Start() { // AStarPoint[,] array = new AStarPoint[128,64]; AStarPoint[,] array = new AStarPoint[128, 64]; for (int i = 0; i < array.GetLength(0); ++i) { for (int j = 0; j < array.GetLength(1); ++j) { var obj = GameObject.Instantiate(m_Rect); obj.SetActive(true); obj.transform.SetParent(transform); obj.transform.localScale = Vector3.one; obj.transform.localPosition = new Vector2(i * 0.2f, j * 0.2f); var img = obj.GetComponent <SpriteRenderer>(); array[i, j] = new AStarPoint(i, j); array[i, j].Value = m_Txt.GetPixel(i, j) == Color.white?0:1; array[i, j].Position = obj.transform.localPosition; img.color = array[i, j].Value == 0?Color.white:Color.black; obj.GetComponent <CirclePointSprite>().OnMouseUpHandler = OnMouseClickHandler; } } map = new AStarMap(new AStarMapData(array)); // AStar.GetInstance().FindPathAsyn(map,new AStarNode(10,10),new AStarNode(115,32),true,(e)=> // { // print("1cost time "+(Time.time-t)); // StartCoroutine(showPath(e,map)); // }); // AStar.GetInstance().FindPathAsyn(map.Clone(),new AStarNode(11,9),new AStarNode(115,8),true,(e)=> // { // print("2cost time "+(Time.time-t)); // StartCoroutine(showPath(e,map)); // }); // AStar.GetInstance().FindPathAsyn(map.Clone(),new AStarNode(17,23),new AStarNode(66,8),true,(e)=> // { // print("3cost time "+(Time.time-t)); // StartCoroutine(showPath(e,map)); // }); // AStar.GetInstance().FindPathAsyn(map.Clone(),new AStarNode(66,7),new AStarNode(15,22),true,(e)=> // { // print("4cost time "+(Time.time-t)); // StartCoroutine(showPath(e,map)); // }); // AStar.GetInstance().FindPathAsyn(map.Clone(),new AStarNode(115,31),new AStarNode(11,11),true,(e)=> // { // print("5cost time "+(Time.time-t)); // StartCoroutine(showPath(e,map)); // }); }