cocos2dx 3.x(移动修改精灵坐标MoveTo与MoveBy)

时间:2023-03-08 19:51:00
 //
// MainScene.cpp
// helloworld
//
// Created by apple on 16/11/8.
//
// #include "MainScene.hpp"
Scene * MainScene::createScene()
{
auto scene = Scene::create(); //创建层
MainScene *layer = MainScene::create();
scene->addChild(layer);
return scene;
}
bool MainScene::init(){
if (!Layer::init()) {
return false;
} // MoveTo:把某一Sprite移动到某个位置
// MoveBy:把某一Sprite移动一段距离,它有一个方法reverse,它让对象按原路径返回 /*
*@MoveTo,移动到某个Point
*/
Size size = Director::getInstance()->getWinSize();
Sprite *spriteMoveTo = Sprite::create("snow.png");
spriteMoveTo->setPosition(Vec2(size.width / 2.0f, size.height / 2.0f));
this->addChild(spriteMoveTo, ); ActionInterval *forward = MoveTo::create(, Vec2(, ));
spriteMoveTo->runAction(forward); /*
*MoveBy,移动一段距离
*/
Sprite *spriteMoveBy = Sprite::create("snow.png");
spriteMoveBy->setPosition(Vec2(size.width / 4.0f, size.height / 4.0f));
this->addChild(spriteMoveBy, ); ActionInterval *forwardBy = MoveBy::create(, Vec2(, ));
ActionInterval *backBy = forwardBy->reverse();
Action *action = Repeat::create(dynamic_cast<FiniteTimeAction *>(Sequence::create(forwardBy, backBy, NULL)), );
spriteMoveBy->runAction(action); return true;
}