Merge remote-tracking branch 'origin/gles20' into gles20

This commit is contained in:
dualface 2012-09-04 11:20:33 +08:00
commit 3befb0ffdc
8 changed files with 309 additions and 83 deletions

View File

@ -36,13 +36,13 @@ CCApplication* CCApplication::sm_pSharedApplication = 0;
CCApplication::CCApplication()
{
CC_ASSERT(! sm_pSharedApplication);
CCAssert(! sm_pSharedApplication, "sm_pSharedApplication already exist");
sm_pSharedApplication = this;
}
CCApplication::~CCApplication()
{
CC_ASSERT(this == sm_pSharedApplication);
CCAssert(this == sm_pSharedApplication, "sm_pSharedApplication != this");
sm_pSharedApplication = 0;
}
@ -71,7 +71,7 @@ TargetPlatform CCApplication::getTargetPlatform()
CCApplication* CCApplication::sharedApplication()
{
CC_ASSERT(sm_pSharedApplication);
CCAssert(sm_pSharedApplication, "sm_pSharedApplication not set");
return sm_pSharedApplication;
}

View File

@ -340,8 +340,8 @@ static bool _initWithString(const char * pText, cocos2d::CCImage::ETextAlign eAl
{
bool bRet = false;
CCAssert( pText, @"Invalid pText");
CCAssert( pInfo, @"Invalid pInfo");
CCAssert(pText, "Invalid pText");
CCAssert(pInfo, "Invalid pInfo");
do {
NSString * string = [NSString stringWithUTF8String:pText];

View File

@ -5,8 +5,11 @@
#define CC_DLL
#if CC_DISABLE_ASSERT > 0
#define CC_ASSERT(cond)
#else
#define CC_ASSERT(cond) assert(cond)
#endif
#define CC_UNUSED_PARAM(unusedparam) (void)unusedparam

View File

@ -135,7 +135,7 @@ CCSprite* CCSprite::spriteWithSpriteFrame(CCSpriteFrame *pSpriteFrame)
CCSprite* CCSprite::createWithSpriteFrame(CCSpriteFrame *pSpriteFrame)
{
CCSprite *pobSprite = new CCSprite();
if (pobSprite && pobSprite->initWithSpriteFrame(pSpriteFrame))
if (pSpriteFrame && pobSprite && pobSprite->initWithSpriteFrame(pSpriteFrame))
{
pobSprite->autorelease();
return pobSprite;
@ -153,9 +153,12 @@ CCSprite* CCSprite::createWithSpriteFrameName(const char *pszSpriteFrameName)
{
CCSpriteFrame *pFrame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(pszSpriteFrameName);
#if COCOS2D_DEBUG > 0
char msg[256] = {0};
sprintf(msg, "Invalid spriteFrameName: %s", pszSpriteFrameName);
CCAssert(pFrame != NULL, msg);
#endif
return createWithSpriteFrame(pFrame);
}

View File

@ -0,0 +1,219 @@
//
// http://www.cocos2d-iphone.org
// http://www.cocos2d-html5.org
// http://www.cocos2d-x.org
//
// Javascript + cocos2d actions tests
//
require("js/helper.js");
director = cc.Director.getInstance();
winSize = director.getWinSize();
centerPos = cc.p( winSize.width/2, winSize.height/2 );
scenes = []
currentScene = 0;
nextScene = function () {
currentScene = currentScene + 1;
if( currentScene >= scenes.length )
currentScene = 0;
withTransition = true;
loadScene(currentScene);
};
previousScene = function () {
currentScene = currentScene -1;
if( currentScene < 0 )
currentScene = scenes.length -1;
withTransition = true;
loadScene(currentScene);
};
restartScene = function () {
loadScene( currentScene );
};
loadScene = function (sceneIdx)
{
winSize = director.getWinSize();
centerPos = cc.p( winSize.width/2, winSize.height/2 );
var scene = new cc.Scene();
scene.init();
var layer = new scenes[ sceneIdx ]();
scene.addChild( layer );
// scene.walkSceneGraph(0);
director.replaceScene( scene );
// __jsc__.garbageCollect();
}
//
// Base Layer
//
BaseLayer = cc.LayerGradient.extend({
ctor:function () {
var parent = new cc.LayerGradient();
__associateObjWithNative(this, parent);
this.init(cc.c4b(0, 0, 0, 255), cc.c4b(0, 128, 255, 255));
},
title:function () {
return "No Title";
},
subtitle:function () {
return "";
},
code:function () {
return "";
},
restartCallback:function (sender) {
restartScene();
},
nextCallback:function (sender) {
nextScene();
},
backCallback:function (sender) {
previousScene();
},
onEnter:function () {
// DO NOT CALL this._super()
// this._super();
// add title and subtitle
var label = cc.LabelTTF.create(this.title(), "Arial", 28);
this.addChild(label, 1);
label.setPosition( cc.p(winSize.width / 2, winSize.height - 40));
var strSubtitle = this.subtitle();
if (strSubtitle != "") {
var l = cc.LabelTTF.create(strSubtitle, "Thonburi", 16);
this.addChild(l, 1);
l.setPosition( cc.p(winSize.width / 2, winSize.height - 70));
}
var strCode = this.code();
if( strCode !="" ) {
var label = cc.LabelTTF.create(strCode, 'CourierNewPSMT', 16);
label.setPosition( cc.p( winSize.width/2, winSize.height-120) );
this.addChild( label,10 );
var labelbg = cc.LabelTTF.create(strCode, 'CourierNewPSMT', 16);
labelbg.setColor( cc.c3b(10,10,255) );
labelbg.setPosition( cc.p( winSize.width/2 +1, winSize.height-120 -1) );
this.addChild( labelbg,9);
}
}
});
//------------------------------------------------------------------
//
// MainTest
//
//------------------------------------------------------------------
MainTest = BaseLayer.extend({
_menu : null,
onEnter:function () {
this._super();
cc.MenuItemFont.setFontSize(24);
var item1 = cc.MenuItemFont.create("Actions: Basic Tests", this, function() { require("js/test-actions.js"); } );
var item2 = cc.MenuItemFont.create("Actions: Ease Tests", this, function() { require("js/test-easeactions.js"); } );
var item3 = cc.MenuItemFont.create("Actions: Progress Tests", this, function() { require("js/test-actionsprogress.js"); } );
var item4 = cc.MenuItemFont.create("Chipmunk Tests", this, function() { require("js/test-chipmunk.js"); } );
var item5 = cc.MenuItemFont.create("Effects Tests", this, function() { require("js/test-effects.js"); } );
var item6 = cc.MenuItemFont.create("Label Tests", this, function() { require("js/test-label.js"); } );
var item7 = cc.MenuItemFont.create("Menu Tests", this, function() { require("js/test-menu.js"); } );
var item8 = cc.MenuItemFont.create("Parallax Tests", this, function() { require("js/test-parallax.js"); } );
var item9 = cc.MenuItemFont.create("Particle Tests", this, function() { require("js/test-particles.js"); } );
var item10 = cc.MenuItemFont.create("RenderTexture Tests", this, function() { require("js/test-rendertexture.js"); } );
var item11 = cc.MenuItemFont.create("Sprite Tests", this, function() { require("js/test-sprite.js"); } );
var item12 = cc.MenuItemFont.create("Tilemap Tests", this, function() { require("js/test-tilemap.js"); } );
var item13 = cc.MenuItemFont.create("CocosDenshion Tests", this, function() { require("js/test-cocosdenshion.js"); } );
var item14 = cc.MenuItemFont.create("cocos2d presentation", this, function() { require("js/test-cocos2djs.js"); } );
var item14 = cc.MenuItemFont.create("Performance test", this, function() { require("js/PerformanceTest/PerformanceTest.js"); } );
this._menu = cc.Menu.create( item1, item2, item3, item4, item5, item6, item7, item8, item9, item10, item11, item12, item13, item14 );
this._menu.alignItemsVertically();
this._menu.setPosition( cc.p( winSize.width/2, winSize.height/2) );
this.addChild( this._menu );
var platform = __getPlatform();
if( platform.substring(0,7) == 'desktop' )
this.setMouseEnabled( true );
else if( platform.substring(0,6) == 'mobile' )
this.setTouchEnabled( true );
},
onTouchesMoved:function (touches, event) {
var delta = touches[0].getDelta();
var current = this._menu.getPosition();
this._menu.setPosition( cc.p( current.x, current.y + delta.y ) );
return true;
},
onMouseDragged : function( event ) {
var delta = event.getDelta();
var current = this._menu.getPosition();
this._menu.setPosition( cc.p( current.x, current.y + delta.y ) );
return true;
},
title:function () {
return "Javascript tests";
},
});
//
// Order of tests
//
scenes.push( MainTest);
//------------------------------------------------------------------
//
// Main entry point
//
//------------------------------------------------------------------
function run()
{
var scene = cc.Scene.create();
var layer = new scenes[currentScene]();
scene.addChild( layer );
var runningScene = director.getRunningScene();
if( runningScene == null )
director.runWithScene( scene );
else
director.replaceScene( cc.TransitionSplitCols.create(1, scene ) );
director.setDisplayStats(true);
}
run();

View File

@ -0,0 +1 @@
12a58290deb3c79169fcb192e45b92d7229da0b3