@@ -635,7 +635,7 @@ cc.LayerRGBA = cc.Layer.extend(/** @lends cc.LayerRGBA# */{
635
635
* @param {Number } parentOpacity
636
636
*/
637
637
updateDisplayedOpacity : function ( parentOpacity ) {
638
- this . _displayedOpacity = this . _realOpacity * parentOpacity / 255.0 ;
638
+ this . _displayedOpacity = 0 | ( this . _realOpacity * parentOpacity / 255.0 ) ;
639
639
640
640
if ( this . _cascadeOpacityEnabled ) {
641
641
var locChildren = this . _children ;
@@ -656,37 +656,44 @@ cc.LayerRGBA = cc.Layer.extend(/** @lends cc.LayerRGBA# */{
656
656
} ,
657
657
658
658
getColor : function ( ) {
659
- return this . _realColor ;
659
+ var locRealColor = this . _realColor ;
660
+ return cc . c3b ( locRealColor . r , locRealColor . g , locRealColor . b ) ;
660
661
} ,
661
662
662
663
getDisplayedColor : function ( ) {
663
- return this . _displayedColor ;
664
+ var locDisplayedColor = this . _displayedColor ;
665
+ return cc . c3b ( locDisplayedColor . r , locDisplayedColor . g , locDisplayedColor . b ) ;
664
666
} ,
665
667
666
668
setColor : function ( color ) {
667
- this . _displayedColor = cc . c3b ( color . r , color . g , color . b ) ;
668
- this . _realColor = cc . c3b ( color . r , color . g , color . b ) ;
669
+ var locDisplayed = this . _displayedColor , locRealColor = this . _realColor ;
670
+ locDisplayed . r = locRealColor . r = color . r ;
671
+ locDisplayed . g = locRealColor . g = color . g ;
672
+ locDisplayed . b = locRealColor . b = color . b ;
669
673
670
674
if ( this . _cascadeColorEnabled ) {
671
- var parentColor = cc . white ( ) ;
675
+ var parentColor ;
672
676
var locParent = this . _parent ;
673
677
if ( locParent && locParent . RGBAProtocol && locParent . isCascadeColorEnabled ( ) )
674
678
parentColor = locParent . getDisplayedColor ( ) ;
679
+ else
680
+ parentColor = cc . white ( ) ;
675
681
this . updateDisplayedColor ( parentColor ) ;
676
682
}
677
683
} ,
678
684
679
685
updateDisplayedColor : function ( parentColor ) {
680
- this . _displayedColor . r = this . _realColor . r * parentColor . r / 255.0 ;
681
- this . _displayedColor . g = this . _realColor . g * parentColor . g / 255.0 ;
682
- this . _displayedColor . b = this . _realColor . b * parentColor . b / 255.0 ;
686
+ var locDisplayedColor = this . _displayedColor , locRealColor = this . _realColor ;
687
+ locDisplayedColor . r = 0 | ( locRealColor . r * parentColor . r / 255.0 ) ;
688
+ locDisplayedColor . g = 0 | ( locRealColor . g * parentColor . g / 255.0 ) ;
689
+ locDisplayedColor . b = 0 | ( locRealColor . b * parentColor . b / 255.0 ) ;
683
690
684
691
if ( this . _cascadeColorEnabled ) {
685
692
var locChildren = this . _children ;
686
693
for ( var i = 0 ; i < locChildren . length ; i ++ ) {
687
694
var selItem = locChildren [ i ] ;
688
695
if ( selItem && selItem . RGBAProtocol )
689
- selItem . updateDisplayedColor ( this . _displayedColor ) ;
696
+ selItem . updateDisplayedColor ( locDisplayedColor ) ;
690
697
}
691
698
}
692
699
} ,
0 commit comments