Example #1
0
void LCWordCloudLayer::syncronizeNodesPosition()
{
	// syncronize node position with vector
	for (int i=0; i<m_pPositionArray->count(); i++) {
		LCVector3Container *container = (LCVector3Container *) m_pPositionArray->objectAtIndex(i);
		container->convertToUnitVector()->scalarMult(m_fRadius);
		
		CCNode *node = (CCNode *)m_pNodeArray->objectAtIndex(i);
	//	CCLog("%f %f %f", container->getVector().x, container->getVector().y ,container->getVector().z);
		node->setPosition(ccp(container->getVector().x, container->getVector().y));
		node->setScale(powf(m_fExponentialConstant, container->getVector().z + m_fRadius));
		
		//commented by YoungJae Kwon 이 계산결과를 GLUByte로 환산하면 ndk에서 에러난다, I don't know why.
		// 따라서 int형에 넣어서 대입.
		int test = -container->getVector().z / m_fRadius * ((m_fMaxOpacity - m_fMinOpacity) / 2) + m_fMaxOpacity - ((m_fMaxOpacity - m_fMinOpacity) / 2);
		node->setOpacity(test);
		this->reorderChild(node, container->getVector().z * -1000);
	}
}