本文整理汇总了C++中XMLElement::GetAttributeInt方法的典型用法代码示例。如果您正苦于以下问题:C++ XMLElement::GetAttributeInt方法的具体用法?C++ XMLElement::GetAttributeInt怎么用?C++ XMLElement::GetAttributeInt使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XMLElement
的用法示例。
在下文中一共展示了XMLElement::GetAttributeInt方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: InGameMenu
InGameMenu *InGameMenu::Create(PlayGameState *playGameState,
ToolsPanel *toolsPanel)
{
ClassContainer *cc = ClassContainer::GetInstance();
InGameMenu *ret = new InGameMenu();
if (ret != NULL)
{
ret->playGameState = playGameState;
ret->toolsPanel = toolsPanel;
ret ->x = 0;
ret ->y = 0;
ret ->width = ret->resWidth;
ret ->height = ret->resHeight;
TexPart backTexPart = cc->GetClass<TexPart>("guimap_return_to_game_btn");
TexPart backDownTexPart = cc->GetClass<TexPart>("guimap_return_to_game_down_btn");
TexPart playAgainTexPart = cc->GetClass<TexPart>("guimap_play_again_btn");
TexPart playAgainDownTexPart = cc->GetClass<TexPart>("guimap_play_again_down_btn");
TexPart optionsTexPart = cc->GetClass<TexPart>("guimap_options_btn");
TexPart optionsDownTexPart = cc->GetClass<TexPart>("guimap_options_down_btn");
TexPart mainMenuTexPart = cc->GetClass<TexPart>("guimap_back_to_menu_btn");
TexPart mainMenuDownTexPart = cc->GetClass<TexPart>("guimap_back_to_menu_down_btn");
XMLElement *guidefPanel = cc->GetClass<XMLElement*>("guidef_InGameMenu");
XMLElement *guidefPause = guidefPanel->GetSubElement(0);
float leftColumn = (float)ret->resWidth * (2.0f / 6.0f) - (backTexPart.ImageRect.Width / 2);
float rightColumn = (float)ret->resWidth * (4.0f / 6.0f) - (backTexPart.ImageRect.Width / 2);
float vertStep = (float)ret->resHeight * (1.0f / 8.0f);
float vertShift = backTexPart.ImageRect.Height / 2 + 20;
ret ->btnBack = new AnimButton(leftColumn, vertShift, backTexPart, backDownTexPart);
ret ->btnPlayAgain = new AnimButton(rightColumn, vertShift += vertStep, playAgainTexPart, playAgainDownTexPart);
ret ->btnOptions = new AnimButton(leftColumn, vertShift += vertStep, optionsTexPart, optionsDownTexPart);
ret ->btnMainMenu = new AnimButton(rightColumn, vertShift += vertStep, mainMenuTexPart, mainMenuDownTexPart);
ret ->btnPause = new AnimButton(guidefPause->GetAttributeInt("posx"),
guidefPause->GetAttributeInt("posy"),
cc->GetClass<TexPart>("guimap_pause"),
cc->GetClass<TexPart>("guimap_pause_down"));
ret ->AddChild(ret ->btnBack);
ret ->AddChild(ret ->btnPlayAgain);
ret ->AddChild(ret ->btnOptions);
ret ->AddChild(ret ->btnMainMenu);
ret ->AddChild(ret ->btnPause);
ObsCast(ITouchObserver, ret ->btnBack) ->AddObserver(ret);
ObsCast(ITouchObserver, ret ->btnPlayAgain) ->AddObserver(ret);
ObsCast(ITouchObserver, ret ->btnOptions) ->AddObserver(ret);
ObsCast(ITouchObserver, ret ->btnMainMenu) ->AddObserver(ret);
ObsCast(ITouchObserver, ret ->btnPause) ->AddObserver(ret);
}
return ret;
}
示例2: SummaryScreen
SummaryScreen *SummaryScreen::Create(ImageInfo *imgInfo,
PlayGameState *playGameState)
{
ClassContainer *cc = ClassContainer::GetInstance();
FontRenderer *defaultFont = NULL;
ClassContainer::GetInstance()->TryGetClass("defaultFont", defaultFont);
SummaryScreen *ret = new SummaryScreen();
if (ret != NULL)
{
ret->resWidth = PixItAll::Environment::GetInstance()->GetScreenWidth();
ret->resHeight = PixItAll::Environment::GetInstance()->GetScreenHeight();
ret->imgInfo = imgInfo;
ret->playGameState = playGameState;
ret ->x = 0;
ret ->y = 0;
ret ->width = ret->resWidth;
ret ->height = ret->resHeight;
ret->failPosYAnim = InterpolatorFactory::CreateInterpolator<float>(InterpolatorFactory::InterpolationMethod_TCB);
ret->failPosYAnim->AddKeyframe(0.0f / 3.0f, 0.0f, false);
ret->failPosYAnim->AddKeyframe(0.15f / 3.0f, 0.315f, false);
ret->failPosYAnim->AddKeyframe(0.28f / 3.0f, 0.643f, false);
ret->failPosYAnim->AddKeyframe(0.63f / 3.0f, 0.841f, false);
ret->failPosYAnim->AddKeyframe(1.03f / 3.0f, 0.903f, false);
ret->failPosYAnim->AddKeyframe(1.24f / 3.0f, 0.919f, false);
ret->failRotAnim = InterpolatorFactory::CreateInterpolator<float>(InterpolatorFactory::InterpolationMethod_TCB);
ret->failRotAnim->AddKeyframe(0.0f / 3.0f, 0.0f, false);
ret->failRotAnim->AddKeyframe(0.15f / 3.0f, 0.315f, false);
ret->failRotAnim->AddKeyframe(0.28f / 3.0f, 0.643f, false);
ret->failRotAnim->AddKeyframe(0.63f / 3.0f, 0.841f, false);
ret->failRotAnim->AddKeyframe(1.13f / 3.0f, 0.903f, false);
ret->failRotAnim->AddKeyframe(1.44f / 3.0f, 0.919f, false);
TexPart btnPlayAgainTexPart = cc->GetClass<TexPart>("guimap_play_again_btn");
TexPart btnPlayAgainDownTexPart = cc->GetClass<TexPart>("guimap_play_again_down_btn");
TexPart btnNextLevelTexPart = cc->GetClass<TexPart>("guimap_next_level_btn");
TexPart btnNextLevelDownTexPart = cc->GetClass<TexPart>("guimap_next_level_down_btn");
TexPart btnBackToMenuTexPart = cc->GetClass<TexPart>("guimap_back_to_menu_btn");
TexPart btnBackToMenuDownTexPart = cc->GetClass<TexPart>("guimap_back_to_menu_down_btn");
TexPart btnPlayAgainFailTexPart = cc->GetClass<TexPart>("guimap_play_again_fail_btn");
TexPart btnPlayAgainFailDownTexPart = cc->GetClass<TexPart>("guimap_play_again_fail_down_btn");
TexPart btnBackToMenuFailTexPart = cc->GetClass<TexPart>("guimap_back_to_menu_fail_btn");
TexPart btnBackToMenuFailDownTexPart = cc->GetClass<TexPart>("guimap_back_to_menu_fail_down_btn");
TexPart statsTexPart = cc->GetClass<TexPart>("guimap_summary_stats_bg");
TexPart tpNewRecord = cc->GetClass<TexPart>("guimap_new_record");
ret->tpFailed = cc->GetClass<TexPart>("guimap_failed;(");
XMLElement *guidefPanel = cc->GetClass<XMLElement*>("guidef_SummaryScreen");
XMLElement *guidefBG1 = guidefPanel->GetSubElement(0);
XMLElement *guidefBG2 = guidefPanel->GetSubElement(1);
XMLElement *guidefFail = guidefPanel->GetSubElement(2);
XMLElement *guidefTime = guidefPanel->GetSubElement(3);
XMLElement *guidefCredits = guidefPanel->GetSubElement(4);
XMLElement *guidefFails = guidefPanel->GetSubElement(5);
XMLElement *guidefPoints = guidefPanel->GetSubElement(6);
XMLElement *guidefRecord = guidefPanel->GetSubElement(7);
XMLElement *guidefStats = guidefPanel->GetSubElement(8);
ret->bg1X = guidefBG1->GetAttributeInt("posxdiff");
ret->bg1Y = guidefBG1->GetAttributeInt("posydiff");
ret->bg2X = guidefBG2->GetAttributeInt("posxdiff");
ret->bg2Y = guidefBG2->GetAttributeInt("posydiff");
ret->failBottomY = guidefFail->GetAttributeInt("posybottom");
FindMostFrequentColors(imgInfo, ret->color1, ret->color2);
ret->bg1 = cc->GetClass<TexPart>("guimap_summary_bg_1");
ret->bg2 = cc->GetClass<TexPart>("guimap_summary_bg_2");
ret->lblTime = new Label("Time",
defaultFont,
Color(43, 56, 137),
guidefTime->GetAttributeInt("posx"),
guidefTime->GetAttributeInt("posy"));
ret->lblCredits = new Label("Credits",
defaultFont,
Color(43, 56, 137),
guidefCredits->GetAttributeInt("posx"),
guidefCredits->GetAttributeInt("posy"));
ret->lblFails = new Label("Fails",
defaultFont,
Color(43, 56, 137),
guidefFails->GetAttributeInt("posx"),
guidefFails->GetAttributeInt("posy"));
ret->lblPoints = new Label("Points",
defaultFont,
Color(43, 56, 137),
guidefPoints->GetAttributeInt("posx"),
guidefPoints->GetAttributeInt("posy"));
ret->imgNewRecord = new Control(guidefRecord->GetAttributeInt("posx"),
guidefRecord->GetAttributeInt("posy"),
tpNewRecord);
ret->statsControl = new Control((ret->resWidth - statsTexPart.ImageRect.Width) / 2 + guidefStats->GetAttributeInt("posxdiff"),
guidefStats->GetAttributeInt("posy"),
//.........这里部分代码省略.........
示例3: AnimButton
MessageBox::MessageBox(const std::string &message,
Buttons buttons,
Color color)
{
ClassContainer *cc = ClassContainer::GetInstance();
XMLElement *guidefPanel = cc->GetClass<XMLElement*>("guidef_MessageBox");
XMLElement *guidefOkButton = guidefPanel->GetSubElement(0);
XMLElement *guidefCancelButton = guidefPanel->GetSubElement(1);
XMLElement *guidefLabelMsg = guidefPanel->GetSubElement(2);
unsigned resWidth = PixItAll::Environment::GetInstance()->GetScreenWidth();
unsigned resHeight= PixItAll::Environment::GetInstance()->GetScreenHeight();
x = 0;
y = 0;
width = resWidth;
height = resHeight;
FontRenderer *defaultFont = NULL;
ClassContainer::GetInstance()->TryGetClass("defaultFont", defaultFont);
TexPart tpOk = cc->GetClass<TexPart>("guimap_yes");
TexPart tpOkDonw = cc->GetClass<TexPart>("guimap_yes_down");
TexPart tpCancel = cc->GetClass<TexPart>("guimap_no");
TexPart tpCancelDonw = cc->GetClass<TexPart>("guimap_no_down");
TexPart tpMsgBoxBg = cc->GetClass<TexPart>("guimap_msgbox_bg");
btnOk = NULL;
btnCancel = NULL;
if (buttons == Buttons_Ok || buttons == Buttons_OkCancel)
{
btnOk = new AnimButton(tpMsgBoxBg.ImageRect.Width - tpOk.ImageRect.Width - guidefOkButton->GetAttributeInt("posxdiff"),
tpMsgBoxBg.ImageRect.Height - tpOk.ImageRect.Height - guidefOkButton->GetAttributeInt("posydiff"),
tpOk,
tpOkDonw);
}
if (buttons == Buttons_OkCancel)
{
btnCancel = new AnimButton(guidefCancelButton->GetAttributeInt("posxdiff"),
tpMsgBoxBg.ImageRect.Height - tpCancel.ImageRect.Height - guidefCancelButton->GetAttributeInt("posydiff"),
tpCancel,
tpCancelDonw);
}
imgBg = new Control((resWidth - tpMsgBoxBg.ImageRect.Width) / 2 + 6, // +4 for shadow shift
(resHeight - tpMsgBoxBg.ImageRect.Height) / 2,
tpMsgBoxBg.ImageRect.Width,
tpMsgBoxBg.ImageRect.Height,
tpMsgBoxBg);
lblText = new Label(message, defaultFont, color, guidefLabelMsg->GetAttributeInt("posx"), guidefLabelMsg->GetAttributeInt("posy"));
imgBg->AddChild(lblText);
if (btnOk != NULL)
{
imgBg->AddChild(btnOk);
ObsCast(ITouchObserver, btnOk)->AddObserver(this);
}
if (btnCancel != NULL)
{
imgBg->AddChild(btnCancel);
ObsCast(ITouchObserver, btnCancel)->AddObserver(this);
}
AddChild(imgBg);
}
示例4: SelectLevelPanel
SelectLevelPanel *SelectLevelPanel::Create(SelectLevelGameState *selLvlState,
ImagesCollection *imgColl)
{
ClassContainer *cc = ClassContainer::GetInstance();
FontRenderer *defaultFont = NULL;
ClassContainer::GetInstance()->TryGetClass("defaultFont", defaultFont);
SelectLevelPanel *ret = new SelectLevelPanel();
if (ret != NULL)
{
ret->resWidth = PixItAll::Environment::GetInstance()->GetScreenWidth();
ret->resHeight = PixItAll::Environment::GetInstance()->GetScreenHeight();
ret->selLvlGameState = selLvlState;
ret->imgColl = imgColl;
ret ->x = 0;
ret ->y = 0;
ret ->width = ret->resWidth;
ret ->height = ret->resHeight;
sm::Rect<int> bgBounds;
sm::Rect<int> visitBtnBounds;
sm::Rect<int> imgBgBounds;
ret->bg = cc ->GetClass<TexPart>("guimap_main_menu_bg");
ret->imgBg = cc ->GetClass<TexPart>("guimap_img_bg");
TexPart backTexPart = cc->GetClass<TexPart>("guimap_back_btn");
TexPart backDownTexPart = cc->GetClass<TexPart>("guimap_back_down_btn");
TexPart padlock = cc->GetClass<TexPart>("guimap_padlock");
TexPart tpResolved = cc->GetClass<TexPart>("guimap_lvl_resolved");
TexPart tutRibbon = cc->GetClass<TexPart>("guimap_tut_tutorial_ribbon");
ret->lvlInfoBg = cc->GetClass<TexPart>("guimap_lvl_info_bg");
XMLElement *guidefPanel = cc->GetClass<XMLElement*>("guidef_SelectLevelPanel");
XMLElement *guidefLevelInfoBg = guidefPanel->GetSubElement(0);
XMLElement *guidefLabelTitle = guidefPanel->GetSubElement(1);
XMLElement *guidefLabelPoints = guidefPanel->GetSubElement(2);
XMLElement *guidefLabelRes = guidefPanel->GetSubElement(3);
XMLElement *guidefFillRectSize = guidefPanel->GetSubElement(4);
unsigned distanceBetweenImages = guidefPanel->GetAttributeInt("img_dist");
ret->lvlInfoYShift = guidefLevelInfoBg->GetAttributeInt("posy");
ret->btnBack = new AnimButton(10, ret->resHeight - backTexPart.ImageRect.Height - 6,
backTexPart,
backDownTexPart);
ret->lblTitle = new Label("Title",
defaultFont,
Color(43, 56, 137),
100,
guidefLabelTitle->GetAttributeInt("posy"));
ret->lblPoints = new Label("Points",
defaultFont,
Color(43, 56, 137),
100,
guidefLabelPoints->GetAttributeInt("posy"));
ret->lblRes = new Label("Res",
defaultFont,
Color(43, 56, 137),
100,
guidefLabelRes->GetAttributeInt("posy"));
ret->AddChild(ret->btnBack);
ret->AddChild(ret->lblTitle);
ret->AddChild(ret->lblPoints);
ret->AddChild(ret->lblRes);
ObsCast(ITouchObserver, ret->btnBack)->AddObserver(ret);
sm::Point<float> fillRectSize(guidefFillRectSize->GetAttributeInt("width"),
guidefFillRectSize->GetAttributeInt("height"));
int basePos = 0;
std::list<ImageInfo*> &imgInfoList = imgColl->GetImages();
std::list<ImageInfo*>::iterator it;
for (it = imgInfoList.begin(); it != imgInfoList.end(); it++)
{
ImageScrollElement *imgScrollEl = new ImageScrollElement((*it),
sm::Vec2(basePos, 0),
fillRectSize,
spriteBatch,
ret->imgBg,
padlock,
tpResolved,
tutRibbon);
ret->imagesScrollElements.push_back(imgScrollEl);
basePos += distanceBetweenImages + imgScrollEl->GetTotalWidth();
ret->AddChild(imgScrollEl);
ObsCast(ITouchObserver, imgScrollEl) ->AddObserver(ret);
}
}
std::list<ImageScrollElement*>::iterator actImgIt = ret->GetFirstUnlockedUnresolvedLevel();
ret->actImg = (*actImgIt);
//.........这里部分代码省略.........