Merge branch 'develop' of https://github.com/cocos2d/cocos2d-x into develop

This commit is contained in:
zhangbin 2014-03-28 20:55:12 +08:00
commit 77e0694883
14 changed files with 296 additions and 161 deletions

View File

@ -129,6 +129,23 @@ void ActionCamera::updateTransform()
// OrbitCamera
//
OrbitCamera::OrbitCamera()
: _radius(0.0)
, _deltaRadius(0.0)
, _angleZ(0.0)
, _deltaAngleZ(0.0)
, _angleX(0.0)
, _deltaAngleX(0.0)
, _radZ(0.0)
, _radDeltaZ(0.0)
, _radX(0.0)
, _radDeltaX(0.0)
{
}
OrbitCamera::~OrbitCamera()
{
}
OrbitCamera * OrbitCamera::create(float t, float radius, float deltaRadius, float angleZ, float deltaAngleZ, float angleX, float deltaAngleX)
{
OrbitCamera * obitCamera = new OrbitCamera();

View File

@ -55,7 +55,7 @@ public:
* @js NA
* @lua NA
*/
virtual ~ActionCamera(){}
virtual ~ActionCamera(){};
// Overrides
virtual void startWithTarget(Node *target) override;
@ -96,29 +96,7 @@ class CC_DLL OrbitCamera : public ActionCamera //<NSCopying>
public:
/** creates a OrbitCamera action with radius, delta-radius, z, deltaZ, x, deltaX */
static OrbitCamera* create(float t, float radius, float deltaRadius, float angleZ, float deltaAngleZ, float angleX, float deltaAngleX);
/**
* @js ctor
*/
OrbitCamera()
: _radius(0.0)
, _deltaRadius(0.0)
, _angleZ(0.0)
, _deltaAngleZ(0.0)
, _angleX(0.0)
, _deltaAngleX(0.0)
, _radZ(0.0)
, _radDeltaZ(0.0)
, _radX(0.0)
, _radDeltaX(0.0)
{}
/**
* @js NA
* @lua NA
*/
virtual ~OrbitCamera(){}
/** initializes a OrbitCamera action with radius, delta-radius, z, deltaZ, x, deltaX */
bool initWithDuration(float t, float radius, float deltaRadius, float angleZ, float deltaAngleZ, float angleX, float deltaAngleX);
/** positions the camera according to spherical coordinates */
void sphericalRadius(float *r, float *zenith, float *azimuth);
@ -126,6 +104,20 @@ public:
OrbitCamera *clone() const override;
virtual void startWithTarget(Node *target) override;
virtual void update(float time) override;
CC_CONSTRUCTOR_ACCESS:
/**
* @js ctor
*/
OrbitCamera();
/**
* @js NA
* @lua NA
*/
virtual ~OrbitCamera();
/** initializes a OrbitCamera action with radius, delta-radius, z, deltaZ, x, deltaX */
bool initWithDuration(float t, float radius, float deltaRadius, float angleZ, float deltaAngleZ, float angleX, float deltaAngleX);
protected:
float _radius;

View File

@ -55,12 +55,13 @@ public:
virtual void stop() override;
virtual void update(float time) override;
protected:
CC_CONSTRUCTOR_ACCESS:
ActionEase() {}
virtual ~ActionEase();
/** initializes the action */
bool initWithAction(ActionInterval *action);
protected:
/** The inner action */
ActionInterval *_inner;
private:
@ -85,12 +86,13 @@ public:
virtual EaseRateAction* clone() const override = 0;
virtual EaseRateAction* reverse() const override = 0;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseRateAction() {}
virtual ~EaseRateAction();
/** Initializes the action with the inner action and the rate parameter */
bool initWithAction(ActionInterval *pAction, float fRate);
protected:
float _rate;
private:
@ -112,7 +114,7 @@ public:
virtual EaseIn* clone() const override;
virtual EaseIn* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseIn() {}
virtual ~EaseIn() {}
@ -135,7 +137,7 @@ public:
virtual EaseOut* clone() const override;
virtual EaseOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseOut() {}
virtual ~EaseOut() {}
@ -158,7 +160,7 @@ public:
virtual EaseInOut* clone() const override;
virtual EaseInOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseInOut() {}
virtual ~EaseInOut() {}
@ -181,7 +183,7 @@ public:
virtual EaseExponentialIn* clone() const override;
virtual ActionEase* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseExponentialIn() {}
virtual ~EaseExponentialIn() {}
@ -204,7 +206,7 @@ public:
virtual EaseExponentialOut* clone() const override;
virtual ActionEase* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseExponentialOut() {}
virtual ~EaseExponentialOut() {}
@ -227,7 +229,7 @@ public:
virtual EaseExponentialInOut* clone() const override;
virtual EaseExponentialInOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseExponentialInOut() {}
virtual ~EaseExponentialInOut() {}
@ -250,7 +252,7 @@ public:
virtual EaseSineIn* clone() const override;
virtual ActionEase* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseSineIn() {}
virtual ~EaseSineIn() {}
@ -273,7 +275,7 @@ public:
virtual EaseSineOut* clone() const override;
virtual ActionEase* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseSineOut() {}
virtual ~EaseSineOut() {}
@ -296,7 +298,7 @@ public:
virtual EaseSineInOut* clone() const override;
virtual EaseSineInOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseSineInOut() {}
virtual ~EaseSineInOut() {}
@ -324,12 +326,13 @@ public:
virtual EaseElastic* clone() const override = 0;
virtual EaseElastic* reverse() const override = 0;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseElastic() {}
virtual ~EaseElastic() {}
/** Initializes the action with the inner action and the period in radians (default is 0.3) */
bool initWithAction(ActionInterval *action, float period = 0.3f);
protected:
float _period;
private:
@ -355,7 +358,7 @@ public:
virtual EaseElasticIn* clone() const override;
virtual EaseElastic* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseElasticIn() {}
virtual ~EaseElasticIn() {}
@ -381,7 +384,7 @@ public:
virtual EaseElasticOut* clone() const override;
virtual EaseElastic* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseElasticOut() {}
virtual ~EaseElasticOut() {}
@ -407,7 +410,7 @@ public:
virtual EaseElasticInOut* clone() const override;
virtual EaseElasticInOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseElasticInOut() {}
virtual ~EaseElasticInOut() {}
@ -428,7 +431,7 @@ public:
virtual EaseBounce* clone() const override = 0;
virtual EaseBounce* reverse() const override = 0;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseBounce() {}
virtual ~EaseBounce() {}
@ -453,7 +456,7 @@ public:
virtual EaseBounceIn* clone() const override;
virtual EaseBounce* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseBounceIn() {}
virtual ~EaseBounceIn() {}
@ -478,7 +481,7 @@ public:
virtual EaseBounceOut* clone() const override;
virtual EaseBounce* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseBounceOut() {}
virtual ~EaseBounceOut() {}
@ -503,7 +506,7 @@ public:
virtual EaseBounceInOut* clone() const override;
virtual EaseBounceInOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseBounceInOut() {}
virtual ~EaseBounceInOut() {}
@ -528,7 +531,7 @@ public:
virtual EaseBackIn* clone() const override;
virtual ActionEase* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseBackIn() {}
virtual ~EaseBackIn() {}
@ -553,7 +556,7 @@ public:
virtual EaseBackOut* clone() const override;
virtual ActionEase* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseBackOut() {}
virtual ~EaseBackOut() {}
@ -578,7 +581,7 @@ public:
virtual EaseBackInOut* clone() const override;
virtual EaseBackInOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseBackInOut() {}
virtual ~EaseBackInOut() {}
@ -603,10 +606,11 @@ public:
virtual void setBezierParamer( float p0, float p1, float p2, float p3);
protected:
CC_CONSTRUCTOR_ACCESS:
EaseBezierAction() {}
virtual ~EaseBezierAction() {}
protected:
float _p0;
float _p1;
float _p2;
@ -630,7 +634,7 @@ public:
virtual EaseQuadraticActionIn* clone() const override;
virtual EaseQuadraticActionIn* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseQuadraticActionIn() {}
virtual ~EaseQuadraticActionIn() {}
@ -653,7 +657,7 @@ public:
virtual EaseQuadraticActionOut* clone() const override;
virtual EaseQuadraticActionOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseQuadraticActionOut() {}
virtual ~EaseQuadraticActionOut() {}
@ -676,7 +680,7 @@ public:
virtual EaseQuadraticActionInOut* clone() const override;
virtual EaseQuadraticActionInOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseQuadraticActionInOut() {}
virtual ~EaseQuadraticActionInOut() {}
@ -698,7 +702,7 @@ public:
virtual EaseQuarticActionIn* clone() const override;
virtual EaseQuarticActionIn* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseQuarticActionIn() {}
virtual ~EaseQuarticActionIn() {}
@ -720,7 +724,7 @@ public:
virtual EaseQuarticActionOut* clone() const override;
virtual EaseQuarticActionOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseQuarticActionOut() {}
virtual ~EaseQuarticActionOut() {}
@ -742,7 +746,7 @@ public:
virtual EaseQuarticActionInOut* clone() const override;
virtual EaseQuarticActionInOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseQuarticActionInOut() {}
virtual ~EaseQuarticActionInOut() {}
@ -765,7 +769,7 @@ public:
virtual EaseQuinticActionIn* clone() const override;
virtual EaseQuinticActionIn* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseQuinticActionIn() {}
virtual ~EaseQuinticActionIn() {}
@ -787,7 +791,7 @@ public:
virtual EaseQuinticActionOut* clone() const override;
virtual EaseQuinticActionOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseQuinticActionOut() {}
virtual ~EaseQuinticActionOut() {}
@ -809,7 +813,7 @@ public:
virtual EaseQuinticActionInOut* clone() const override;
virtual EaseQuinticActionInOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseQuinticActionInOut() {}
virtual ~EaseQuinticActionInOut() {}
@ -831,7 +835,7 @@ public:
virtual EaseCircleActionIn* clone() const override;
virtual EaseCircleActionIn* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseCircleActionIn() {}
virtual ~EaseCircleActionIn() {}
@ -853,7 +857,7 @@ public:
virtual EaseCircleActionOut* clone() const override;
virtual EaseCircleActionOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseCircleActionOut() {}
virtual ~EaseCircleActionOut() {}
@ -875,7 +879,7 @@ public:
virtual EaseCircleActionInOut* clone() const override;
virtual EaseCircleActionInOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseCircleActionInOut() {}
virtual ~EaseCircleActionInOut() {}
@ -897,7 +901,7 @@ public:
virtual EaseCubicActionIn* clone() const override;
virtual EaseCubicActionIn* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseCubicActionIn() {}
virtual ~EaseCubicActionIn() {}
@ -919,7 +923,7 @@ public:
virtual EaseCubicActionOut* clone() const override;
virtual EaseCubicActionOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseCubicActionOut() {}
virtual ~EaseCubicActionOut() {}
@ -941,7 +945,7 @@ public:
virtual EaseCubicActionInOut* clone() const override;
virtual EaseCubicActionInOut* reverse() const override;
protected:
CC_CONSTRUCTOR_ACCESS:
EaseCubicActionInOut() {}
virtual ~EaseCubicActionInOut() {}

View File

@ -71,14 +71,16 @@ class CC_DLL ActionTween : public ActionInterval
public:
/** creates an initializes the action with the property name (key), and the from and to parameters. */
static ActionTween* create(float duration, const std::string& key, float from, float to);
/** initializes the action with the property name (key), and the from and to parameters. */
bool initWithDuration(float duration, const std::string& key, float from, float to);
// Overrides
void startWithTarget(Node *target) override;
void update(float dt) override;
ActionTween* reverse() const override;
ActionTween *clone() const override;
CC_CONSTRUCTOR_ACCESS:
/** initializes the action with the property name (key), and the from and to parameters. */
bool initWithDuration(float duration, const std::string& key, float from, float to);
protected:
std::string _key;

View File

@ -95,9 +95,9 @@ NSString * const kCDN_AudioManagerInitialised = @"kCDN_AudioManagerInitialised";
-(void) play {
if (enabled_) {
self->systemPaused = NO;
self->paused = NO;
self->stopped = NO;
systemPaused = NO;
paused = NO;
stopped = NO;
[audioSourcePlayer play];
} else {
CDLOGINFO(@"Denshion::CDLongAudioSource long audio source didn't play because it is disabled");
@ -105,24 +105,26 @@ NSString * const kCDN_AudioManagerInitialised = @"kCDN_AudioManagerInitialised";
}
-(void) stop {
self->paused = NO;
self->stopped = YES;
paused = NO;
stopped = YES;
[audioSourcePlayer stop];
}
-(void) pause {
self->paused = YES;
paused = YES;
[audioSourcePlayer pause];
}
-(void) rewind {
self->paused = NO;
paused = NO;
[audioSourcePlayer setCurrentTime:0];
[audioSourcePlayer play];
stopped = NO;
}
-(void) resume {
if (!stopped) {
self->paused = NO;
paused = NO;
[audioSourcePlayer play];
}
}
@ -623,7 +625,7 @@ static BOOL configured = FALSE;
}
- (void) applicationWillResignActive {
self->_resigned = YES;
_resigned = YES;
//Set the audio sesssion to one that allows sharing so that other audio won't be clobbered on resume
[self audioSessionSetCategory:AVAudioSessionCategoryAmbient];
@ -668,7 +670,7 @@ static BOOL configured = FALSE;
- (void) applicationDidBecomeActive {
if (self->_resigned) {
if (_resigned) {
_resigned = NO;
//Reset the mode incase something changed with audio while we were inactive
[self setMode:_mode];

View File

@ -94,8 +94,8 @@ NSString * const kCDN_AudioManagerInitialised = @"kCDN_AudioManagerInitialised";
-(void) play {
if (enabled_) {
self->systemPaused = NO;
self->paused = NO;
systemPaused = NO;
paused = NO;
[audioSourcePlayer play];
} else {
CDLOGINFO(@"Denshion::CDLongAudioSource long audio source didn't play because it is disabled");
@ -103,22 +103,23 @@ NSString * const kCDN_AudioManagerInitialised = @"kCDN_AudioManagerInitialised";
}
-(void) stop {
self->paused = NO;
paused = NO;
[audioSourcePlayer stop];
}
-(void) pause {
self->paused = YES;
paused = YES;
[audioSourcePlayer pause];
}
-(void) rewind {
self->paused = NO;
paused = NO;
[audioSourcePlayer setCurrentTime:0];
[audioSourcePlayer play];
}
-(void) resume {
self->paused = NO;
paused = NO;
[audioSourcePlayer resume];
}
@ -618,7 +619,7 @@ static BOOL configured = FALSE;
}
- (void) applicationWillResignActive {
self->_resigned = YES;
_resigned = YES;
//Set the audio sesssion to one that allows sharing so that other audio won't be clobbered on resume
[self audioSessionSetCategory:AVAudioSessionCategoryAmbient];
@ -663,7 +664,7 @@ static BOOL configured = FALSE;
- (void) applicationDidBecomeActive {
if (self->_resigned) {
if (_resigned) {
_resigned = NO;
//Reset the mode incase something changed with audio while we were inactive
[self setMode:_mode];

View File

@ -586,6 +586,7 @@ void Console::commandDirector(int fd, const std::string& args)
{
const char help[] = "available director directives:\n"
"\tpause, pause all scheduled timers, the draw rate will be 4 FPS to reduce CPU consumption\n"
"\tend, exit this app.\n"
"\tresume, resume all scheduled timers\n"
"\tstop, Stops the animation. Nothing will be drawn.\n"
"\tstart, Restart the animation again, Call this function only if [director stop] was called earlier\n";
@ -616,6 +617,10 @@ void Console::commandDirector(int fd, const std::string& args)
{
director->startAnimation();
}
else if(args == "end")
{
director->end();
}
}

View File

@ -3,15 +3,6 @@
-- @module ActionTween
-- @extend ActionInterval
--------------------------------
-- @function [parent=#ActionTween] initWithDuration
-- @param self
-- @param #float float
-- @param #string str
-- @param #float float
-- @param #float float
-- @return bool#bool ret (return value: bool)
--------------------------------
-- @function [parent=#ActionTween] create
-- @param self

View File

@ -10,18 +10,6 @@
-- @param #float float
-- @param #float float
--------------------------------
-- @function [parent=#OrbitCamera] initWithDuration
-- @param self
-- @param #float float
-- @param #float float
-- @param #float float
-- @param #float float
-- @param #float float
-- @param #float float
-- @param #float float
-- @return bool#bool ret (return value: bool)
--------------------------------
-- @function [parent=#OrbitCamera] create
-- @param self
@ -49,8 +37,4 @@
-- @param self
-- @param #float float
--------------------------------
-- @function [parent=#OrbitCamera] OrbitCamera
-- @param self
return nil

View File

@ -1 +1 @@
55307bad4398fdd7bedf9a96f00adb57cbaa7d2e
ff3f22e8f1e3ebfc8f908ea0a9d6cb9d0b06ba54

View File

@ -1556,9 +1556,6 @@ int register_all_cocos2dx(lua_State* tolua_S);

View File

@ -57,12 +57,8 @@ const char* CCBProxy::getNodeTypeName(Node* pNode)
return NULL;
}
if (NULL != dynamic_cast<LabelTTF*>(pNode)) {
return "cc.LabelTTF";
}
if (NULL != dynamic_cast<LabelBMFont*>(pNode)) {
return "cc.LabelBMFont";
if (NULL != dynamic_cast<Label*>(pNode)) {
return "cc.Label";
}
if (NULL != dynamic_cast<Sprite*>(pNode)) {

View File

@ -511,8 +511,8 @@ local function runCCControlTest()
cc.Sprite:create("extensions/switch-on.png"),
cc.Sprite:create("extensions/switch-off.png"),
cc.Sprite:create("extensions/switch-thumb.png"),
cc.LabelTTF:create("On", "Arial-BoldMT", 16),
cc.LabelTTF:create("Off", "Arial-BoldMT", 16)
cc.Label:create("On", "Arial-BoldMT", 16),
cc.Label:create("Off", "Arial-BoldMT", 16)
)
pSwitchControl:setPosition(cc.p (dLayer_width + 10 + pSwitchControl:getContentSize().width / 2, 0))
pNode:addChild(pSwitchControl)

View File

@ -1,38 +1,80 @@
#!/usr/bin/python
#create new project by cocos-console
#build new project and run
# create new project by cocos-console
# compile, deploy project and run
# perpose: for autotest cocos2d-console command.
# now support: mac- mac/ios/android
# will add: window-android,linux-android
import os
import subprocess
import sys
import json
import time
import socket
# get payload argvs
console_param = 'create'
# payload = ''
# default console_param.
console_param = '[console run]'
# get param from commit.
if os.environ.has_key('payload'):
payload_str = os.environ['payload']
payload = json.loads(payload_str)
if payload.has_key('console'):
console_param = payload['console']
console_param = console_param[1:len(console_param)-1]
print 'console_param:',console_param
console_param_arr = console_param.split(' ')
project_types = ['cpp', 'lua']
PROJ_SUFFIX = 'Proj'
phonePlats = ['mac','ios','android']
# enum command type
class ENUM_PARAM:
new = 0
compile = 1
deploy = 2
run = 3
#need use console's position, perhaps should be set an env-param
cocos_console_dir = 'tools/cocos2d-console/bin/'
#now cocos2d-console suport different run on Platforms, e.g: only run android on win
runSupport = {
'darwin' : [1, 1, 1],
'win' : [0, 0, 1],
'linux' : [0, 0, 1]
# partition different level
LEVEL_COCOS = {
ENUM_PARAM.new : 1,
ENUM_PARAM.compile : 2,
ENUM_PARAM.deploy : 4,
ENUM_PARAM.run : 8
}
# level's cocos command
COCOS_CMD = {
ENUM_PARAM.new:'new',
ENUM_PARAM.compile:'compile',
ENUM_PARAM.deploy:'deploy',
ENUM_PARAM.run:'run'
}
# set cocos_param for run different command
cocos_param = 0
for level in LEVEL_COCOS:
if console_param_arr.count(COCOS_CMD[level]):
cocos_param = cocos_param + LEVEL_COCOS[level]
if cocos_param < LEVEL_COCOS[ENUM_PARAM.new]:
cocos_param = LEVEL_COCOS[ENUM_PARAM.new]
print 'cocos_param:', cocos_param
# project types
project_types = ['cpp', 'lua']
# project suffix
PROJ_SUFFIX = 'Proj'
# different phone platform
phonePlats = ['mac','ios','android']
# need use console's position, perhaps should be set an env-param
cocos_console_dir = 'tools/cocos2d-console/bin/'
# now cocos2d-console suport different run on Platforms, e.g: only run android on win
runSupport = {
'darwin' : {'mac':1,'ios':1,'android':1},
'win' : {'mac':0,'ios':0,'android':1},
'linux' : {'mac':0,'ios':0,'android':1}
}
# get current running system
curPlat = sys.platform
if curPlat.find('linux') >= 0:
curPlat = 'linux'
@ -42,45 +84,147 @@ else:
curPlat = 'win'
print 'current platform is:', curPlat
# delete project.(will use different system command to delete.just mac now.)
def clean_project():
for proj in project_types:
cmd = 'rm -rf '+proj+PROJ_SUFFIX
os.system(cmd)
def create_project():
print 'will create_project: '
# file path.(for add console listen command.)
FILE_PATH = '/Classes/AppDelegate.cpp'
FILE_DIR = {
'cpp':'',
'lua':'/frameworks/runtime-src'
}
PARSE_WORD = 'director->setDisplayStats(true);'
CONSOLE_COMMAND = 'director->getConsole()->listenOnTCP(5678);'
# add console listenOnTCP to AppDelegate.cpp.
def addConsoleListenOnTCP(name):
filePath = name+PROJ_SUFFIX+FILE_DIR[name]+FILE_PATH
print 'filePath:',filePath
strCont = ''
if os.path.isfile(filePath):
file_object = open(filePath, 'r')
strLine = file_object.readline()
while strLine:
strCont = strCont + strLine
if strLine.find(PARSE_WORD) > -1:
print 'add console listenOnTCP command.'
strCont = strCont+'\n\t' + CONSOLE_COMMAND + '\n'
strLine = file_object.readline()
file_object.close()
file_object = open(filePath, 'w')
file_object.write(strCont)
file_object.close()
time.sleep(2)
else:
print 'file is not exist.'
# get current android devices count.
def getAndroidDevices():
cmd = 'adb devices'
info_devices = os.popen(cmd).read()
arrDevices = info_devices.split('\n')
del arrDevices[0]
count = 0
for device in arrDevices:
if len(device) > 0:
count += 1
return count
# close running app or exe by using console command.
IP_PHONE = {
'mac':'localhost',
'ios':'localhost'
}
PORT = 5678
def close_proj(proj, phone):
print 'close running project'
# connect socket
if IP_PHONE.has_key(phone):
soc = socket.socket( socket.AF_INET, socket.SOCK_STREAM )
print proj, phone, IP_PHONE[phone]
try:
soc.connect((IP_PHONE[phone], PORT))
cmd = 'director end\r\n'
print 'cmd close:', cmd
soc.send(cmd)
except Exception, e:
print 'socket is not connect.'
time.sleep(2)
# excute cocos command
def cocos_project(level):
print 'will excute cocos_command: ', COCOS_CMD[level]
for proj in project_types:
print 'proj: ', proj
cmd = './'+cocos_console_dir+'cocos new -l '+proj+' '+proj+PROJ_SUFFIX
print proj,'cmd:',cmd
info_create = os.system(cmd) #call cmd on win is diff
print 'create project',proj,' is:', not info_create
def build_run():
print 'will build and run'
for proj in project_types:
idx = 0
for phone in phonePlats:
cmd = './'+cocos_console_dir+'cocos run -p '+phone+' -s '+proj+PROJ_SUFFIX
if level == ENUM_PARAM.new:
cmd = './'+cocos_console_dir+'cocos new -l '+proj+' '+proj+PROJ_SUFFIX
print proj,'cmd:',cmd
if runSupport[curPlat][idx]:
info_run = os.system(cmd)
print 'run project', proj, 'is:', not info_run
idx += 1
info_create = os.system(cmd) #call cmd on win is diff
if info_create == 0:
time.sleep(12)
addConsoleListenOnTCP(proj)
print 'create project',proj,' is:', not info_create
else:
for phone in phonePlats:
print 'platform is: ', phone
cmd = './'+cocos_console_dir+'cocos '+COCOS_CMD[level]+' -s '+proj+PROJ_SUFFIX+' -p '+phone
print 'cmd:',cmd
if level == ENUM_PARAM.compile:
if runSupport[curPlat][phone]:
info_cmd = os.system(cmd)
print 'info '+COCOS_CMD[level]+':', not info_cmd
else :
if runSupport[curPlat][phone]:
if phone == 'android' and getAndroidDevices() == 0:
print 'no android device, please checkout the device is running ok.'
continue
info_cmd = os.system(cmd)
print 'info '+COCOS_CMD[level]+':', not info_cmd
if level == ENUM_PARAM.run:
time.sleep(20)
close_proj(proj, phone)
# build and run according to params of provided.(lv_ignore: e.g:ignore new)
def build_run(lv_ignore):
print 'will build and run'
for level in LEVEL_COCOS:
print 'level:', level, cocos_param, LEVEL_COCOS[level]
if cocos_param >= LEVEL_COCOS[level] and level > lv_ignore:
if level == ENUM_PARAM.new:
clean_project()
cocos_project(level)
# android simulator name.
ANDROID_SIMULATOR_NAME = 'console-test'
# start android simulator if no android devices connected.
def start_android_simulator():
if getAndroidDevices() > 0:
print 'already connected android device.'
return
if cocos_param >= LEVEL_COCOS[ENUM_PARAM.deploy]:
cmd_start = [ 'emulator -avd '+ANDROID_SIMULATOR_NAME ]
print 'cmd_start:', cmd_start
info_start = subprocess.Popen(cmd_start, stdin=subprocess.PIPE, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
print 'start an android simulator:', not info_start
def main():
clean_project()
create_project()
if console_param_arr.count('run'):
build_run()
print 'in main:'
start_android_simulator()
print 'will build_run:'
build_run(-1)
# -------------- main --------------
if __name__ == '__main__':
sys_ret = 0
try:
sys_ret = main()
try:
sys_ret = main()
except:
traceback.print_exc()
sys_ret = 1
traceback.print_exc()
sys_ret = 1
finally:
sys.exit(sys_ret)
sys.exit(sys_ret)