Skip to content

Commit cf0871a

Browse files
committed
Merge branch 'develop-v3' of https://github.com/cocos2d/cocos2d-iphone into develop-v3
Former-commit-id: 367ebd0
2 parents 3e612f0 + eeab562 commit cf0871a

File tree

12 files changed

+436
-43
lines changed

12 files changed

+436
-43
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
06369bce67a32b973ff96054cf1489afadb70db2
1+
3ef0b9e4c9375dceec338d0225679ba1f1f93edf
Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
#import "TestBase.h"
2+
3+
@interface CCRendererTest : TestBase @end
4+
@implementation CCRendererTest
5+
6+
- (void)setupProgressNodeTest
7+
{
8+
// Radial timer
9+
{
10+
NSString *image = @"Tiles/05.png";
11+
CGPoint position = ccp(0.1, 0.25);
12+
CCTime interval = 1.0/60.0;
13+
14+
CCSprite *sprite = [CCSprite spriteWithImageNamed:image];
15+
sprite.positionType = CCPositionTypeNormalized;
16+
sprite.position = position;
17+
sprite.color = [CCColor grayColor];
18+
[self.contentNode addChild:sprite];
19+
20+
CCProgressNode *progress = [CCProgressNode progressWithSprite:[CCSprite spriteWithImageNamed:image]];
21+
progress.type = CCProgressNodeTypeRadial;
22+
progress.positionType = CCPositionTypeNormalized;
23+
progress.position = position;
24+
[self.contentNode addChild:progress];
25+
26+
[self scheduleBlock:^(CCTimer *timer) {
27+
progress.percentage = 100.0*(0.5 + 0.5*sin(timer.invokeTime*M_PI));
28+
[timer repeatOnceWithInterval:interval];
29+
} delay:interval];
30+
}
31+
32+
// Radial timer with animating midpoint.
33+
{
34+
NSString *image = @"Tiles/05.png";
35+
CGPoint position = ccp(0.1, 0.5);
36+
CCTime interval = 1.0/60.0;
37+
38+
CCSprite *sprite = [CCSprite spriteWithImageNamed:image];
39+
sprite.positionType = CCPositionTypeNormalized;
40+
sprite.position = position;
41+
sprite.color = [CCColor grayColor];
42+
[self.contentNode addChild:sprite];
43+
44+
CCProgressNode *progress = [CCProgressNode progressWithSprite:[CCSprite spriteWithImageNamed:image]];
45+
progress.type = CCProgressNodeTypeRadial;
46+
progress.positionType = CCPositionTypeNormalized;
47+
progress.position = position;
48+
[self.contentNode addChild:progress];
49+
50+
[self scheduleBlock:^(CCTimer *timer) {
51+
progress.midpoint = ccpAdd(ccp(0.5, 0.5), ccpMult(ccpForAngle(timer.invokeTime), 0.25));
52+
progress.percentage = 100.0*(0.5 + 0.5*sin(timer.invokeTime*M_PI));
53+
54+
[timer repeatOnceWithInterval:interval];
55+
} delay:interval];
56+
}
57+
58+
{
59+
NSString *image = @"Tiles/05.png";
60+
CGPoint position = ccp(0.2, 0.25);
61+
CCTime interval = 1.0/60.0;
62+
63+
CCSprite *sprite = [CCSprite spriteWithImageNamed:image];
64+
sprite.positionType = CCPositionTypeNormalized;
65+
sprite.position = position;
66+
sprite.color = [CCColor grayColor];
67+
[self.contentNode addChild:sprite];
68+
69+
CCProgressNode *progress = [CCProgressNode progressWithSprite:[CCSprite spriteWithImageNamed:image]];
70+
progress.type = CCProgressNodeTypeBar;
71+
progress.midpoint = ccp(0.5, 0);
72+
progress.barChangeRate = ccp(0, 1);
73+
progress.positionType = CCPositionTypeNormalized;
74+
progress.position = position;
75+
[self.contentNode addChild:progress];
76+
77+
[self scheduleBlock:^(CCTimer *timer) {
78+
progress.percentage = 100.0*(0.5 + 0.5*sin(timer.invokeTime*M_PI));
79+
80+
[timer repeatOnceWithInterval:interval];
81+
} delay:interval];
82+
}
83+
84+
{
85+
NSString *image = @"Tiles/05.png";
86+
CGPoint position = ccp(0.2, 0.5);
87+
CCTime interval = 1.0/60.0;
88+
89+
CCSprite *sprite = [CCSprite spriteWithImageNamed:image];
90+
sprite.positionType = CCPositionTypeNormalized;
91+
sprite.position = position;
92+
sprite.color = [CCColor grayColor];
93+
[self.contentNode addChild:sprite];
94+
95+
CCProgressNode *progress = [CCProgressNode progressWithSprite:[CCSprite spriteWithImageNamed:image]];
96+
progress.type = CCProgressNodeTypeBar;
97+
progress.midpoint = ccp(0, 0.5);
98+
progress.barChangeRate = ccp(1, 0);
99+
progress.positionType = CCPositionTypeNormalized;
100+
progress.position = position;
101+
[self.contentNode addChild:progress];
102+
103+
[self scheduleBlock:^(CCTimer *timer) {
104+
progress.percentage = 100.0*(0.5 + 0.5*sin(timer.invokeTime*M_PI));
105+
106+
[timer repeatOnceWithInterval:interval];
107+
} delay:interval];
108+
}
109+
110+
{
111+
NSString *image = @"Tiles/05.png";
112+
CGPoint position = ccp(0.3, 0.25);
113+
CCTime interval = 1.0/60.0;
114+
115+
CCSprite *sprite = [CCSprite spriteWithImageNamed:image];
116+
sprite.positionType = CCPositionTypeNormalized;
117+
sprite.position = position;
118+
sprite.color = [CCColor grayColor];
119+
[self.contentNode addChild:sprite];
120+
121+
CCProgressNode *progress = [CCProgressNode progressWithSprite:[CCSprite spriteWithImageNamed:image]];
122+
progress.type = CCProgressNodeTypeBar;
123+
progress.midpoint = ccp(1, 0.5);
124+
progress.barChangeRate = ccp(1, 0);
125+
progress.positionType = CCPositionTypeNormalized;
126+
progress.position = position;
127+
[self.contentNode addChild:progress];
128+
129+
[self scheduleBlock:^(CCTimer *timer) {
130+
progress.percentage = 100.0*(0.5 + 0.5*sin(timer.invokeTime*M_PI));
131+
132+
[timer repeatOnceWithInterval:interval];
133+
} delay:interval];
134+
}
135+
136+
{
137+
NSString *image = @"Tiles/05.png";
138+
CGPoint position = ccp(0.3, 0.5);
139+
CCTime interval = 1.0/60.0;
140+
141+
CCSprite *sprite = [CCSprite spriteWithImageNamed:image];
142+
sprite.positionType = CCPositionTypeNormalized;
143+
sprite.position = position;
144+
sprite.color = [CCColor grayColor];
145+
[self.contentNode addChild:sprite];
146+
147+
CCProgressNode *progress = [CCProgressNode progressWithSprite:[CCSprite spriteWithImageNamed:image]];
148+
progress.type = CCProgressNodeTypeBar;
149+
progress.midpoint = ccp(0.5, 1);
150+
progress.barChangeRate = ccp(0, 1);
151+
progress.positionType = CCPositionTypeNormalized;
152+
progress.position = position;
153+
[self.contentNode addChild:progress];
154+
155+
[self scheduleBlock:^(CCTimer *timer) {
156+
progress.percentage = 100.0*(0.5 + 0.5*sin(timer.invokeTime*M_PI));
157+
158+
[timer repeatOnceWithInterval:interval];
159+
} delay:interval];
160+
}
161+
}
162+
163+
- (void)setupDrawNodeTest
164+
{
165+
CCDrawNode *draw = [CCDrawNode node];
166+
167+
[draw drawDot:ccp(100, 100) radius:50 color:[CCColor redColor]];
168+
[draw drawSegmentFrom:ccp(100, 200) to:ccp(200, 200) radius:25 color:[CCColor blueColor]];
169+
170+
CGPoint points1[] = {
171+
{300, 100},
172+
{350, 50},
173+
{400, 100},
174+
{400, 200},
175+
{350, 250},
176+
{300, 200},
177+
};
178+
[draw drawPolyWithVerts:points1 count:sizeof(points1)/sizeof(*points1) fillColor:[CCColor greenColor] borderWidth:5.0 borderColor:[CCColor whiteColor]];
179+
180+
CGPoint points2[] = {
181+
{325, 125},
182+
{375, 125},
183+
{350, 200},
184+
};
185+
[draw drawPolyWithVerts:points2 count:sizeof(points2)/sizeof(*points2) fillColor:[CCColor blackColor] borderWidth:0.0 borderColor:[CCColor whiteColor]];
186+
187+
[self.contentNode addChild:draw];
188+
}
189+
190+
@end
191+

