JavaScript強化教程— 內建粒子系統
本文為H5EDU 機構官方HTML5培訓教程,主要介紹:JavaScript強化教程- 內建粒子系統
從類圖中我們可以看到,Cocos2d-JS中有內建的11種粒子,這些粒子的屬性都是預先定義好的,我們也可以在程式碼中單獨修改某些屬性,我們在上一節的實例中都已經實作了這些屬性的設定。
內建粒子系統
內建的11種粒子系統說明如下:
ParticleExplosion。爆炸粒子效果,屬於半徑模式。
ParticleFire。火焰粒子效果,屬於重力路徑模式。
ParticleFireworks。煙火粒子效果,屬於重力模式。
ParticleFlower。花粒子效果,屬於重力模式。
ParticleGalaxy。星系粒子效果,屬於半徑模式。
ParticleMeteor。流星粒子效果,屬於重力模式。
ParticleSpiral。漩渦粒子效果,屬於半徑模式。
ParticleSnow。雪粒子效果,屬於重力模式。
ParticleSmoke。煙粒子效果,屬於重力模式。
ParticleSun。太陽粒子效果,屬於重力模式。
ParticleRain。雨粒子效果,屬於重力模式。
這11種粒子的屬性,依它的發射模式不同,效果不同。
實例:內建粒子系統
下面我們透過一個實例示範這11個內建粒子系統。這個實例如圖所示,左圖是一個操作選單場景,選擇選單可以進入到上圖動作場景,在下圖動作場景中示範選擇的粒子系統效果,點擊右下角返回按鈕可以回到選單場景。
2.jpg
內建粒子系統實例
下面我們將重點放在場景MyActionScene,在它的MyActionScene.js程式碼如下:
// 操作標誌
pLabel: null, ①
ctor: function (flagTag) {
cc.log("MyActionLayer init flagTag " + this.flagTag);
var size = cc.director.getWinSize();
var backMenuItem = new cc.LabelBM new cc.MenuItemLabel(backMenuItem, this.backMenu, this);
backMenuItem.x = size.width - 100;
backMenuItem.y = 100 .create(backMenuItem);
mn.x = 0;
mn.y = 0; anchorX = 0.5;
mn.anchorY = 0.5;
new cc.LabelBMFont("", res.fnt_fnt);
this.pLabel.x = size.width / 2;
this.pLabel.y = size.height - 50;
return true;
},
backMenu: function (sender) {
cc.director.popScene ();
},
onEnterTransitionDidFinish: function () {
cc.log("標籤 = " + this.flagTag);
var sprite = this.getChildByTag(SP_TAG);
var size = cc.director.getWinSize();
var 系統;
switch (this.flagTag) ②
case ActionTypes.kExplosion losion( );
this.pLabel.setString("爆炸");
case ActionTypes 。 ure = cc.textureCache.addImage(res.s_fire); ③
休息時間;
case ActionTypes. kFireworks:
system = new cc.ParticleFireworks();
休息;
case ActionTypes.kFlower:
this.pLabel.setString( "花");
休息;
case ActionTypes.kGalaxy:
system = new cc.ParticleGalaxy();
this.pLabel.setString("Galaxy");
休息;
case ActionTypes.kMeteor:
system = new cc .ParticleMeteor ();
this.pLabel.setString("流星");
休息;
case 的cc.ParticleRain();
this.pLabel.setString("雨");
休息;
cc.ParticleSmoke();
this.pLabel.setString("煙霧");
休息中;
system = new cc.ParticleSnow();
case ActionTypes.kSpiral :
system = new cc.ParticleSpiral();
休息;
case ActionTypes.kSun:
this.pLabel.setString("太陽");
休息; ④
}
system.x = size.width /2;
system.y = size.height /2;
this.addChild(system);
}
});
var MyActionScene = cc.Scene.extend({
onEnter: function () {
在頭檔中第①行程式碼定義了LabelBMFont類型的成員變數pLabel ,用於在場景中顯示藥劑系統的名稱。
我們在MyActionLayer的onEnterTransitionDidFinish函數中創建藥劑系統對象,而不是在MyActionLayer的onEnter函數創建,這是因為MyActionLayer的onEnter函數調用時,場景還沒有顯示,如果在該函數中創建爆炸等顯示一次的效果系統,等到場景顯示的時候,爆炸已經結束了,我們會看不到效果。
代碼第②~④行創建了11種消費系統,這裡創建消費系統的時候都採用了它們的預設屬性值。其中this.pLabel.setString("XXX")函數是為場景中標籤設定內容,這樣在進入場景後可以看到粒子系統的名稱。
另外,如果在Web瀏覽器中運行還需要為粒子系統添加紋理,我們只在代碼第③行添加了粒子系統,其他的粒子添加類似。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。

JavaScript中的HTTP狀態碼取得方法簡介:在進行前端開發中,我們常常需要處理與後端介面的交互,而HTTP狀態碼就是其中非常重要的一部分。了解並取得HTTP狀態碼有助於我們更好地處理介面傳回的資料。本文將介紹使用JavaScript取得HTTP狀態碼的方法,並提供具體程式碼範例。一、什麼是HTTP狀態碼HTTP狀態碼是指當瀏覽器向伺服器發起請求時,服務
