本文整理汇总了C++中BindSprite函数的典型用法代码示例。如果您正苦于以下问题:C++ BindSprite函数的具体用法?C++ BindSprite怎么用?C++ BindSprite使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了BindSprite函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: HideScreen
/*
========================
idMenuScreen::HideScreen
========================
*/
void idMenuScreen::HideScreen( const mainMenuTransition_t transitionType )
{
if( menuGUI == NULL )
{
return;
}
if( !BindSprite( menuGUI->GetRootObject() ) )
{
return;
}
if( transitionType == MENU_TRANSITION_SIMPLE )
{
GetSprite()->PlayFrame( "rollOff" );
}
else if( transitionType == MENU_TRANSITION_ADVANCE )
{
GetSprite()->PlayFrame( "rollOffBack" );
}
else
{
GetSprite()->PlayFrame( "rollOffFront" );
}
Update();
}
示例2: GetSWFObject
/*
========================
idMenuWidget_DynamicList::Update
========================
*/
void idMenuWidget_DynamicList::Update() {
if ( GetSWFObject() == NULL ) {
return;
}
idSWFScriptObject & root = GetSWFObject()->GetRootObject();
if ( !BindSprite( root ) ) {
return;
}
for ( int optionIndex = 0; optionIndex < GetNumVisibleOptions(); ++optionIndex ) {
if ( optionIndex >= children.Num() ) {
idSWFSpriteInstance * item = GetSprite()->GetScriptObject()->GetNestedSprite( va( "item%d", optionIndex ) );
if ( item != NULL ) {
item->SetVisible( false );
continue;
}
}
idMenuWidget & child = GetChildByIndex( optionIndex );
const int childIndex = GetViewOffset() + optionIndex;
bool shown = false;
child.SetSpritePath( GetSpritePath(), va( "item%d", optionIndex ) );
if ( child.BindSprite( root ) ) {
if ( optionIndex >= GetTotalNumberOfOptions() ) {
child.ClearSprite();
continue;
} else {
//const int controlIndex = GetNumVisibleOptions() - Min( GetNumVisibleOptions(), GetTotalNumberOfOptions() ) + optionIndex;
shown = PrepareListElement( child, childIndex );
child.Update();
}
if ( !shown ) {
child.SetState( WIDGET_STATE_HIDDEN );
} else {
if ( optionIndex == focusIndex ) {
child.SetState( WIDGET_STATE_SELECTING );
} else {
child.SetState( WIDGET_STATE_NORMAL );
}
}
}
}
idSWFSpriteInstance * const upSprite = GetSprite()->GetScriptObject()->GetSprite( "upIndicator" );
if ( upSprite != NULL ) {
upSprite->SetVisible( GetViewOffset() > 0 );
}
idSWFSpriteInstance * const downSprite = GetSprite()->GetScriptObject()->GetSprite( "downIndicator" );
if ( downSprite != NULL ) {
downSprite->SetVisible( GetViewOffset() + GetNumVisibleOptions() < GetTotalNumberOfOptions() );
}
}
示例3: GetSWFObject
/*
========================
idMenuScreen_Shell_PressStart::ShowScreen
========================
*/
void idMenuScreen_Shell_PressStart::ShowScreen( const mainMenuTransition_t transitionType )
{
idSWFScriptObject& root = GetSWFObject()->GetRootObject();
if( BindSprite( root ) )
{
if( g_demoMode.GetBool() )
{
idList<const idMaterial*> coverIcons;
if( itemList != NULL )
{
itemList->SetListImages( coverIcons );
}
if( startButton != NULL )
{
startButton->BindSprite( root );
startButton->SetLabel( idLocalization::GetString( "#str_swf_press_start" ) );
}
idSWFSpriteInstance* backing = GetSprite()->GetScriptObject()->GetNestedSprite( "backing" );
if( backing != NULL )
{
backing->SetVisible( false );
}
}
else
{
idList<const idMaterial*> coverIcons;
coverIcons.Append( doom3Cover );
if( itemList != NULL )
{
itemList->SetListImages( coverIcons );
itemList->SetFocusIndex( 1, true );
itemList->SetViewIndex( 1 );
itemList->SetMoveToIndex( 1 );
}
if( startButton != NULL )
{
startButton->BindSprite( root );
startButton->SetLabel( "" );
}
idSWFSpriteInstance* backing = GetSprite()->GetScriptObject()->GetNestedSprite( "backing" );
if( backing != NULL )
{
backing->SetVisible( true );
}
}
}
idMenuScreen::ShowScreen( transitionType );
}
示例4: GetSWFObject
/*
========================
idMenuWidget_InfoBox::Update
========================
*/
void idMenuWidget_InfoBox::Update() {
if ( GetSWFObject() == NULL ) {
return;
}
idSWFScriptObject & root = GetSWFObject()->GetRootObject();
if ( !BindSprite( root ) || GetSprite() == NULL ) {
return;
}
idSWFTextInstance * txtHeading = GetSprite()->GetScriptObject()->GetNestedText( "info", "heading", "txtVal" );
idSWFTextInstance * txtBody = GetSprite()->GetScriptObject()->GetNestedText( "info", "txtBody" );
if ( txtHeading != NULL ) {
txtHeading->SetText( heading );
}
if ( txtBody != NULL ) {
txtBody->SetText( info );
}
if ( scrollbar != NULL && txtBody != NULL ) {
txtBody->CalcMaxScroll();
scrollbar->Update();
}
idSWFScriptObject * info = GetSprite()->GetScriptObject()->GetNestedObj( "info" );
if ( info != NULL ) {
info->Set( "onRollOver", new ( TAG_SWF ) WrapWidgetSWFEvent( this, WIDGET_EVENT_ROLL_OVER, 0 ) );
info->Set( "onRollOut", new ( TAG_SWF ) WrapWidgetSWFEvent( this, WIDGET_EVENT_ROLL_OUT, 0 ) );
}
}
示例5: UpdateSaveEnumerations
/*
========================
idMenuScreen_Shell_Save::Update
========================
*/
void idMenuScreen_Shell_Save::Update()
{
UpdateSaveEnumerations();
idSWFScriptObject& root = GetSWFObject()->GetRootObject();
if( BindSprite( root ) )
{
idSWFTextInstance* heading = GetSprite()->GetScriptObject()->GetNestedText( "info", "txtHeading" );
if( heading != NULL )
{
heading->SetText( "#str_02179" ); // SAVE GAME
heading->SetStrokeInfo( true, 0.75f, 1.75f );
}
idSWFSpriteInstance* gradient = GetSprite()->GetScriptObject()->GetNestedSprite( "info", "gradient" );
if( gradient != NULL && heading != NULL )
{
gradient->SetXPos( heading->GetTextLength() );
}
}
if( btnBack != NULL )
{
btnBack->BindSprite( root );
}
idMenuScreen::Update();
}
示例6: GetSWFObject
/*
========================
idMenuScreen_Scoreboard::UpdateSpectating
========================
*/
void idMenuScreen_Scoreboard::UpdateSpectating( idStr spectating, idStr follow )
{
if( GetSWFObject() )
{
idSWFScriptObject& root = GetSWFObject()->GetRootObject();
if( BindSprite( root ) )
{
idSWFTextInstance* txtVal = GetSprite()->GetScriptObject()->GetNestedText( "info", "txtSpectating" );
if( txtVal != NULL )
{
txtVal->tooltip = true;
txtVal->SetText( spectating );
txtVal->SetStrokeInfo( true, 0.75f, 1.75f );
}
txtVal = GetSprite()->GetScriptObject()->GetNestedText( "info", "txtFollow" );
if( txtVal != NULL )
{
txtVal->SetText( follow );
txtVal->SetStrokeInfo( true, 0.75f, 1.75f );
}
}
}
}
示例7: GetSWFObject
/*
========================
idMenuWidget_ScrollBar::CalcTopAndBottom
========================
*/
void idMenuWidget_ScrollBar::CalcTopAndBottom() {
if ( GetSWFObject() == NULL ) {
return;
}
idSWFScriptObject & root = GetSWFObject()->GetRootObject();
if ( !BindSprite( root ) || GetSprite() == NULL ) {
return;
}
int tempPos = 0.0f;
idSWFSpriteInstance * curMC = GetSprite()->GetScriptObject()->GetNestedSprite( "top" );
if ( curMC != NULL ) {
tempPos = curMC->GetYPos();
while ( curMC->parent != NULL ) {
curMC = curMC->parent;
tempPos += curMC->GetYPos();
}
}
yTop = tempPos;
tempPos = 0.0f;
curMC = GetSprite()->GetScriptObject()->GetNestedSprite( "bottom" );
if ( curMC != NULL ) {
tempPos = curMC->GetYPos();
while ( curMC->parent != NULL ) {
curMC = curMC->parent;
tempPos += curMC->GetYPos();
}
}
yBot = tempPos;
}
示例8: GetSWFObject
/*
========================
idMenuWidget_MenuBar::Update
========================
*/
void idMenuWidget_MenuBar::Update()
{
if( GetSWFObject() == NULL )
{
return;
}
idSWFScriptObject& root = GetSWFObject()->GetRootObject();
if( !BindSprite( root ) )
{
return;
}
totalWidth = 0.0f;
buttonPos = 0.0f;
for( int index = 0; index < GetNumVisibleOptions(); ++index )
{
if( index >= children.Num() )
{
break;
}
if( index != 0 )
{
totalWidth += rightSpacer;
}
idMenuWidget& child = GetChildByIndex( index );
child.SetSpritePath( GetSpritePath(), va( "btn%d", index ) );
if( child.BindSprite( root ) )
{
PrepareListElement( child, index );
child.Update();
}
}
// 640 is half the size of our flash files width
float xPos = 640.0f - ( totalWidth / 2.0f );
GetSprite()->SetXPos( xPos );
idSWFSpriteInstance* backing = GetSprite()->GetScriptObject()->GetNestedSprite( "backing" );
if( backing != NULL )
{
if( menuData != NULL && menuData->GetPlatform() != 2 )
{
backing->SetVisible( false );
}
else
{
backing->SetVisible( true );
backing->SetXPos( totalWidth / 2.0f );
}
}
}
示例9: GetSWFObject
/*
========================
idMenuScreen_Shell_Leaderboards::Update
========================
*/
void idMenuScreen_Shell_Leaderboards::Update()
{
if( menuData != NULL )
{
idMenuWidget_CommandBar* cmdBar = menuData->GetCmdBar();
if( cmdBar != NULL )
{
cmdBar->ClearAllButtons();
idMenuWidget_CommandBar::buttonInfo_t* buttonInfo;
buttonInfo = cmdBar->GetButton( idMenuWidget_CommandBar::BUTTON_JOY2 );
if( menuData->GetPlatform() != 2 )
{
buttonInfo->label = "#str_00395";
}
buttonInfo->action.Set( WIDGET_ACTION_GO_BACK );
buttonInfo = cmdBar->GetButton( idMenuWidget_CommandBar::BUTTON_JOY3 );
buttonInfo->label = "#str_online_leaderboards_toggle_filter";
buttonInfo->action.Set( WIDGET_ACTION_JOY3_ON_PRESS );
if( !lbCache->IsLoadingNewLeaderboard() && !lbCache->IsRequestingRows() && options != NULL && options->GetTotalNumberOfOptions() > 0 )
{
buttonInfo = cmdBar->GetButton( idMenuWidget_CommandBar::BUTTON_JOY1 );
if( menuData->GetPlatform() != 2 )
{
buttonInfo->label = "#str_swf_view_profile";
}
buttonInfo->action.Set( WIDGET_ACTION_PRESS_FOCUSED );
}
}
}
idSWFScriptObject& root = GetSWFObject()->GetRootObject();
if( BindSprite( root ) )
{
idSWFTextInstance* heading = GetSprite()->GetScriptObject()->GetNestedText( "info", "txtHeading" );
if( heading != NULL )
{
heading->SetText( lbCache->GetFilterStrType() );
heading->SetStrokeInfo( true, 0.75f, 1.75f );
}
idSWFSpriteInstance* gradient = GetSprite()->GetScriptObject()->GetNestedSprite( "info", "gradient" );
if( gradient != NULL && heading != NULL )
{
gradient->SetXPos( heading->GetTextLength() );
}
}
if( btnBack != NULL )
{
btnBack->BindSprite( root );
}
idMenuScreen::Update();
}
示例10: GetSWFObject
/*
========================
idMenuScreen_Shell_ControllerLayout::Update
========================
*/
void idMenuScreen_Shell_ControllerLayout::Update() {
if ( menuData != NULL ) {
idMenuWidget_CommandBar * cmdBar = menuData->GetCmdBar();
if ( cmdBar != NULL ) {
cmdBar->ClearAllButtons();
idMenuWidget_CommandBar::buttonInfo_t * buttonInfo;
buttonInfo = cmdBar->GetButton( idMenuWidget_CommandBar::BUTTON_JOY2 );
if ( menuData->GetPlatform() != 2 ) {
buttonInfo->label = "#str_00395";
}
buttonInfo->action.Set( WIDGET_ACTION_GO_BACK );
buttonInfo = cmdBar->GetButton( idMenuWidget_CommandBar::BUTTON_JOY1 );
buttonInfo->action.Set( WIDGET_ACTION_PRESS_FOCUSED );
}
}
idSWFScriptObject & root = GetSWFObject()->GetRootObject();
if ( BindSprite( root ) ) {
idSWFTextInstance * heading = GetSprite()->GetScriptObject()->GetNestedText( "info", "txtHeading" );
if ( heading != NULL ) {
heading->SetText( "#str_swf_controller_layout" ); // CONTROLLER LAYOUT
heading->SetStrokeInfo( true, 0.75f, 1.75f );
}
idSWFSpriteInstance * gradient = GetSprite()->GetScriptObject()->GetNestedSprite( "info", "gradient" );
if ( gradient != NULL && heading != NULL ) {
gradient->SetXPos( heading->GetTextLength() );
}
if ( menuData != NULL ) {
idSWFSpriteInstance * layout = NULL;
layout = GetSprite()->GetScriptObject()->GetNestedSprite( "info", "controlInfo", "layout360" );
if ( layout != NULL ) {
if ( menuData->GetPlatform( true ) == 2 ) {
layout->StopFrame( 1 );
} else {
layout->StopFrame( menuData->GetPlatform( true ) + 1 );
}
}
}
}
if ( btnBack != NULL ) {
btnBack->BindSprite( root );
}
idMenuScreen::Update();
}
示例11: GetSWFObject
void idMenuWidget_PDA_VideoInfo::Update()
{
if( GetSWFObject() == NULL )
{
return;
}
idSWFScriptObject& root = GetSWFObject()->GetRootObject();
if( !BindSprite( root ) || GetSprite() == NULL )
{
return;
}
idPlayer* player = gameLocal.GetLocalPlayer();
if( player == NULL )
{
return;
}
idSWFTextInstance* txtHeading = GetSprite()->GetScriptObject()->GetNestedText( "txtName" );
idSWFTextInstance* txtInfo = GetSprite()->GetScriptObject()->GetNestedText( "txtInfo" );
int numVideos = player->GetInventory().videos.Num();
if( numVideos != 0 )
{
const idDeclVideo* video = player->GetVideo( videoIndex );
if( video != NULL )
{
if( txtHeading != NULL )
{
txtHeading->SetText( video->GetVideoName() );
}
if( txtInfo != NULL )
{
txtInfo->SetText( video->GetInfo() );
}
}
}
else
{
if( txtHeading != NULL )
{
txtHeading->SetText( "" );
}
if( txtInfo != NULL )
{
txtInfo->SetText( "" );
}
}
}
示例12: GetSWFObject
/*
========================
idMenuScreen_Shell_Controls::Update
========================
*/
void idMenuScreen_Shell_Controls::Update()
{
if( menuData != NULL )
{
idMenuWidget_CommandBar* cmdBar = menuData->GetCmdBar();
if( cmdBar != NULL )
{
cmdBar->ClearAllButtons();
idMenuWidget_CommandBar::buttonInfo_t* buttonInfo;
buttonInfo = cmdBar->GetButton( idMenuWidget_CommandBar::BUTTON_JOY2 );
if( menuData->GetPlatform() != 2 )
{
buttonInfo->label = "#str_00395";
}
buttonInfo->action.Set( WIDGET_ACTION_GO_BACK );
buttonInfo = cmdBar->GetButton( idMenuWidget_CommandBar::BUTTON_JOY1 );
if( menuData->GetPlatform() != 2 )
{
buttonInfo->label = "#str_SWF_SELECT";
}
buttonInfo->action.Set( WIDGET_ACTION_PRESS_FOCUSED );
}
}
idSWFScriptObject& root = GetSWFObject()->GetRootObject();
if( BindSprite( root ) )
{
idSWFTextInstance* heading = GetSprite()->GetScriptObject()->GetNestedText( "info", "txtHeading" );
if( heading != NULL )
{
idStr controls( idLocalization::GetString( "#str_04158" ) );
controls.ToUpper();
heading->SetText( controls ); // CONTROLS
heading->SetStrokeInfo( true, 0.75f, 1.75f );
}
idSWFSpriteInstance* gradient = GetSprite()->GetScriptObject()->GetNestedSprite( "info", "gradient" );
if( gradient != NULL && heading != NULL )
{
gradient->SetXPos( heading->GetTextLength() );
}
}
if( btnBack != NULL )
{
btnBack->BindSprite( root );
}
idMenuScreen::Update();
}
示例13: GetSWFObject
/*
========================
idMenuScreen_Scoreboard::UpdateGameInfo
========================
*/
void idMenuScreen_Scoreboard::UpdateGameInfo( idStr gameInfo ) {
if ( GetSWFObject() ) {
idSWFScriptObject & root = GetSWFObject()->GetRootObject();
if ( BindSprite( root ) ) {
idSWFTextInstance * txtVal = GetSprite()->GetScriptObject()->GetNestedText( "info", "txtGameInfo" );
if ( txtVal != NULL ) {
txtVal->SetText( gameInfo );
txtVal->SetStrokeInfo( true, 0.75f, 1.75f );
}
}
}
}
示例14: GetSWFObject
/*
========================
idMenuWidget_LobbyList::Update
========================
*/
void idMenuWidget_LobbyList::Update()
{
if( GetSWFObject() == NULL )
{
return;
}
idSWFScriptObject& root = GetSWFObject()->GetRootObject();
if( !BindSprite( root ) )
{
return;
}
for( int i = 0; i < headings.Num(); ++i )
{
idSWFTextInstance* txtHeading = GetSprite()->GetScriptObject()->GetNestedText( va( "heading%d", i ) );
if( txtHeading != NULL )
{
txtHeading->SetText( headings[i] );
txtHeading->SetStrokeInfo( true, 0.75f, 1.75f );
}
}
for( int optionIndex = 0; optionIndex < GetNumVisibleOptions(); ++optionIndex )
{
bool shown = false;
if( optionIndex < GetChildren().Num() )
{
idMenuWidget& child = GetChildByIndex( optionIndex );
child.SetSpritePath( GetSpritePath(), va( "item%d", optionIndex ) );
if( child.BindSprite( root ) )
{
shown = PrepareListElement( child, optionIndex );
if( shown )
{
child.GetSprite()->SetVisible( true );
child.Update();
}
else
{
child.GetSprite()->SetVisible( false );
}
}
}
}
}
示例15: AddEventAction
/*
========================
idMenuScreen_PDA_Inventory::Initialize
========================
*/
void idMenuScreen_PDA_Inventory::Initialize( idMenuHandler * data ) {
AddEventAction( WIDGET_EVENT_TAB_NEXT ).Set( new (TAG_SWF) idWidgetActionHandler( this, WIDGET_ACTION_EVENT_TAB_NEXT, WIDGET_EVENT_TAB_NEXT ) );
AddEventAction( WIDGET_EVENT_TAB_PREV ).Set( new (TAG_SWF) idWidgetActionHandler( this, WIDGET_ACTION_EVENT_TAB_PREV, WIDGET_EVENT_TAB_PREV ) );
if ( data != NULL ) {
menuGUI = data->GetGUI();
}
SetSpritePath( "menuItems" );
if ( menuGUI != NULL ) {
idSWFScriptObject & root = menuGUI->GetRootObject();
BindSprite( root );
}
infoBox.SetSpritePath( GetSpritePath(), "info", "details" );
infoBox.Initialize( data );
infoBox.SetNoAutoFree( true );
itemList.SetSpritePath( GetSpritePath(), "info", "options" );
itemList.SetNumVisibleOptions( NUM_INVENTORY_ITEMS_VISIBLE );
itemList.SetNoAutoFree( true );
while ( itemList.GetChildren().Num() < NUM_INVENTORY_ITEMS_VISIBLE ) {
idMenuWidget_Button * const buttonWidget = new (TAG_SWF) idMenuWidget_Button();
buttonWidget->Initialize( data );
buttonWidget->AddEventAction( WIDGET_EVENT_PRESS ).Set( WIDGET_ACTION_SELECT_PDA_ITEM, itemList.GetChildren().Num() );
itemList.AddChild( buttonWidget );
}
itemList.Initialize( data );
AddChild( &itemList );
AddChild( &infoBox );
//AddChild( assignment );
AddEventAction( WIDGET_EVENT_SCROLL_LEFT ).Set( new (TAG_SWF) idWidgetActionHandler( this, WIDGET_ACTION_EVENT_SCROLL_LEFT_START_REPEATER, WIDGET_EVENT_SCROLL_LEFT ) );
AddEventAction( WIDGET_EVENT_SCROLL_RIGHT ).Set( new (TAG_SWF) idWidgetActionHandler( this, WIDGET_ACTION_EVENT_SCROLL_RIGHT_START_REPEATER, WIDGET_EVENT_SCROLL_RIGHT ) );
AddEventAction( WIDGET_EVENT_SCROLL_LEFT_RELEASE ).Set( new (TAG_SWF) idWidgetActionHandler( this, WIDGET_ACTION_EVENT_STOP_REPEATER, WIDGET_EVENT_SCROLL_LEFT_RELEASE ) );
AddEventAction( WIDGET_EVENT_SCROLL_RIGHT_RELEASE ).Set( new (TAG_SWF) idWidgetActionHandler( this, WIDGET_ACTION_EVENT_STOP_REPEATER, WIDGET_EVENT_SCROLL_RIGHT_RELEASE ) );
AddEventAction( WIDGET_EVENT_SCROLL_LEFT_LSTICK ).Set( new (TAG_SWF) idWidgetActionHandler( this, WIDGET_ACTION_EVENT_SCROLL_LEFT_START_REPEATER, WIDGET_EVENT_SCROLL_LEFT_LSTICK ) );
AddEventAction( WIDGET_EVENT_SCROLL_RIGHT_LSTICK ).Set( new (TAG_SWF) idWidgetActionHandler( this, WIDGET_ACTION_EVENT_SCROLL_RIGHT_START_REPEATER, WIDGET_EVENT_SCROLL_RIGHT_LSTICK ) );
AddEventAction( WIDGET_EVENT_SCROLL_LEFT_LSTICK_RELEASE ).Set( new (TAG_SWF) idWidgetActionHandler( this, WIDGET_ACTION_EVENT_STOP_REPEATER, WIDGET_EVENT_SCROLL_LEFT_LSTICK_RELEASE ) );
AddEventAction( WIDGET_EVENT_SCROLL_RIGHT_LSTICK_RELEASE ).Set( new (TAG_SWF) idWidgetActionHandler( this, WIDGET_ACTION_EVENT_STOP_REPEATER, WIDGET_EVENT_SCROLL_RIGHT_LSTICK_RELEASE ) );
idMenuScreen::Initialize( data );
}