Beispiel #1
0
 private void Update()
 {
     //按下Q键回放之前的操作
     if (Input.GetKeyDown(KeyCode.R))
     {
         startTimePos = Time.realtimeSinceStartup;
         StartCoroutine(LoadReolayDataFromFile());
         timePos  = 0;
         isReplay = true;
     }
     if (isReplay)
     {
         if (Time.realtimeSinceStartup - this.startTimePos >= replayInterval)
         {
             timePos++;
             startTimePos = Time.realtimeSinceStartup;
             ReplayObject curState = this.readyToReplayData.Peek();
             if (curState.timePos == timePos)
             {
                 target.transform.position = curState.vectorPos;
                 curState = this.readyToReplayData.Dequeue();
             }
         }
     }
 }
Beispiel #2
0
        //读取记录位置文件的信息
        IEnumerator LoadReolayDataFromFile()
        {
            string   fileName  = Application.dataPath + "/TextFile" + "/File.txt";
            FileInfo fileInfo  = new FileInfo(fileName);
            string   lineData  = string.Empty;
            int      dataCount = 0;

            if (fileInfo.Exists)
            {
                using (StreamReader sr = fileInfo.OpenText())
                {
                    while ((lineData = sr.ReadLine()) != null)
                    {
                        dataCount++;
                        replayEntity = new ReplayObject();
                        replayEntity.GetTimeAndPosition(lineData);

                        readyToReplayData.Enqueue(replayEntity);
                    }
                }
            }
            yield return(null);
        }
Beispiel #3
0
        private void Update()
        {
            //timePos = Time.realtimeSinceStartup*100;
            string curData = string.Empty;

            if (Time.realtimeSinceStartup - startRecordTime >= recordInterval)
            {
                timePos++;
                curData = ReplayObject.TimePositionToString(timePos, target.transform);
                if (!cachePosition.Equals(target.transform.localPosition))
                {
                    WriteData(curData);
                    this.cachePosition = this.target.transform.localPosition;
                    //Debug.Log("1111111111");
                }
                this.startRecordTime = Time.realtimeSinceStartup;
            }
            //按下E键停止记录
            if (Input.GetKeyDown(KeyCode.E))
            {
                Finished();
            }
        }