2013-02-21 2 views
0

나는 자바 스크립트 게임을 가지고 있습니다. 서버에 게임 레벨을 저장하고 동시에 모든 것을로드하지 않고 비동기 적으로 필요할 때로드합니다.백엔드가없는 JavaScript로 게임 레벨로드하기

PHP 등의 백엔드 호스트가 없지만 모든 종류의 파일 (텍스트, 이미지, js 스크립트 파일)에서 내 레벨을 유지할 수 있습니다.

레벨을로드하는 좋은 해결책은 무엇입니까?

+0

어떻게 레벨이 구성되어

var xhr = function() { var _xhr = false; if (window.ActiveXObject) { try { _xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { _xhr = new ActiveXObject("Microsoft.XMLHTTP"); } catch (ex) { _xhr = false; } } } if (!_xhr && typeof XMLHttpRequest != 'undefined') { try { _xhr = new XMLHttpRequest(); } catch (e) { _xhr = false; } } if (!_xhr && window.createRequest) { try { _xhr = window.createRequest(); } catch (e) { _xhr = false; } } return _xhr; }; 
를? 너 뭐 해봤 니? – pce

+0

아직 결정하지 못했습니다. 레벨에 포함되어야하는 내용 (2 차원 플랫폼 게임)을 알고 있지만 저장 및 제공 방법은 아직 결정되지 않았습니다. 자바 기능에 따라 – Xlaudius

+0

확인해 볼 수 있습니다. 답변. – pce

답변

2

네이티브 JSON 파서를 탑재하고 테스트하기 쉽기 때문에 JS (JSON)를 선호합니다. XHR (XMLHttpRequest/Ajax)과 함께 다른 형식을 사용할 수 있습니다. 로컬 파일 (http://forums.mozillazine.org/viewtopic.php?f=25&p=6033635)에서 XHR을 사용할 수도 있습니다.

이것은 XHR에 JSON을로드하는 예제 클래스 LevelLoader입니다.

if (typeof gamens== 'undefined') { 
    var gamens= {}; 
} 

gamens.LevelLoader = function() { 
     this.leveldata = {}; 
}; 

gamens.LevelLoader.prototype = { 

    fromString : function(data) { 
     this.leveldata = JSON.parse(data); 
     // this.repaint(); 
    }, 

    fromFile : function(name) { 
      var xmlhttp = xhr(); 
      xmlhttp.open("GET", "level/" + name + ".js", true); 
      xmlhttp.onreadystatechange = function() { 
       if (xmlhttp.readyState == 4) { 
        this.fromString(xmlhttp.responseText); 
       } 
      } 
      xmlhttp.send(null); 
     } 
}; 


var loader = new gamens.LevelLoader(); 
// load "level/test.js" 
// example: 
// {"tiles":[0,1,1]} 
loader.fromFile("test"); 
console.log(loader.leveldata); 

XMLHttpRequest를 개체 반환합니다 XHR 기능 :

0

AJAX을 살펴보십시오. 페이지 새로 고침없이 서버에서 추가 정보를로드 할 수 있습니다. 서버에 저장하는 방법은 당신에 달려 있습니다. URL이있는 파일에 액세스 할 수 있어야합니다. 단순히 서버의 데이터 (JSON/텍스트/HTML/XML)를 비동기 적으로 다운로드하고 JS 코드에서 사용할 수 있습니다.

제게는 JS 객체로 쉽게 변환 할 수 있으므로 서버에 레벨 정보를 저장하기 위해 JSON 형식을 사용하는 것이 가장 좋습니다.