2017-11-15 18 views
-1

유니티 게임이 충돌 한 것처럼 보이게하고 싶습니다. (Unresponsive Application Crash, Not an Code exception crash).유니티 게임이 충돌 한 것처럼 보임 C#

Windows API에이를 에뮬레이션하기 위해 호출 할 수있는 함수가있을 수 있습니다.

"Pony Island"라는 게임을 전에도 해봤으므로 확실히 가능합니다. 그러나 사본을 소유하고 있지 않으며 스팀 게임을 디 컴파일 할 수 없습니다.

실제로 해결책을 선호하는 경우 언제든지 프로그램을 다시 가져올 수있는 방법이있는 경우 이는 거의 불가능한 것처럼 보입니다.

투명하게 보이려면 합법적으로 보이기를 바랍니다. 따라서 GUI 개체 또는 이와 유사한 개체로 창을 바꾸는 대신 창 API를 사용하여 팝업 색상을 생성하는 것이 좋습니다. Mac API가 구현하기 어렵고 (Windows 컴퓨터에서) 테스트하기가 더 어려워서 Windows API와 같은 많은 해킹 기능과 호환되지 않을 가능성이 높기 때문에 호환성 문제는별로 신경 쓰지 않습니다. 입니다.

답변

-1

안전하게이 작업을 수행하는 가장 좋은 방법은 일부 스크립트 설정 time.timeScale = 0을 실행하여 효과적으로 '동결'하면서 동시에 '오류'사운드 효과 창을 재생하는 것입니다.

(주 :이 영향을 미치는 경우 당신은 내가 확신시 이전 시간 척도를 사용하지 않는 한,이 스크립트에서 오디오 소스 및 입자 방출을 일시 정지 할 수 있습니다)


을 당신이 제안 알고 UGUI를 사용하지 않고 전체 화면에 소스가없는 이미지를 사용하는 경우 색상 및 알파를 조정하면 '고정 화면'을 쉽게 에뮬레이션 할 수 있습니다.

또한 강제

+0

UGUI의 문제는 윈도우의 모서리이며, X 광장 _ 버튼은 지금까지 분명히에 트롤 것이를 변경하는 윈도우 테마를 실행하는 사용자에게 실제 사고로 달리 변경되지 않습니다 , 그러나 time.timeScale = 0 비트는 매우 유용하며, 나는 미래에 그것을 사용할 가능성이 큽니다. – LittleK00PA

-2

내가 Thread.sleep를 (int)를 사용하여 해당를 달성하기 위해 노력할 것이다/'복원'(이 전체 화면으로 재생되는 경우) 윈도우의 전체 화면 모드를 변경하는 방법으로 볼 수 있었다 그래서 메인 스레드에서, 나는 5 초 = 5000ms

초 단위로 전체 화합 루프를 동결하도록 호출하고 충돌을 계속할지 여부를 확인합니다. 예를 들어 테스트를 거치지 않았지만 (내 사무실 환경에서는 화합하지 않았다.)

동결되므로 실제 동결되므로이 동결 상태에서 아무 작업도 수행 할 수 없습니다.

public class Crasher : MonoBehaviour 
{ 
    public bool isCrash = false; 
    //The crash in seconds 
    public float crashDuration = 5; 

    void Update() 
    { 
     if (isCrash) 
     { 
      //Freeze the applicaion for amount of milliSeconds 
      System.Threading.Thread.Sleep(crashDuration * 1000); 
     } 
    } 
} 
+0

단결정면 충돌 효과가 정확히 필요합니다.하지만 슬프게도이 방법은 [프로그램]을 생성하지 않습니다 .exe는 Windows에서 매달리는 프로그램이 작동하는 효과를 멈추었습니다.이 정보는 유용하지만 아마도 이것을 사용할 것입니다. time.timeScale = 0. – LittleK00PA

+1

이 코드는 그대로 사용하는 것이 좋지 않으며, 스레드가 5000 밀리 초 * 모든 프레임 * 동안 휴면 상태가되므로 2로 설정하면 무한정 크래시가 발생합니다. 이 동작을 위해 공동 루틴을 사용하고 'crashDuration'이 올라갈 때마다'isCrash'를 false로 다시 설정할 것을 고려할 수 있습니다. @ LittleK00PA 설정 timescale은 더 안전하며이 시간 동안 필요한 경우 일부 코드를 계속 실행할 수 있습니다. 스레드 잠자는 않습니다. – Bejasc

+0

@ LittleK00PA는 이전 코멘트에서 당신을 태그하는 것을 잊어 버렸습니다. 편집 + 태그가 당신에게 알리는 지 확실하지 않습니다. -이 방법을 고려하기 전에 이전 코멘트에서 말한 것을 메모 해 두는 것이 좋습니다. – Bejasc