判断是否是IE浏览器
private isIe(): boolean {
let i = navigator.userAgent.toLowerCase().indexOf("msie");
let appVersion = navigator.appVersion; //浏览器的版本号
console.log("appVersion==", appVersion)
return i >= 0;
}
是否在PC平台上
public static IsPC(): boolean {
var platform: string = navigator.platform
return platform.indexOf("Win") >= 0
}
获取浏览器地址栏参数
public static getQueryVariable(variable): string {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) { return pair[1]; }
}
return "";
}
截取昵称
public static normalizeNickName(name: string, len: number = 4): string {
let res: string = name
if (res.length > 4) {
res = name.substr(0, 3) + "..."
}
return res
}
调用设备震动
public static vibration() {
if (navigator.vibrate) {
// 支持
console.log("支持设备震动!");
} else {
// 不支持
console.log("不支持设备震动!");
return;
}
//震5秒
//navigator.vibrate(5000);
//震1秒,停0.3秒,在震1秒
navigator.vibrate([1000, 300, 1000]);
}
范围内获取整数随机数
/**范围内获取整数随机数*/
public static getRandomInt(min: number, max: number): number {
var Range = max - min;
var Rand = Math.random();
return (min + Math.round(Rand * Range));
}
身份证和姓名判定
private aCity: any = { 11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古", 21: "辽宁", 22: "吉林", 23: "黑龙江", 31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东", 41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南", 50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏", 61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆", 71: "台湾", 81: "香港", 82: "澳门", 91: "国外" };
private isCardID(sId): boolean {
let iSum = 0;
let info = "";
if (!/^\d{17}(\d|x)$/i.test(sId)) { console.log("你输入的身份证长度或格式错误"); return false; }//"你输入的身份证长度或格式错误"
sId = sId.replace(/x$/i, "a");
if (this.aCity[parseInt(sId.substr(0, 2))] == null) { console.log("你的身份证地区非法"); return false; }//"你的身份证地区非法"
let sBirthday: string = sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2));
let d = new Date(sBirthday.replace(/-/g, "/"));
if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) { console.log("身份证上的出生日期非法"); return false; } //"身份证上的出生日期非法"
for (let i = 17; i >= 0; i--) iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17 - i), 11);
if (iSum % 11 != 1) { console.log("你输入的身份证号非法"); return false; }//"你输入的身份证号非法"
//aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女");//此次还可以判断出输入的身份证号的人性别
return true;
}
private checkName(): boolean {
let ok: boolean = true;
let reg = /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}$/;
// console.log("reg.test(this.nameInput.text)===========",reg.test(this.nameInput.text));
if (!reg.test(this.view.nameInput.text)) {
ok = false;
}
if (ok == false) {
console.log("请重新输入您的姓名!");
return false;
}
if (this.view.nameInput.text.length > 15) {
ok = false;
}
return ok;
}
金币滚动增长
/**当前显示值 */
private curNumber: number = 0;
/**目标值 */
private targetNumber: number;
private aniNumber(): void {
let value: number = Math.floor((this.targetNumber- this.curNumber) / 10);
if (value == 0) {
value = this.targetNumber- this.curNumber
}
this.curNumber+= value;
if (this.curNumber>= this.targetNumber) {
Laya.timer.clear(this, this.aniNumber);
this.view.poolNumberClip.value = App.appendNumberToStringWithLen(this.targetNumber, 9)
} else {
this.view.poolNumberClip.value = App.appendNumberToStringWithLen(this.curNumber, 9)
}
}
private setCaiJin(value: number): void {
this.targetNumber= value;
if (value == 0) {
this.curNumber= 0;
this.view.poolNumberClip.value = App.appendNumberToStringWithLen(0, 9)
return;
}
if (this.curNumber< this.targetNumber) {
Laya.timer.loop(20, this, this.aniNumber);
} else {
this.curNumber= this.targetNumber;
}
}
private updateEndTimeTime(): void {
let dataNow: Date = new Date()
this.view.timeCountLab.text = (24 - dataNow.getHours() - 1) + ":" + (60 - dataNow.getMinutes()) + ":" + (60 - dataNow.getSeconds())
}
public static appendNumberToStringWithLen(num: number, len: number, addStr: string = "0"): string {
let str: string = num.toString();
if (str.length > len) {
str = str.substr(0, len);
} else if (str.length < len) {
let a: number = len - str.length;
let add: string = ""
for (let index: number = 0; index < a; index++) {
add += addStr;
}
str = add + str;
}
return str
}
Unity3d导出的粒子特效 要在LayaAir里面缩放的时候需要设置(1.7.xx版本):
粒子设置缩放:
1.制作粒子时,必须设置Scaling Mode 属性为 Hierarchy;或者直接修改粒子的配置文件,修改每个粒子节点下的scaleMode为0。
2.必须确保粒子文件加载完成后再去调整 缩放
社区问答