4
4
#import " CCEffectNode.h"
5
5
6
6
@interface CCEffectsTest : TestBase @end
7
- @implementation CCEffectsTest
7
+ @implementation CCEffectsTest {
8
+ #if CC_EFFECTS_EXPERIMENTAL
9
+ CCEffectDistanceField* _distanceFieldEffect;
10
+ #endif
11
+ }
8
12
9
13
-(id )init
10
14
{
@@ -16,6 +20,7 @@ -(id)init
16
20
return self;
17
21
}
18
22
23
+ #if CC_EFFECTS_EXPERIMENTAL
19
24
-(void )setupDistanceFieldEffectTest
20
25
{
21
26
self.subTitle = @" Distance Field Effect Test" ;
@@ -29,23 +34,107 @@ -(void)setupDistanceFieldEffectTest
29
34
[self .contentNode addChild: environment];
30
35
31
36
CCColor *glowColor = [CCColor colorWithRed: 0.0 green: 0.0 blue: 1.0 alpha: 1.0 ];
32
- CCEffectDistanceField* effect = [CCEffectDistanceField effectWithGlowColor: glowColor];
37
+ _distanceFieldEffect = [CCEffectDistanceField effectWithGlowColor: glowColor outlineColor: [CCColor redColor ] ];
33
38
34
39
CCSprite *sampleSprite = [CCSprite spriteWithImageNamed: @" Images/output.png" ];
35
40
sampleSprite.position = ccp (0.5 , 0.5 );
36
41
sampleSprite.positionType = CCPositionTypeNormalized;
37
- sampleSprite.effect = effect ;
42
+ sampleSprite.effect = _distanceFieldEffect ;
38
43
sampleSprite.scale = 2 .0f ;
39
44
40
- CCNodeColor* node = [[CCNodeColor alloc ] initWithColor: [CCColor redColor ]];
41
- // node.contentSizeInPoints = CGSizeMake(25, 25);
42
- node.contentSize = CGSizeMake (6 , 6 );
43
- node.position = ccp (10.0 , 50.0 );
44
-
45
- [self .contentNode addChild: node];
45
+ CCSpriteFrame* background = [CCSpriteFrame frameWithImageNamed: @" Tests/slider-background.png" ];
46
+ CCSpriteFrame* backgroundHilite = [CCSpriteFrame frameWithImageNamed: @" Tests/slider-background-hilite.png" ];
47
+ CCSpriteFrame* handle = [CCSpriteFrame frameWithImageNamed: @" Tests/slider-handle.png" ];
48
+
49
+ CCSlider* slider = [[CCSlider alloc ] initWithBackground: background andHandleImage: handle];
50
+ [slider setBackgroundSpriteFrame: backgroundHilite forState: CCControlStateHighlighted];
51
+ slider.positionType = CCPositionTypeNormalized;
52
+ slider.position = ccp (0 .1f , 0 .5f );
53
+
54
+ slider.preferredSizeType = CCSizeTypeMake (CCSizeUnitNormalized, CCSizeUnitUIPoints);
55
+ slider.preferredSize = CGSizeMake (0 .5f , 10 );
56
+ slider.rotation = 90 ;
57
+ slider.anchorPoint = ccp (0 .5f , 0 .5f );
58
+ slider.scale = 0.8 ;
59
+
60
+ [slider setTarget: self selector: @selector (outlineInnerWidthChange: )];
61
+
62
+ CCSlider* slider2 = [[CCSlider alloc ] initWithBackground: background andHandleImage: handle];
63
+ [slider2 setBackgroundSpriteFrame: backgroundHilite forState: CCControlStateHighlighted];
64
+ slider2.positionType = CCPositionTypeNormalized;
65
+ slider2.position = ccp (0 .15f , 0 .5f );
66
+
67
+ slider2.preferredSizeType = CCSizeTypeMake (CCSizeUnitNormalized, CCSizeUnitUIPoints);
68
+ slider2.preferredSize = CGSizeMake (0 .5f , 10 );
69
+ slider2.rotation = 90 ;
70
+ slider2.anchorPoint = ccp (0 .5f , 0 .5f );
71
+ slider2.scale = 0.8 ;
72
+
73
+ [slider2 setTarget: self selector: @selector (outlineOuterWidthChange: )];
74
+
75
+ CCSlider* slider3 = [[CCSlider alloc ] initWithBackground: background andHandleImage: handle];
76
+ [slider3 setBackgroundSpriteFrame: backgroundHilite forState: CCControlStateHighlighted];
77
+ slider3.positionType = CCPositionTypeNormalized;
78
+ slider3.position = ccp (0 .20f , 0 .5f );
79
+
80
+ slider3.preferredSizeType = CCSizeTypeMake (CCSizeUnitNormalized, CCSizeUnitUIPoints);
81
+ slider3.preferredSize = CGSizeMake (0 .5f , 10 );
82
+ slider3.rotation = 90 ;
83
+ slider3.anchorPoint = ccp (0 .5f , 0 .5f );
84
+ slider3.scale = 0.8 ;
85
+
86
+ [slider3 setTarget: self selector: @selector (glowWidthChange: )];
87
+
88
+ CCButton* enableGlow = [CCButton buttonWithTitle: @" Outer Glow" ];
89
+ enableGlow.positionType = CCPositionTypeNormalized;
90
+ enableGlow.anchorPoint = ccp (0 .5f , 0 .5f );
91
+ enableGlow.position = ccp (0.9 , 0.8 );
92
+ [enableGlow setTarget: self selector: @selector (enableGlow: )];
93
+
94
+ CCButton* enableOutline = [CCButton buttonWithTitle: @" Outline" ];
95
+ enableOutline.positionType = CCPositionTypeNormalized;
96
+ enableOutline.anchorPoint = ccp (0 .5f , 0 .5f );
97
+ enableOutline.position = ccp (0.9 , 0.7 );
98
+ [enableOutline setTarget: self selector: @selector (enableOutline: )];
99
+
100
+ [self .contentNode addChild: enableOutline];
101
+ [self .contentNode addChild: enableGlow];
46
102
[self .contentNode addChild: sampleSprite];
103
+ [self .contentNode addChild: slider];
104
+ [self .contentNode addChild: slider2];
105
+ [self .contentNode addChild: slider3];
106
+ }
107
+
108
+ - (void )outlineInnerWidthChange : (id )sender
109
+ {
110
+ CCSlider* slider = sender;
111
+ _distanceFieldEffect.outlineInnerWidth = slider.sliderValue ;
47
112
}
48
113
114
+ - (void )outlineOuterWidthChange : (id )sender
115
+ {
116
+ CCSlider* slider = sender;
117
+ _distanceFieldEffect.outlineOuterWidth = slider.sliderValue ;
118
+ }
119
+
120
+ - (void )glowWidthChange : (id )sender
121
+ {
122
+ CCSlider* slider = sender;
123
+ _distanceFieldEffect.glowWidth = slider.sliderValue ;
124
+ }
125
+
126
+ - (void )enableGlow : (id )sender
127
+ {
128
+ _distanceFieldEffect.glow = !_distanceFieldEffect.glow ;
129
+ }
130
+
131
+ - (void )enableOutline : (id )sender
132
+ {
133
+ _distanceFieldEffect.outline = !_distanceFieldEffect.outline ;
134
+ }
135
+
136
+ #endif
137
+
49
138
-(void )setupDropShadowEffectTest
50
139
{
51
140
self.subTitle = @" DropShadow Effect Test" ;
@@ -761,7 +850,6 @@ - (CCSprite *)spriteWithEffects:(NSArray *)effects image:(NSString *)spriteImage
761
850
return sprite;
762
851
}
763
852
764
-
765
853
-(void )renderTextureHelper : (CCNode *)stage size : (CGSize)size
766
854
{
767
855
CCColor *color = [CCColor colorWithRed: 0.0 green: 0.0 blue: 0.5 alpha: 0.5 ];
0 commit comments