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