void ControllerSimpleMove::moveOneStep() {
	Sprite* sprite = m_entity->getSprite();//初始化时,将调用simplemove的entity传入,m_entity=entity

	if(sprite != NULL) {
		Point entityPos = m_entity->getPosition();
		Point curDestPos = m_curDestPos->getPos();//这里为什么用getpos,都没有定义?
		
		/* 取得下一个移动坐标点 */
        entityPos = getNextPos(entityPos, curDestPos);

		/* 移动实体 */
		m_entity->setPosition(entityPos);

		/* 到达当前目的地,开始下一个目的地 */
		if(entityPos.x == curDestPos.x && entityPos.y == curDestPos.y) {
			if(m_movePosList.size() > 0) {
				nextMovePos();
			}
            else {
                /* 移动结束 */
                if (m_moveEndFunc) {
                    m_moveEndFunc();
                    m_moveEndFunc = nullptr;
                }
            }
		}
	}
}
void ControllerSimpleMove::moveOneStep() {
	CCSprite* sprite = m_entity->getSprite();

	if(sprite != NULL) {
		CCPoint entityPos = m_entity->getPosition();
		CCPoint curDestPos = m_curDestPos->getPos();
		
		/* 取得下一个移动坐标点 */
        entityPos = getNextPos(entityPos, curDestPos);

		/* 移动实体 */
		m_entity->setPosition(entityPos);

		/* 到达当前目的地,开始下一个目的地 */
		if(entityPos.x == curDestPos.x && entityPos.y == curDestPos.y) {
			if(m_movePosList->count() > 0) {
				nextMovePos();
			}
			else {
				/* 移动结束 */
				m_isMoving = false;
				if(m_moveEnd != NULL) {
					m_moveEnd->moveEnd();
				}
			}
		}
	}
}
//首先传入这个函数,置m_ismoving为true,才能开始schedule。
//取speed的值,span的值,以及调用nextmovepos获得下一步移动坐标的值
void ControllerSimpleMove::moveByPosList(Vector<PosBase*> posList) {
	if(posList.size() < 1) {
		return;
	}

	this->m_movePosList.clear();
    this->m_movePosList.pushBack(posList);

	nextMovePos();

	this->m_isMoving = true;
}
void ControllerSimpleMove::moveByPosList( CCArray* posList ) {
	if(posList == NULL || posList->count() < 1) {
		return;
	}

	this->m_movePosList->removeAllObjects();
    this->m_movePosList->addObjectsFromArray(posList);

	nextMovePos();

	this->m_isMoving = true;
}