2011-08-22 6 views
3

인터넷에서 HTML5 게임을로드하고 WebView에 표시하려고 시도하지만 게임을로드 할 수 없을 때 내 모니터가 검정색이며 한 줄 (약 30px) 만 표시됩니다. 내 화면에 내 코드입니다Android HTML5 게임

public class BrowserGame extends MenuHandler { 

    @Override 
    public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     setContentView(R.layout.browsergame); 

     WebView browser = (WebView)findViewById(R.id.webGame); 
     browser.setFocusableInTouchMode(false); 

     browser.setWebViewClient(new WebViewClient(){ 
      @Override 
      public boolean shouldOverrideUrlLoading(WebView view, String url) 
      { 
       view.loadUrl(url); 
       return true; 
      } 
     }); 

     Bundle game = getIntent().getExtras(); 
     String gameURL = game.getString("gameURL"); 

     browser.loadUrl(gameURL); 
    } 
} 

모바일 브라우저에서 동일한 링크를 시도하면 게임이 표시됩니다.

감사합니다.

+0

이 질문은 심각하게 정보가 부족합니다. 어떤 종류의 HTML 페이지/데이터를로드하는지 알지 못하면 질문을 읽을 수 없습니다. –

+0

이 링크입니다 http://m.spacemonsters.co.uk/galactians/ – Kec

답변

3

WebView에서로드/플레이하려는 게임은 순수한 HTML5 애플리케이션이 아니라 간단한 자바 스크립트 게임입니다.

activate JavaScript for this WebView해야합니다, 당신의 자신의 WebView에서이 작업을하려면 내 테스트-경우

WebView myWebView = (WebView) findViewById(R.id.webview); 
WebSettings webSettings = myWebView.getSettings(); 
webSettings.setJavaScriptEnabled(true); 

는,이 중 하나가 작동하지 않습니다. 청색 선은 게임의 로더입니다. 로그 캣이 game.js -script에 대한 오류를보고하십시오 WebView를 사용하는 경우

WARN/webview(1208): Miss a drag as we are waiting for WebCore's response for touch down. 
ERROR/Web Console(1208): TypeError: Result of expression 'event' [undefined] is not an object. at http://m.spacemonsters.co.uk/galactians/game.js:261 

이 만 나타나, 안드로이드 표준 브라우저는이 오류가 발생하지 않습니다. 이 오류는 게임을 클릭하면 표시됩니다. Androids 표준 브라우저에서도 발생하므로 문제의 근원이 아닐 수도 있습니다.

또한 표준 안드로이드 브라우저 (게임을 할 수있는)와 WebView이 자바 스크립트를 처리하고 처리하는 방식에 차이가있을 수 있습니다. 몇 가지 해결 방법이 here으로 게시되어 해당 상황에 적용되는지 확인하십시오.


재미있는 사실은 : 매우 쉽게 빌어 먹을 높은 점수를 얻을 수 있습니다 게임의 버그가 있습니다. P -key를 사용하여 게임을 일시 중지 할 수 있습니다. 일시 정지 모드에서는 여전히 우주선을 움직일 수 있으며 발사가 생성됩니다 (단순히 보이지는 않습니다). P을 다시 클릭하면 샷이 날아갑니다.

이것은 또한 적의 레이저 샷에 의한 공격을 피하는 데 매우 편리합니다.)

+0

나는 이것을 시도하고 화면 중앙에 파란색 선만 있습니다 게임을 볼 수 없습니다 WebView 브라우저 = (WebView) findViewById (R .id.webGame); WebSettings webSettings = browser.getSettings(); webSettings.setJavaScriptEnabled (true); – Kec

+0

몇 가지 연구와 가능한 해결 방법을 추가했습니다. 확인 해봐. –