cocos2d-ui-tests/tests/CCScrollViewTest.m

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424

2525
#import "TestBase.h"
2626

27-
@interface CCScrollViewTest : TestBase @end
27+
@interface CCScrollViewTest : TestBase <CCScrollViewDelegate> @end
2828

2929
@implementation CCScrollViewTest
3030

@@ -46,10 +46,36 @@ - (void)setupScrollViewBasicTest
4646

4747
CCScrollView* scrollView = [[CCScrollView alloc] initWithContentNode:[self createScrollContent]];
4848
scrollView.flipYCoordinates = NO;
49+
scrollView.delegate = self;
4950

5051
[self.contentNode addChild:scrollView];
5152
}
5253

54+
- (void)scrollViewDidEndDecelerating:(CCScrollView *)scrollView
55+
{
56+
CCLOG(@"did end decelerating");
57+
}
58+
59+
- (void)scrollViewDidEndDragging:(CCScrollView *)scrollView willDecelerate:(BOOL)decelerate
60+
{
61+
CCLOG(@"did end dragging, decelerate: %@", decelerate ? @"YES" : @"NO");
62+
}
63+
64+
- (void)scrollViewWillBeginDecelerating:(CCScrollView *)scrollView
65+
{
66+
CCLOG(@"will begin decelerating");
67+
}
68+
69+
- (void)scrollViewWillBeginDragging:(CCScrollView *)scrollView
70+
{
71+
CCLOG(@"will begin dragging");
72+
}
73+
74+
- (void)scrollViewDidScroll:(CCScrollView *)scrollView
75+
{
76+
//CCLOG(@"Scrolling");
77+
}
78+
5379
- (void)setupScrollViewPagingTest
5480
{
5581
self.subTitle = @"Paging - Pan the content layer it should snap into a 3 x 3 grid.";

cocos2d-ui/CCScrollView.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,18 @@
2525
#import "CCNode.h"
2626

2727
@class CCTapDownGestureRecognizer;
28+
@class CCScrollView;
29+
30+
@protocol CCScrollViewDelegate <NSObject>
31+
32+
@optional
33+
- (void)scrollViewDidScroll:(CCScrollView *)scrollView;
34+
- (void)scrollViewWillBeginDragging:(CCScrollView *)scrollView;
35+
- (void)scrollViewDidEndDragging:(CCScrollView * )scrollView willDecelerate:(BOOL)decelerate;
36+
- (void)scrollViewWillBeginDecelerating:(CCScrollView *)scrollView;
37+
- (void)scrollViewDidEndDecelerating:(CCScrollView *)scrollView;
38+
39+
@end
2840

2941
#ifdef __CC_PLATFORM_IOS
3042

@@ -52,6 +64,8 @@
5264
CGPoint _velocity;
5365
}
5466

67+
@property (nonatomic, weak) id<CCScrollViewDelegate> delegate;
68+
5569
@property (nonatomic,strong) CCNode* contentNode;
5670

5771
@property (nonatomic,assign) BOOL flipYCoordinates;

0 commit comments

Comments
 (0)