public void OnPointerUp() { pointerUp = Input.mousePosition; if (Vector3.Distance(pointerDown, pointerUp) < 30) { Debug.Log("无效操作"); return; } // 保存数据 lastStepModel.UpdateData(this.currentScore, PlayerPrefs.GetInt(Const.BestScore, 0), grids); b_last.interactable = true; MoveType mt = CaculateMoveType(); Debug.Log("向" + mt + "移动"); MoveNumber(mt); if (isNeedCreatNumber) { CreatNumbers(); } ResetNumberStatus(); isNeedCreatNumber = false; if (IsGameLose()) { // 说明游戏结束 GameLose(); } }
/// <summary> /// 鼠标抬起 /// </summary> public void OnPointerUp() { pointerUpPos = Input.mousePosition; if (Vector3.Distance(pointerDownPos, pointerUpPos) < 20) { return; } lastStepModel.UpdateData(this.currentScore, PlayerPrefs.GetInt(Const.BestScore, 0), grids); btnLast.interactable = true; MoveType moveType = CaculateMoveType(); MoveNumber(moveType); // 移动后产生新数字 if (isNeedCreateNumber) { CreateNumber(); } //移动完成后 把所有数字恢复成 可合并状态 ResetNumberStatus(); isNeedCreateNumber = false; // 判断游戏是否结束 if (IsGameLose()) { GameLose(); } }