Magic_Game/samples/Samples/Demo1.h

56 lines
1.3 KiB
C
Raw Normal View History

2019-02-03 21:45:56 +08:00
// Copyright (C) 2019 Nomango
#pragma once
#include "common.h"
class Demo1
: public Scene
{
public:
static ScenePtr Create()
2019-02-03 21:45:56 +08:00
{
return new Demo1;
2019-02-03 21:45:56 +08:00
}
Demo1()
2019-02-03 21:45:56 +08:00
{
// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ͼƬ
ImagePtr man_image = g_Loader.GetImage(L"man");
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
auto ease_functions = {
Ease::Linear, // <20><><EFBFBD>Ա仯
Ease::EaseInOut, // <20><EFBFBD><E4BBAF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD>
Ease::ExpoInOut, // <20>ڿ<EFBFBD>ʼ<EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD>׶ηdz<CEB7><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̷dz<CCB7><C7B3><EFBFBD>
Ease::BounceInOut, // <20>ڿ<EFBFBD>ʼ<EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD>׶ξ<D7B6><CEBE><EFBFBD><EFBFBD><EFBFBD><E8B5AF>
Ease::BackInOut // <20><>ʼ<EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD>׶ξ<D7B6><CEBE><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ݵķ<DDB5><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˶<EFBFBD>
};
float height = 100.f;
for (auto& func : ease_functions)
{
SpritePtr man = new Sprite(man_image);
man->SetPosition(100, height);
man->SetScale(0.5f, 0.3f);
this->AddChild(man);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ú<EFBFBD><C3BA><EFBFBD>
auto reset_pos = [ptr = man.Get()]() { ptr->Move(-350, 0); };
// ִ<>ж<EFBFBD><D0B6><EFBFBD>
man->AddAction(
Tween::Group({ // Tween::Group <20><><EFBFBD>϶<EFBFBD><CFB6><EFBFBD>
Tween::MoveBy(Point{ 350, 0 }) // Tween::MoveBy <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB> 350 <20><><EFBFBD><EFBFBD>
.SetDuration(4000) // <20><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>ʱ<EFBFBD><CAB1>Ϊ 4 <20><>
.SetEaseFunc(func), // <20><><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Tween::Delay(1000) // Tween::Delay <20>ӳ<EFBFBD> 1 <20><>
2019-02-03 21:45:56 +08:00
})
.SetLoops(-1) // <20><><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD>ִ<EFBFBD><D6B4>
.SetLoopDoneCallback(reset_pos) // <20><><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
);
height += 60.f;
}
2019-02-03 21:45:56 +08:00
}
};