開發工具cocos creator。
比較隨意,看demo源碼總結
1.平臺:
當前平臺系統:cc.sys.os
cc.sys.isNative:false/true;(是不是真機)
cc.sys.isMobile:false/true;(是不是手機可以使瀏覽器選擇了手機模式)
cc.sys.OS_ANDROID:Android;
cc.sys.OS_IOS:iOS;
cc.sys.OS_WINDOWS:Windows;
cc.sys.OS_OSX:OS X;
cc.sys.isBrowser:true/false(是不是瀏覽器);
cc.sys.browserType:瀏覽器類型,比如:safari;
用法:
(1).if(cc.sys.os == cc.sys.OS_ANDROID){}
(2).if(!cc.sys.isNative){ return; }
cc.sys.browserType !== cc.sys.BROWSER_TYPE_UC
2.存儲:
cc.sys.localStorage.setItem("bgmVolume",v);
var t = cc.sys.localStorage.getItem("bgmVolume");
cc.sys.localStorage.removeItem("wx_account");
3.節點隱藏/顯示:(可用于彈出框)
cc.find("Canvas/alert").active=true;(true為顯示,false為隱藏);
4.獲取某一節點:
(1)varcvs=this.node.getComponent(cc.Canvas);
(2)vart=this.node.getComponent("leixingxuanze");
(3)varbtnClose= cc.find("Canvas/game_result/btnClose");
seat.node.getChildByName("zimocishu").getComponent(cc.Label).string= info.numzimo;
this._lblTip= cc.find("Canvas/reconnect/tip").getComponent(cc.Label);
示例:
this._leixingxuanze= [];
vart=this.node.getChildByName("leixingxuanze");//該節點的名為“leixingxuanze”的子節點
for(vari=0;i
varn=t.children[i].getComponent("RadioButton");
if(n!=null){
this._leixingxuanze.push(n);
}
5.給label賦值:
this.tipLabel.string="nisdji";
6.引入別的js文件:
(1)如果UserMgr.js文件varHTTP= cc.Class({}),則
varUserMgr=require("UserMgr");
(2)如果UserMgr.js文件cc.Class({}),則
varUserMgr=require("UserMgr");
cc.vv.userMgr=newUserMgr();
示例:
cc.vv= {};
varUserMgr=require("UserMgr");
cc.vv.userMgr=newUserMgr();
7.輸出:
cc.log('ddd');
console.log('sdd');
8.字典/數組? 與字符串互轉
字典或數組轉字符串:
var dic={name:'sd',sex:'m'};
JSON.stringify(dic));
字符串格式的字典/數組恢復原類型:
var dicStr='{name:'sd',sex:'m'}';
var dic1=JSON.parse(dicStr);
9.打開地址鏈接進入別的網站:
cc.sys.openURL('http://www.lxweimin.com');
10.跳轉頁面:
cc.director.loadScene("login");
11.全局變量:
(1)cc.baseUrl='192.12.23.13'
(2)window.baseUrl="192.12.23.13";
12.組件設置數組:
(1)
holdsEmpty:{
default:[],
type:[cc.SpriteFrame]
},
(2)holdsEmpty:[cc.SpriteFrame];
(3)
holdsEmpty:{
default:[],
type:cc.SpriteFrame,
},
13.隨機:
Math.random();
14.事件監聽:
(1)this.node.on('game_dingque',function(data){
});
(2)點擊事件代碼篇
varbtn= cc.find("Canvas/popups/"+ btnName);
this.addClickEvent(btn,this.node,"PopupMgr","onBtnClicked");
addClickEvent:function(node,target,component,handler){
vareventHandler=newcc.Component.EventHandler();
eventHandler.target= target;
eventHandler.component= component;
eventHandler.handler= handler;
varclickEvents= node.getComponent(cc.Button).clickEvents;
clickEvents.push(eventHandler);
},
onBtnClicked:function(event){
this.closeAll();
varbtnName= event.target.name;
if(btnName=="btn_agree"){
cc.vv.net.send("dissolve_agree");
}
else if(btnName=="btn_reject"){
cc.vv.net.send("dissolve_reject");
}
else if(btnName=="btn_sqjsfj"){
cc.vv.net.send("dissolve_request");
}
},
15.播放/關閉/暫停音頻:
node.getComponent(cc.Animation).play("dingque_tuijian");
node.getComponent(cc.Animation).stop();
node.getComponent(cc.Animation).pause();
16.資源文件加載:
(1)進度條
cc.loader.onProgress=function( completedCount, totalCount,? item ){
//console.log("completedCount:" + completedCount + ",totalCount:" + totalCount );
if(self._isLoading){
self._progress= completedCount/totalCount;
}
};
(2)全部圖片加載
cc.loader.loadResAll("textures",function(err, assets) {
});
拓展:
獲取url,并把其參數放到數組中:
urlParse:function(){
varparams= {};
if(window.location==null){
returnparams;
}
varname,value;
varstr=window.location.href;//取得整個地址欄
varnum=str.indexOf("?")
str=str.substr(num+1);//取得所有參數? stringvar.substr(start [, length ]
vararr=str.split("&");//各個參數放到數組里
for(vari=0;i
num=arr[i].indexOf("=");
if(num>0){
name=arr[i].substring(0,num);
value=arr[i].substr(num+1);
params[name]=value;
}
}
returnparams;
},