你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> cocos2d-x ios游戲開發初認識(八) 音效、粒子系統與存儲

cocos2d-x ios游戲開發初認識(八) 音效、粒子系統與存儲

編輯:IOS開發綜合

我們知道,一個游戲少不了聲音,一些好聽的聲音會提起你對游戲的興趣,當然做好聽的聲音不是我們要學的,我們的目的是把聲音在適當的時候放出來,順便在這節中會說下簡單的粒子系統和文件存儲。

一、聲音的播放:

1、新建一個cocos2d工程添加相應的聲音圖片資源:

\

播放聲音所用到的內容:

\

代碼:<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+1eLA77/J0tTPyNTaUm9vdFZpZXdDb250cm9sbGVyLm1twO/D5sno1sPGwcS7IL371rnQ/deqPC9wPgo8cD48L3A+CjxwPi0gKEJPT0wpc2hvdWxkQXV0b3JvdGF0ZVRvSW50ZXJmYWNlT3JpZW50YXRpb246KFVJSW50ZXJmYWNlT3JpZW50YXRpb24paW50ZXJmYWNlT3JpZW50YXRpb24gezwvcD4KPHA+CiAvL8no1sO3vc/yPC9wPgo8cD4KICAgIHJldHVybgpVSUludGVyZmFjZU9yaWVudGF0aW9uSXNQb3J0cmFpdChpbnRlcmZhY2VPcmllbnRhdGlvbik7PC9wPgo8cD59PC9wPgo8cD4tIChCT09MKSBzaG91bGRBdXRvcm90YXRlIHs8L3A+CjxwPiAgIApyZXR1cm4gTk87IAovL7K71MrQ7TwvcD4KPHA+fTwvcD4KPHA+sNFIZWxsb1dvcmxkIMbk0+C0+sLryKu2vMm+tfQg1rvB9M/Cs/XKvLuvsr+31jwvcD4KPHA+PC9wPgo8cD4KYm9vbCBIZWxsb1dvcmxkOjppbml0KCk8L3A+CjxwPns8L3A+CjxwPgogICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vPC9wPgo8cD4KICAgIC8vIDEuIHN1cGVyIGluaXQgZmlyc3Q8L3A+CjxwPiAgIAppZiAoICFDQ0xheWVyOjppbml0KCkgKTwvcD4KPHA+ICAgIHs8L3A+CjxwPgogICAgICAgIHJldHVybiAKZmFsc2U7PC9wPgo8cD4gICAgfTwvcD4KPHA+CiAgICByZXR1cm4gCnRydWU7PC9wPgo8cD59PC9wPgo8YnI+CgrM7bzTsbO+sKO6CjxwPjwvcD4KPHA+CiAgICAvL8ztvNOxs76wzbzGrDwvcD4KPHA+ICAgCkNDU2l6ZSB3aW5zaXplID0gQ0NEaXJlY3Rvcjo6c2hhcmVkRGlyZWN0b3IoKS0+Z2V0V2luU2l6ZSgpOzwvcD4KPHA+ICAgCkNDU3ByaXRlICpiZyA9IENDU3ByaXRlOjpjcmVhdGUo"BG.png");

bg->setPosition(CCPoint(winsize.width/2,winsize.height/2)); //3.0以後的做法 調用構造函數

this->addChild(bg);

運行:

\

添加按鈕:

CCMenuItemSprite *item = CCMenuItemSprite::create(CCSprite::create("menu0.png"), CCSprite::create("menu1.png"), this,menu_selector(HelloWorld::onMenuItem)); //正常和點擊時候的圖片

item->setPosition(CCPoint(winsize.width/2, 100));

CCMenu *menu = CCMenu::create(item,NULL);

menu->setPosition(CCPointZero);

this->addChild(menu);

運行:

\

下面添加聲音和音效:

//播放音樂

SimpleAudioEngine::sharedEngine()->playBackgroundMusic("bg.mp3", true); //為true表示一直播放

//預加載音效

SimpleAudioEngine::sharedEngine()->preloadEffect("select.mp3");

事件的點擊函數:

void HelloWorld::onMenuItem(CCObject *obj)

{

//播放音效

SimpleAudioEngine::sharedEngine()->playEffect("select.mp3");

}

運行:

有聲音發出,點擊按鈕會有音效發出。。。。這就簡單的實現聲音的播放。

二、介紹簡單的粒子系統

\

cocos2d已經有自己的粒子系統當然也可以用自己的,下面通過代碼實現一個內部的粒子系統:

void HelloWorld::onMenuItem(CCObject *obj)

{

//播放音效

SimpleAudioEngine::sharedEngine()->playEffect("select.mp3");

//創建粒子系統

CCSize winsize = CCDirector::sharedDirector()->getWinSize();

CCParticleExplosion *ex = CCParticleExplosion::create();

ex->setPosition(CCPoint(winsize.width/2, winsize.height/2));

this->addChild(ex);

}

運行 點擊按鈕:

\

由於動畫太快,截圖效果不好,大家可以自己演示。。

下面用自己的粒子系統 網絡有很多做粒子系統的軟件在這裡我用的是ParticleDesigner打開:

\

隨便打開一個

\

然後點擊保存按鈕

\第三個

\

√一定要選保存的文件類型為plist文件,將保存的plist文件添加到工程中去。。

代碼實現自己的粒子系統:

//自己配置的粒子系統

CCParticleSystemQuad *Quad = CCParticleSystemQuad::create("test.plist");

Quad->setPosition(CCPoint(winsize.width/2, winsize.height/2));

this->addChild(Quad);

運行:

\

我們可以看到一個火焰在跳躍,粒子系統被加載進來。。

三、文件的存儲

cocos2d的存儲跟做ios開發用的存儲差不多。。。

代碼:

void HelloWorld::onMenuItem(CCObject *obj)

{

//播放音效

SimpleAudioEngine::sharedEngine()->playEffect("select.mp3");

//創建粒子系統

CCSize winsize = CCDirector::sharedDirector()->getWinSize();

CCParticleExplosion *ex = CCParticleExplosion::create();

ex->setPosition(CCPoint(winsize.width/2, winsize.height/2));

this->addChild(ex);

//存儲 跟ios的本地存儲差不多 做過ios開發的肯定熟悉

CCUserDefault::sharedUserDefault()->setIntegerForKey("px", 12); //通過key存儲

CCUserDefault::sharedUserDefault()->flush();

int px = CCUserDefault::sharedUserDefault()->getIntegerForKey("px");

CCLOG("px = %d",px);

}

運行點擊:


可以看到px的值被打印出來


  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved