CocosCreator H5游戏启动透传参数

CocosCreator构建H5(web-mobile)的包后,在发布目录下找到index.html修改一下里面的js代码,如下。

<script type="text/javascript">
function GetMainUrl(){
	var url=document.URL
	if(url.indexOf("?")!=-1){
		url=url.split("?")[0];
	}
	return url;
}
function GetRequest() {  
   var url = location.search; //获取url中包含"?"符以及其后的字串 
console.log("getRequest:"+url);   
   var theRequest = new Object();  
   if (url.indexOf("?") != -1) {  
      var str = url.substr(1);  
      strs = str.split("&");  
      for(var i = 0; i < strs.length; i ++) {  
         theRequest[strs[i].split("=")[0]]=unescape(strs[i].split("=")[1]);  
      }  
   }  
   else
   {
	return "";
   }
   return theRequest;  
} 
</script>
<script type="text/javascript">
( 
function () {
    localStorage.setItem("mainURL",GetMainUrl());
	
	var url=document.URL;
	console.log("url:"+url);
	//var url2=decodeURI(url);
	//console.log("url2:"+url2);
	
	var url2=GetRequest();
	if(url2!="")
	{
		console.log("url2"+url2);
		console.log("url2.diy"+	url2.diy);
		
		localStorage.setItem("diy",1);
		localStorage.setItem("diyJson",url2.diy);
 }
 else
 {
 console.log("无透传参数");
 localStorage.setItem("diy",0)
 }
		
	
    // open web debugger console
    if (typeof VConsole !== 'undefined') {
        window.vConsole = new VConsole();
    }

    var splash = document.getElementById('splash');
    splash.style.display = 'block';

    var cocos2d = document.createElement('script');
    cocos2d.async = true;
    cocos2d.src = window._CCSettings.debug ? 'cocos2d-js.js' : 'cocos2d-js-min.js';

    var engineLoaded = function () {
        document.body.removeChild(cocos2d);
        cocos2d.removeEventListener('load', engineLoaded, false);
        window.boot();
    };
    cocos2d.addEventListener('load', engineLoaded, false);
    document.body.appendChild(cocos2d);
}
)();
</script>

核心思想就是判断url是否传参。
若传参的话,localStorage设置diy标识为1,同时设置diyJson标识为具体参数。否则设置diy标识为0。
进入游戏主逻辑后,通过判断diy标识,来选择不同的游戏逻辑。比如我们游戏中若diy标识为0则进入主界面。diy标识为1,则直接进入战斗界面,并根据diyJson数据来设置战斗场景。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iningwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值