Exemplo n.º 1
0
void PlaneProtect::initBody()
{
	auto body = PhysicsBody::createCircle(getContentSize().width * 0.5);
	body->setGravityEnable(false);
	body->setMass(10000000);
	body->setCategoryBitmask(SELF_SCOPE_CATEGORYBITMASK);
	body->setCollisionBitmask(0);
	body->setContactTestBitmask(SELF_SCOPE_CONTACTTESTBITMASK);
	setPhysicsBody(body);
	setMaxBlood(Protect_Hp);
	m_ContactPro.hurts = -Ene_Plane_Hp_max - 10;
	
	setUnitId(UnitId::eFanghudun);
}
Exemplo n.º 2
0
bool CRole::init(const string& unitId, bool editorMode)
{
    do
    {
        m_isEditMode = editorMode;
        
        BREAK_IF(!CSpriteObject::init());
        
        m_faceToPrefix.resize(FACE_TO_MAX);
        m_faceToPrefix[FACE_TO_LEFT_DOWN] = ROLE_FACE_TO_LEFT_PREFIX;
        m_faceToPrefix[FACE_TO_RIGHT_DOWN] = ROLE_FACE_TO_RIGHT_PREFIX;
        m_faceToPrefix[FACE_TO_LEFT_UP] = ROLE_BACK_TO_LEFT_PREFIX;
        m_faceToPrefix[FACE_TO_RIGHT_UP] = ROLE_BACK_TO_RIGHT_PREFIX;

        
        changeState(ROLE_STATE_MOVE);

        setUnitId(unitId);
        
        const DTUnit::_Data* unitData = DTUNIT->getData(getUnitId());
        CC_ASSERT(unitData);
        setGridWidth(unitData->gridWidth);
        setGridHeight(unitData->gridHeight);
        
        setSpeed(unitData->speed);
        setMaxHP(unitData->hp);
        setCurHP(getMaxHP());
        setATK(unitData->atk);
        setAtkSpeed(unitData->rate);
        
        BREAK_IF_FAILED(CSpriteObject::setSpriteFromCcbi(unitData->resourceID.c_str()));
        
        if (!editorMode)
        {
            BREAK_IF_FAILED(createHPBar());
            m_pHPBar->setPercentage(1.f);
            Size sz = getSpriteContentSize();
            m_pHPBar->setPosition(0, sz.height);
        }
        return true;
    } while (false);
    
    return false;
}
Exemplo n.º 3
0
void ExplisonScreen::initPro()
{
	setInvincible(true);
	m_ContactPro.hurts = -Ene_Plane_Hp_max- 10;
	setUnitId(UnitId::eScreenExplosion);
}