33#import " CCNodeColor.h"
44#import " CCEffectNode.h"
55
6- enum DFTest { DISTANCE_FIELD, OUTLINE };
7-
86@interface CCEffectsTest : TestBase @end
97@implementation CCEffectsTest {
108#if CC_EFFECTS_EXPERIMENTAL
119 CCEffectDistanceField* _distanceFieldEffect;
1210#endif
1311 CCEffectDFOutline* _outlineEffect;
14- enum DFTest _currentEffect;
1512}
1613
1714-(id )init
@@ -28,15 +25,14 @@ -(id)init
2825
2926-(void )setupDFOutlineEffectTest
3027{
31- _currentEffect = OUTLINE;
3228 self.subTitle = @" Distance Field Outline Test" ;
3329
3430 CCSprite *environment = [CCSprite spriteWithImageNamed: @" Images/MountainPanorama.jpg" ];
3531 environment.positionType = CCPositionTypeNormalized;
3632 environment.anchorPoint = ccp (0.5 , 0.5 );
3733 environment.position = ccp (0 .5f , 0 .5f );
3834
39- _outlineEffect = [CCEffectDFOutline effectWithOutlineColor: [CCColor redColor ] fillColor: [CCColor blackColor ]];
35+ _outlineEffect = [CCEffectDFOutline effectWithOutlineColor: [CCColor redColor ] fillColor: [CCColor blackColor ] outlineWidth: 3 fieldScale: 32 ];
4036
4137 CCSprite *sampleSprite = [CCSprite spriteWithImageNamed: @" Images/output.png" ];
4238 sampleSprite.position = ccp (0.5 , 0.5 );
@@ -59,31 +55,31 @@ -(void)setupDFOutlineEffectTest
5955 slider.anchorPoint = ccp (0 .5f , 0 .5f );
6056 slider.scale = 0.8 ;
6157
62- [slider setTarget: self selector: @selector (outlineInnerWidthChange: )];
63-
64- CCSlider* slider2 = [[CCSlider alloc ] initWithBackground: background andHandleImage: handle];
65- [slider2 setBackgroundSpriteFrame: backgroundHilite forState: CCControlStateHighlighted];
66- slider2.positionType = CCPositionTypeNormalized;
67- slider2.position = ccp (0 .15f , 0 .5f );
68-
69- slider2.preferredSizeType = CCSizeTypeMake (CCSizeUnitNormalized, CCSizeUnitUIPoints);
70- slider2.preferredSize = CGSizeMake (0 .5f , 10 );
71- slider2.rotation = 90 ;
72- slider2.anchorPoint = ccp (0 .5f , 0 .5f );
73- slider2.scale = 0.8 ;
58+ [slider setTarget: self selector: @selector (outlineWidthChagne: )];
7459
75- [slider2 setTarget: self selector: @selector (outlineOuterWidthChange: )];
76-
7760 [self .contentNode addChild: environment];
7861 [self .contentNode addChild: slider];
79- [self .contentNode addChild: slider2];
8062 [self .contentNode addChild: sampleSprite];
63+
64+ // 6 pixel block used for comparison;
65+ CCNodeColor* block = [CCNodeColor nodeWithColor: [CCColor greenColor ]];
66+ block.contentSize = CGSizeMake (6.0 , 6.0 );
67+ block.position = ccp (0.424 , 0.324 );
68+ block.positionType = CCPositionTypeNormalized;
69+ block.rotation = 32 ;
70+ // [self.contentNode addChild:block];
71+ }
72+
73+ - (void )outlineWidthChagne : (id )sender
74+ {
75+ const int outlineWidthMax = 6 ;
76+ CCSlider* slider = sender;
77+ _outlineEffect.outlineWidth = slider.sliderValue * outlineWidthMax;
8178}
8279
8380#if CC_EFFECTS_EXPERIMENTAL
8481-(void )setupDistanceFieldEffectTest
8582{
86- _currentEffect = DISTANCE_FIELD;
8783 self.subTitle = @" Distance Field Effect Test" ;
8884
8985 // CCNodeColor* environment = [CCNodeColor nodeWithColor:[CCColor whiteColor]];
@@ -166,25 +162,16 @@ -(void)setupDistanceFieldEffectTest
166162 [self .contentNode addChild: slider3];
167163}
168164
169- #endif
170-
171165- (void )outlineInnerWidthChange : (id )sender
172166{
173167 CCSlider* slider = sender;
174- if (_currentEffect == DISTANCE_FIELD)
175- _distanceFieldEffect.outlineInnerWidth = slider.sliderValue ;
176- else if (_currentEffect == OUTLINE)
177- _outlineEffect.outlineInnerWidth = slider.sliderValue ;
178-
168+ _distanceFieldEffect.outlineInnerWidth = slider.sliderValue ;
179169}
180170
181171- (void )outlineOuterWidthChange : (id )sender
182172{
183173 CCSlider* slider = sender;
184- if (_currentEffect == DISTANCE_FIELD)
185- _distanceFieldEffect.outlineOuterWidth = slider.sliderValue ;
186- else if (_currentEffect == OUTLINE)
187- _outlineEffect.outlineOuterWidth = slider.sliderValue ;
174+ _distanceFieldEffect.outlineOuterWidth = slider.sliderValue ;
188175}
189176
190177- (void )glowWidthChange : (id )sender
@@ -203,6 +190,8 @@ - (void)enableOutline:(id)sender
203190 _distanceFieldEffect.outline = !_distanceFieldEffect.outline ;
204191}
205192
193+ #endif
194+
206195#pragma mark DropShadow
207196
208197-(void )setupDropShadowEffectTest
0 commit comments