DispEnabled

From SWWorkshop

Jump to: navigation, search

If you want to hide an item on screen. You should write similar to below code.

void GameLoop(){
     if(visible)
         displayItem();
   }

If you use swDispManager service you don't check item visibility. Becouse it's item properties. swDispManager checks visibility.

swDispManagerAdd(xenDisplay,xen,&xen->bVisible,NULL,NULL); //3rd parameter visibility referance pointer.

Image:HideItem.JPG

#include "Xen.h"
 
swApplication dispHowIsInvisible;
Xen *xen=NULL;
swKeyboardState keybState;
int fontID=-1;
 
//-------------------------------------------------------------------------------------------
void GameLoop(){ 
 
	swInputListenKeyboard(&keybState);
	if(keybState.keyS)
		xen->bVisible=TRUE;
	else if(keybState.keyH)
		xen->bVisible=FALSE;
 
 
 
		swGraphicsBeginScene();
			swGraphicsSetBgColor2(&SWCOLOR_GRAY);
			swDispManagerExecute();
			swGraphicsSetColor1(&SWCOLOR_WHITE);
			swGraphicsSetBlendingMode(SW_BLENDING_MODE_ADDITIVE);
			swGraphicsRenderText(fontID,0,25,200,540,0,"KeyS=Show keyH=Hide");
		swGraphicsEndScene();
}
 
 
 
//-------------------------------------------------------------------------------------------
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nShowCmd)
{ 
 
	//Application Settings
	dispHowIsInvisible.hInstance=hInstance;
	dispHowIsInvisible.fullScreen=false;
	dispHowIsInvisible.cursor=true;
	dispHowIsInvisible.width=800;
	dispHowIsInvisible.height=600;
	dispHowIsInvisible.title="Hide Item";
	dispHowIsInvisible.path="\\rsc\\DisplayHowIsInvisible\\";
	dispHowIsInvisible.appRun=GameLoop;
 
	//Application Execution
	swEngineInit(&dispHowIsInvisible);
 
	//Init My Application
	xenInit();
	xen=xenCreate();
	fontID=swGraphicsCreateFont("Font.tga");
	swEngineRun();
	swEngineExit();
 
	return 0;
}
Personal tools