void MosquitoBase::setState(MOSQUITO_STATE state) { bool loop = true, blend = false; float pos[3]; getPos(pos); if(state == eMosuqitoHit) { loop = false; setBillboard("blood_billboard"); AudioSystem::getInstance()->play3D("../music/spring.wav", pos); } else if(state == eMosuqitoCut) { loop = false; setBillboard("blood_billboard"); AudioSystem::getInstance()->play3D("../music/pop.wav", pos); } else if(state == eMosquitoBlood) { GameSystem::getInstance()->setDrinkTime(); AudioSystem::getInstance()->play3D("../music/kiss.wav", pos); } if(m_uiMeshID < GameSystem::getInstance()->m_vMeshData.size()) { if(state < GameSystem::getInstance()->m_vMeshData[m_uiMeshID].m_vAniName.size()) setAnimation(GameSystem::getInstance()->m_vMeshData[m_uiMeshID].m_vAniName[state].c_str(), loop, blend); } m_eState = state; m_fTimer = 0.0f; }
NS_COCOS3D_BEGIN CC3Billboard::CC3Billboard() { m_pBillboard = NULL; setBillboard( NULL ); }
void CC3Billboard::initWithTag( GLuint aTag, const std::string& aName, CCNode* a2DNode ) { initWithTag( aTag, aName ); { setBillboard( a2DNode ); } }
void CC3Billboard::initWithTag( GLuint aTag, const std::string& aName ) { super::initWithTag( aTag, aName ); { setColor( CCColorRefFromCCC4F(kCCC4FWhite) ); setBillboard( NULL ); m_billboardBoundingRect = CCRectZero; m_offsetPosition = CCPointZero; m_minimumBillboardScale = CCPointZero; m_maximumBillboardScale = CCPointZero; m_fUnityScaleDistance = 0.0; m_shouldNormalizeScaleToDevice = true; m_shouldDrawAs2DOverlay = false; m_shouldAlwaysMeasureBillboardBoundingRect = false; m_shouldMaximizeBillboardBoundingRect = false; m_textureUnitIndex = 0; m_shouldUpdateUnseenBillboard = true; m_billboardIsPaused = false; } }
CC3Billboard::~CC3Billboard() { setBillboard( NULL ); }
void CC3Billboard::initWithName( const std::string& aName, CCNode* a2DNode ) { initWithName( aName ); setBillboard( a2DNode ); }
void CC3Billboard::initWithBillboard( CCNode* a2DNode ) { init(); setBillboard( a2DNode ); }