最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

Cocos Creator常用基礎操作總結

2022-01-12 19:00 作者:unity小能手  | 我要投稿

一、場景操作

cc.director.loadScene('場景名稱'); //場景跳轉

cc.director.preloadScene('場景名稱'); //預加載場景

cc.director.getScene(); //獲取當前場景

二、節(jié)點操作

1.獲取節(jié)點

常用方法cc.find(“節(jié)點路徑”)、this.node.getChildByName(“子節(jié)點名”)等。

var node = cc.find("Canvas/bg");//通過訪問路徑來獲取節(jié)點

var a = this.node.getChildByName('name');//通過名字獲取子節(jié)點

node.getComponent(cc.Label).string = 'abc';//獲取節(jié)點上的組件值

var a = this.node;//獲取當前腳本所在的節(jié)點

var a = this.node.parent;//獲取父節(jié)點

var a = this.node.getChildByTag(1001);//通過標簽獲取子節(jié)點

var a = cc.find("bg/score",this.node);//通過指定節(jié)點下的路徑獲取節(jié)點

var a = this.node.children;//獲取所有子節(jié)點

var a = this.node.childrenCount;//獲取子節(jié)點數量

var a = cc.director.getScene();//獲取場景主節(jié)點

var a = cc.instantiate(node);//克隆節(jié)點

this.node.parent = cc.find('Canvas');//綁定父節(jié)點

this.node.addChild(nodeName,zIndex,tag);//添加子節(jié)點,可設置層級和標簽

this.node.removeChild(nodeName);//通過名字移除子節(jié)點

this.node.removeChildByTag (nodeTag);//通過標簽移除子節(jié)點

this.node.destroy();//銷毀節(jié)點

this.node.isValid;//判定節(jié)點是否可用

this.node.removeChild(newNode);//移除節(jié)點中指定的子節(jié)點

this.node.removeChildByTag(1001);//通過標簽移除節(jié)點中指定的子節(jié)點

this.node.removeAllChildren();//移除所有子節(jié)點

this.node.destroyAllChildren();//銷毀所有子節(jié)點

this.node.cleanup();//停止所有正在播放的動作和計時器

var sprites = this.node.getComponentsInChildren(cc.Label);//遞歸查找自身及所有子節(jié)點中指定類型的組件

2.設置節(jié)點

var a = node.getPositionX();或 getPositionY() //獲取節(jié)點的X軸或Y軸坐標

var a = node.getScaleX(); 或getScaleY() //獲取節(jié)點的X軸或Y軸縮放比例

node.x = 100;//設置節(jié)點x軸坐標

node.y = 100;//設置節(jié)點y軸坐標

node.setPosition(x,y); //設置節(jié)點坐標

node.rotation = 90; //設置節(jié)點旋轉角度

node.scaleX = 2; //設置節(jié)點x軸縮放倍數

node.scaleY = 2; //設置節(jié)點y軸縮放倍數

node.setScale(2); //設置節(jié)點整體縮放倍數

node.width = 100; //設置節(jié)點寬度大小

node.height = 100; ?//設置節(jié)點高度大小

node.setContentSize(100, 100); //設置節(jié)點寬高尺寸大小

node.anchorX = 1; //設置節(jié)點x軸錨點坐標

node.anchorY = 0; //設置節(jié)點y軸錨點坐標

node.setAnchorPoint(1, 0); //設置節(jié)點錨點坐標

node.opacity = 128; //設置節(jié)點透明度大?。?-255)

node.setOpacity(20); //設置節(jié)點透明度(0~255)

node.color = new cc.color(100,100,100,255); //設置節(jié)點顏色(R,G,B,透明度)

if (cc.isValid(this.label.node) ) //判定節(jié)點是否存在

node.destroy(); //銷毀節(jié)點

this.cannons = [];

this.cannons = node.getChildren(); //獲取所有子節(jié)點

this.cannons = node.getChildrenCount(); //獲取子節(jié)點數量

node.active = false; //關閉節(jié)點(隱藏節(jié)點)

cc.game.addPersistRootNode(myNode); //常駐節(jié)點(全局變量)

cc.game.removePersistRootNode(myNode); //取消常駐節(jié)點

三、動作操作

cc.show()//立即顯示

cc.hide ()//立即隱藏

cc.toggleVisibility()//顯隱切換

cc.fadeIn(1)//漸顯效果

cc.fadeOut(1)//漸隱效果

cc.delayTime(1)//等待1秒

node.runAction(cc.moveTo(1,0,0)); //移動到當前節(jié)點(時間(s),X軸坐標,Y 軸坐標)

