之前看过一个网页小游戏:制作月饼贺卡,自己挑选月饼馅和月饼皮,最后在贺卡写上一段内容并生成一个分享链接。
内容就是一些简单的移动渐隐渐现动画,核心是通过解析分享链接呈现出别人写的文字和月饼信息。
于是本人在网上查了一些资料使用CocosCreator做了个小Demo。以下放出对URL的编码和解码部分,中文用的是Js的escape和unescape方法来编码和解码。
// 生成分享URL
genShareUrl:function(){
var shareName = cc.find("Canvas/ShareCakeLayout/getter").getComponent(cc.EditBox);
var sharWords = cc.find("Canvas/ShareCakeLayout/getterWords").getComponent(cc.EditBox);
var t=this,
n=window.location.origin+window.location.pathname,
r="",
i={xian:MoonCake.SelectCakeSkin,pi:MoonCake.SelectCakePie,name:window.escape(shareName.string),words:window.escape(sharWords.string)};
n=n.replace("index","share");
for(var s in i)
r+="&"+s+"="+(i[s]||"");
r=r.length>1?n+"?"+r.substr(1):n;
var o=r.indexOf("?")>-1?"&":"?";
return (r+=o+"sourcefrom="+"shareclick"),r
},
// 从URL中获取unicode值
getValueFromUrlDeSharp:function(e){
var t = window.location.href.match(/\?.*/g);
if(t&&t.length>0){
var n=t[0].replace("?","").split("&");
if(n&&n.length>0)
for(var r in n)
if((new RegExp(e+"=")).test(n[r])){
var i=n[r].replace(e+"=",""),s=i.indexOf("#");
return s>-1&&(i=i.substr(0,s)),i
}
}
return""
},
// 调用:
// 生成分享链接:
this.genShareUrl();
// 解析链接参数:
// 中文需要调用unescape来解码
var skinData = this.getValueFromUrlDeSharp("xian");
cc.log(skinData + " -- skinData");