PuzzleSDK
EffectsTest.cpp
浏览该文件的文档.
1/****************************************************************************
2 Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd.
3
4 http://www.cocos2d-x.org
5
6 Permission is hereby granted, free of charge, to any person obtaining a copy
7 of this software and associated documentation files (the "Software"), to deal
8 in the Software without restriction, including without limitation the rights
9 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 copies of the Software, and to permit persons to whom the Software is
11 furnished to do so, subject to the following conditions:
12
13 The above copyright notice and this permission notice shall be included in
14 all copies or substantial portions of the Software.
15
16 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22 THE SOFTWARE.
23 ****************************************************************************/
24
25#include "EffectsTest.h"
26#include "../testResource.h"
27
29
30EffectTests::EffectTests()
31{
53// ADD_TEST_CASE(PageTurn3DDemo); // TODO crash on iPhone X
54// ADD_TEST_CASE(PageTurn3DRectDemo);
55}
56
58{
59 _title = "Shaky3D";
60 _subtitle = "";
61}
62
63cocos2d::ActionInterval* Shaky3DDemo::createEffect(float t)
64{
65 return Shaky3D::create(t, Size(15,10), 5, false);
66}
67
69{
70 _title = "Waves3D";
71 _subtitle = "";
72}
73
74cocos2d::ActionInterval* Waves3DDemo::createEffect(float t)
75{
76 return Waves3D::create(t, Size(15,10), 5, 40);
77}
78
79cocos2d::ActionInterval* FlipX3DDemo::createEffect(float t)
80{
81 auto flipx = FlipX3D::create(t);
82 auto flipx_back = flipx->reverse();
83 auto delay = DelayTime::create(2);
84 return Sequence::create(flipx, delay, flipx_back, nullptr);
85}
86
88{
89 _title = "FlipX3D";
90 _subtitle = "";
91}
92
93cocos2d::ActionInterval* FlipY3DDemo::createEffect(float t)
94{
95 auto flipy = FlipY3D::create(t);
96 auto flipy_back = flipy->reverse();
97 auto delay = DelayTime::create(2);
98
99 return Sequence::create(flipy, delay, flipy_back, nullptr);
100}
101
103{
104 _title = "FlipY3D";
105 _subtitle = "";
106}
107
108cocos2d::ActionInterval* Lens3DDemo::createEffect(float t)
109{
110 auto size = Director::getInstance()->getWinSize();
111 return Lens3D::create(t, Size(15,10), Vec2(size.width/2,size.height/2), 240);
112}
113
115{
116 _title = "Lens3D";
117 _subtitle = "";
118}
119
120cocos2d::ActionInterval* Ripple3DDemo::createEffect(float t)
121{
122 auto size = Director::getInstance()->getWinSize();
123 return Ripple3D::create(t, Size(32,24), Vec2(size.width/2,size.height/2), 240, 4, 160);
124}
125
127{
128 _title = "Ripple3D";
129 _subtitle = "";
130}
131
132cocos2d::ActionInterval* LiquidDemo::createEffect(float t)
133{
134 return Liquid::create(t, Size(16,12), 4, 20);
135}
136
138{
139 _title = "Liquid";
140 _subtitle = "";
141}
142
143cocos2d::ActionInterval* WavesDemo::createEffect(float t)
144{
145 return Waves::create(t, Size(16,12), 4, 20, true, true);
146}
147
149{
150 _title = "Waves";
151 _subtitle = "";
152}
153
154cocos2d::ActionInterval* TwirlDemo::createEffect(float t)
155{
156 auto size = Director::getInstance()->getWinSize();
157 return Twirl::create(t, Size(12,8), Vec2(size.width/2, size.height/2), 1, 2.5f);
158}
159
161{
162 _title = "Twirl";
163 _subtitle = "";
164}
165
166cocos2d::ActionInterval* ShakyTiles3DDemo::createEffect(float t)
167{
168 return ShakyTiles3D::create(t, Size(16,12), 5, false) ;
169}
170
172{
173 _title = "ShakyTiles3D";
174 _subtitle = "";
175}
176
177cocos2d::ActionInterval* ShatteredTiles3DDemo::createEffect(float t)
178{
179 return ShatteredTiles3D::create(t, Size(16,12), 5, false);
180}
181
183{
184 _title = "ShatteredTiles3D";
185 _subtitle = "";
186}
187
188cocos2d::ActionInterval* ShuffleTilesDemo::createEffect(float t)
189{
190 auto shuffle = ShuffleTiles::create(t, Size(16,12), 25);
191 auto shuffle_back = shuffle->reverse();
192 auto delay = DelayTime::create(2);
193
194 return Sequence::create(shuffle, delay, shuffle_back, nullptr);
195}
196
198{
199 _title = "ShuffleTiles";
200 _subtitle = "";
201}
202
203cocos2d::ActionInterval* FadeOutTRTilesDemo::createEffect(float t)
204{
205 auto fadeout = FadeOutTRTiles::create(t, Size(16,12));
206 auto back = fadeout->reverse();
207 auto delay = DelayTime::create(0.5f);
208
209 return Sequence::create(fadeout, delay, back, nullptr);
210}
211
213{
214 _title = "FadeOutTRTiles";
215 _subtitle = "";
216}
217
218cocos2d::ActionInterval* FadeOutBLTilesDemo::createEffect(float t)
219{
220 auto fadeout = FadeOutBLTiles::create(t, Size(16,12));
221 auto back = fadeout->reverse();
222 auto delay = DelayTime::create(0.5f);
223
224 return Sequence::create(fadeout, delay, back, nullptr);
225}
226
228{
229 _title = "FadeOutBLTiles";
230 _subtitle = "";
231}
232
233cocos2d::ActionInterval* FadeOutUpTilesDemo::createEffect(float t)
234{
235 auto fadeout = FadeOutUpTiles::create(t, Size(16,12));
236 auto back = fadeout->reverse();
237 auto delay = DelayTime::create(0.5f);
238
239 return Sequence::create(fadeout, delay, back, nullptr);
240}
241
243{
244 _title = "FadeOutUpTiles";
245 _subtitle = "";
246}
247
248cocos2d::ActionInterval* FadeOutDownTilesDemo::createEffect(float t)
249{
250 auto fadeout = FadeOutDownTiles::create(t, Size(16,12));
251 auto back = fadeout->reverse();
252 auto delay = DelayTime::create(0.5f);
253
254 return Sequence::create(fadeout, delay, back, nullptr);
255}
256
258{
259 _title = "FadeOutDownTiles";
260 _subtitle = "";
261}
262
263cocos2d::ActionInterval* TurnOffTilesDemo::createEffect(float t)
264{
265 auto fadeout = TurnOffTiles::create(t, Size(48,32), 25);
266 auto back = fadeout->reverse();
267 auto delay = DelayTime::create(0.5f);
268
269 return Sequence::create(fadeout, delay, back, nullptr);
270}
271
273{
274 _title = "TurnOffTiles";
275 _subtitle = "";
276}
277
278cocos2d::ActionInterval* WavesTiles3DDemo::createEffect(float t)
279{
280 return WavesTiles3D::create(t, Size(15,10), 4, 120);
281}
282
284{
285 _title = "WavesTiles3D";
286 _subtitle = "";
287}
288
289cocos2d::ActionInterval* JumpTiles3DDemo::createEffect(float t)
290{
291 return JumpTiles3D::create(t, Size(15,10), 2, 30);
292}
293
295{
296 _title = "JumpTiles3D";
297 _subtitle = "";
298}
299
300cocos2d::ActionInterval* SplitRowsDemo::createEffect(float t)
301{
302 return SplitRows::create(t, 9);
303}
304
306{
307 _title = "SplitRows";
308 _subtitle = "";
309}
310
311cocos2d::ActionInterval* SplitColsDemo::createEffect(float t)
312{
313 return SplitCols::create(t, 9);
314}
315
317{
318 _title = "SplitCols";
319 _subtitle = "";
320}
321
322cocos2d::ActionInterval* PageTurn3DDemo::createEffect(float t)
323{
324 return PageTurn3D::create(t, Size(15,10));
325}
326
328{
329 _title = "PageTurn3D";
330 _subtitle = "";
331}
332
333cocos2d::ActionInterval* PageTurn3DRectDemo::createEffect(float t)
334{
335 return PageTurn3D::create(t, Size(15,10));
336}
337
339{
340 _title = "PageTurn3D-Rect";
341 _subtitle = "";
342}
343
344#define SID_RESTART 1
345
347: _gridNodeTarget(nullptr)
348{
349
350}
351
353{
354 if(TestCase::init())
355 {
356 LayerColor *background = LayerColor::create( Color4B(32,128,32,255) );
357 this->addChild(background,-20);
358 if(isRectEffect())
359 {
360 Size visibleSize = Director::getInstance()->getVisibleSize();
361 Rect gridRect = Rect(visibleSize.width * 0.2,
362 visibleSize.height * 0.2,
363 visibleSize.width * 0.6,
364 visibleSize.height * 0.6);
365 _gridNodeTarget = NodeGrid::create(gridRect);
366 }
367 else
368 {
369 _gridNodeTarget = NodeGrid::create();
370 }
371 addChild(_gridNodeTarget, 0);
372 _gridNodeTarget->runAction(createEffect(3));
373
374 auto bg = Sprite::create(s_back3);
375 _gridNodeTarget->addChild(bg, 0);
376 bg->setPosition(VisibleRect::center());
377
378 auto grossini = Sprite::create(s_pathSister2);
379 _gridNodeTarget->addChild(grossini, 1);
380 grossini->setPosition(VisibleRect::left().x+VisibleRect::getVisibleRect().size.width/3,VisibleRect::center().y);
381 auto sc = ScaleBy::create(2, 5);
382 auto sc_back = sc->reverse();
383 grossini->runAction( RepeatForever::create(Sequence::create(sc, sc_back, nullptr) ) );
384
385 auto tamara = Sprite::create(s_pathSister1);
386 _gridNodeTarget->addChild(tamara, 1);
387 tamara->setPosition(VisibleRect::left().x+2*VisibleRect::getVisibleRect().size.width/3,VisibleRect::center().y);
388 auto sc2 = ScaleBy::create(2, 5);
389 auto sc2_back = sc2->reverse();
390 tamara->runAction( RepeatForever::create(Sequence::create(sc2, sc2_back, nullptr)) );
391
392 schedule( CC_SCHEDULE_SELECTOR(EffectBaseTest::checkAnim) );
393
394 return true;
395 }
396 return false;
397}
398
400{
401 if ( _gridNodeTarget->getNumberOfRunningActions() == 0 && _gridNodeTarget->getGrid() != nullptr)
402 _gridNodeTarget->setGrid(nullptr);
403}
404
406{
407}
#define ADD_TEST_CASE(__className__)
Definition: BaseTest.h:211
USING_NS_CC
Definition: EffectsTest.cpp:28
cocos2d::NodeGrid * _gridNodeTarget
Definition: EffectsTest.h:46
std::string _title
Definition: EffectsTest.h:43
virtual cocos2d::ActionInterval * createEffect(float t)
Definition: EffectsTest.h:39
std::string _subtitle
Definition: EffectsTest.h:45
virtual bool init() override
virtual ~EffectBaseTest()
virtual bool isRectEffect()
Definition: EffectsTest.h:41
void checkAnim(float dt)
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
Definition: EffectsTest.cpp:79
virtual cocos2d::ActionInterval * createEffect(float t) override
Definition: EffectsTest.cpp:93
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
Definition: EffectsTest.cpp:63
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
static cocos2d::Rect getVisibleRect()
Definition: VisibleRect.cpp:39
static cocos2d::Vec2 center()
Definition: VisibleRect.cpp:69
static cocos2d::Vec2 left()
Definition: VisibleRect.cpp:45
virtual cocos2d::ActionInterval * createEffect(float t) override
Definition: EffectsTest.cpp:74
virtual cocos2d::ActionInterval * createEffect(float t) override
virtual cocos2d::ActionInterval * createEffect(float t) override
static const char s_pathSister1[]
Definition: testResource.h:29
static const char s_back3[]
Definition: testResource.h:41
static const char s_pathSister2[]
Definition: testResource.h:30