node.runAction(cc.scaleTo(1,0.7,0.8));//縮放到當前倍數節(jié)點(時間(s),X軸倍數,Y 軸倍數)

node.runAction(cc.rotateTo(1,160,160));//旋轉到指定角度(時間(s),X軸角度,Y 軸角度)

node.runAction(cc.skewTo(1,5,-5));//變化節(jié)點傾斜度(時間(s),X軸傾斜度,Y 軸傾斜度)

node.runAction(cc.fadeTo(2,0));//變化當前節(jié)點的透明度(時間(s),透明度)

node.runAction(cc.tintTo(2,255,255,0));//變化當前節(jié)點顏色(時間,R,G,B)

node.stopAllActions();//停止所有動作

//自定義動作

var action = cc.moveTo(2, 100, 100);// 創(chuàng)建一個移動動作

node.runAction(action);// 執(zhí)行動作

node.stopAction(action);// 停止一個動作

cc.sequence(action1,action2); //按順序連續(xù)執(zhí)行,先action1,后action2

cc.spawn(action1,action2); //同時執(zhí)行,action1和action2一起執(zhí)行

cc.repeatForever(cc.sequence(action1,action2)); //一直重復括號里的動作

四、定時任務

//只用1次的計時器,2秒后執(zhí)行

? ? ? this.scheduleOnce(function(){

? ? ? ? ? ?//一條或多條執(zhí)行語句 ?

? ? ? },2); //(function(){},時間(s))


//每隔5秒執(zhí)行1次

this.schedule(function(){

//一條或多條執(zhí)行語句


},5);


//計算多次的計時器(1秒后,以0.1秒的執(zhí)行間隔,執(zhí)行10次)

this.schedule(function(){

//一條或多條執(zhí)行語句


},0.1,10,1); //(function(){},間隔時間,次數,多久后開始)


this.unscheduleAllCallbacks(this);//停止某組件的所有計時器


//自定義定時器執(zhí)行內容(相比常規(guī)使用的定時器優(yōu)勢是:方便隨時開啟或關閉)

var cb= function(){

//do something

};

this.schedule(cb,1);//啟動定時器

this.unschedule(cb);//取消定時器

五、事件監(jiān)聽與事件派發(fā)

1. 事件監(jiān)聽

(開始:'touchstart',移動:'touchmove',結束:'touchend',取消:'touchcancel')

node.on('touchstart',function(event){

this.doSomething();

},this);


var a = event.getID();//獲取觸點的ID

var a = event.getLocationX();//獲取觸摸點的坐標X

var b = event.getLocationY();//獲取觸摸點的坐標Y

cc.eventManager.addListener({

event: cc.EventListener.KEYBOARD/TOUCH_ONE_BY_ONE,myfunction},self.node);

2.事件派發(fā)

this.node.pauseSystemEvents(true);//暫停節(jié)點系統(tǒng)事件

this.node.resumeSystemEvents(true);//恢復節(jié)點系統(tǒng)事件

this.node.targetOff(this);//移除所有注冊事件

觸摸監(jiān)聽:開始'touchstart',移動'touchmove',結束'touchend',取消'touchcancel'

var pos = event.getLocation();//獲取觸摸點的坐標(包含X和Y)

var x = event.getLocationX();//獲取觸摸點的X坐標

var y = event.getLocationY();//獲取觸摸點的Y坐標

var a = event.getID();//獲取觸點的ID

鼠標監(jiān)聽:鼠標按下'mousedown',移入節(jié)點'mouseenter',節(jié)點中移動'mousemove',移出節(jié)點'mouseleave,'松開鼠標'mouseup'

var a = event.getScrollY();//獲取滾輪滾動的 Y 軸距離,只有滾動時才有效

var a = event.getLocation();//獲取鼠標位置對象,對象包含 x 和 y 屬性

輸入框監(jiān)聽:獲得焦點'editing-did-began',文字變化'text-changed',失去焦點'editing-did-ended',按下回車'editing-return'

屬性變化監(jiān)聽:位置'position-changed',寬高 'size-changed',旋轉'rotation-changed',縮放'scale-changed'

ScrollView控件監(jiān)聽:滾動中'scrolling',停止?jié)L動'scroll-ended'


用戶自定義事件:

this.node.on('事件名',function,this);//注冊監(jiān)聽

this.node.emit('事件名');//發(fā)送監(jiān)聽廣播

this.node.off('事件名',function,this);//關閉監(jiān)聽


//注冊帶參數監(jiān)聽

