Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.84 KB | None | 0 0
  1. #include <DxLib.h>
  2.  
  3. class Str {
  4.     const char *str;
  5.     int frame;
  6.     int pos;
  7.     int count;
  8. public:
  9.     Str(const char *str, int frame)
  10.         : str(str), frame(frame), pos(0), count(0) {}
  11.  
  12.     void drawString(int x, int y, int color) {
  13.         if (count == 0 && str[pos]) pos += 1 + IsDBCSLeadByte(str[pos]);
  14.         if (++count == frame) count = 0;
  15.         DrawFormatString(x, y, color, "%.*s", pos, str);
  16.     }
  17.  
  18.     void reset() { pos = count = 0; }
  19. };
  20.  
  21. int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
  22. {
  23.     SetFontSize(25);                          //サイズを64に変更 ???
  24.     SetFontThickness(10);                     //太さを8に変更 ???
  25.     ChangeFont("MS 明朝");                  //種類をMS明朝に変更
  26.     ChangeFontType(DX_FONTTYPE_ANTIALIASING); //アンチエイリアスフォント
  27.  
  28.     SetGraphMode(780, 680, 32);         // ウィンドウの大きさを指定
  29.     ChangeWindowMode(TRUE);             // 全画面ではなくウインドウを使用
  30.     if (DxLib_Init() == -1) return -1;  // DXライブラリ初期化処理
  31.     SetDrawScreen(DX_SCREEN_BACK);      // 裏画面を使用する設定
  32.  
  33.     SetWindowSizeChangeEnableFlag(FALSE, FALSE);
  34.  
  35.     SetGraphMode(780, 680, 32); // 画面サイズは最大の780*680にしておく
  36.     SetWindowSize(780, 680);    // 最初は 640x480 にしておく ???
  37.  
  38.     int Green = GetColor(0, 255, 0);
  39.  
  40.     Str str1("あいうabc", 50); // 6文字を 50フレームごとに 1文字追加
  41.                                // 全部で 300フレーム(5秒)
  42.     int t = 0;
  43.     while (!ScreenFlip() && !ProcessMessage() && !ClearDrawScreen()) {
  44.         str1.drawString(100, 500, Green);
  45.         if (++t == 60 * 6) { t = 0; str1.reset(); } // 6秒ごとにリセット
  46.     }
  47.  
  48.     DxLib_End(); // DXライブラリ終了処理
  49.     return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement