本文整理汇总了C++中BallSprite::getPosition方法的典型用法代码示例。如果您正苦于以下问题:C++ BallSprite::getPosition方法的具体用法?C++ BallSprite::getPosition怎么用?C++ BallSprite::getPosition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类BallSprite
的用法示例。
在下文中一共展示了BallSprite::getPosition方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void GameScene_Box2D::delTouchedBalls() {
std::vector<BallSprite*>::iterator tempIterator;
std::vector<BallSprite*> tmpbollArray;
std::vector<std::vector<BallSprite*>::iterator> deleteIteratorArray;
for( tempIterator = _bollArray.begin(); tempIterator != _bollArray.end(); tempIterator++ ) {
BallSprite *ball = (BallSprite *)*tempIterator;
if (ball->getDeleteState()==BallSprite::deleteState::kDelete) {
_delballPos.push_back(ball->getPosition());
// _world->DestroyBody(ball->getB2Body());
ball->deleteParticle(_particleSystem,_particleGroup);
ball->removeFromParent();
}
else {
tmpbollArray.push_back(ball);
}
}
_bollArray.clear();
for (auto nodelball = tmpbollArray.begin(); nodelball != tmpbollArray.end(); nodelball++) {
BallSprite *ball = (BallSprite *)*nodelball;
_bollArray.push_back(ball);
}
}
示例2: updateBall
void GameScene::updateBall() {
if (!isTouched) {
return;
}
for (int i = 0; i < m_activeballs->count(); i++) {
BallSprite* ball =
dynamic_cast<BallSprite*>(m_activeballs->objectAtIndex(i));
if (!ball)
return;
CCPoint ballPoint = ball->getPosition();
float vx = ball->getVelocityX();
float vy = ball->getVelocityY();
// ボールの移動
// CCLOG("# updateBall1 #ball position X: %f, Y: %f",
// ball->getPositionX(), ball->getPositionY());
ball->setPosition(ccp(ball->getPositionX() + vx,
ball->getPositionY() + vy));
// CCLOG("# updateBall2 #ball position X: %f, Y: %f",
// ball->getPositionX(), ball->getPositionY());
if (ballPoint.y < 0) {
//ユーザーがボールを奈落に落とした
onBallLost(ball);
return;
}
//壁との衝突判定
ball->bounceBall(g_visibleSize);
}
}
示例3: delTouchedBalls
void GameScene_Chipmunk::delTouchedBalls() {
std::vector<BallSprite*>::iterator tempIterator;
std::vector<BallSprite*> tmpbollArray;
std::vector<std::vector<BallSprite*>::iterator> deleteIteratorArray;
for( tempIterator = _bollArray.begin(); tempIterator != _bollArray.end(); tempIterator++ ) {
BallSprite *ball = (BallSprite *)*tempIterator;
if (ball->getDeleteState()==BallSprite::deleteState::kDelete) {
_delballPos.push_back(ball->getPosition());
ball->removeFromParent();
}
else {
tmpbollArray.push_back(ball);
}
}
_bollArray.clear();
for (auto nodelball = tmpbollArray.begin(); nodelball != tmpbollArray.end(); nodelball++) {
BallSprite *ball = (BallSprite *)*nodelball;
_bollArray.push_back(ball);
}
}
示例4: fillVacancies
void BallMap::fillVacancies()
{
// reset moving direction flag
// m_movingVertical = true;
m_isAnimationing = true;
CCSize size = CCDirector::sharedDirector()->getWinSize();
int *colEmptyInfo = (int *)malloc(sizeof(int) * m_size.width);
memset((void *)colEmptyInfo, 0, sizeof(int) * m_size.width);
// 1. drop exist Ball
BallSprite *ball = NULL;
for (int col = 0; col < m_size.width; col++) {
int removedBallOfCol = 0;
// from buttom to top
for (int row = 0; row < m_size.height; row++)
{
ball = m_matrix[row * (int)m_size.width + col];
if (NULL == ball)
{
removedBallOfCol++;
}
else
{
if (removedBallOfCol > 0)
{
// evey item have its own drop distance
int newRow = row - removedBallOfCol;
// switch in matrix
m_matrix[newRow * (int)m_size.width + col] = ball;
m_matrix[row * (int)m_size.width + col] = NULL;
// set the new row to item
ball->setRow(newRow);
// move to new position
CCPoint startPosition = ball->getPosition();
CCPoint endPosition = positionOfItem(ball);
float speed = (startPosition.y - endPosition.y) / size.height;
ball->set_isMoving(true);
// ball->stopAllActions();// must stop pre drop action
ball->runAction(CCSequence::create(
CCMoveTo::create(speed, endPosition),
CCCallFuncN::create(this, callfuncN_selector(BallMap::setBallNoMoving)),
NULL));
}
}
}
// record empty info
colEmptyInfo[col] = removedBallOfCol;
}
// 2. create new item and drop down.
for (int col = 0; col < m_size.width; col++)
{
for (int row = m_size.height - colEmptyInfo[col]; row < m_size.height; row++)
{
createAndDropBall(row, col);
}
}
free(colEmptyInfo);
colEmptyInfo = NULL;
}