当前位置: 首页>>代码示例>>C++>>正文


C++ BallSprite::bounceBall方法代码示例

本文整理汇总了C++中BallSprite::bounceBall方法的典型用法代码示例。如果您正苦于以下问题:C++ BallSprite::bounceBall方法的具体用法?C++ BallSprite::bounceBall怎么用?C++ BallSprite::bounceBall使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在BallSprite的用法示例。


在下文中一共展示了BallSprite::bounceBall方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: 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);
	}
}
开发者ID:sakurabird,项目名称:cocos2dx-BlockShooting,代码行数:32,代码来源:GameScene.cpp

示例2: updateBlocks

void GameScene::updateBlocks() {
	for (int i = 0; i < m_activeballs->count(); i++) {
		BallSprite* ball =
				dynamic_cast<BallSprite*>(m_activeballs->objectAtIndex(i));
		if (!ball)
			return;

		CCRect ballRect = ball->boundingBox();

		CCObject* jt = NULL;
		CCArray* blocksToDelete = new CCArray;

		CCARRAY_FOREACH(m_blocks, jt) {
			CCSprite* block = dynamic_cast<CCSprite*>(jt);
			//            CCLOG("updateGame target.x: %f, target.y: %f, tag: %d",target->getContentSize().width, target->getContentSize().height, target->getTag());
			CCRect blockRect = block->boundingBox();

			//衝突判定
			if (ballRect.intersectsRect(blockRect)) {
				// ボールは跳ね返す
				ball->bounceBall(blockRect, kTagBlock);

				blocksToDelete->addObject(block);

				//スコア加算
				m_score += 100;
				showScore();

				//確率に従ってボーナスアイテムを生成する
				makeItem(block);
			}
		}

		// 当たったブロックを消す
		CCARRAY_FOREACH(blocksToDelete, jt) {
			CCSprite *block = dynamic_cast<CCSprite*>(jt);
			m_blocks->removeObject(block);
			this->removeChild(block, true);

			m_blocksDestroyed++;
		}
开发者ID:sakurabird,项目名称:cocos2dx-BlockShooting,代码行数:41,代码来源:GameScene.cpp


注:本文中的BallSprite::bounceBall方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。