actionmove不起作用。
我的版本是3.0
一般情况下这个是有效的,但是代码写成这样之后居然无效了。
bool Block::init()
{
m_sprite = Sprite::create();
visibleSize = Director::getInstance()->getVisibleSize();
Point origin = Director::getInstance()->getVisibleOrigin();
//随机生成一个障碍物
size.width = rand()%maxHeight;
size.height = rand()%maxWidth;
m_sprite->setTextureRect(Rect(0,0,size.width,size.height));
//setPosition(Point(visibleSize.width/2,visibleSize.height/2));
m_sprite->setColor(Color3B(0, 0, 0));
m_sprite->setAnchorPoint(Point::ANCHOR_BOTTOM_LEFT);
return true;
}
void Block::move()
{
//障碍物的运动
//本来应该封装在Block类里的,可是放在里面之后发现不能用Action,奇葩!!!
auto actionMove = MoveTo::create(4.0f,basePoint);
//auto actionDone = CallFuncN::create(CC_CALLBACK_1(Block::blockMoveFinished, this));
//auto sequence = Sequence::create(actionMove, actionDone, nullptr);
m_sprite->runAction(actionMove);
}
非常神奇,,如果我换一个动作
auto animate = Animate::create(animation);
auto repeat = RepeatForever::create(animate);
这个是能看到动画的。。。
但是现在我用move,物体依然不动。