void TupianBrowserLayer::setMainTupianSprite(bool isFromInit) {
    S_AE->playEffect(FileUtils::getContentFilePath(m_tupian->getcnAudioPath()).c_str());

    CCSprite* sprite=(CCSprite*)this->getChildByTag(kTagCurrentTupianSprite);
    if (sprite!=NULL) {
        this->removeChild(sprite, false);
    }

#define COLLECTED_SPRITE  string path=FileUtils::getContentFilePath(m_tupian->geticonPath());\
    sprite=CCSprite::create(path.c_str());\
    sprite->setPosition(S_RM->getPositionWithName("tupian_fangda"));\
    sprite->setTag(kTagCurrentTupianSprite);\
    sprite->setScale(S_RM->getScaleWithName("tupian_fangda"));\
//    CCSize mainSize=S_RM->getSizeWithName("tupian_main_size");\
//    m_scale=(mainSize.width+20)/600;\

    COLLECTED_SPRITE;
    this->addChild(sprite);

    if (!m_tupian->getisCollected()) {

        int count=S_DM->getCount("ciyu","isCollected>0");
        if (count>=COLLECT_LIMIT) {
            GuideDialog* guideDialog=new GuideDialog();
            guideDialog->autorelease();
            guideDialog->setText("非常抱歉,收藏的卡片数量已经超出了限制,请检查账号状态。");
            guideDialog->setMode(kGuideDialogOk);
            m_gudieDialogLayer=GuideDialogLayer::create(kDialogWithText);
            m_gudieDialogLayer->setDelegate(this);
            this->addChild(m_gudieDialogLayer,ORDER_DIALOG);
            m_gudieDialogLayer->setGuideDialogData(guideDialog);
        } else {
            m_tupian->setIntisCollected(1);
            CCString *sql=CCString::createWithFormat("update ciyu set isCollected=1 where id=%d;",m_tupian->getid());
            S_DM->executeSql(sql->getCString());

            static_userDefaultIncrement(COLLECT_TUPIAN_COUNT,15);

            CCSprite* sprite;
            COLLECTED_SPRITE;

            KapianCollectLayer* kapianCollectLayer=KapianCollectLayer::create(sprite,kTupian);
            this->addChild(kapianCollectLayer);
            kapianCollectLayer->collectAnimate();

//            if(isFromInit){
//                m_tupianBrowserDelegate->reloadTupianTable();
//            }
//            else{
//                m_tupianTabelLayer->reloadData();
//            }

        }
    }

    if (m_wenziMenu!=NULL) {
        this->removeChild(m_wenziMenu, false);
    }

    m_wenziMenu=CCMenu::create();
    string ciyu=m_tupian->getText();
    const char* zi=ciyu.c_str();
    char p[ciyu.length()/3][4];

    string where="";

    vector<Hanzi*>* hanzis=new vector<Hanzi*>();

    CLAUSE_INIT;

    whereClause.push_back(HANZI_VERIFY_PASS);


    for (int i = 0,j=0; i < ciyu.length(); i=i+3,j++)
    {
        char end='\0';
        sprintf(p[j], "%c%c%c%c",zi[i],zi[i+1],zi[i+2],end);
        if(i>0)where.append(" or ");
        where.append(" (zi like '").append(p[j]).append("') ");
    }

    whereClause.push_back(where.c_str());
    S_DM->findScrollData(hanzis, "id,zi", whereClause, orderbyClause, groupByClause);

    m_delay=0.0f;
    for (int i=0; i< ciyu.length()/3; i++) {
        CCLabelTTF *txtLabel = CCLabelTTF::create(p[i], "KaiTi.ttf", 60.0);
        txtLabel->setColor(ccc3(200, 200, 200));

        CCSprite* wenzi=CCSprite::createWithSpriteFrameName("zikuang.png");
        CCMenuItemSprite* pwenziItem=CCMenuItemSprite::create(wenzi, NULL, this, menu_selector(TupianBrowserLayer::wenziCallback));
        pwenziItem->setTag(0);
        for (vector<Hanzi *>::iterator it = hanzis->begin(); it != hanzis->end(); it ++) {
            if (NULL != *it)
            {
                Hanzi* hanzi=*it;
                if (hanzi->getzi() ==p[i]) {
                    pwenziItem->setTag(hanzi->getid());
                    txtLabel->setColor(ccc3(0, 0, 0));
                    break;
                }
            }
        }
        txtLabel->setPosition(S_RM->getRelativePosition("tupian_wenzi_label", wenzi->getContentSize().height));
        txtLabel->runAction(CCSequence::create(CCDelayTime::create(m_delay),CCScaleTo::create(0.25, 1.5),CCScaleTo::create(0.25, 1),NULL));
        pwenziItem->addChild(txtLabel);
        pwenziItem->setPosition(ccp(i*140,0));
        m_wenziMenu->addChild(pwenziItem);
        m_delay+=0.5;
    }

    m_wenziMenu->setPosition(ccp(W_SIZE.width/2-(ciyu.length()/3-1)*70,S_RM->getPositionWithName("tupian_wenzi_fangda").y));
    m_wenziMenu->setTag(kTagWenziMenu);
    this->addChild(m_wenziMenu);

}
Beispiel #2
0
//--------------------------------------------------
//
//
void CPet::ApplyHurt( int damage, bool isHardAttack )
{
	CBaseDataPet* pPetBaseData = g_pClientLoader->GetBaseDataPetFromId(m_PetData.petid);
	int skilldata = CExpressions::GetInstance()->GetAttribute( pPetBaseData->skillaptitude, pPetBaseData->upskill, pPetBaseData->initskill, m_PetData.petlevel );
	float pec = CExpressions::GetInstance()->GetSkillFrquency(skilldata, m_PetData.petlevel );

    CBaseDataSkill* pDataSkill = g_pClientLoader->GetBaseDataSkillFromId(pPetBaseData->skillfield_defense[m_PetData.skilllevel.skillsLevel[1] - 1]);
	//skill attack
	if( CCRANDOM_0_1() < pec && m_PetData.skilllevel.skillsLevel[1] > 0 && m_PetData.mp >= pDataSkill->skillmp )
	{
		CBaseDataAnimation *pAnimationData = g_pClientLoader->GetBaseDataAnimationFromId(m_PetData.ResId);
		PlayAnimation( pAnimationData->m_defense, 1, callfunc_selector( CPet::HurtEndCallBack ), this, false, false );

		m_PetData.mp = m_PetData.mp - pDataSkill->skillmp;
		if( m_PetData.mp <= 0 )
		{
			m_PetData.mp = 0;
		}
        std::string effectpath = GetGameParticlePath();
        std::string filename = effectpath +  pDataSkill->plist;
        if( !pDataSkill->plist.empty() )
        {
            CCParticleSystemQuad *pEmitter = CCParticleSystemQuad::particleWithFile(filename.c_str() );
            //m_emitter->setPositionType( kCCPositionTypeRelative );
            pEmitter->setPosition( getPosition() );
            g_pFightGroundLayer->addChild( pEmitter, 100 );
        }
        
        if( CCUserDefault::sharedUserDefault()->getBoolForKey( "sound" ) )
        {
            string path = "data/audio/" + pDataSkill->skill_sound;
            CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect(path.c_str(), false);
            
             CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("data/audio/scoreCount2.wav", false);
        }

        
		return;
	}


	m_PetData.hp =  m_PetData.hp - damage;
    char strbuffer[32];
	if( 0 == damage )
	{
		sprintf( strbuffer, "%s",  "miss");
	}
	else
	{
		sprintf( strbuffer, "-%d",  damage);
	}
	CCLabelTTF *plabel = CCLabelTTF::labelWithString(strbuffer,  kFontSystem[FONT_GRAND].fontName,kFontSystem[FONT_GRAND].fontSize);
    const ccColor3B ccwhite      = {255,255,255};
    const ccColor3B ccYellow     = {255,255,0};
    const ccColor3B ccRed        = {255,0,0 };
    if( isHardAttack )
    {
        plabel->setColor( ccYellow );
    }
    else if( 0 == damage )
    {
         plabel->setColor( ccRed );
    }
    else
    {
        plabel->setColor( ccwhite );
    }
	plabel->setPosition( ccp( getPosition().x, getPosition().y + getTextureRect().size.height )  );
    g_pFightGroundLayer->addChild(plabel,100);
    plabel->runAction( CCFadeOut::actionWithDuration(1.5f) );
    plabel->runAction(CCMoveBy::actionWithDuration(0.2f, ccp( 0, 50  )));
    

	if( m_PetData.hp <= 0 )
	{
		CBaseDataAnimation *pAnimationData = g_pClientLoader->GetBaseDataAnimationFromId(m_PetData.ResId);
		PlayAnimation( pAnimationData->m_lost, 1, NULL, this, false, false );
        m_pLockTarget->m_bIsWin = true;
	}
	else
	{
		CBaseDataAnimation *pAnimationData = g_pClientLoader->GetBaseDataAnimationFromId(m_PetData.ResId);
		PlayAnimation( pAnimationData->m_injured, 1, callfunc_selector( CPet::HurtEndCallBack ), this, false, false );
	}
    
	if( 0 != damage )
	{
		std::string effectpath = GetGameParticlePath();
		std::string filename = effectpath + "hurteffect.plist";
		CCParticleSystemQuad *pEmitter = CCParticleSystemQuad::particleWithFile( filename.c_str() );
		//m_emitter->setPositionType( kCCPositionTypeRelative );
		pEmitter->setPosition( getPosition() );
		CCPoint pos = getPosition();
		g_pFightGroundLayer->addChild( pEmitter, 100 );
	}
    if( isHardAttack )
    {
        std::string effectpath = GetGameParticlePath();
		std::string filename = effectpath + "bloodEffect.plist";
		CCParticleSystemQuad *pEmitter = CCParticleSystemQuad::particleWithFile( filename.c_str() );
		//m_emitter->setPositionType( kCCPositionTypeRelative );
		pEmitter->setPosition( getPosition() );
		CCPoint pos = getPosition();
		g_pFightGroundLayer->addChild( pEmitter, 100 );
    }
    
}
Beispiel #3
0
bool PlayScene::init()
{
	bool bRet = false;
	do 
	{
		winSize = CCDirector::sharedDirector()->getWinSize();
		isPause = false;
		
		//this->registerWithTouchDispatcher();
		this->setKeypadEnabled(true);
		int lvl = CCUserDefault::sharedUserDefault()->getIntegerForKey("lvl");
		if(lvl == 0)
		{
			lvl = 1;
			CCUserDefault::sharedUserDefault()->setIntegerForKey("lvl",1);
		}
		char mapPath[20];
		char lvlinform[30];
		//map_tmx_lvl1
		sprintf(mapPath,"map/lvl%d.tmx",lvl);
		sprintf(lvlinform,"Lvl %d",lvl);
		isOver = -1;

		CCLabelTTF * lvlInform = CCLabelTTF::create(lvlinform, "Thonburi", 64);
		lvlInform->setPosition(ccp(-100,winSize.height/2));
		this->addChild(lvlInform,3);

		overinfor = CCLabelTTF::create("Game Over", "Thonburi", 64);
		overinfor->setPosition(ccp(winSize.width/2,winSize.height/2));
		overinfor->setVisible(false);
		this->addChild(overinfor,3);
		//这里是暂停菜单信息s

		lvlInform->runAction(CCJumpTo::create(3,ccp(winSize.width+100,winSize.height/2),60,10));
		ccColor4B t;
		t.a = 200;
		t.r = 0;
		t.g = 0;
		t.b = 0;
		pauseLayer = CCLayerColor::create(t);
		this->addChild(pauseLayer,10);
		pauseLayer->setPosition(CCPointZero);
		CCSprite *pauseBg = CCSprite::create(pause_bg);
		pauseBg->setPosition(ccp(winSize.width/2 , winSize.height/2));
		pauseLayer->addChild(pauseBg);
		
		CCMenuItemImage *resume = CCMenuItemImage::create(
			pause_resume,
			pause_resume,
			this,
			menu_selector(PlayScene::menuResume_CallBack)
			);
		
		CCMenuItemImage *save = CCMenuItemImage::create(
			pause_save,
			pause_save,
			this,
			menu_selector(PlayScene::menuSaveCallBack)
			);


		CCMenuItemImage *returnMenu = CCMenuItemImage::create(
			pause_return,
			pause_return,
			this,
			menu_selector(PlayScene::menuReturnCallBack)
			);

		CCMenu * pauseMenu = CCMenu::create(resume,save,returnMenu,NULL);
		pauseMenu->alignItemsVerticallyWithPadding(30);
		pauseLayer->addChild(pauseMenu);
		pauseLayer->setVisible(false);



		//////////////////////////////////////////////////////////////////////////


		Mediator::getInstance()->release();   //释放
		Mediator::getInstance()->init();   //初始化
		//加载地图
		map = TmxMap::initMap(mapPath);  // 地图
		this->addChild(map);
		//添加摇杆,如果宏定义是手机
#ifdef IAMPHONE__
		CCSprite * bg = CCSprite::create(control_bg);
		CCSprite * cen = CCSprite::create(control_ce);
		control = Joystick::JoystickWithCenter(ccp(120,120),100.f,cen,bg);
		control->Active();
		this->addChild(control,1);
		control->setOpacity((float)0.3);
		//按钮
		fire = CCMenuItemImage::create(
			fire_normal,
			fire_press
			);
		fire->setOpacity(0.3*255);
		fire->setPosition(ccp(winSize.width - fire->getContentSize().width/2 - 10 , fire->getContentSize().height/2 + 10));
		CCMenu * menu = CCMenu::create(fire,NULL);
		menu->setPosition(CCPointZero);
		CCLayer * menu_layer = CCLayer::create();
		menu_layer->addChild(menu);
		this->addChild(menu_layer);
		this->setTouchEnabled(true);
#endif // IAMPHONE__

		Tank * tanks = Tank::getATank(tank_player,UP,HERO);   //添加坦克
		this->addChild(tanks);
		tanks->getTankSprite()->setPosition(ccp(14.5*map->getTileSize().width ,16));

#ifdef IAMPHONE__
		Mediator::getInstance()->addJoyStick(control);  //添加摇杆
		Mediator::getInstance()->addFireButton(fire);    //添加按钮
#endif

		Mediator::getInstance()->addGameScene(this);    //添加场景
		Mediator::getInstance()->addHeroTank(tanks);    //添加坦克
		Mediator::getInstance()->addTileMap(map);     //添加地图
		


		//schedule
		schedule(schedule_selector(PlayScene::gameFire),0.3f);    //开火键监听器
		schedule(schedule_selector(PlayScene::gameLoop),0.01f);   //游戏主循环监听器
		schedule(schedule_selector(PlayScene::gameCrash),0.02f);   //游戏碰撞监听器
		schedule(schedule_selector(PlayScene::gameAddEnemy),2.0f);   //每隔一段时间添加敌人
		schedule(schedule_selector(PlayScene::gameEnemyAction),0.05f);  //敌方坦克的运动


		

		bRet = true;
	} while (0);
	return bRet;
}
bool ZhuShouChatLayer::init()
{
    bool bRet = false;
    do
    {
        CC_BREAK_IF(! CCLayerColor::initWithColor(ccc4(0,0,0,160)) );

        CCSize winSize = CCDirector::sharedDirector()->getWinSize();

        //board
        CCSprite* board = CCSprite::create("juqing_duihuakuang.png");
        addChild(board, 2, TAG_Board);
        board->setAnchorPoint(ccp(0.5, 0));
        board->setPosition(ccp(winSize.width/2, 0));
        board->setOpacity(0);
        board->setScaleY(0.7f);
        //next img
        BaseSprite *nextImg = BaseSprite::create("sphc_anniu_fanye.png");
        board->addChild(nextImg, 0, Tag_ImgNext);
        nextImg->setPosition(ccp(597,37));
        nextImg->setOpacity(0);
        nextImg->runAction(CCSequence::create(
                               CCFadeIn::create(0.15f),
                               CCRepeat::create(CCSequence::create(CCFadeOut::create(0.75f), CCFadeIn::create(0.75f), NULL), -1),
                               NULL));

        //npc
        string npcFileName = getFileByName(getPinyinName(m_nZhuaShouId)).second;
        ////////////////////////////////////////////
        if(npcFileName.empty())
        {
            CCLog("Error: %s [can't found npc imgine]", __FUNCTION__);
            npcFileName = "juqing_duihua_NPC_shenmiren.png";
        }
        ////////////////////////////////////////////
        int x_side = 20;
        CCSprite* actorA = CCSprite::create(npcFileName.c_str());
        addChild(actorA, 3, TAG_ActorA);
        actorA->setAnchorPoint(ccp(0,0));
        actorA->setPosition(ccp(x_side,x_side));
        actorA->setOpacity(0);

        int side = 10;
        //label name
        CCLabelTTF *namelabel = CCLabelTTF::create("", fontStr_kaiti, 24);
        addChild(namelabel, 5, Tag_Label_Name);
        namelabel->setAnchorPoint(ccp(0, 0.5));
        namelabel->setPosition(ccp(20, board->getContentSize().height-42));
        namelabel->setColor(fonColor_PuTong);
        namelabel->setOpacity(0);
        //label content
        //CCLabelTTF* label = CCLabelTTF::create("", fontStr_kaiti, 24, CCSize(board->getContentSize().width - actorA->getContentSize().width - side, 0), kCCTextAlignmentLeft);
        m_nTextWidth = board->getContentSize().width - actorA->getContentSize().width - side;
        NetLabelTTF* label = NetLabelTTF::create("", fontStr_kaiti, 24);
        addChild(label, 5, TAG_label);
        label->setHorizontalAlignment(kCCTextAlignmentLeft);
        label->setAnchorPoint(ccp(0,1));
        label->setColor(fonColor_FaGuang);
        label->setPosition(ccp(actorA->getContentSize().width + side, board->getContentSize().height-145));
        label->setOpacity(0);

        actorA->runAction(CCFadeIn::create(0.0f));
        board->runAction(CCFadeIn::create(0.0f));
        label->runAction(CCFadeIn::create(0.0f));
        namelabel->runAction(CCFadeIn::create(0.0f));
        nextImg->runAction(CCFadeIn::create(0.0f));
        scheduleOnce(schedule_selector(ZhuShouChatLayer::showChatContext), 0.05f);
        {
            mTimeEnd = false;
            mLabelFadeInEnd = false;
            ++m_index;
        }

        bRet = true;
    } while(0);

    return bRet;
}
Beispiel #5
0
bool Newbie1Trigger::onRegist() {
//    CCLayer* newbieLayer = CCLayer::create();
//    
//    CCSprite* gray = CCSprite::create("whiteImage.jpg");
//    gray->setPosition(ccp(winSize.width/2,winSize.height/2));
//    gray->setScaleX(winSize.width/gray->getContentSize().width);
//    gray->setScaleY(winSize.height/gray->getContentSize().height);
//    gray->setColor(ccc3(0,0,0));
//    gray->setOpacity(150);
//    
//    newbieLayer->addChild(gray);
//    
//    CCString* str = GXUtil::readFile("NewbieDialog1.j");
//    node->addChild(DiaLayer::create(GXJsonUtil::parseDiaLayerInfoBean(str->getCString())),11);
    
    
//    newbieLayer->setTag(newbieFlowLayerTag);
//    node->addChild(newbieLayer);
    CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("sfx_uicrash.mp3");
    CocosDenshion::SimpleAudioEngine::sharedEngine()->preloadEffect("sfx_uicrash1.mp3");

    CCLayer* newbieLayer = CCLayer::create();
    newbieLayer->setTag(newbieFlowLayerTag);
    
    CCSprite* black = CCSprite::create("whiteImage.jpg");
    black->setColor(ccc3(0,0,0));
    black->setScaleX(winSize.width/black->getContentSize().width);
    black->setScaleY(winSize.height/black->getContentSize().height);
    newbieLayer->addChild(black);
//    black->setTag(newbieBlackTag);
    black->setPosition(ccp(winSize.width/2,winSize.height/2));
    
    CCLabelTTF* label = CCLabelTTF::create("1939.10.30\n天气 晴\n欧洲战场前线基地", "Arial", 36,CCSizeZero, kCCTextAlignmentLeft, kCCVerticalTextAlignmentTop);
    label->setPosition(ccp(200,150));
    label->setOpacity(0);
    label->runAction(CCSequence::create(CCFadeIn::create(0.5),CCDelayTime::create(1.5),CCFadeOut::create(3),GXRemoveFromParentsAction::create(),NULL));
    black->runAction(CCSequence::create(CCDelayTime::create(2),CCFadeOut::create(3),NULL));
    
    newbieLayer->addChild(label);
    
    GXShieldTouchMenuItem* nextButton = GXShieldTouchMenuItem::create();
    nextButton->setContentSize(winSize);
    nextButton->setPosition(ccp(winSize.width/2,winSize.height/2));
    MyPriorityMenu* menu = MyPriorityMenu::create(-499, nextButton,NULL);
    menu->setPosition(ccp(0,0));
//    menu->setTag(newbieMenuTag);
    
    newbieLayer->addChild(menu);
    node->addChild(newbieLayer);
//    node->runAction(CCRepeat::create(static_cast<CCSequence*>(CCSequence::create(CCCallFunc::create(this,callfunc_selector(Newbie1Trigger::deployUnit)),CCDelayTime::create(1),NULL)),20));
    
    
    MyBattleMap* battleMap = (MyBattleMap*)node->getChildByTag(MainMapTag);
    
    battleMap->runAction(CCSequence::create(CCDelayTime::create(3),CCEaseIn::create(CCMoveBy::create(9,ccp(-500,-500)),2),CCCallFunc::create(this,callfunc_selector(Newbie1Trigger::toNextCallBack)),NULL));
    
    CCArray* unitArray = CCArray::create();
    CreatorInfoBean* PanzerIVBean = CreatorInfoBean::create(PanzerIVCardId);
    CreatorInfoBean* VolksgrenadierBean = CreatorInfoBean::create(volksgrenaierCardId);
//    CreatorInfoBean* InfanterieBean = CreatorInfoBean::create(InfanterieCardId);
    CreatorInfoBean* PanzergrenadierBean = CreatorInfoBean::create(panzergrenadierCardId);
//    CreatorInfoBean* HummingBirdBean = CreatorInfoBean::create(HummingBirdCardId);
//    CreatorInfoBean* tigerBean = CreatorInfoBean::create(TigerCardId);
    
    MyUnit* unit1 = PanzerIVBean->creator->createObj(PanzerIVBean->getLevel());
    unit1->setTag(PanzerIVBean->creator->cardId);
    unit1->setPosition(battleMap->transTiledToMap(ccp(25,50)));
    unit1->deployPosi = ccp(25,50);
    unitArray->addObject(unit1);
    
    MyUnit* unit2 = PanzerIVBean->creator->createObj(PanzerIVBean->getLevel());
    unit2->setTag(PanzerIVBean->creator->cardId);
    unit2->setPosition(battleMap->transTiledToMap(ccp(30,55)));
    unit2->deployPosi = ccp(30,55);
    unitArray->addObject(unit2);
    
    MyUnit* unit3 = VolksgrenadierBean->creator->createObj(1);
    unit3->setTag(VolksgrenadierBean->creator->cardId);
    unit3->setPosition(battleMap->transTiledToMap(ccp(24,54)));
    unit3->deployPosi = ccp(24,54);
    unitArray->addObject(unit3);
    
    MyUnit* unit4 = VolksgrenadierBean->creator->createObj(1);
    unit4->setTag(VolksgrenadierBean->creator->cardId);
    unit4->setPosition(battleMap->transTiledToMap(ccp(35,50)));
    unit4->deployPosi = ccp(35,50);
    unitArray->addObject(unit4);
    
    MyUnit* unit5 = VolksgrenadierBean->creator->createObj(1);
    unit5->setTag(VolksgrenadierBean->creator->cardId);
    unit5->setPosition(battleMap->transTiledToMap(ccp(33,59)));
    unit5->deployPosi = ccp(33,59);
    unitArray->addObject(unit5);
    
    MyUnit* unit6 = PanzergrenadierBean->creator->createObj(1);
    unit6->setTag(PanzergrenadierBean->creator->cardId);
    unit6->setPosition(battleMap->transTiledToMap(ccp(23,52)));
    unit6->deployPosi = ccp(23,52);
    unitArray->addObject(unit6);
    
    MyUnit* unit7 = PanzergrenadierBean->creator->createObj(1);
    unit7->setTag(PanzergrenadierBean->creator->cardId);
    unit7->setPosition(battleMap->transTiledToMap(ccp(25,59)));
    unit7->deployPosi = ccp(25,59);
    unitArray->addObject(unit7);
    
    MyUnit* unit8 = PanzergrenadierBean->creator->createObj(1);
    unit8->setTag(PanzergrenadierBean->creator->cardId);
    unit8->setPosition(battleMap->transTiledToMap(ccp(33,65)));
    unit8->deployPosi = ccp(33,65);
    unitArray->addObject(unit8);
    
    MyUnit* unit9 = PanzerIVBean->creator->createObj(1);
    unit9->setTag(PanzerIVBean->creator->cardId);
    unit9->setPosition(battleMap->transTiledToMap(ccp(40,63)));
    unit9->deployPosi = ccp(33,65);
    unitArray->addObject(unit9);
    
    CCObject* obj;
    CCARRAY_FOREACH(unitArray,obj) {
        MyUnit* testUnit = (MyUnit*)(obj);
        battleMap->CCNode::addChild(testUnit,999999);
        battleMap->getUnits()->addObject(testUnit);
        testUnit->doAI();
    }