this.node.on('事件名',function(event){

“具體方法函數內容”

},this);

//發(fā)送帶參數的監(jiān)聽

this.node.emit('事件名',{id:1001});

cc.eventManager.addListener(listener, node);//添加事件

cc.eventManager.removeListener((listener);//移除事件

六、音頻操作

cc.audioEngine.playMusic(this.BGAudio,true);//播放音樂(true代表循環(huán))

cc.audioEngine.stopMusic()//停止播放背景音樂

cc.audioEngine.playEffect(this.ClickAudio,false);//播放音效(false代表只播放一次)

cc.audioEngine.stopEffect(音效變量名);//停止指定音效(需要先把音效賦值給變量)

cc.audioEngine.AllEffects();//停止所有音效

cc.audioEngine.setMusicVolume(參數); ?//設置背景音樂的音量(該參數范圍是0到1)

cc.audioEngine.setEffectsVolume(參數); ?//設置音效的音量(該參數范圍是0到1)

七、存檔操作

cc.sys.localStorage.setItem('存儲標識名',變量名);//存儲存檔數據

var a = cc.sys.localStorage.getItem('存儲標識名');//讀取存檔數據

cc.sys.localStorage.removeItem('存儲標識名');//擦除存檔數據

userData = {

? ?name: 'Tracer',

? ?level: 1,

? ?gold: 100

};

cc.sys.localStorage.setItem('userData', JSON.stringify(userData));//存取復雜對象數據

var userData = JSON.parse(cc.sys.localStorage.getItem('userData'));//讀取復雜對象數據

八、其它操作

1.設備分辨率

//獲得設備分辨率

var b = cc.director.getWinSizeInPixels()

var bx = b.width

var by = b.height

cc.view.getCanvasSize().width;//獲得設備分辨率的寬度

cc.view.getCanvasSize().height;//獲得設備分辨率的高度

cc.director.setDisplayStats(true);//顯示幀數信息

2.判斷平臺

cc.sys.isNative ?//是否是本地

cc.sys.isBrowser ?//是否是網頁

cc.sys.isMobile ?//是否是移動系統(tǒng)

cc.sys.platform ?//正在運行的平臺

cc.sys.language ?//當前運行系統(tǒng)的語言

cc.sys.os ?//當前正在運行的系統(tǒng)

cc.sys.OS_IOS ?//是否是IOS系統(tǒng)

cc.sys.OS_ANDROID ?//是否是android系統(tǒng)

cc.sys.OS_WINDOWS ?//是否是windows系統(tǒng)

cc.sys.openURL('Http://www.baidu.com'); ?//打開網頁

3.游戲進程控制

cc.director.pause();//暫停

cc.director.resume();//繼續(xù)

cc.director.end();//退出整個應用

cc.log(變量) ?或 console.log(something);//輸出想要的信息

let self = this;//鎖定當前使用的this指向

node.getLocalZOrder();//層級獲取

node.setLocalZOrder(1);//層級改變

cc.find('canvas/map' + num)//讀取帶變量的路徑

cc.sys.openURL('Http://www.baidu.com');//打開網頁

4.全局變量的定義

window.DEFAULT_IP = "192.168.1.1";//任意腳本里可定義全局變量

//任意腳本里可定義全局變量

window.G = {

a: null,

b: null,

};


//任意腳本里可訪問全局變量(切記定義全局變量的那個腳本已執(zhí)行過)

G.a = 0;

G.b = 0;

var something = require(‘something’);

cc.game.addPersistRootNode(myNode);//常駐節(jié)點,必須位于層級的根節(jié)點(也可算全局節(jié)點吧)

module.exports = {

? ? ? ? config: 123

}

想看更多課程和知識請點擊:

https://bycwedu.vipwan.cn/promotion_channels/630597732


Cocos Creator常用基礎操作總結的評論 (共 條)

分享到微博請遵守國家法律
长武县| 崇义县| 修文县| 酒泉市| 枣庄市| 朝阳区| 贡山| 丰城市| 隆化县| 玛多县| 边坝县| 余江县| 万宁市| 分宜县| 巧家县| 长春市| 嘉荫县| 家居| 隆昌县| 多伦县| 孙吴县| 肥城市| 临沂市| 肥西县| 平安县| 娄烦县| 徐汇区| 四子王旗| 射阳县| 延吉市| 冀州市| 札达县| 北宁市| 叶城县| 襄樊市| 平和县| 西乌珠穆沁旗| 合川市| 罗田县| 沙湾县| 西乌珠穆沁旗|