Skip to content

Commit 5f1270c

Browse files
committed
Merge pull request #984 from boluga/CCNodeColor-CascadeOpacity
CcNodeColor cascade opacity
2 parents 5c91c8f + 6fc7fd7 commit 5f1270c

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

cocos2d/CCNodeColor.m

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,13 @@ -(void) setOpacity: (CGFloat) opacity
134134
[super setOpacity:opacity];
135135
[self updateColor];
136136
}
137+
138+
- (void)updateDisplayedOpacity:(CGFloat)parentOpacity
139+
{
140+
[super updateDisplayedOpacity:parentOpacity];
141+
[self updateColor];
142+
}
143+
137144
@end
138145

139146

@@ -185,9 +192,8 @@ - (void) updateColor
185192

186193
float gmin = MIN(MIN(g0, g1), MIN(g2, g3));
187194
float gmax = MAX(MAX(g0, g1), MAX(g2, g3));
188-
189-
GLKVector4 a = GLKVector4Make(_color.r*_color.a, _color.g*_color.a, _color.b*_color.a, _color.a);
190-
GLKVector4 b = GLKVector4Make(_endColor.r*_endColor.a, _endColor.g*_endColor.a, _endColor.b*_endColor.a, _endColor.a);
195+
GLKVector4 a = GLKVector4Make(_color.r*_color.a*_displayColor.a, _color.g*_color.a*_displayColor.a, _color.b*_color.a*_displayColor.a, _color.a*_displayColor.a);
196+
GLKVector4 b = GLKVector4Make(_endColor.r*_endColor.a*_displayColor.a, _endColor.g*_endColor.a*_displayColor.a, _endColor.b*_endColor.a*_displayColor.a, _endColor.a*_displayColor.a);
191197
_colors[0] = GLKVector4Lerp(a, b, (g0 - gmin)/(gmax - gmin));
192198
_colors[1] = GLKVector4Lerp(a, b, (g1 - gmin)/(gmax - gmin));
193199
_colors[2] = GLKVector4Lerp(a, b, (g2 - gmin)/(gmax - gmin));

0 commit comments

Comments
 (0)