26#include "../testResource.h"
27#include <YjzLib/yjz_clip.hpp>
37MotionStreakTests::MotionStreakTests()
55 auto s = Director::getInstance()->getWinSize();
60 _root->setPosition(Vec2(s.width/2, s.height/2));
65 _target->setPosition(Vec2(s.width/4, 0.0f));
73 auto a1 = RotateBy::create(2, 360);
75 auto action1 = RepeatForever::create(a1);
76 auto motion = MoveBy::create(2, Vec2(100,0) );
77 _root->runAction( RepeatForever::create(Sequence::create(motion, motion->reverse(),
nullptr) ) );
78 _root->runAction( action1 );
80 auto colorAction = RepeatForever::create(Sequence::create(
81 TintTo::create(0.2f, 255, 0, 0),
82 TintTo::create(0.2f, 0, 255, 0),
83 TintTo::create(0.2f, 0, 0, 255),
84 TintTo::create(0.2f, 0, 255, 255),
85 TintTo::create(0.2f, 255, 255, 0),
86 TintTo::create(0.2f, 255, 0, 255),
87 TintTo::create(0.2f, 255, 255, 255),
90 _streak->runAction(colorAction);
100 return "MotionStreak test 1";
113 auto listener = EventListenerTouchAllAtOnce::create();
115 _eventDispatcher->addEventListenerWithSceneGraphPriority(listener,
this);
117 _yjzTest([
this,listener]()
119 listener->onTouchesBegan =
120 [
this](
const std::vector<cocos2d::Touch*>& touches, cocos2d::Event* event)
126 listener->onTouchesEnded =
127 [
this](
const std::vector<cocos2d::Touch*>& touches, cocos2d::Event* event)
133 listener->onTouchesCancelled =
134 [
this](
const std::vector<cocos2d::Touch*>& touches, cocos2d::Event* event)
140 auto s = Director::getInstance()->getWinSize();
146 _streak->setPosition( Vec2(s.width/2, s.height/2) );
151 auto touchLocation = touches[0]->getLocation();
153 _streak->setPosition( touchLocation );
158 return "MotionStreak test";
163 return "Need Touch Movement";
177 auto size = Director::getInstance()->getWinSize();
179 _streak = MotionStreak::create(2.0f, 1.0f, 50.0f, Color3B(255, 255, 0),
"Images/Icon.png");
183 _center = Vec2(size.width/2, size.height/2);
204 return "The tail should use the texture";
218 auto size = Director::getInstance()->getWinSize();
220 auto radius = size.width/3;
222 auto outer = Sprite::create(
"Images/grossini.png");
223 outer->setPosition(size/2);
227 _streak = MotionStreak::create(1.0f, 3, radius * 1.5f, Color3B(0xA0, 0xA0, 0xA0),
"ccb/particle-smoke.png");
229 _streak->setPosition(outer->getPosition());
231 this->addChild(
_streak, outer->getLocalZOrder() - 1);
235 const uint32_t length = (radius * 0.95);
237 std::function<void(
float)> updateMotionStreak = [=](
float dt) {
239 Vec2 position = Vec2(outer->getPositionX() + length * cosf(-1 * CC_DEGREES_TO_RADIANS(outer->getRotation() + 90.0f)),
240 outer->getPositionY() + length * sinf(-1 * CC_DEGREES_TO_RADIANS(outer->getRotation() + 90.0f)));
242 _streak->setPosition(position);
245 outer->schedule(updateMotionStreak, 1 / 240.0f, CC_REPEAT_FOREVER, 0,
"motion1scheduler");
247 auto rot = RotateBy::create(2, 360);
248 auto forever = RepeatForever::create(rot);
249 outer->runAction(forever);
255 return "Github Issue 12226";
260 return "Image should look without artifacts";
291 auto s = Director::getInstance()->getWinSize();
294 MenuItemFont::create(
"Use High Quality Mode"),
295 MenuItemFont::create(
"Use Fast Mode"),
298 auto menuMode = Menu::create(itemMode,
nullptr);
301 menuMode->setPosition(Vec2(s.width/2, s.height/4));
306 bool fastMode =
_streak->isFastMode();
307 _streak->setFastMode(! fastMode);
#define ADD_TEST_CASE(__className__)
virtual std::string subtitle() const override
virtual std::string title() const override
virtual void onEnter() override
virtual std::string subtitle() const override
virtual std::string title() const override
virtual void onEnter() override
virtual void update(float dt) override
void onUpdate(float delta)
virtual void onEnter() override
virtual std::string title() const override
void onTouchesMoved(const std::vector< cocos2d::Touch * > &touches, cocos2d::Event *event)
virtual void onEnter() override
virtual std::string title() const override
virtual std::string subtitle() const override
virtual std::string title() const override
void modeCallback(cocos2d::Ref *sender)
virtual void onEnter() override
virtual std::string subtitle() const override
cocos2d::MotionStreak * _streak
virtual void onEnter() override
static const char s_streak[]
static const char s_pathR1[]