当前位置: 首页>>代码示例>>C++>>正文


C++ UserClass::GetTextSpeed方法代码示例

本文整理汇总了C++中UserClass::GetTextSpeed方法的典型用法代码示例。如果您正苦于以下问题:C++ UserClass::GetTextSpeed方法的具体用法?C++ UserClass::GetTextSpeed怎么用?C++ UserClass::GetTextSpeed使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在UserClass的用法示例。


在下文中一共展示了UserClass::GetTextSpeed方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: WriteText

/*テキスト描画*/
void TextClass::WriteText(UserClass &User){
	//変数宣言
	static int  WriteCount  = 0;					//書き込み時カウント
	static int  WriteIndex[3] = {0,0,0};			//現在何文字目か
	static int  WriteX = 0;							//書き込みX軸座標
	static int  WriteY = 0;							//書き込みY座標
	static int  OldTextCount;						//前のテキストカウントを取得
	static int  WriteLine;							//描画する行
	int  Length;									//文字数
	int  TmpCount  = 0;								//一時カウンタ
	int  LoopCount = 0;								//ループ用カウンタ
	char WriteText[3];								//書き込み文字

	//定数定義	
	const int DrawX		= 250;							//描画基準X座標						
	const int DrawY		= windowY - windowY / 3 + 50;	//描画基準Y座標
	const int TextSpace = 14;							//文字と文字の間隔
	const int LineSpace = 40;							//行と行の間隔
	const int FontSize  = 28;							//フォントサイズ
	int DrawSpeed;										//文字の描画速度
	

	//文字の描画速度を取得
	if( AutoFlag == 1 ) DrawSpeed = User.GetAutoTextSpeed();
	else				DrawSpeed = User.GetTextSpeed();


	//テキストが進んだら変数初期化
	if( TextCount != OldTextCount ){
		memset(WriteIndex,0,sizeof(WriteIndex));
		WriteCount = 0;
		WriteX     = 0;
		WriteY     = 0;
		WriteLine   = 0;
	}
	//前のテキストカウントを取得(上の初期化のため)
	OldTextCount = TextCount;

	//フォントサイズ
	//SetFontSize(FontSize);

	//現在表示されている文字数だけ表示する(Lineは行数を示し、最大行数分ループする)
	for( int Line=0 ; Line<LineNo[SceneCount][SerifCount] ; Line++ ){

		//描画が完了している行まで描画
		if( Line <= WriteLine ){
			LoopCount = 0;																								//ループカウンタ初期化
			while( LoopCount <= WriteIndex[Line] ){																		//書き込み可能文字数以下なら
				WriteX = LoopCount * TextSpace;																			//描画X座標更新
				WriteText[0] = Text[SceneCount][TextCount+Line][LoopCount];												//1byte目代入
				WriteText[1] = Text[SceneCount][TextCount+Line][LoopCount+1];											//2byte目代入
				WriteText[2] = '\0';																					//ヌル文字を代入
				//DrawStringToHandle(DrawX+WriteX,DrawY + ( LineSpace * Line ),WriteText,GetColor(200,200,200),TextFontHandle);	//一文字描画
				DrawStringShadow(DrawX+WriteX,DrawY + ( LineSpace * Line ),WriteText,GetColor(233,233,233),GetColor(5,5,5));
				LoopCount+=2;																							//一文字分カウントアップ
			}

			Length = Text[SceneCount][TextCount+Line].length()-2;

			//文字列の終端ならば、書き込み行数を更新
			if( Length <= WriteIndex[Line] ){
				WriteLine = Line+1;					//文字列の終端ならば、書き込み行数を更新
			}else if( WriteCount % DrawSpeed == 0 ) WriteIndex[Line]+=2;


			//もしも全文描画終了フラグが立っているならば,描画カウントを最大にする(文字数を代入)
			if( TextGraphEndFlag == 1 ){
				WriteIndex[Line] = Length;
			}
		}
	}
	
	//描画タイミング動機用
	WriteCount++;
	
	//テキストが全て描画されたら、全文描画終了フラグを立てる
	if( WriteLine == LineNo[SceneCount][SerifCount] ) TextGraphEndFlag = 1;

}
开发者ID:kawashi,项目名称:Reverberation,代码行数:80,代码来源:text.cpp


注:本文中的UserClass::GetTextSpeed方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。