-
Notifications
You must be signed in to change notification settings - Fork 7.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #300 from minggo/lua
Lua support
- Loading branch information
Showing
222 changed files
with
30,471 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
<?xml version="1.0" encoding="utf-8"?><VisualStudioUserFile ProjectType="Visual C++" Version="9.00" ShowAllFiles="true"></VisualStudioUserFile> | ||
<?xml version="1.0" encoding="utf-8"?><VisualStudioUserFile ProjectType="Visual C++" Version="9.00" ShowAllFiles="false"></VisualStudioUserFile> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,154 @@ | ||
#include "AppDelegate.h" | ||
|
||
#include "cocos2d.h" | ||
|
||
USING_NS_CC; | ||
|
||
AppDelegate::AppDelegate() | ||
{ | ||
|
||
} | ||
|
||
AppDelegate::~AppDelegate() | ||
{ | ||
} | ||
|
||
bool AppDelegate::initInstance() | ||
{ | ||
bool bRet = false; | ||
do | ||
{ | ||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) | ||
|
||
// Initialize OpenGLView instance, that release by CCDirector when application terminate. | ||
// The HelloWorld is designed as HVGA. | ||
CCEGLView * pMainWnd = new CCEGLView(); | ||
CC_BREAK_IF(! pMainWnd | ||
|| ! pMainWnd->Create(TEXT("cocos2d: Hello World"), 480, 320)); | ||
|
||
#endif // CC_PLATFORM_WIN32 | ||
|
||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) | ||
|
||
// OpenGLView initialized in testsAppDelegate.mm on ios platform, nothing need to do here. | ||
|
||
#endif // CC_PLATFORM_IOS | ||
|
||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) | ||
|
||
// OpenGLView initialized in HelloWorld/android/jni/helloworld/main.cpp | ||
// the default setting is to create a fullscreen view | ||
// if you want to use auto-scale, please enable view->create(320,480) in main.cpp | ||
|
||
#endif // CC_PLATFORM_ANDROID | ||
|
||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WOPHONE) | ||
|
||
// Initialize OpenGLView instance, that release by CCDirector when application terminate. | ||
// The HelloWorld is designed as HVGA. | ||
CCEGLView* pMainWnd = new CCEGLView(this); | ||
CC_BREAK_IF(! pMainWnd || ! pMainWnd->Create(320,480, WM_WINDOW_ROTATE_MODE_CW)); | ||
|
||
#ifndef _TRANZDA_VM_ | ||
// on wophone emulator, we copy resources files to Work7/NEWPLUS/TDA_DATA/Data/ folder instead of zip file | ||
cocos2d::CCFileUtils::setResource("HelloWorld.zip"); | ||
#endif | ||
|
||
#endif // CC_PLATFORM_WOPHONE | ||
|
||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_AIRPLAY) | ||
// MaxAksenov said it's NOT a very elegant solution. I agree, haha | ||
CCDirector::sharedDirector()->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft); | ||
#endif | ||
bRet = true; | ||
} while (0); | ||
return bRet; | ||
} | ||
|
||
bool AppDelegate::applicationDidFinishLaunching() | ||
{ | ||
// initialize director | ||
CCDirector *pDirector = CCDirector::sharedDirector(); | ||
pDirector->setOpenGLView(&CCEGLView::sharedOpenGLView()); | ||
|
||
// enable High Resource Mode(2x, such as iphone4) and maintains low resource on other devices. | ||
// pDirector->enableRetinaDisplay(true); | ||
|
||
// turn on display FPS | ||
pDirector->setDisplayFPS(true); | ||
|
||
// pDirector->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft); | ||
|
||
// set FPS. the default value is 1.0/60 if you don't call this | ||
pDirector->setAnimationInterval(1.0 / 60); | ||
|
||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID) | ||
CCLog("1"); | ||
unsigned long size; | ||
char *pFileContent = (char*)CCFileUtils::getFileData("hello.lua", "r", &size); | ||
|
||
if (pFileContent) | ||
{ | ||
// copy the file contents and add '\0' at the end, or the lua parser can not parse it | ||
char *pTmp = new char[size + 1]; | ||
pTmp[size] = '\0'; | ||
memcpy(pTmp, pFileContent, size); | ||
delete[] pFileContent; | ||
|
||
string code(pTmp); | ||
CCLuaScriptModule::sharedLuaScriptModule()->executeString(code); | ||
delete []pTmp; | ||
} | ||
#endif | ||
|
||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_WIN32) | ||
CCLuaScriptModule::sharedLuaScriptModule()->executeScriptFile("./../../HelloLua/Resource/hello.lua"); | ||
|
||
/* | ||
* Another way to run lua script. | ||
* Load the file into memory and run it. | ||
* | ||
unsigned long size; | ||
char *pFileContent = (char*)CCFileUtils::getFileData("./../../HelloLua/Resource/hello.lua", "r", &size); | ||
if (pFileContent) | ||
{ | ||
// copy the file contents and add '\0' at the end, or the lua parser can not parse it | ||
char *pTmp = new char[size + 1]; | ||
pTmp[size] = '\0'; | ||
memcpy(pTmp, pFileContent, size); | ||
delete[] pFileContent; | ||
string code(pTmp); | ||
CCLuaScriptModule::sharedLuaScriptModule()->executeString(code); | ||
delete []pTmp; | ||
} | ||
*/ | ||
|
||
#endif | ||
|
||
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) | ||
pDirector->setDeviceOrientation(kCCDeviceOrientationLandscapeLeft); | ||
string path = CCFileUtils::fullPathFromRelativePath("hello.lua"); | ||
CCLuaScriptModule::sharedLuaScriptModule()->executeScriptFile(path.c_str()); | ||
#endif | ||
|
||
return true; | ||
} | ||
|
||
// This function will be called when the app is inactive. When comes a phone call,it's be invoked too | ||
void AppDelegate::applicationDidEnterBackground() | ||
{ | ||
CCDirector::sharedDirector()->pause(); | ||
|
||
// if you use SimpleAudioEngine, it must be pause | ||
// SimpleAudioEngine::sharedEngine()->pauseBackgroundMusic(); | ||
} | ||
|
||
// this function will be called when the app is active again | ||
void AppDelegate::applicationWillEnterForeground() | ||
{ | ||
CCDirector::sharedDirector()->resume(); | ||
|
||
// if you use SimpleAudioEngine, it must resume here | ||
// SimpleAudioEngine::sharedEngine()->resumeBackgroundMusic(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
#ifndef _APP_DELEGATE_H_ | ||
#define _APP_DELEGATE_H_ | ||
|
||
#include "CCApplication.h" | ||
|
||
/** | ||
@brief The cocos2d Application. | ||
The reason for implement as private inheritance is to hide some interface call by CCDirector. | ||
*/ | ||
class AppDelegate : private cocos2d::CCApplication | ||
{ | ||
public: | ||
AppDelegate(); | ||
virtual ~AppDelegate(); | ||
|
||
/** | ||
@brief Implement for initialize OpenGL instance, set source path, etc... | ||
*/ | ||
virtual bool initInstance(); | ||
|
||
/** | ||
@brief Implement CCDirector and CCScene init code here. | ||
@return true Initialize success, app continue. | ||
@return false Initialize failed, app terminate. | ||
*/ | ||
virtual bool applicationDidFinishLaunching(); | ||
|
||
/** | ||
@brief The function be called when the application enter background | ||
@param the pointer of the application | ||
*/ | ||
virtual void applicationDidEnterBackground(); | ||
|
||
/** | ||
@brief The function be called when the application enter foreground | ||
@param the pointer of the application | ||
*/ | ||
virtual void applicationWillEnterForeground(); | ||
}; | ||
|
||
#endif // _APP_DELEGATE_H_ | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
d7290c34702d1c6bdb368acb060d93b42d5deff8 |
Oops, something went wrong.