here 지침에 따라 Vuforia/Unity 프로젝트를 기반으로 Eclipse 프로젝트를 만들었습니다. 그게 실행되고있어.Unity Android/Eclipse 프로젝트에서 스플래시 화면 종료 감지
주 활동에 버튼을 추가하고 있으며, QCARPlayerActivity에서 확장됩니다. 유니티 스플래시 화면이 재생 될 때 버튼도 유니티 플레이어 위에 위치합니다.
유니티 스플래시 화면이 종료되어 장면이로드되기 전에 제 위치에 컨트롤이 없으면 감지 할 수있는 방법이 있습니까?
UPDATE는 3/18/13
나는 시작 화면의 완료를 추적하기 위해 Eclipse에서 내 주요 활동에 정적 부울을 추가하고 부울을 볼 컨트롤을 추가하는 코드를 수정했습니다.
나는 자바에서 정적 부울을 설정하는 간단한 스크립트를 생성하고 Vuforia ARCamera
SplashExit.js에 부착
유니티에서public static boolean splashComplete = false;
private View mControlViewContainer = null; // initialized in onCreate
class QCARViewFinderTask extends TimerTask {
public void run() {
MainActivity.this.runOnUiThread(new Runnable() {
public void run() {
if (!QCAR.isInitialized()) return; //wait for QCAR init
//search for QCAR view if it hasn't been found
if (mQCARView == null)
{
View rootView = MainActivity.this.findViewById(android.R.id.content);
QCARUnityPlayer qcarView = findQCARView(rootView);
if (qcarView != null) {
mQCARParentView = (ViewGroup)(qcarView.getParent());
mQCARView = qcarView;
}
}
// add controls if QCAR view is located and the splash sequence is complete
if(mQCARView != null && splashComplete && mControlViewContainer != null){
mQCARParentView.addView(mControlViewContainer);
mViewFinderTimer.cancel();
mViewFinderTimer = null;
}
}
});
}
}
MainActivity.java
function Start() {
var mainActivity = new AndroidJavaClass ("com.example.app.MainActivity");
mainActivity.SetStatic.("splashComplete",true);
}
이 간단한 장면을 가진 프로젝트에서 꽤 잘 작동합니다. 내 컨트롤이 스플래시 출구에로드하는 것 같습니다. 그러나이 방법을 좀 더 복잡한 장면에서 사용하면 스플래시 화면이 사라지기 전에 컨트롤이 2 초 정도 올라옵니다.
내 유니티 스크립트 나 스플래시 시퀀스가 종료되었을 때를보다 정확히 반영하는 더 나은 방법을 첨부 할 수있는 더 좋은 곳이 있습니까? 아마도 Jerdak의 의견에 대한 제안은 무엇입니까?
통일성 태그는 마이크로 소프트 유니티입니다. 오용하지 마십시오. –
알았습니다. 감사! –
Unity iOS 라이센스로 Unity가 기본이라고 가정합니까? 깨끗한 메서드가 없다면 실제 레벨을로드하기 위해 Application.LoadLevel을 호출하는 단일 스크립트가있는 빈 레벨을 만들 수 있습니까? 스플래시가 모든 레벨로드 사이에 표시되는지 또는 앱을 시작할 때 표시되는지는 기억할 수 없습니다. – Jerdak