本文整理汇总了C++中WorldMap::GetArea方法的典型用法代码示例。如果您正苦于以下问题:C++ WorldMap::GetArea方法的具体用法?C++ WorldMap::GetArea怎么用?C++ WorldMap::GetArea使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WorldMap
的用法示例。
在下文中一共展示了WorldMap::GetArea方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: AdjustScrolling
void WorldMapControl::AdjustScrolling(short x, short y)
{
WorldMap* worldmap = core->GetWorldMap();
if (x || y) {
ScrollX += x;
ScrollY += y;
} else {
//center worldmap on current area
unsigned entry;
WMPAreaEntry *m = worldmap->GetArea(currentArea,entry);
if (m) {
ScrollX = m->X - Width/2;
ScrollY = m->Y - Height/2;
}
}
Sprite2D *MapMOS = worldmap->GetMapMOS();
if (ScrollX > MapMOS->Width - Width)
ScrollX = MapMOS->Width - Width;
if (ScrollY > MapMOS->Height - Height)
ScrollY = MapMOS->Height - Height;
if (ScrollX < 0)
ScrollX = 0;
if (ScrollY < 0)
ScrollY = 0;
Changed = true;
Area = NULL;
}
示例2:
WorldMapControl::WorldMapControl(const char *font, int direction)
{
ScrollX = 0;
ScrollY = 0;
MouseIsDown = false;
Changed = true;
Area = NULL;
Value = direction;
Game* game = core->GetGame();
WorldMap* worldmap = core->GetWorldMap();
CopyResRef(currentArea, game->CurrentArea);
int entry = core->GetAreaAlias(currentArea);
if (entry >= 0) {
WMPAreaEntry *m = worldmap->GetEntry(entry);
CopyResRef(currentArea, m->AreaResRef);
}
//if there is no trivial area, look harder
if (!worldmap->GetArea(currentArea, (unsigned int &) entry) &&
core->HasFeature(GF_FLEXIBLE_WMAP) ) {
WMPAreaEntry *m = worldmap->FindNearestEntry(currentArea, (unsigned int &) entry);
if (m) {
CopyResRef(currentArea, m->AreaResRef);
}
}
//this also updates visible locations
worldmap->CalculateDistances(currentArea, Value);
// alpha bit is unfortunately ignored
if (font[0]) {
ftext = core->GetFont(font);
} else {
ftext = NULL;
}
// initialize label colors
// NOTE: it would be better to initialize these colors from
// some 2da file
Color normal = { 0xf0, 0xf0, 0xf0, 0xff };
Color selected = { 0xf0, 0x80, 0x80, 0xff };
Color notvisited = { 0x80, 0x80, 0xf0, 0xff };
Color black = { 0x00, 0x00, 0x00, 0x00 };
pal_normal = core->CreatePalette ( normal, black );
pal_selected = core->CreatePalette ( selected, black );
pal_notvisited = core->CreatePalette ( notvisited, black );
ResetEventHandler( WorldMapControlOnPress );
ResetEventHandler( WorldMapControlOnEnter );
}