Skip to content

Commit 6576192

Browse files
committed
Merge pull request cocos2d#1302 from xingsenma/develop
issue cocos2d#3251 improve code for cocostudio
2 parents c1522ab + ebe2b3c commit 6576192

File tree

12 files changed

+161
-284
lines changed

12 files changed

+161
-284
lines changed

extensions/CocoStudio/Action/CCActionManager.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,11 +78,12 @@ ccs.ActionManager = ccs.Class.extend(/** @lends ccs.ActionManager# */{
7878
* Play an Action with a name.
7979
* @param {String} jsonName
8080
* @param {String} actionName
81+
* @param {cc.CallFunc} fun
8182
*/
82-
playActionByName: function (jsonName, actionName) {
83+
playActionByName: function (jsonName, actionName, fun) {
8384
var action = this.getActionByName(jsonName, actionName);
8485
if (action) {
85-
action.play();
86+
action.play(fun);
8687
}
8788
},
8889

extensions/CocoStudio/Action/CCActionNode.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -279,13 +279,17 @@ ccs.ActionNode = ccs.Class.extend({
279279
/**
280280
* Play the action.
281281
* @param {Boolean} loop
282+
* @param {cc.CallFunc} fun
282283
*/
283-
playAction: function () {
284+
playAction: function (fun) {
284285
if (this._object == null || this._actionSpawn == null) {
285286
return;
286287
}
287-
this._action = cc.Sequence.create(this._actionSpawn, null);
288-
this._action.retain();
288+
if(fun){
289+
this._action = cc.Sequence.create(this._actionSpawn,fun);
290+
}else{
291+
this._action = cc.Sequence.create(this._actionSpawn);
292+
}
289293
this.runAction();
290294
},
291295

extensions/CocoStudio/Action/CCActionObject.js

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -170,18 +170,19 @@ ccs.ActionObject = ccs.Class.extend({
170170

171171
/**
172172
* Play the action.
173+
* @param {cc.CallFunc} fun
173174
*/
174-
play: function () {
175+
play: function (fun) {
175176
this.stop();
176177
this.updateToFrameByTime(0);
177178
var frameNum = this._actionNodeList.length;
178179
for (var i = 0; i < frameNum; i++) {
179180
var locActionNode = this._actionNodeList[i];
180-
locActionNode.playAction(this.getLoop());
181+
locActionNode.playAction(fun);
181182
}
182183
if (this._loop) {
183-
this._scheduler.scheduleCallbackForTarget(this, this.simulationActionUpdate, this, 0., cc.REPEAT_FOREVER, 0, false);
184-
}
184+
this._scheduler.scheduleCallbackForTarget(this, this.simulationActionUpdate, 0, cc.REPEAT_FOREVER, 0, false);
185+
}
185186
},
186187

187188
/**

extensions/CocoStudio/GUI/BaseClasses/UIWidget.js

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,7 @@ ccs.UIWidget = ccs.Class.extend(/** @lends ccs.UIWidget# */{
200200
var locChild;
201201
for (var i = 0; i < this._children.length; i++) {
202202
locChild = this._children[i];
203-
if (locChild instanceof ccs.UIWidget)
204-
locChild.onEnter();
203+
locChild.onEnter();
205204
}
206205
this._isRunning = true;
207206
this.updateSizeAndPosition();
@@ -212,8 +211,7 @@ ccs.UIWidget = ccs.Class.extend(/** @lends ccs.UIWidget# */{
212211
var locChild;
213212
for (var i = 0; i < this._children.length; i++) {
214213
locChild = this._children[i];
215-
if (locChild instanceof ccs.UIWidget)
216-
locChild.onExit();
214+
locChild.onExit();
217215
}
218216
},
219217

@@ -631,14 +629,10 @@ ccs.UIWidget = ccs.Class.extend(/** @lends ccs.UIWidget# */{
631629
}
632630
this._updateEnabled = enable;
633631
if (enable) {
634-
if (this._scheduler) {
635-
this._scheduler.scheduleUpdateForTarget(this, 0, false);
636-
}
632+
this._scheduler.scheduleUpdateForTarget(this, 0, false);
637633
}
638634
else {
639-
if (this._scheduler) {
640-
this._scheduler.unscheduleUpdateForTarget(this);
641-
}
635+
this._scheduler.unscheduleUpdateForTarget(this);
642636
}
643637
},
644638

extensions/CocoStudio/GUI/Layouts/UILayout.js

Lines changed: 44 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -750,10 +750,11 @@ ccs.UILayout = ccs.UIWidget.extend(/** @lends ccs.UILayout# */{
750750
default:
751751
break;
752752
}
753-
var locRelativeWidgetMargin;
753+
var locRelativeWidgetMargin,locRelativeWidgetLPAlign;
754754
var locMargin = locLayoutParameter.getMargin();
755755
if (locRelativeWidgetLP) {
756756
locRelativeWidgetMargin = locRelativeWidgetLP.getMargin();
757+
locRelativeWidgetLPAlign = locRelativeWidgetLP.getAlign();
757758
}
758759
//handle margin
759760
switch (locAlign) {
@@ -791,63 +792,63 @@ ccs.UILayout = ccs.UIWidget.extend(/** @lends ccs.UILayout# */{
791792

792793
case ccs.UIRelativeAlign.locationAboveLeftAlign:
793794
locFinalPosY += locMargin.bottom;
794-
if (locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopCenterHorizontal
795-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopLeft
796-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignNone
797-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopRight)
795+
if (locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopCenterHorizontal
796+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopLeft
797+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignNone
798+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopRight)
798799
{
799800
locFinalPosY += locRelativeWidgetMargin.top;
800801
}
801802
locFinalPosY += locMargin.left;
802803
break;
803804
case ccs.UIRelativeAlign.locationAboveCenter:
804805
locFinalPosY += locMargin.bottom;
805-
if (locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopCenterHorizontal
806-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopLeft
807-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignNone
808-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopRight)
806+
if (locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopCenterHorizontal
807+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopLeft
808+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignNone
809+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopRight)
809810
{
810811
locFinalPosY += locRelativeWidgetMargin.top;
811812
}
812813
break;
813814
case ccs.UIRelativeAlign.locationAboveRightAlign:
814815
locFinalPosY += locMargin.bottom;
815-
if (locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopCenterHorizontal
816-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopLeft
817-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignNone
818-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopRight)
816+
if (locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopCenterHorizontal
817+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopLeft
818+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignNone
819+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopRight)
819820
{
820821
locFinalPosY += locRelativeWidgetMargin.top;
821822
}
822823
locFinalPosX -= locMargin.right;
823824
break;
824825
case ccs.UIRelativeAlign.locationLeftOfTopAlign:
825826
locFinalPosX -= locMargin.right;
826-
if (locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopLeft
827-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignNone
828-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentLeftBottom
829-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentLeftCenterVertical)
827+
if (locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopLeft
828+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignNone
829+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentLeftBottom
830+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentLeftCenterVertical)
830831
{
831832
locFinalPosX -= locRelativeWidgetMargin.left;
832833
}
833834
locFinalPosY -= locMargin.top;
834835
break;
835836
case ccs.UIRelativeAlign.locationLeftOfCenter:
836837
locFinalPosX -= locMargin.right;
837-
if (locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopLeft
838-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignNone
839-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentLeftBottom
840-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentLeftCenterVertical)
838+
if (locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopLeft
839+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignNone
840+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentLeftBottom
841+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentLeftCenterVertical)
841842
{
842843
locFinalPosX -= locRelativeWidgetMargin.left;
843844
}
844845
break;
845846
case ccs.UIRelativeAlign.locationLeftOfBottomAlign:
846847
locFinalPosX -= locMargin.right;
847-
if (locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopLeft
848-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignNone
849-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentLeftBottom
850-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentLeftCenterVertical)
848+
if (locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopLeft
849+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignNone
850+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentLeftBottom
851+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentLeftCenterVertical)
851852
{
852853
locFinalPosX -= locRelativeWidgetMargin.left;
853854
}
@@ -856,28 +857,28 @@ ccs.UILayout = ccs.UIWidget.extend(/** @lends ccs.UILayout# */{
856857
break;
857858
case ccs.UIRelativeAlign.locationRightOfTopAlign:
858859
locFinalPosX += locMargin.left;
859-
if (locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopRight
860-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentRightBottom
861-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentRightCenterVertical)
860+
if (locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopRight
861+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentRightBottom
862+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentRightCenterVertical)
862863
{
863864
locFinalPosX += locRelativeWidgetMargin.right;
864865
}
865866
locFinalPosY -= locMargin.top;
866867
break;
867868
case ccs.UIRelativeAlign.locationRightOfCenter:
868869
locFinalPosX += locMargin.left;
869-
if (locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopRight
870-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentRightBottom
871-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentRightCenterVertical)
870+
if (locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopRight
871+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentRightBottom
872+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentRightCenterVertical)
872873
{
873874
locFinalPosX += locRelativeWidgetMargin.right;
874875
}
875876
break;
876877
case ccs.UIRelativeAlign.locationRightOfBottomAlign:
877878
locFinalPosX += locMargin.left;
878-
if (locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentTopRight
879-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentRightBottom
880-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentRightCenterVertical)
879+
if (locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentTopRight
880+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentRightBottom
881+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentRightCenterVertical)
881882
{
882883
locFinalPosX += locRelativeWidgetMargin.right;
883884
}
@@ -886,28 +887,28 @@ ccs.UILayout = ccs.UIWidget.extend(/** @lends ccs.UILayout# */{
886887
break;
887888
case ccs.UIRelativeAlign.locationBelowLeftAlign:
888889
locFinalPosY -= locMargin.top;
889-
if (locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentLeftBottom
890-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentRightBottom
891-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentBottomCenterHorizontal)
890+
if (locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentLeftBottom
891+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentRightBottom
892+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentBottomCenterHorizontal)
892893
{
893894
locFinalPosY -= locRelativeWidgetMargin.bottom;
894895
}
895896
locFinalPosX += locMargin.left;
896897
break;
897898
case ccs.UIRelativeAlign.locationBelowCenter:
898899
locFinalPosY -= locMargin.top;
899-
if (locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentLeftBottom
900-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentRightBottom
901-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentBottomCenterHorizontal)
900+
if (locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentLeftBottom
901+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentRightBottom
902+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentBottomCenterHorizontal)
902903
{
903904
locFinalPosY -= locRelativeWidgetMargin.bottom;
904905
}
905906
break;
906907
case ccs.UIRelativeAlign.locationBelowRightAlign:
907908
locFinalPosY -= locMargin.top;
908-
if (locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentLeftBottom
909-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentRightBottom
910-
&& locRelativeWidgetLP.getAlign() != ccs.UIRelativeAlign.alignParentBottomCenterHorizontal)
909+
if (locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentLeftBottom
910+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentRightBottom
911+
&& locRelativeWidgetLPAlign != ccs.UIRelativeAlign.alignParentBottomCenterHorizontal)
911912
{
912913
locFinalPosY -= locRelativeWidgetMargin.bottom;
913914
}

extensions/CocoStudio/GUI/System/UIInputManager.js

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@
2828
* @extends ccs.Class
2929
*/
3030
ccs.UIInputManager = ccs.Class.extend({
31-
_manageredWidget: null,
3231
_selectedWidgets: null,
3332
_touchBeganedPoint: null,
3433
_touchMovedPoint: null,
@@ -40,7 +39,6 @@ ccs.UIInputManager = ccs.Class.extend({
4039
_checkedDoubleClickWidget: null,
4140
_rootWidget: null,
4241
ctor: function () {
43-
this._manageredWidget = null;
4442
this._selectedWidgets = [];
4543
this._touchBeganedPoint = cc.p(0, 0);
4644
this._touchMovedPoint = cc.p(0, 0);
@@ -53,20 +51,6 @@ ccs.UIInputManager = ccs.Class.extend({
5351
this._rootWidget = null;
5452
},
5553

56-
/**
57-
* Regist a widget to input manager.
58-
* @param {ccs.UIWidget} widget
59-
*/
60-
registWidget: function (widget) {
61-
if (!widget) {
62-
return;
63-
}
64-
if (cc.ArrayContainsObject(this._manageredWidget, widget)) {
65-
return;
66-
}
67-
this._manageredWidget.push(widget);
68-
},
69-
7054
/**
7155
* Check touch event
7256
* @param {ccs.UIWidget} root
@@ -90,20 +74,6 @@ ccs.UIInputManager = ccs.Class.extend({
9074
return false;
9175
},
9276

93-
/**
94-
* Remove a registed widget from input manager.
95-
* @param {ccs.UIWidget} widget
96-
*/
97-
removeManageredWidget: function (widget) {
98-
if (!widget) {
99-
return;
100-
}
101-
if (!cc.ArrayContainsObject(this._manageredWidget, widget)) {
102-
return;
103-
}
104-
cc.ArrayRemoveObject(this._manageredWidget, widget);
105-
},
106-
10777
/**
10878
* Finds a widget which is selected and call it's "onTouchBegan" method.
10979
* @param {cc.Point} touchPoint

extensions/CocoStudio/GUI/System/UILayer.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,6 @@ ccs.UILayer = cc.Layer.extend(/** @lends ccs.UILayer# */{
5454
cc.Layer.prototype.onExit.call(this);
5555
},
5656

57-
onEnterTransitionDidFinish: function () {
58-
cc.Layer.prototype.onEnterTransitionDidFinish.call(this);
59-
},
60-
6157
/**
6258
* add widget
6359
* @param {ccs.Widget} widget
@@ -130,7 +126,7 @@ ccs.UILayer = cc.Layer.extend(/** @lends ccs.UILayer# */{
130126
},
131127

132128
onTouchBegan: function (touch, event) {
133-
if (this._inputManager && this._inputManager.onTouchBegan(touch)) {
129+
if (this._inputManager.onTouchBegan(touch)) {
134130
return true;
135131
}
136132
return false;

0 commit comments

Comments
 (0)