现在微信和QQ可以说普及的非常好了,在做游戏的过程中 与玩家进行沟通的时候,经常会设置客服与玩家进行在线的对接和沟通。
所以,为了简化玩家的操作,在游戏里面经常设置<复制微信号>类似的按钮,玩家点击按钮之后就会把你想让玩家复制的信息方到剪切板里面,玩家到指定的输入地点只需要黏贴一下即可,免去了记忆号码的麻烦(我觉得麻烦,号码好记忆还可以,哈哈)
首先需要去了解一下clipboard.js
git地址
连接里面有下载地址,就是下载了一个js辅助文件,导入到你的工程项目里面,然后再index.html里面将这个js文件引入
<script type="text/javascript" src="clipboard.js"></script>
在laya场景里面创建你的按钮,显示出来,运行后知道在哪里就好;
在index.html里面 用css的套路创建一个按钮
<button class="btnCopyWXNumber" id="btnCopyWXNumber" style="position:absolute;top:-100px">Copy</button>
上面就定义了一个button,这个按钮被加载的你的h5界面上,在顶部之上,界面里面是看不见的并且也不会显示。
下面是在TS代码里面找到这个按钮,并且显示到界面里(加入到了layaContainer里面)
var layaContainer =Laya.Browser.getElementById("layaContainer");
this._btnCopyWxNumber= Laya.Browser.getElementById("btnCopyWXNumber");//找到对应的btnCopyWXNumber按钮
this._btnCopyWxNumber.innerHTML = '';
this._btnCopyWxNumber.style.width = this.btWidth+'px';//设置按钮的宽和高,与场景里面按钮的宽高相同
this._btnCopyWxNumber.style.height =this.btHeight+ 'px';
this._btnCopyWxNumber.style.position = "absolute";
this._btnCopyWxNumber.style["font-size"] = '28px';
this._btnCopyWxNumber.style.color = '#ffffff';
this._btnCopyWxNumber.style["opacity"] = '0';
layaContainer.appendChild(this._btnCopyWxNumber);//这样就把这个按钮加入到了layaContainer里面,并且显示出来了,可以在Elements里面找到
下面就是适配这个按钮,让它完美的覆盖到你的在Laya场景里面创建的按钮。
贡献一下横屏时候的代码,很好用的,哈哈
private onHengPing(scale:number)
{
let xs = (Laya.Browser.clientHeight / Laya.stage.height);
let ws = (Laya.Browser.clientWidth / Laya.stage.width);
let x = this.view._btnCopyWxNumber.x;
let y = this.view._btnCopyWxNumber.y;
let w = scale * ws * this.btWidth*0.73;
let h = scale * xs * this.btHeight*0.73;
this._btnCopyWxPublic.style.width = w + 'px';
this._btnCopyWxPublic.style.height = h + 'px';
this._btnCopyWxPublic.style.left =(Laya.Browser.clientWidth / 2 +x*ws-this.view.box.width*ws / 2)+ 'px';//this.view.box.width是父容器的宽度
this._btnCopyWxPublic.style.top = (xs * ( this.view.box.y + scale * y)) + 'px';
}
然后js里面添加代码
var btnCopyWXNumber = new Clipboard ('.btnCopyWXNumber', {
text: function () {
flagText ("微信公众号复制成功!");
return "WEIXINHAO";
}
});
这样,你在场景里面点击了复制号码按钮,就会将“WEIXINHAO”复制到剪切板,然后找个地方就能黏贴出来。
哈哈,自己记录下,0.0
其实还有更简单的
private function doCopy():void{
var oInput = Browser.document.createElement('input');
oInput.value =Comm.myInfo.displayId;
Browser.document.body.appendChild(oInput);
oInput.select(); // 选择对象
Browser.document.execCommand("Copy"); // 执行浏览器复制命令
oInput.className = 'oInput';
oInput.style.display='none';
}