axmol/tests/cpp-tests/Classes/IntervalTest/IntervalTest.cpp

121 lines
3.1 KiB
C++
Raw Normal View History

#include "IntervalTest.h"
#include "../testResource.h"
#define SID_STEP1 100
#define SID_STEP2 101
#define SID_STEP3 102
#define IDC_PAUSE 200
IntervalLayer::IntervalLayer()
{
_time0 = _time1 = _time2 = _time3 = _time4 = 0.0f;
auto s = Director::getInstance()->getWinSize();
// sun
auto sun = ParticleSun::create();
sun->setTexture(Director::getInstance()->getTextureCache()->addImage("Images/fire.png"));
sun->setPosition(VisibleRect::rightTop().x-32,VisibleRect::rightTop().y-32);
2010-09-06 17:14:41 +08:00
sun->setTotalParticles(130);
sun->setLife(0.6f);
this->addChild(sun);
2010-09-06 17:14:41 +08:00
// timers
_label0 = Label::createWithBMFont("fonts/bitmapFontTest4.fnt", "0");
_label1 = Label::createWithBMFont("fonts/bitmapFontTest4.fnt", "0");
_label2 = Label::createWithBMFont("fonts/bitmapFontTest4.fnt", "0");
_label3 = Label::createWithBMFont("fonts/bitmapFontTest4.fnt", "0");
_label4 = Label::createWithBMFont("fonts/bitmapFontTest4.fnt", "0");
scheduleUpdate();
schedule([&](float dt){
_time1 +=dt;
char str[10] = {0};
sprintf(str, "%2.1f", _time1);
_label1->setString( str );
}, "step_1");
schedule([&](float dt){
_time2 +=dt;
char str[10] = {0};
sprintf(str, "%2.1f", _time2);
_label2->setString( str );
}, 0.5, "step_2");
schedule([&](float dt){
_time3 +=dt;
char str[10] = {0};
sprintf(str, "%2.1f", _time3);
_label3->setString( str );
}, 1, "step_3");
schedule([&](float dt){
_time4 +=dt;
char str[10] = {0};
sprintf(str, "%2.1f", _time4);
_label4->setString( str );
}, 2, "step_4");
_label0->setPosition(s.width*1/6, s.height/2);
_label1->setPosition(s.width*2/6, s.height/2);
_label2->setPosition(s.width*3/6, s.height/2);
_label3->setPosition(s.width*4/6, s.height/2);
_label4->setPosition(s.width*5/6, s.height/2);
addChild(_label0);
addChild(_label1);
addChild(_label2);
addChild(_label3);
addChild(_label4);
// Sprite
auto sprite = Sprite::create(s_pathGrossini);
sprite->setPosition(VisibleRect::left().x + 40, VisibleRect::bottom().y + 50);
Squashed commit of the following: commit a9572b8913f3a38b59adbd7b4017ab9848a6b2b5 Author: Ricardo Quesada <ricardoquesada@gmail.com> Date: Wed May 14 10:03:44 2014 -0700 math renames `Vector2` -> `Vec2` `Vector3` -> `Vec3` `Vector4` -> `Vec4` `Matrix` -> `Mat4` commit 4e107f4bd854c26bfceb52b063d6bd9cea02d6a3 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:24:28 2014 -0700 raw version of rename Vector3 commit 1d115573ebe96a5fc815fa44fbe6417ea7dba841 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:07:14 2014 -0700 rename Vector2 after merge commit ab2ed58c129dbc30a4c0970ed94568c5d271657b Merge: 1978d2d 86fb75a Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 09:05:30 2014 -0700 Merge branch 'v3' into v3_renameMathClassName Conflicts: tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UIButtonTest/UIButtonTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UICheckBoxTest/UICheckBoxTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UISliderTest/UISliderTest_Editor.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest.cpp tests/cpp-tests/Classes/UITest/CocoStudioGUITest/UITextFieldTest/UITextFieldTest_Editor.cpp commit 1978d2d174877172ccddc083020a1bbf43ad3b39 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 08:51:45 2014 -0700 rename vector2 in tests/cpp-empty-test folder commit d4e0ff13dcce62724d2fece656543f26aa28e467 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:58:23 2014 -0700 rename vector2 in tests/cpp-tests cpp files commit be50ca2ec75e0fd32a6fcdaa15fe1ebb4cafe79f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:52:57 2014 -0700 rename vector2 in tests/cpp-tests head files commit 6daef564400d4e28c4ce20859a68e0f583fed125 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:49:48 2014 -0700 rename vector2 in extension folder commit 8f3f0f65ceea92c9e7a0d87ab54e62220c5572e2 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:47:22 2014 -0700 rename vector2 in cocos/2d cpp files commit e1f3105aae06d595661a3030f519f7cc13aefbed Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:44:39 2014 -0700 rename vector2 in cocos/2d head files commit 6708d890bfe486109120c3cd4b9fe5c078b7108f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:59 2014 -0700 rename vector2 in cocos/base folder commit d3978fa5447c31ea2f3ece5469b7e746dfba4248 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:43 2014 -0700 rename vector2 in cocos/deprecated folder commit 4bff45139363d6b9706edbbcf9f322d48b4fd019 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:40:26 2014 -0700 rename vector2 in cocos/editor-support folder commit 353d244c995f8b5d14f635c52aed8bc5e5fc1a6f Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:36:48 2014 -0700 rename vector2 in cocos/ui folder commit 758b8f4d513084b9922d7242e9b8f2c7f316de6c Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:32:39 2014 -0700 rename vector2 in cocos/renderer folder commit 0bd2710dd8714cecb993880bc37affd9ecb05c27 Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:32:15 2014 -0700 rename vector2 in cocos/physics folder commit b7f0581c4587348bdbc1478d5374c2325735f21d Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:25:01 2014 -0700 rename vector2 in cocos/math folder commit a8631a8e1a4e2740807ccd9be9d70de6ecaad7dd Author: Huabing.Xu <dabingnn@gmail.com> Date: Wed May 14 00:16:55 2014 -0700 rename Vector2 to Vec2 deprecate typedef Vector2
2014-05-15 01:07:09 +08:00
auto jump = JumpBy::create(3, Vec2(s.width-80,0), 50, 4);
addChild(sprite);
sprite->runAction( RepeatForever::create(Sequence::create(jump, jump->reverse(), nullptr) ));
// pause button
auto item1 = MenuItemFont::create("Pause", [&](Ref* sender) {
if(Director::getInstance()->isPaused())
Director::getInstance()->resume();
else
Director::getInstance()->pause();
});
auto menu = Menu::create(item1, nullptr);
menu->setPosition(s.width/2, s.height-50);
addChild( menu );
}
IntervalLayer::~IntervalLayer()
{
if(Director::getInstance()->isPaused())
{
Director::getInstance()->resume();
}
}
2012-06-08 13:55:28 +08:00
void IntervalLayer::update(float dt)
{
_time0 +=dt;
char time[10] = {0};
sprintf(time, "%2.1f", _time0);
_label0->setString(time);
}
void IntervalTestScene::runThisTest()
{
auto layer = new (std::nothrow) IntervalLayer();
addChild(layer);
layer->release();
Director::getInstance()->replaceScene(this);
}