mirror of https://github.com/axmolengine/axmol.git
Merge branch 'master' of https://github.com/cocos2d/cocos2d-x into LinuxPort
Conflicts: cocos2dx/actions/CCActionInstant.cpp cocos2dx/include/CCActionInstant.h
This commit is contained in:
commit
1fc09448a4
|
@ -178,7 +178,7 @@ namespace CocosDenshion
|
|||
|
||||
if (s3eSoundGetError()!= S3E_SOUND_ERR_NONE)
|
||||
{
|
||||
IwAssertMsg(GAME, this, ("Play sound %s Failed. Error Code : %s", pszFilePath, s3eSoundGetErrorString()));
|
||||
IwAssertMsg(GAME, false, ("Play sound %s Failed. Error Code : %s", pszFilePath, s3eSoundGetErrorString()));
|
||||
}
|
||||
|
||||
return channel;
|
||||
|
|
|
@ -61,7 +61,7 @@ namespace CocosDenshion
|
|||
|
||||
void SimpleAudioEngine::preloadBackgroundMusic(const char* pszFilePath)
|
||||
{
|
||||
|
||||
preloadBackgroundMusicJNI(pszFilePath);
|
||||
}
|
||||
|
||||
void SimpleAudioEngine::playBackgroundMusic(const char* pszFilePath, bool bLoop)
|
||||
|
|
|
@ -55,6 +55,18 @@ extern "C"
|
|||
return ret;
|
||||
}
|
||||
|
||||
void preloadBackgroundMusicJNI(const char *path)
|
||||
{
|
||||
// void playBackgroundMusic(String,boolean)
|
||||
jmethodID preloadBackgroundMusicMethodID = getMethodID("preloadBackgroundMusic", "(Ljava/lang/String;)V");
|
||||
|
||||
if (preloadBackgroundMusicMethodID)
|
||||
{
|
||||
jstring StringArg = env->NewStringUTF(path);
|
||||
env->CallStaticVoidMethod(classOfCocos2dxActivity, preloadBackgroundMusicMethodID, StringArg);
|
||||
}
|
||||
}
|
||||
|
||||
void playBackgroundMusicJNI(const char *path, bool isLoop)
|
||||
{
|
||||
// void playBackgroundMusic(String,boolean)
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
extern "C"
|
||||
{
|
||||
extern void preloadBackgroundMusicJNI(const char *path);
|
||||
extern void playBackgroundMusicJNI(const char *path, bool isLoop);
|
||||
extern void stopBackgroundMusicJNI();
|
||||
extern void pauseBackgroundMusicJNI();
|
||||
|
|
|
@ -120,6 +120,10 @@ public class Cocos2dxActivity extends Activity{
|
|||
accelerometer.disable();
|
||||
}
|
||||
|
||||
public static void preloadBackgroundMusic(String path){
|
||||
backgroundMusicPlayer.preloadBackgroundMusic(path);
|
||||
}
|
||||
|
||||
public static void playBackgroundMusic(String path, boolean isLoop){
|
||||
backgroundMusicPlayer.playBackgroundMusic(path, isLoop);
|
||||
}
|
||||
|
|
|
@ -25,6 +25,22 @@ public class Cocos2dxMusic {
|
|||
initData();
|
||||
}
|
||||
|
||||
public void preloadBackgroundMusic(String path){
|
||||
if ((mCurrentPath == null) || (! mCurrentPath.equals(path))){
|
||||
// preload new background music
|
||||
|
||||
// release old resource and create a new one
|
||||
if (mBackgroundMediaPlayer != null){
|
||||
mBackgroundMediaPlayer.release();
|
||||
}
|
||||
|
||||
mBackgroundMediaPlayer = createMediaplayerFromAssets(path);
|
||||
|
||||
// record the path
|
||||
mCurrentPath = path;
|
||||
}
|
||||
}
|
||||
|
||||
public void playBackgroundMusic(String path, boolean isLoop){
|
||||
if (mCurrentPath == null){
|
||||
// it is the first time to play background music
|
||||
|
|
|
@ -40,6 +40,7 @@ namespace cocos2d {
|
|||
{
|
||||
CCZone *pNewZone = NULL;
|
||||
CCActionInstant *pRet = NULL;
|
||||
|
||||
if (pZone && pZone->m_pCopyObject)
|
||||
{
|
||||
pRet = (CCActionInstant*)(pZone->m_pCopyObject);
|
||||
|
@ -49,24 +50,29 @@ namespace cocos2d {
|
|||
pRet = new CCActionInstant();
|
||||
pZone = pNewZone = new CCZone(pRet);
|
||||
}
|
||||
|
||||
CCFiniteTimeAction::copyWithZone(pZone);
|
||||
CC_SAFE_DELETE(pNewZone);
|
||||
return pRet;
|
||||
}
|
||||
|
||||
bool CCActionInstant::isDone()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
void CCActionInstant::step(ccTime dt)
|
||||
{
|
||||
CC_UNUSED_PARAM(dt);
|
||||
update(1);
|
||||
}
|
||||
|
||||
void CCActionInstant::update(ccTime time)
|
||||
{
|
||||
CC_UNUSED_PARAM(time);
|
||||
// ignore
|
||||
}
|
||||
|
||||
CCFiniteTimeAction * CCActionInstant::reverse()
|
||||
{
|
||||
return (CCFiniteTimeAction*)(copy()->autorelease());
|
||||
|
@ -78,22 +84,29 @@ namespace cocos2d {
|
|||
CCShow* CCShow::action()
|
||||
{
|
||||
CCShow* pRet = new CCShow();
|
||||
pRet->autorelease();
|
||||
|
||||
if (pRet)
|
||||
{
|
||||
pRet->autorelease();
|
||||
}
|
||||
|
||||
return pRet;
|
||||
}
|
||||
|
||||
void CCShow::startWithTarget(CCNode *pTarget)
|
||||
{
|
||||
CCActionInstant::startWithTarget(pTarget);
|
||||
pTarget->setIsVisible(true);
|
||||
}
|
||||
CCFiniteTimeAction *CCShow::reverse()
|
||||
|
||||
CCFiniteTimeAction* CCShow::reverse()
|
||||
{
|
||||
return (CCFiniteTimeAction*)(CCHide::action());
|
||||
}
|
||||
|
||||
CCObject* CCShow::copyWithZone(CCZone *pZone){
|
||||
CCZone *pNewZone = NULL;
|
||||
CCActionInstant *pRet = NULL;
|
||||
CCObject* CCShow::copyWithZone(CCZone *pZone)
|
||||
{
|
||||
|
||||
if (pZone && pZone->m_pCopyObject)
|
||||
{
|
||||
pRet = (CCShow*)(pZone->m_pCopyObject);
|
||||
|
@ -103,19 +116,27 @@ namespace cocos2d {
|
|||
pRet = new CCShow();
|
||||
pZone = pNewZone = new CCZone(pRet);
|
||||
}
|
||||
CCActionInstant::copyWithZone(pZone);
|
||||
|
||||
CCFiniteTimeAction::copyWithZone(pZone);
|
||||
CC_SAFE_DELETE(pNewZone);
|
||||
return pRet;
|
||||
}
|
||||
|
||||
//
|
||||
// Hide
|
||||
//
|
||||
CCHide * CCHide::action()
|
||||
{
|
||||
CCHide *pRet = new CCHide();
|
||||
pRet->autorelease();
|
||||
|
||||
if (pRet)
|
||||
{
|
||||
pRet->autorelease();
|
||||
}
|
||||
|
||||
return pRet;
|
||||
}
|
||||
|
||||
void CCHide::startWithTarget(CCNode *pTarget)
|
||||
{
|
||||
CCActionInstant::startWithTarget(pTarget);
|
||||
|
@ -127,9 +148,11 @@ namespace cocos2d {
|
|||
return (CCFiniteTimeAction*)(CCShow::action());
|
||||
}
|
||||
|
||||
CCObject* CCHide::copyWithZone(CCZone *pZone){
|
||||
CCObject* CCHide::copyWithZone(CCZone *pZone)
|
||||
{
|
||||
CCZone *pNewZone = NULL;
|
||||
CCActionInstant *pRet = NULL;
|
||||
CCHide *pRet = NULL;
|
||||
|
||||
if (pZone && pZone->m_pCopyObject)
|
||||
{
|
||||
pRet = (CCHide*)(pZone->m_pCopyObject);
|
||||
|
@ -139,7 +162,8 @@ namespace cocos2d {
|
|||
pRet = new CCHide();
|
||||
pZone = pNewZone = new CCZone(pRet);
|
||||
}
|
||||
CCActionInstant::copyWithZone(pZone);
|
||||
|
||||
CCFiniteTimeAction::copyWithZone(pZone);
|
||||
CC_SAFE_DELETE(pNewZone);
|
||||
return pRet;
|
||||
}
|
||||
|
@ -150,29 +174,44 @@ namespace cocos2d {
|
|||
CCToggleVisibility * CCToggleVisibility::action()
|
||||
{
|
||||
CCToggleVisibility *pRet = new CCToggleVisibility();
|
||||
pRet->autorelease();
|
||||
|
||||
if (pRet)
|
||||
{
|
||||
pRet->autorelease();
|
||||
}
|
||||
|
||||
return pRet;
|
||||
}
|
||||
|
||||
void CCToggleVisibility::startWithTarget(CCNode *pTarget)
|
||||
{
|
||||
CCActionInstant::startWithTarget(pTarget);
|
||||
pTarget->setIsVisible(! pTarget->getIsVisible());
|
||||
}
|
||||
|
||||
//
|
||||
// FlipX
|
||||
//
|
||||
CCFlipX *CCFlipX::actionWithFlipX(bool x)
|
||||
{
|
||||
CCFlipX *pRet = new CCFlipX();
|
||||
pRet->initWithFlipX(x);
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
|
||||
if (pRet && pRet->initWithFlipX(x))
|
||||
{
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
}
|
||||
|
||||
CC_SAFE_DELETE(pRet)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool CCFlipX::initWithFlipX(bool x)
|
||||
{
|
||||
m_bFlipX = x;
|
||||
return true;
|
||||
}
|
||||
|
||||
void CCFlipX::startWithTarget(CCNode *pTarget)
|
||||
{
|
||||
CCActionInstant::startWithTarget(pTarget);
|
||||
|
@ -188,6 +227,7 @@ namespace cocos2d {
|
|||
{
|
||||
CCZone *pNewZone = NULL;
|
||||
CCFlipX *pRet = NULL;
|
||||
|
||||
if (pZone && pZone->m_pCopyObject)
|
||||
{
|
||||
pRet = (CCFlipX*)(pZone->m_pCopyObject);
|
||||
|
@ -197,6 +237,7 @@ namespace cocos2d {
|
|||
pRet = new CCFlipX();
|
||||
pZone = pNewZone = new CCZone(pRet);
|
||||
}
|
||||
|
||||
CCActionInstant::copyWithZone(pZone);
|
||||
pRet->initWithFlipX(m_bFlipX);
|
||||
CC_SAFE_DELETE(pNewZone);
|
||||
|
@ -209,10 +250,17 @@ namespace cocos2d {
|
|||
CCFlipY * CCFlipY::actionWithFlipY(bool y)
|
||||
{
|
||||
CCFlipY *pRet = new CCFlipY();
|
||||
pRet->initWithFlipY(y);
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
|
||||
if (pRet &&pRet->initWithFlipY(y))
|
||||
{
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
}
|
||||
|
||||
CC_SAFE_DELETE(pRet);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool CCFlipY::initWithFlipY(bool y)
|
||||
{
|
||||
m_bFlipY = y;
|
||||
|
@ -230,10 +278,11 @@ namespace cocos2d {
|
|||
return CCFlipY::actionWithFlipY(!m_bFlipY);
|
||||
}
|
||||
|
||||
CCObject * CCFlipY::copyWithZone(CCZone *pZone)
|
||||
CCObject* CCFlipY::copyWithZone(CCZone *pZone)
|
||||
{
|
||||
CCZone *pNewZone = NULL;
|
||||
CCFlipY *pRet = NULL;
|
||||
|
||||
if (pZone && pZone->m_pCopyObject)
|
||||
{
|
||||
pRet = (CCFlipY*)(pZone->m_pCopyObject);
|
||||
|
@ -243,6 +292,7 @@ namespace cocos2d {
|
|||
pRet = new CCFlipY();
|
||||
pZone = pNewZone = new CCZone(pRet);
|
||||
}
|
||||
|
||||
CCActionInstant::copyWithZone(pZone);
|
||||
pRet->initWithFlipY(m_bFlipY);
|
||||
CC_SAFE_DELETE(pNewZone);
|
||||
|
@ -252,13 +302,20 @@ namespace cocos2d {
|
|||
//
|
||||
// Place
|
||||
//
|
||||
CCPlace * CCPlace::actionWithPosition(const CCPoint& pos)
|
||||
CCPlace* CCPlace::actionWithPosition(const CCPoint& pos)
|
||||
{
|
||||
CCPlace *pRet = new CCPlace();
|
||||
pRet->initWithPosition(pos);
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
|
||||
if (pRet && pRet->initWithPosition(pos))
|
||||
{
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
}
|
||||
|
||||
CC_SAFE_DELETE(pRet);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool CCPlace::initWithPosition(const CCPoint& pos)
|
||||
{
|
||||
m_tPosition = pos;
|
||||
|
@ -269,6 +326,7 @@ namespace cocos2d {
|
|||
{
|
||||
CCZone *pNewZone = NULL;
|
||||
CCPlace *pRet = NULL;
|
||||
|
||||
if (pZone && pZone->m_pCopyObject)
|
||||
{
|
||||
pRet = (CCPlace*)(pZone->m_pCopyObject);
|
||||
|
@ -278,6 +336,7 @@ namespace cocos2d {
|
|||
pRet = new CCPlace();
|
||||
pZone = pNewZone = new CCZone(pRet);
|
||||
}
|
||||
|
||||
CCActionInstant::copyWithZone(pZone);
|
||||
pRet->initWithPosition(m_tPosition);
|
||||
CC_SAFE_DELETE(pNewZone);
|
||||
|
@ -297,12 +356,14 @@ namespace cocos2d {
|
|||
CCCallFunc * CCCallFunc::actionWithTarget(SelectorProtocol* pSelectorTarget, SEL_CallFunc selector)
|
||||
{
|
||||
CCCallFunc *pRet = new CCCallFunc();
|
||||
if(pRet->initWithTarget(pSelectorTarget))
|
||||
|
||||
if(pRet && pRet->initWithTarget(pSelectorTarget))
|
||||
{
|
||||
pRet->m_pCallFunc = selector;
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
}
|
||||
|
||||
CC_SAFE_DELETE(pRet);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -310,11 +371,13 @@ namespace cocos2d {
|
|||
CCCallFunc* CCCallFunc::actionWithScriptFuncName(const char* pszFuncName)
|
||||
{
|
||||
CCCallFunc *pRet = new CCCallFunc();
|
||||
if(pRet->initWithScriptFuncName(pszFuncName))
|
||||
|
||||
if(pRet && pRet->initWithScriptFuncName(pszFuncName))
|
||||
{
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
}
|
||||
|
||||
CC_SAFE_DELETE(pRet);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -331,10 +394,12 @@ namespace cocos2d {
|
|||
{
|
||||
pSelectorTarget->selectorProtocolRetain();
|
||||
}
|
||||
|
||||
if (m_pSelectorTarget)
|
||||
{
|
||||
m_pSelectorTarget->selectorProtocolRelease();
|
||||
}
|
||||
|
||||
m_pSelectorTarget = pSelectorTarget;
|
||||
return true;
|
||||
}
|
||||
|
@ -343,13 +408,18 @@ namespace cocos2d {
|
|||
{
|
||||
CCZone* pNewZone = NULL;
|
||||
CCCallFunc* pRet = NULL;
|
||||
if(pZone && pZone->m_pCopyObject) //in case of being called at sub class
|
||||
|
||||
if(pZone && pZone->m_pCopyObject)
|
||||
{
|
||||
//in case of being called at sub class
|
||||
pRet = (CCCallFunc*)(pZone->m_pCopyObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
pRet = new CCCallFunc();
|
||||
pZone = pNewZone = new CCZone(pRet);
|
||||
}
|
||||
|
||||
CCActionInstant::copyWithZone(pZone);
|
||||
pRet->initWithTarget(m_pSelectorTarget);
|
||||
pRet->m_pCallFunc = m_pCallFunc;
|
||||
|
@ -357,11 +427,13 @@ namespace cocos2d {
|
|||
CC_SAFE_DELETE(pNewZone);
|
||||
return pRet;
|
||||
}
|
||||
|
||||
void CCCallFunc::startWithTarget(CCNode *pTarget)
|
||||
{
|
||||
CCActionInstant::startWithTarget(pTarget);
|
||||
this->execute();
|
||||
}
|
||||
|
||||
void CCCallFunc::execute()
|
||||
{
|
||||
if(m_pCallFunc)
|
||||
|
@ -374,6 +446,7 @@ namespace cocos2d {
|
|||
CCScriptEngineManager::sharedScriptEngineManager()->getScriptEngine()->executeCallFunc(m_scriptFuncName.c_str());
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// CallFuncN
|
||||
//
|
||||
|
@ -390,14 +463,17 @@ namespace cocos2d {
|
|||
m_pTarget);
|
||||
}
|
||||
}
|
||||
|
||||
CCCallFuncN * CCCallFuncN::actionWithTarget(SelectorProtocol* pSelectorTarget, SEL_CallFuncN selector)
|
||||
{
|
||||
CCCallFuncN *pRet = new CCCallFuncN();
|
||||
if(pRet->initWithTarget(pSelectorTarget, selector))
|
||||
|
||||
if(pRet && pRet->initWithTarget(pSelectorTarget, selector))
|
||||
{
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
}
|
||||
|
||||
CC_SAFE_DELETE(pRet);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -405,22 +481,25 @@ namespace cocos2d {
|
|||
CCCallFuncN* CCCallFuncN::actionWithScriptFuncName(const char *pszFuncName)
|
||||
{
|
||||
CCCallFuncN *pRet = new CCCallFuncN();
|
||||
if(pRet->initWithScriptFuncName(pszFuncName))
|
||||
|
||||
if(pRet && pRet->initWithScriptFuncName(pszFuncName))
|
||||
{
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
}
|
||||
|
||||
CC_SAFE_DELETE(pRet);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
bool CCCallFuncN::initWithTarget(SelectorProtocol* pSelectorTarget, SEL_CallFuncN selector)
|
||||
{
|
||||
if( CCCallFunc::initWithTarget(pSelectorTarget) )
|
||||
if(CCCallFunc::initWithTarget(pSelectorTarget))
|
||||
{
|
||||
m_pCallFuncN = selector;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -428,29 +507,37 @@ namespace cocos2d {
|
|||
{
|
||||
CCZone* pNewZone = NULL;
|
||||
CCCallFuncN* pRet = NULL;
|
||||
if(zone && zone->m_pCopyObject) //in case of being called at sub class
|
||||
|
||||
if(zone && zone->m_pCopyObject)
|
||||
{
|
||||
//in case of being called at sub class
|
||||
pRet = (CCCallFuncN*)(zone->m_pCopyObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
pRet = new CCCallFuncN();
|
||||
zone = pNewZone = new CCZone(pRet);
|
||||
}
|
||||
|
||||
CCCallFunc::copyWithZone(zone);
|
||||
pRet->initWithTarget(m_pSelectorTarget, m_pCallFuncN);
|
||||
CC_SAFE_DELETE(pNewZone);
|
||||
return pRet;
|
||||
}
|
||||
|
||||
//
|
||||
// CallFuncND
|
||||
//
|
||||
CCCallFuncND * CCCallFuncND::actionWithTarget(SelectorProtocol* pSelectorTarget, SEL_CallFuncND selector, void* d)
|
||||
{
|
||||
CCCallFuncND* pRet = new CCCallFuncND();
|
||||
if (pRet->initWithTarget(pSelectorTarget, selector, d))
|
||||
|
||||
if (pRet && pRet->initWithTarget(pSelectorTarget, selector, d))
|
||||
{
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
}
|
||||
|
||||
CC_SAFE_DELETE(pRet);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -458,12 +545,14 @@ namespace cocos2d {
|
|||
CCCallFuncND* CCCallFuncND::actionWithScriptFuncName(const char* pszFuncName, void *d)
|
||||
{
|
||||
CCCallFuncND* pRet = new CCCallFuncND();
|
||||
if (pRet->initWithScriptFuncName(pszFuncName))
|
||||
|
||||
if (pRet && pRet->initWithScriptFuncName(pszFuncName))
|
||||
{
|
||||
pRet->autorelease();
|
||||
pRet->m_pData = d;
|
||||
return pRet;
|
||||
}
|
||||
|
||||
CC_SAFE_DELETE(pRet);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -476,6 +565,7 @@ namespace cocos2d {
|
|||
m_pCallFuncND = selector;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -483,13 +573,18 @@ namespace cocos2d {
|
|||
{
|
||||
CCZone* pNewZone = NULL;
|
||||
CCCallFuncND* pRet = NULL;
|
||||
if(zone && zone->m_pCopyObject) //in case of being called at sub class
|
||||
|
||||
if(zone && zone->m_pCopyObject)
|
||||
{
|
||||
//in case of being called at sub class
|
||||
pRet = (CCCallFuncND*)(zone->m_pCopyObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
pRet = new CCCallFuncND();
|
||||
zone = pNewZone = new CCZone(pRet);
|
||||
}
|
||||
|
||||
CCCallFunc::copyWithZone(zone);
|
||||
pRet->initWithTarget(m_pSelectorTarget, m_pCallFuncND, m_pData);
|
||||
CC_SAFE_DELETE(pNewZone);
|
||||
|
@ -509,7 +604,6 @@ namespace cocos2d {
|
|||
m_pTarget,
|
||||
m_pData);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -538,14 +632,17 @@ namespace cocos2d {
|
|||
m_pObject);
|
||||
}
|
||||
}
|
||||
|
||||
CCCallFuncO * CCCallFuncO::actionWithTarget(SelectorProtocol* pSelectorTarget, SEL_CallFuncO selector, CCObject* pObject)
|
||||
{
|
||||
CCCallFuncO *pRet = new CCCallFuncO();
|
||||
if(pRet->initWithTarget(pSelectorTarget, selector, pObject))
|
||||
|
||||
if(pRet && pRet->initWithTarget(pSelectorTarget, selector, pObject))
|
||||
{
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
}
|
||||
|
||||
CC_SAFE_DELETE(pRet);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -553,11 +650,13 @@ namespace cocos2d {
|
|||
CCCallFuncO* CCCallFuncO::actionWithScriptFuncName(const char *pszFuncName)
|
||||
{
|
||||
CCCallFuncO *pRet = new CCCallFuncO();
|
||||
if(pRet->initWithScriptFuncName(pszFuncName))
|
||||
|
||||
if(pRet && pRet->initWithScriptFuncName(pszFuncName))
|
||||
{
|
||||
pRet->autorelease();
|
||||
return pRet;
|
||||
}
|
||||
|
||||
CC_SAFE_DELETE(pRet);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -572,23 +671,29 @@ namespace cocos2d {
|
|||
m_pCallFuncO = selector;
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
CCObject * CCCallFuncO::copyWithZone(CCZone* zone)
|
||||
{
|
||||
CCZone* pNewZone = NULL;
|
||||
CCCallFuncO* pRet = NULL;
|
||||
if(zone && zone->m_pCopyObject) //in case of being called at sub class
|
||||
|
||||
if(zone && zone->m_pCopyObject)
|
||||
{
|
||||
//in case of being called at sub class
|
||||
pRet = (CCCallFuncO*)(zone->m_pCopyObject);
|
||||
}
|
||||
else
|
||||
{
|
||||
pRet = new CCCallFuncO();
|
||||
zone = pNewZone = new CCZone(pRet);
|
||||
}
|
||||
|
||||
CCCallFunc::copyWithZone(zone);
|
||||
pRet->initWithTarget(m_pSelectorTarget, m_pCallFuncO, m_pObject);
|
||||
CC_SAFE_DELETE(pNewZone);
|
||||
return pRet;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1010,7 +1010,7 @@ void CCSkewTo::startWithTarget(CCNode *pTarget)
|
|||
m_fDeltaX += 360;
|
||||
}
|
||||
|
||||
m_fSkewY = pTarget->getSkewY();
|
||||
m_fStartSkewY = pTarget->getSkewY();
|
||||
|
||||
if (m_fStartSkewY > 0)
|
||||
{
|
||||
|
|
|
@ -49,11 +49,6 @@ class CC_DLL CCAccelerometerDelegate
|
|||
{
|
||||
public:
|
||||
virtual void didAccelerate(CCAcceleration* pAccelerationValue) {CC_UNUSED_PARAM(pAccelerationValue);}
|
||||
|
||||
//! call the release() in child layer
|
||||
virtual void AccelerometerDestroy(void) {}
|
||||
//! call the retain() in child layer
|
||||
virtual void AccelerometerKeep(void) {}
|
||||
};
|
||||
|
||||
} //namespace cocos2d
|
||||
|
|
|
@ -61,7 +61,6 @@ namespace cocos2d {
|
|||
//super methods
|
||||
virtual void startWithTarget(CCNode *pTarget);
|
||||
virtual CCFiniteTimeAction * reverse(void);
|
||||
//add
|
||||
virtual CCObject* copyWithZone(CCZone *pZone);
|
||||
public:
|
||||
//override static method
|
||||
|
@ -82,7 +81,6 @@ namespace cocos2d {
|
|||
//super methods
|
||||
virtual void startWithTarget(CCNode *pTarget);
|
||||
virtual CCFiniteTimeAction * reverse(void);
|
||||
//add
|
||||
virtual CCObject* copyWithZone(CCZone *pZone);
|
||||
public:
|
||||
//override static method
|
||||
|
|
|
@ -67,8 +67,6 @@ public:
|
|||
virtual void keep(void);
|
||||
|
||||
virtual void didAccelerate(CCAcceleration* pAccelerationValue) {CC_UNUSED_PARAM(pAccelerationValue);}
|
||||
virtual void AccelerometerDestroy(void);
|
||||
virtual void AccelerometerKeep(void);
|
||||
|
||||
virtual void KeypadDestroy();
|
||||
virtual void KeypadKeep();
|
||||
|
|
|
@ -198,7 +198,7 @@ public:
|
|||
static CCSprite* spriteWithBatchNode(CCSpriteBatchNode *batchNode, const CCRect& rect);
|
||||
|
||||
public:
|
||||
bool init(void);
|
||||
virtual bool init(void);
|
||||
virtual ~CCSprite(void);
|
||||
CCSprite();
|
||||
|
||||
|
|
|
@ -174,7 +174,7 @@ It should work same as apples CFSwapInt32LittleToHost(..)
|
|||
|
||||
/// when define returns true it means that our architecture uses big endian
|
||||
#define CC_HOST_IS_BIG_ENDIAN (bool)(*(unsigned short *)"\0\xff" < 0x100)
|
||||
#define CC_SWAP32(i) ((i & 0x000000ff) << 24 | (i & 0x0000ff00 << 8) | (i & 0x00ff0000) >> 8 | (i & 0xff000000) >> 24)
|
||||
#define CC_SWAP32(i) ((i & 0x000000ff) << 24 | (i & 0x0000ff00) << 8 | (i & 0x00ff0000) >> 8 | (i & 0xff000000) >> 24)
|
||||
#define CC_SWAP16(i) ((i & 0x00ff) << 8 | (i &0xff00) >> 8)
|
||||
#define CC_SWAP_INT32_LITTLE_TO_HOST(i) ((CC_HOST_IS_BIG_ENDIAN == true)? CC_SWAP32(i) : (i) )
|
||||
#define CC_SWAP_INT16_LITTLE_TO_HOST(i) ((CC_HOST_IS_BIG_ENDIAN == true)? CC_SWAP16(i) : (i) )
|
||||
|
|
|
@ -96,16 +96,6 @@ void CCLayer::keep(void)
|
|||
this->retain();
|
||||
}
|
||||
|
||||
void CCLayer::AccelerometerDestroy(void)
|
||||
{
|
||||
this->release();
|
||||
}
|
||||
|
||||
void CCLayer::AccelerometerKeep(void)
|
||||
{
|
||||
this->retain();
|
||||
}
|
||||
|
||||
void CCLayer::KeypadDestroy()
|
||||
{
|
||||
this->release();
|
||||
|
@ -158,11 +148,11 @@ void CCLayer::setIsAccelerometerEnabled(bool enabled)
|
|||
{
|
||||
if (enabled)
|
||||
{
|
||||
CCAccelerometer::sharedAccelerometer()->addDelegate(this);
|
||||
CCAccelerometer::sharedAccelerometer()->setDelegate(this);
|
||||
}
|
||||
else
|
||||
{
|
||||
CCAccelerometer::sharedAccelerometer()->removeDelegate(this);
|
||||
CCAccelerometer::sharedAccelerometer()->setDelegate(NULL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -210,7 +200,7 @@ void CCLayer::onEnter()
|
|||
// add this layer to concern the Accelerometer Sensor
|
||||
if (m_bIsAccelerometerEnabled)
|
||||
{
|
||||
CCAccelerometer::sharedAccelerometer()->addDelegate(this);
|
||||
CCAccelerometer::sharedAccelerometer()->setDelegate(this);
|
||||
}
|
||||
|
||||
// add this layer to concern the kaypad msg
|
||||
|
@ -230,7 +220,7 @@ void CCLayer::onExit()
|
|||
// remove this layer from the delegates who concern Accelerometer Sensor
|
||||
if (m_bIsAccelerometerEnabled)
|
||||
{
|
||||
CCAccelerometer::sharedAccelerometer()->removeDelegate(this);
|
||||
CCAccelerometer::sharedAccelerometer()->setDelegate(NULL);
|
||||
}
|
||||
|
||||
// remove this layer from the delegates who concern the kaypad msg
|
||||
|
@ -246,7 +236,7 @@ void CCLayer::onEnterTransitionDidFinish()
|
|||
{
|
||||
if (m_bIsAccelerometerEnabled)
|
||||
{
|
||||
CCAccelerometer::sharedAccelerometer()->addDelegate(this);
|
||||
CCAccelerometer::sharedAccelerometer()->setDelegate(this);
|
||||
}
|
||||
|
||||
CCNode::onEnterTransitionDidFinish();
|
||||
|
|
|
@ -58,6 +58,10 @@ typedef enum LanguageType
|
|||
{
|
||||
kLanguageEnglish = 0,
|
||||
kLanguageChinese,
|
||||
kLanguageFrench,
|
||||
kLanguageItalian,
|
||||
kLanguageGerman,
|
||||
kLanguageSpanish,
|
||||
} ccLanguageType;
|
||||
|
||||
NS_CC_END;
|
||||
|
|
|
@ -76,6 +76,9 @@ public:
|
|||
/**
|
||||
@brief Set the ResourcePath,we will find resource in this path
|
||||
@param pszResourcePath The absolute resource path
|
||||
@warning Don't call this function in android and iOS, it has not effect.
|
||||
In android, if you want to read file other than apk, you shoud use invoke getFileData(), and pass the
|
||||
absolute path.
|
||||
*/
|
||||
static void setResourcePath(const char *pszResourcePath);
|
||||
|
||||
|
|
|
@ -34,18 +34,17 @@ namespace cocos2d
|
|||
{
|
||||
CCAccelerometer* CCAccelerometer::m_spCCAccelerometer = NULL;
|
||||
|
||||
CCAccelerometer::CCAccelerometer() {
|
||||
m_pAccelDelegates = new std::list<CCAccelerometerDelegate*>();
|
||||
CCAccelerometer::CCAccelerometer() : m_pAccelDelegate(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
CCAccelerometer::~CCAccelerometer() {
|
||||
if ( m_pAccelDelegates ) {
|
||||
delete m_pAccelDelegates;
|
||||
m_pAccelDelegates = NULL;
|
||||
}
|
||||
CCAccelerometer::~CCAccelerometer()
|
||||
{
|
||||
m_spCCAccelerometer = NULL;
|
||||
}
|
||||
|
||||
CCAccelerometer* CCAccelerometer::sharedAccelerometer() {
|
||||
CCAccelerometer* CCAccelerometer::sharedAccelerometer()
|
||||
{
|
||||
|
||||
if (m_spCCAccelerometer == NULL)
|
||||
{
|
||||
|
@ -55,34 +54,31 @@ namespace cocos2d
|
|||
return m_spCCAccelerometer;
|
||||
}
|
||||
|
||||
void CCAccelerometer::removeDelegate(CCAccelerometerDelegate* pDelegate) {
|
||||
m_pAccelDelegates->remove(pDelegate);
|
||||
void CCAccelerometer::setDelegate(CCAccelerometerDelegate* pDelegate)
|
||||
{
|
||||
m_pAccelDelegate = pDelegate;
|
||||
|
||||
if ( 0 == m_pAccelDelegates->size() ) {
|
||||
disableAccelerometerJNI();
|
||||
}
|
||||
if (pDelegate)
|
||||
{
|
||||
enableAccelerometerJNI();
|
||||
}
|
||||
else
|
||||
{
|
||||
disableAccelerometerJNI();
|
||||
}
|
||||
}
|
||||
|
||||
void CCAccelerometer::addDelegate(CCAccelerometerDelegate* pDelegate) {
|
||||
if ( 0 == m_pAccelDelegates->size() ) {
|
||||
enableAccelerometerJNI();
|
||||
}
|
||||
void CCAccelerometer::update(float x, float y, float z, long sensorTimeStamp)
|
||||
{
|
||||
if (m_pAccelDelegate)
|
||||
{
|
||||
m_obAccelerationValue.x = -((double)x / TG3_GRAVITY_EARTH);
|
||||
m_obAccelerationValue.y = -((double)y / TG3_GRAVITY_EARTH);
|
||||
m_obAccelerationValue.z = -((double)z / TG3_GRAVITY_EARTH);
|
||||
m_obAccelerationValue.timestamp = (double)sensorTimeStamp;
|
||||
|
||||
m_pAccelDelegates->push_front(pDelegate);
|
||||
}
|
||||
|
||||
void CCAccelerometer::update(float x, float y, float z, long sensorTimeStamp) {
|
||||
if ( m_pAccelDelegates != NULL && !m_pAccelDelegates->empty() ) {
|
||||
m_obAccelerationValue.x = -((double)x / TG3_GRAVITY_EARTH);
|
||||
m_obAccelerationValue.y = -((double)y / TG3_GRAVITY_EARTH);
|
||||
m_obAccelerationValue.z = -((double)z / TG3_GRAVITY_EARTH);
|
||||
m_obAccelerationValue.timestamp = (double)sensorTimeStamp;
|
||||
|
||||
for(std::list<CCAccelerometerDelegate*>::const_iterator it = m_pAccelDelegates->begin(); it != m_pAccelDelegates->end(); ++it)
|
||||
{
|
||||
(*it)->didAccelerate(&m_obAccelerationValue);
|
||||
}
|
||||
}
|
||||
m_pAccelDelegate->didAccelerate(&m_obAccelerationValue);
|
||||
}
|
||||
}
|
||||
} // end of namespace cococs2d
|
||||
|
||||
|
|
|
@ -27,7 +27,6 @@ THE SOFTWARE.
|
|||
|
||||
#include "CCCommon.h"
|
||||
#include "CCAccelerometerDelegate.h"
|
||||
#include <list>
|
||||
|
||||
namespace cocos2d {
|
||||
|
||||
|
@ -39,13 +38,12 @@ public:
|
|||
|
||||
static CCAccelerometer* sharedAccelerometer();
|
||||
|
||||
void removeDelegate(CCAccelerometerDelegate* pDelegate);
|
||||
void addDelegate(CCAccelerometerDelegate* pDelegate);
|
||||
void setDelegate(CCAccelerometerDelegate* pDelegate);
|
||||
void update(float x, float y, float z, long sensorTimeStamp);
|
||||
|
||||
private:
|
||||
static CCAccelerometer* m_spCCAccelerometer;
|
||||
std::list<CCAccelerometerDelegate*>* m_pAccelDelegates;
|
||||
CCAccelerometerDelegate* m_pAccelDelegate;
|
||||
CCAcceleration m_obAccelerationValue;
|
||||
};
|
||||
|
||||
|
|
|
@ -89,6 +89,22 @@ ccLanguageType CCApplication::getCurrentLanguage()
|
|||
{
|
||||
ret = kLanguageEnglish;
|
||||
}
|
||||
else if (0 == strcmp("fr", pLanguageName))
|
||||
{
|
||||
ret = kLanguageFrench;
|
||||
}
|
||||
else if (0 == strcmp("it", pLanguageName))
|
||||
{
|
||||
ret = kLanguageItalian;
|
||||
}
|
||||
else if (0 == strcmp("de", pLanguageName))
|
||||
{
|
||||
ret = kLanguageGerman;
|
||||
}
|
||||
else if (0 == strcmp("es", pLanguageName))
|
||||
{
|
||||
ret = kLanguageSpanish;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -27,48 +27,32 @@ NS_CC_BEGIN;
|
|||
#include "CCCommon.h"
|
||||
#include "jni/SystemInfoJni.h"
|
||||
|
||||
#define MAX_PATH 256
|
||||
|
||||
// record the resource path
|
||||
static string s_strResourcePath = "";
|
||||
|
||||
/*
|
||||
* This function is implemented for jni to set apk path.
|
||||
*/
|
||||
void CCFileUtils::setResourcePath(const char* pszResourcePath)
|
||||
{
|
||||
CCAssert(pszResourcePath != NULL, "[FileUtils setRelativePath] -- wrong relative path");
|
||||
|
||||
if (! pszResourcePath)
|
||||
string tmp(pszResourcePath);
|
||||
|
||||
if ((! pszResourcePath) || tmp.find(".apk") == string::npos)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
s_strResourcePath = pszResourcePath;
|
||||
|
||||
/*
|
||||
* If the path is set by user, and not end with "/", append it
|
||||
*/
|
||||
if (s_strResourcePath.find(".apk") == string::npos
|
||||
&& s_strResourcePath.find_last_of("/") != s_strResourcePath.length() - 1)
|
||||
{
|
||||
s_strResourcePath += "/";
|
||||
}
|
||||
}
|
||||
|
||||
const char* CCFileUtils::fullPathFromRelativePath(const char *pszRelativePath)
|
||||
{
|
||||
if (s_strResourcePath.find(".apk") != string::npos)
|
||||
{
|
||||
return pszRelativePath;
|
||||
}
|
||||
else
|
||||
{
|
||||
CCString *pRet = new CCString();
|
||||
pRet->autorelease();
|
||||
pRet->m_sString = s_strResourcePath + pszRelativePath;
|
||||
return pRet->m_sString.c_str();
|
||||
}
|
||||
return pszRelativePath;
|
||||
}
|
||||
|
||||
const char *CCFileUtils::fullPathFromRelativeFile(const char *pszFilename, const char *pszRelativeFile)
|
||||
const char* CCFileUtils::fullPathFromRelativeFile(const char *pszFilename, const char *pszRelativeFile)
|
||||
{
|
||||
std::string relativeFile = pszRelativeFile;
|
||||
CCString *pRet = new CCString();
|
||||
|
@ -80,10 +64,15 @@ const char *CCFileUtils::fullPathFromRelativeFile(const char *pszFilename, const
|
|||
|
||||
unsigned char* CCFileUtils::getFileData(const char* pszFileName, const char* pszMode, unsigned long * pSize)
|
||||
{
|
||||
string fullPath = pszFileName;
|
||||
unsigned char * pData = 0;
|
||||
string fullPath(pszFileName);
|
||||
|
||||
if (s_strResourcePath.find(".apk") != string::npos)
|
||||
if ((! pszFileName) || (! pszMode))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (pszFileName[0] != '/')
|
||||
{
|
||||
// read from apk
|
||||
fullPath.insert(0, "assets/");
|
||||
|
@ -97,12 +86,18 @@ unsigned char* CCFileUtils::getFileData(const char* pszFileName, const char* psz
|
|||
FILE *fp = fopen(pszFileName, pszMode);
|
||||
CC_BREAK_IF(!fp);
|
||||
|
||||
unsigned long size;
|
||||
fseek(fp,0,SEEK_END);
|
||||
*pSize = ftell(fp);
|
||||
size = ftell(fp);
|
||||
fseek(fp,0,SEEK_SET);
|
||||
pData = new unsigned char[*pSize];
|
||||
*pSize = fread(pData,sizeof(unsigned char), *pSize,fp);
|
||||
pData = new unsigned char[size];
|
||||
size = fread(pData,sizeof(unsigned char), size,fp);
|
||||
fclose(fp);
|
||||
|
||||
if (pSize)
|
||||
{
|
||||
*pSize = size;
|
||||
}
|
||||
} while (0);
|
||||
}
|
||||
|
||||
|
@ -113,6 +108,7 @@ unsigned char* CCFileUtils::getFileData(const char* pszFileName, const char* psz
|
|||
msg.append(fullPath.c_str()).append(") failed!");
|
||||
CCMessageBox(msg.c_str(), title.c_str());
|
||||
}
|
||||
|
||||
return pData;
|
||||
}
|
||||
|
||||
|
|
|
@ -28,27 +28,15 @@
|
|||
|
||||
@interface AccelerometerDispatcher : NSObject<UIAccelerometerDelegate>
|
||||
{
|
||||
NSMutableArray *delegateWrappers;
|
||||
cocos2d::CCAccelerometerDelegate *delegate_;
|
||||
cocos2d::CCAcceleration *acceleration_;
|
||||
}
|
||||
|
||||
@property(readwrite, retain) NSMutableArray* delegateWrappers;
|
||||
@property(readwrite) cocos2d::CCAccelerometerDelegate *delegate_;
|
||||
@property(readwrite) cocos2d::CCAcceleration *acceleration_;
|
||||
|
||||
+ (id) sharedAccelerometerDispather;
|
||||
- (id) init;
|
||||
- (void) addDelegate: (cocos2d::CCAccelerometerDelegate *) delegate;
|
||||
- (void) removeDelegate: (cocos2d::CCAccelerometerDelegate *) delegate;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@interface AccelerometerDelegateWrapper : NSObject {
|
||||
cocos2d::CCAccelerometerDelegate *delegate_;
|
||||
}
|
||||
|
||||
@property(readwrite) cocos2d::CCAccelerometerDelegate *delegate_;
|
||||
|
||||
+ (id) delegateWrapperWithDelegate:(cocos2d::CCAccelerometerDelegate *)delegate;
|
||||
- (id) initWithDelegate: (cocos2d::CCAccelerometerDelegate *)delegate;
|
||||
- (void) didAccelerate: (cocos2d::CCAcceleration *)acceleration;
|
||||
|
||||
@end
|
||||
|
|
|
@ -28,7 +28,8 @@
|
|||
|
||||
static AccelerometerDispatcher* s_pAccelerometerDispatcher;
|
||||
|
||||
@synthesize delegateWrappers;
|
||||
@synthesize delegate_;
|
||||
@synthesize acceleration_;
|
||||
|
||||
+ (id) sharedAccelerometerDispather
|
||||
{
|
||||
|
@ -41,107 +42,69 @@ static AccelerometerDispatcher* s_pAccelerometerDispatcher;
|
|||
|
||||
- (id) init
|
||||
{
|
||||
self.delegateWrappers = [NSMutableArray arrayWithCapacity:4];
|
||||
[[UIAccelerometer sharedAccelerometer] setDelegate: self];
|
||||
|
||||
acceleration_ = new cocos2d::CCAcceleration();
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) dealloc
|
||||
{
|
||||
[[UIAccelerometer sharedAccelerometer] setDelegate: nil];
|
||||
[delegateWrappers release];
|
||||
s_pAccelerometerDispatcher = 0;
|
||||
delegate_ = 0;
|
||||
delete acceleration_;
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
- (id) findDelegateWrapperByDelegate: (cocos2d::CCAccelerometerDelegate *) delegate
|
||||
{
|
||||
for (AccelerometerDelegateWrapper *wrapper in delegateWrappers) {
|
||||
if (wrapper.delegate_ == delegate) {
|
||||
return wrapper;
|
||||
}
|
||||
}
|
||||
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void) addDelegate: (cocos2d::CCAccelerometerDelegate *) delegate
|
||||
{
|
||||
[delegateWrappers addObject: [AccelerometerDelegateWrapper delegateWrapperWithDelegate:delegate]];
|
||||
}
|
||||
delegate_ = delegate;
|
||||
|
||||
- (void) removeDelegate: (cocos2d::CCAccelerometerDelegate *) delegate
|
||||
{
|
||||
[delegateWrappers removeObject:[self findDelegateWrapperByDelegate:delegate]];
|
||||
if (delegate_)
|
||||
{
|
||||
[[UIAccelerometer sharedAccelerometer] setDelegate:self];
|
||||
}
|
||||
else
|
||||
{
|
||||
[[UIAccelerometer sharedAccelerometer] setDelegate:nil];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration
|
||||
{
|
||||
cocos2d::CCAcceleration accelerationCpp;
|
||||
if (! delegate_)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
accelerationCpp.x = acceleration.x;
|
||||
accelerationCpp.y = acceleration.y;
|
||||
accelerationCpp.z = acceleration.z;
|
||||
accelerationCpp.timestamp = acceleration.timestamp;
|
||||
acceleration_->x = acceleration.x;
|
||||
acceleration_->y = acceleration.y;
|
||||
acceleration_->z = acceleration.z;
|
||||
acceleration_->timestamp = acceleration.timestamp;
|
||||
|
||||
double tmp = accelerationCpp.x;
|
||||
double tmp = acceleration_->x;
|
||||
|
||||
switch ([[UIApplication sharedApplication] statusBarOrientation])
|
||||
{
|
||||
case UIInterfaceOrientationLandscapeRight:
|
||||
accelerationCpp.x = -acceleration.y;
|
||||
accelerationCpp.y = tmp;
|
||||
acceleration_->x = -acceleration_->y;
|
||||
acceleration_->y = tmp;
|
||||
break;
|
||||
|
||||
case UIInterfaceOrientationLandscapeLeft:
|
||||
accelerationCpp.x = acceleration.y;
|
||||
accelerationCpp.y = -tmp;
|
||||
acceleration_->x = acceleration_->y;
|
||||
acceleration_->y = -tmp;
|
||||
break;
|
||||
|
||||
case UIInterfaceOrientationPortraitUpsideDown:
|
||||
accelerationCpp.x = -accelerationCpp.y;
|
||||
accelerationCpp.y = -tmp;
|
||||
acceleration_->x = -acceleration_->y;
|
||||
acceleration_->y = -tmp;
|
||||
break;
|
||||
|
||||
case UIInterfaceOrientationPortrait:
|
||||
break;
|
||||
}
|
||||
|
||||
for (AccelerometerDelegateWrapper *wrapper in delegateWrappers) {
|
||||
[wrapper didAccelerate: &accelerationCpp];
|
||||
}
|
||||
delegate_->didAccelerate(acceleration_);
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@implementation AccelerometerDelegateWrapper
|
||||
|
||||
@synthesize delegate_;
|
||||
|
||||
+ (id)delegateWrapperWithDelegate:(cocos2d::CCAccelerometerDelegate *)delegate
|
||||
{
|
||||
return [[self alloc] initWithDelegate: delegate];
|
||||
}
|
||||
|
||||
- (id) initWithDelegate: (cocos2d::CCAccelerometerDelegate *)delegate
|
||||
{
|
||||
delegate->AccelerometerKeep();
|
||||
self.delegate_ = delegate;
|
||||
|
||||
return self;
|
||||
}
|
||||
|
||||
- (void) didAccelerate: (cocos2d::CCAcceleration *)acceleration
|
||||
{
|
||||
self.delegate_->didAccelerate(acceleration);
|
||||
}
|
||||
|
||||
- (void) dealloc
|
||||
{
|
||||
self.delegate_->AccelerometerDestroy();
|
||||
|
||||
[super dealloc];
|
||||
}
|
||||
|
||||
@end
|
||||
|
|
|
@ -37,8 +37,7 @@ public:
|
|||
|
||||
static CCAccelerometer* sharedAccelerometer();
|
||||
|
||||
void removeDelegate(CCAccelerometerDelegate* pDelegate);
|
||||
void addDelegate(CCAccelerometerDelegate* pDelegate);
|
||||
void setDelegate(CCAccelerometerDelegate* pDelegate);
|
||||
|
||||
private:
|
||||
static CCAccelerometer* m_spUIAccelerometer;
|
||||
|
|
|
@ -46,12 +46,7 @@ namespace cocos2d {
|
|||
return m_spUIAccelerometer;
|
||||
}
|
||||
|
||||
void CCAccelerometer::removeDelegate(CCAccelerometerDelegate* pDelegate)
|
||||
{
|
||||
[[AccelerometerDispatcher sharedAccelerometerDispather] removeDelegate:pDelegate];
|
||||
}
|
||||
|
||||
void CCAccelerometer::addDelegate(CCAccelerometerDelegate* pDelegate)
|
||||
void CCAccelerometer::setDelegate(CCAccelerometerDelegate* pDelegate)
|
||||
{
|
||||
[[AccelerometerDispatcher sharedAccelerometerDispather] addDelegate:pDelegate];
|
||||
}
|
||||
|
|
|
@ -126,6 +126,18 @@ ccLanguageType CCApplication::getCurrentLanguage()
|
|||
{
|
||||
ret = kLanguageEnglish;
|
||||
}
|
||||
else if ([languageCode isEqualToString:@"fr"]){
|
||||
ret = kLanguageFrench;
|
||||
}
|
||||
else if ([languageCode isEqualToString:@"it"]){
|
||||
ret = kLanguageItalian;
|
||||
}
|
||||
else if ([languageCode isEqualToString:@"de"]){
|
||||
ret = kLanguageGerman;
|
||||
}
|
||||
else if ([languageCode isEqualToString:@"es"]){
|
||||
ret = kLanguageSpanish;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -237,15 +237,9 @@ static void static_addValueToCCDict(id key, id value, CCDictionary<std::string,
|
|||
|
||||
namespace cocos2d {
|
||||
|
||||
// record the resource path
|
||||
static char s_pszResourcePath[MAX_PATH] = {0};
|
||||
|
||||
void CCFileUtils::setResourcePath(const char *pszResourcePath)
|
||||
{
|
||||
// NSAssert(pszResourcePath != NULL, "[FileUtils setResourcePath] -- wrong resource path");
|
||||
// NSAssert(strlen(pszResourcePath) <= MAX_PATH, "[FileUtils setResourcePath] -- resource path too long");
|
||||
|
||||
strcpy(s_pszResourcePath, pszResourcePath);
|
||||
assert(0);
|
||||
}
|
||||
|
||||
int CCFileUtils::ccLoadFileIntoMemory(const char *filename, unsigned char **out)
|
||||
|
|
|
@ -328,6 +328,30 @@ static bool _isValidFontName(const char *fontName)
|
|||
return ret;
|
||||
}
|
||||
|
||||
static CGSize _caculateStringSizeWithFontOrZFont(NSString *str, id font, bool isZfont)
|
||||
{
|
||||
NSArray *listItems = [str componentsSeparatedByString: @"\n"];
|
||||
CGSize dim;
|
||||
|
||||
for (NSString *s in listItems)
|
||||
{
|
||||
CGSize tmp;
|
||||
if (isZfont)
|
||||
{
|
||||
[FontLabelStringDrawingHelper sizeWithZFont:str zfont:font];
|
||||
}
|
||||
else
|
||||
{
|
||||
tmp = [s sizeWithFont:font];
|
||||
}
|
||||
|
||||
dim.width += tmp.width;
|
||||
dim.height += tmp.height;
|
||||
}
|
||||
|
||||
return dim;
|
||||
}
|
||||
|
||||
static bool _initWithString(const char * pText, cocos2d::CCImage::ETextAlign eAlign, const char * pFontName, int nSize, tImageInfo* pInfo)
|
||||
{
|
||||
bool bRet = false;
|
||||
|
@ -344,7 +368,7 @@ static bool _initWithString(const char * pText, cocos2d::CCImage::ETextAlign eAl
|
|||
font = [UIFont fontWithName:fntName size:nSize];
|
||||
if (font)
|
||||
{
|
||||
dim = [str sizeWithFont:font];
|
||||
dim = _caculateStringSizeWithFontOrZFont(str, font, false);
|
||||
}
|
||||
|
||||
#if CC_FONT_LABEL_SUPPORT
|
||||
|
@ -353,8 +377,8 @@ static bool _initWithString(const char * pText, cocos2d::CCImage::ETextAlign eAl
|
|||
font = [[FontManager sharedManager] zFontWithName:fntName pointSize:nSize];
|
||||
if (font)
|
||||
{
|
||||
//dim = [str sizeWithZFont:font];
|
||||
dim = [FontLabelStringDrawingHelper sizeWithZFont:str zfont:font];
|
||||
//dim = [str sizeWithZFont:font];
|
||||
dim =_caculateStringSizeWithFontOrZFont(str, font, true);
|
||||
}
|
||||
}
|
||||
#endif // CC_FONT_LABEL_SUPPORT
|
||||
|
@ -371,7 +395,7 @@ static bool _initWithString(const char * pText, cocos2d::CCImage::ETextAlign eAl
|
|||
|
||||
if (font)
|
||||
{
|
||||
dim = [str sizeWithFont:font];
|
||||
dim = _caculateStringSizeWithFontOrZFont(str, font, false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -34,9 +34,7 @@ public:
|
|||
~CCAccelerometer();
|
||||
|
||||
static CCAccelerometer* sharedAccelerometer() { return NULL; }
|
||||
|
||||
void removeDelegate(CCAccelerometerDelegate* pDelegate) {CC_UNUSED_PARAM(pDelegate);}
|
||||
void addDelegate(CCAccelerometerDelegate* pDelegate) {CC_UNUSED_PARAM(pDelegate);}
|
||||
void setDelegate(CCAccelerometerDelegate* pDelegate) {CC_UNUSED_PARAM(pDelegate);}
|
||||
};
|
||||
|
||||
}//namespace cocos2d
|
||||
|
|
|
@ -27,72 +27,13 @@ THE SOFTWARE.
|
|||
|
||||
#include "TCOM_Generic_Method_IIDs.h"
|
||||
|
||||
//Ö»ÄÜ°üº¬Ò»´Î
|
||||
// Can only include once
|
||||
#include "TCOM_Sensors_IIDs.h"
|
||||
|
||||
namespace cocos2d {
|
||||
|
||||
static CCAccelerometer s_Accelerometer;
|
||||
|
||||
//------------------------------------------------------------------
|
||||
//
|
||||
// CCAccelerometerHandler
|
||||
//
|
||||
//------------------------------------------------------------------
|
||||
CCAccelerometerDelegate* CCAccelerometerHandler::getDelegate()
|
||||
{
|
||||
return m_pDelegate;
|
||||
}
|
||||
|
||||
CCAccelerometerHandler::~CCAccelerometerHandler()
|
||||
{
|
||||
m_pDelegate->AccelerometerDestroy();
|
||||
}
|
||||
|
||||
void CCAccelerometerHandler::setDelegate(CCAccelerometerDelegate *pDelegate)
|
||||
{
|
||||
if (pDelegate)
|
||||
{
|
||||
pDelegate->AccelerometerKeep();
|
||||
}
|
||||
|
||||
if (m_pDelegate)
|
||||
{
|
||||
m_pDelegate->AccelerometerDestroy();
|
||||
}
|
||||
m_pDelegate = pDelegate;
|
||||
}
|
||||
|
||||
bool CCAccelerometerHandler::initWithDelegate(CCAccelerometerDelegate *pDelegate)
|
||||
{
|
||||
assert(pDelegate != NULL);
|
||||
|
||||
m_pDelegate = pDelegate;
|
||||
pDelegate->AccelerometerKeep();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
CCAccelerometerHandler* CCAccelerometerHandler::handlerWithDelegate(CCAccelerometerDelegate *pDelegate)
|
||||
{
|
||||
CCAccelerometerHandler* pHandler = new CCAccelerometerHandler;
|
||||
|
||||
if (pHandler)
|
||||
{
|
||||
if (pHandler->initWithDelegate(pDelegate))
|
||||
{
|
||||
pHandler->autorelease();
|
||||
}
|
||||
else
|
||||
{
|
||||
CC_SAFE_RELEASE_NULL(pHandler);
|
||||
}
|
||||
}
|
||||
|
||||
return pHandler;
|
||||
}
|
||||
|
||||
|
||||
//------------------------------------------------------------------
|
||||
//
|
||||
// CCAccelerometer
|
||||
|
@ -100,19 +41,19 @@ CCAccelerometerHandler* CCAccelerometerHandler::handlerWithDelegate(CCAccelerome
|
|||
//------------------------------------------------------------------
|
||||
CCAccelerometer::CCAccelerometer()
|
||||
: m_pSensor(NULL)
|
||||
, m_pDelegate(NULL)
|
||||
{
|
||||
m_pDelegates = new AccDelegateArray;
|
||||
}
|
||||
|
||||
CCAccelerometer::~CCAccelerometer()
|
||||
{
|
||||
m_pDelegates->release();
|
||||
|
||||
if (m_pSensor)
|
||||
{
|
||||
m_pSensor->Release();
|
||||
m_pSensor = NULL;
|
||||
}
|
||||
|
||||
m_pDelegate = NULL;
|
||||
}
|
||||
|
||||
CCAccelerometer* CCAccelerometer::sharedAccelerometer()
|
||||
|
@ -120,92 +61,53 @@ CCAccelerometer* CCAccelerometer::sharedAccelerometer()
|
|||
return &s_Accelerometer;
|
||||
}
|
||||
|
||||
void CCAccelerometer::removeDelegate(CCAccelerometerDelegate* pDelegate)
|
||||
void CCAccelerometer::setDelegate(CCAccelerometerDelegate* pDelegate)
|
||||
{
|
||||
CCAccelerometerHandler *pHandler;
|
||||
CCMutableArray<CCAccelerometerHandler*>::CCMutableArrayIterator iter;
|
||||
m_pDelegate = pDelegate;
|
||||
|
||||
if (pDelegate)
|
||||
{
|
||||
for (iter = m_pDelegates->begin(); iter != m_pDelegates->end(); ++iter)
|
||||
{
|
||||
pHandler = *iter;
|
||||
if (pHandler && pHandler->getDelegate() == pDelegate)
|
||||
{
|
||||
m_pDelegates->removeObject(pHandler);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (m_pDelegate)
|
||||
{
|
||||
do
|
||||
{
|
||||
if (m_pSensor)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
if (0 == m_pDelegates->count())
|
||||
{
|
||||
m_pSensor->Release();
|
||||
m_pSensor = NULL;
|
||||
}
|
||||
}
|
||||
m_pSensor = TCOM_Sensors_DataType_Client::GetInstance();
|
||||
|
||||
void CCAccelerometer::addDelegate(CCAccelerometerDelegate* pDelegate)
|
||||
{
|
||||
CCAccelerometerHandler *pHandlerIter;
|
||||
CCMutableArray<CCAccelerometerHandler*>::CCMutableArrayIterator iter;
|
||||
if (m_pSensor)
|
||||
{
|
||||
m_pSensor->StartUp();
|
||||
m_pSensor->SetDelay(TG3_SENSOR_DELAY_FASTEST);
|
||||
|
||||
if (pDelegate)
|
||||
{
|
||||
for (iter = m_pDelegates->begin(); iter != m_pDelegates->end(); ++iter)
|
||||
{
|
||||
pHandlerIter = *iter;
|
||||
if (pHandlerIter && pHandlerIter->getDelegate() == pDelegate)
|
||||
{
|
||||
// this delegate have existed
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CCAccelerometerHandler* pHandler = CCAccelerometerHandler::handlerWithDelegate(pDelegate);
|
||||
|
||||
if (pHandler)
|
||||
{
|
||||
m_pDelegates->addObject(pHandler);
|
||||
|
||||
if (!m_pSensor)
|
||||
{
|
||||
m_pSensor = TCOM_Sensors_DataType_Client::GetInstance();
|
||||
|
||||
if (m_pSensor)
|
||||
{
|
||||
m_pSensor->StartUp();
|
||||
m_pSensor->SetDelay(TG3_SENSOR_DELAY_FASTEST);
|
||||
|
||||
TApplication* pApp = TApplication::GetCurrentApplication();
|
||||
TWindow* pWnd = pApp->GetActiveWindow();
|
||||
m_pSensor->SetWindowCtrlId(pWnd->GetWindowHwndId(), 0);
|
||||
m_pSensor->Activate(TG3_SENSOR_TYPE_ACCELEROMETER, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
CCLOG("cocos2d: The Accelerometer Sensor Open failed");
|
||||
}
|
||||
}
|
||||
}
|
||||
TApplication* pApp = TApplication::GetCurrentApplication();
|
||||
TWindow* pWnd = pApp->GetActiveWindow();
|
||||
m_pSensor->SetWindowCtrlId(pWnd->GetWindowHwndId(), 0);
|
||||
m_pSensor->Activate(TG3_SENSOR_TYPE_ACCELEROMETER, TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
CCLOG("cocos2d: The Accelerometer Sensor Open failed");
|
||||
}
|
||||
} while (0);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (m_pSensor)
|
||||
{
|
||||
m_pSensor->Release();
|
||||
m_pSensor = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CCAccelerometer::didAccelerate(CCAcceleration* pAccelerationValue)
|
||||
{
|
||||
CCAccelerometerHandler *pHandler;
|
||||
CCAccelerometerDelegate *pDelegate;
|
||||
CCMutableArray<CCAccelerometerHandler*>::CCMutableArrayIterator iter;
|
||||
|
||||
if (m_pDelegates->count() > 0)
|
||||
{
|
||||
for (iter = m_pDelegates->begin(); iter != m_pDelegates->end(); ++iter)
|
||||
{
|
||||
pHandler = *iter;
|
||||
pDelegate = pHandler->getDelegate();
|
||||
pDelegate->didAccelerate(pAccelerationValue);
|
||||
}
|
||||
}
|
||||
if (m_pDelegate)
|
||||
{
|
||||
m_pDelegate->didAccelerate(pAccelerationValue);
|
||||
}
|
||||
}
|
||||
|
||||
}//namespace cocos2d
|
||||
|
|
|
@ -27,37 +27,11 @@ THE SOFTWARE.
|
|||
|
||||
#include "CCAccelerometerDelegate.h"
|
||||
#include "TG3.h"
|
||||
#include "CCMutableArray.h"
|
||||
#include "CCCommon.h"
|
||||
#include "TCOM_Sensors_Interface.h"
|
||||
|
||||
namespace cocos2d {
|
||||
|
||||
/**
|
||||
@brief
|
||||
CCAccelerometerHandler
|
||||
Object than contains the CCAccelerometerDelegate.
|
||||
*/
|
||||
class CC_DLL CCAccelerometerHandler : public CCObject
|
||||
{
|
||||
public:
|
||||
virtual ~CCAccelerometerHandler(void);
|
||||
|
||||
/** delegate */
|
||||
CCAccelerometerDelegate* getDelegate();
|
||||
void setDelegate(CCAccelerometerDelegate *pDelegate);
|
||||
|
||||
/** initializes a CCAccelerometerHandler with a delegate */
|
||||
virtual bool initWithDelegate(CCAccelerometerDelegate *pDelegate);
|
||||
|
||||
public:
|
||||
/** allocates a AccelerometerHandler with a delegate */
|
||||
static CCAccelerometerHandler* handlerWithDelegate(CCAccelerometerDelegate *pDelegate);
|
||||
|
||||
protected:
|
||||
CCAccelerometerDelegate* m_pDelegate;
|
||||
};
|
||||
|
||||
/**
|
||||
@brief
|
||||
The CCAccelerometer class lets you register to receive
|
||||
|
@ -77,12 +51,7 @@ public:
|
|||
/**
|
||||
@brief add delegate to concern accelerometer sensor
|
||||
*/
|
||||
void addDelegate(CCAccelerometerDelegate* pDelegate);
|
||||
|
||||
/**
|
||||
@brief remove the delegate from the delegates who concern Accelerometer Sensor
|
||||
*/
|
||||
void removeDelegate(CCAccelerometerDelegate* pDelegate);
|
||||
void setDelegate(CCAccelerometerDelegate* pDelegate);
|
||||
|
||||
/**
|
||||
@brief call delegates' didAccelerate function
|
||||
|
@ -90,9 +59,7 @@ public:
|
|||
void didAccelerate(CCAcceleration* pAccelerationValue);
|
||||
|
||||
protected:
|
||||
typedef CCMutableArray<CCAccelerometerHandler*> AccDelegateArray;
|
||||
|
||||
AccDelegateArray* m_pDelegates;
|
||||
CCAccelerometerDelegate* m_pDelegate;
|
||||
TCOM_Sensors_DataType_Client* m_pSensor;
|
||||
};
|
||||
|
||||
|
|
|
@ -323,7 +323,6 @@ CCSprite* CCSprite::initWithCGImage(CGImageRef pImage, const char *pszKey)
|
|||
CCSprite::CCSprite()
|
||||
: m_pobTexture(NULL)
|
||||
{
|
||||
init();
|
||||
}
|
||||
|
||||
CCSprite::~CCSprite(void)
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace cocos2d
|
|||
struct CCZHeader {
|
||||
unsigned char sig[4]; // signature. Should be 'CCZ!' 4 bytes
|
||||
unsigned short compression_type; // should 0
|
||||
unsigned char version; // should be 2 (although version type==1 is also supported)
|
||||
unsigned short version; // should be 2 (although version type==1 is also supported)
|
||||
unsigned int reserved; // Reserverd for users.
|
||||
unsigned int len; // size of the uncompressed file
|
||||
};
|
||||
|
|
|
@ -364,7 +364,7 @@ void CCTextureAtlas::drawQuads()
|
|||
|
||||
void CCTextureAtlas::drawNumberOfQuads(unsigned int n)
|
||||
{
|
||||
this->drawNumberOfQuads(m_uTotalQuads, 0);
|
||||
this->drawNumberOfQuads(n, 0);
|
||||
}
|
||||
|
||||
void CCTextureAtlas::drawNumberOfQuads(unsigned int n, unsigned int start)
|
||||
|
|
|
@ -99,7 +99,6 @@ CCLuaScriptModule::~CCLuaScriptModule()
|
|||
lua_close( d_state );
|
||||
}
|
||||
s_luaScriptModule = NULL;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -125,13 +124,14 @@ bool CCLuaScriptModule::addSearchPath(const std::string& path)
|
|||
bool CCLuaScriptModule::executeScriptFile(const std::string& filename)
|
||||
{
|
||||
int nRet = luaL_dofile(d_state,filename.c_str());
|
||||
|
||||
if (nRet != 0)
|
||||
{
|
||||
CCLog("executeScriptFile Error nRet = %d", nRet);
|
||||
|
||||
// print the error msg
|
||||
const char* strErrMsg = lua_tostring(d_state, -1);
|
||||
CCLog("%s", strErrMsg);
|
||||
CCLog("%s", lua_tostring(d_state, -1));
|
||||
|
||||
// pop the error code
|
||||
lua_pop(d_state, 1);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
@ -181,8 +181,6 @@ int CCLuaScriptModule::executeScriptGlobal(const std::string& function_name)
|
|||
|
||||
// return it
|
||||
return ret;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -232,9 +230,8 @@ bool CCLuaScriptModule::executeSchedule(const std::string& handler_name, ccTime
|
|||
}
|
||||
// return it
|
||||
return true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
bool CCLuaScriptModule::executeCallFunc(const std::string& handler_name)
|
||||
{
|
||||
|
||||
|
@ -270,8 +267,8 @@ bool CCLuaScriptModule::executeCallFunc(const std::string& handler_name)
|
|||
}
|
||||
// return it
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
bool CCLuaScriptModule::executeCallFuncN(const std::string& handler_name, CCNode* pNode)
|
||||
{
|
||||
|
||||
|
@ -386,8 +383,8 @@ bool CCLuaScriptModule::executeCallFuncND(const std::string& handler_name, CCNod
|
|||
}
|
||||
// return it
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
bool CCLuaScriptModule::executeMenuHandler(const std::string& handler_name, CCObject* pobj)
|
||||
{
|
||||
|
||||
|
@ -423,7 +420,6 @@ bool CCLuaScriptModule::executeMenuHandler(const std::string& handler_name, CCOb
|
|||
}
|
||||
// return it
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
bool CCLuaScriptModule::executeTouchesEvent(const std::string& handler_name, CCSet *pobj)
|
||||
|
@ -508,9 +504,8 @@ bool CCLuaScriptModule::executeTouch(const std::string& handler_name, CCTouch *p
|
|||
}
|
||||
// return it
|
||||
return true;
|
||||
|
||||
|
||||
}
|
||||
|
||||
bool CCLuaScriptModule::executeEventHandler(const std::string& handler_name, CCEvent* pEvent)
|
||||
{
|
||||
|
||||
|
@ -547,7 +542,6 @@ bool CCLuaScriptModule::executeEventHandler(const std::string& handler_name, CCE
|
|||
}
|
||||
// return it
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
bool CCLuaScriptModule::executeListItem(const std::string& handler_name, int index, CCObject* pobj)
|
||||
|
@ -587,7 +581,6 @@ bool CCLuaScriptModule::executeListItem(const std::string& handler_name, int ind
|
|||
}
|
||||
// return it
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
|
@ -599,9 +592,12 @@ bool CCLuaScriptModule::executeString(const std::string& str)
|
|||
int error = luaL_dostring(d_state, str.c_str());
|
||||
|
||||
// handle errors
|
||||
if ( error )
|
||||
if (error)
|
||||
{
|
||||
CCLog("executeString %d", error);
|
||||
// print error message and pop it
|
||||
CCLog("%s", lua_tostring(d_state, -1));
|
||||
lua_pop(d_state, 1);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ ANDROID_NDK_ROOT=__ndkroot__
|
|||
COCOS2DX_ROOT=__cocos2dxroot__
|
||||
GAME_ROOT=$COCOS2DX_ROOT/__projectname__
|
||||
GAME_ANDROID_ROOT=$GAME_ROOT/android
|
||||
RESOURCE_ROOT=$GAME_ROOT/Resource
|
||||
RESOURCE_ROOT=$GAME_ROOT/Resources
|
||||
|
||||
# make sure assets is exist
|
||||
if [ -d $GAME_ANDROID_ROOT/assets ]; then
|
||||
|
|
|
@ -120,7 +120,8 @@ OBJECTS = \
|
|||
$(OBJECTS_DIR)/TransitionsTest.o \
|
||||
$(OBJECTS_DIR)/UserDefaultTest.o \
|
||||
$(OBJECTS_DIR)/ZwoptexTest.o \
|
||||
$(OBJECTS_DIR)/FontTest.o
|
||||
$(OBJECTS_DIR)/FontTest.o \
|
||||
$(OBJECTS_DIR)/CurrentLanguageTest.o
|
||||
|
||||
ADD_OBJECTS +=
|
||||
|
||||
|
@ -394,3 +395,6 @@ $(OBJECTS_DIR)/ZwoptexTest.o : ../tests/ZwoptexTest/ZwoptexTest.cpp
|
|||
$(OBJECTS_DIR)/FontTest.o : ../tests/FontTest/FontTest.cpp
|
||||
$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/FontTest.o ../tests/FontTest/FontTest.cpp
|
||||
|
||||
$(OBJECTS_DIR)/CurrentLanguageTest.o : ../tests/CurrentLanguageTest/CurrentLanguageTest.cpp
|
||||
$(CXX) -c $(CXX_FLAGS) $(INCLUDE_PATH) $(LAST_INCLUDE_PATH) -o $(OBJECTS_DIR)/CurrentLanguageTest.o ../tests/CurrentLanguageTest/CurrentLanguageTest.cpp
|
||||
|
||||
|
|
|
@ -68,8 +68,6 @@ namespace cocos2d{
|
|||
void keep(void);
|
||||
|
||||
void didAccelerate(CCAcceleration* pAccelerationValue) {}
|
||||
void AccelerometerDestroy(void);
|
||||
void AccelerometerKeep(void);
|
||||
|
||||
void KeypadDestroy();
|
||||
void KeypadKeep();
|
||||
|
|
Loading…
Reference in New Issue