Ejemplo n.º 1
0
bool HelloWorld::onTouchBegan(Touch *touch, Event *event)
{
	auto pos = touch->getLocation();
	Size visibleSize = Director::getInstance()->getVisibleSize();
	auto model = TreeModel::getInstance();

	auto isRight = pos.x > visibleSize.width / 2;
	timber->playAction(isRight ? RIGHT : LEFT);
	if (isRight)
	{
		timber->setPosition(visibleSize.width / 2 + timber->getContentSize().width / 2 + 20, 150);
	}
	else
	{
		timber->setPosition(visibleSize.width / 2 - timber->getContentSize().width / 2 - 20, 150);
	}

	if (getIsOver())
	{
		timber->setTimberDie();
		gameOver();
		return false;
	}

	auto dic = visibleSize.width * 2;
	auto time = 0.5;
	auto tree = model->deleteTreeHeadNode();
	if (isRight)
	{
		tree->runAction(Spawn::create(RotateBy::create(time, -180), MoveBy::create(time, Vec2(-dic, 0)), nullptr));
	}
	else
	{
		tree->runAction(Spawn::create(RotateBy::create(time, 180), MoveBy::create(time, Vec2(dic, 0)), nullptr));
	}

	_score++;
	score->setScore(_score);
	if (getIsOver())
	{
		timber->setTimberDie();
		gameOver();
	}

	return true;
}
Ejemplo n.º 2
0
bool  TouchSensorNode::isOver() 
{
	return getIsOver();
}