アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在、DirectX9の勉強のために簡単なノベルゲームを制作しています。
画像やテキストを表示させたりするといった事は出来たのですが、
ノベルゲームらしくテキストが一文字ずつ流れるように表示させたいのですが、
やり方がわからずに困っています。

自分なりに考えてみたのですが、こんなのしか思い浮かびませんでした・・・。

switch( ( timeGetTime() - nowtimedayo ) / 300 ){
case 3: strcpy(buff,"僕"); break;
case 4: strcpy(buff,"僕は"); break;
case 5: strcpy(buff,"僕はこ"); break;
case 6: strcpy(buff,"僕はここ"); break;
case 7: strcpy(buff,"僕はここに"); break;
case 8: strcpy(buff,"僕はここにい"); break;
case 9: strcpy(buff,"僕はここにいる"); break;
}


どうか、お力をお貸しいただけないでしょうか・・・。
宜しくお願い致します。

A 回答 (3件)

すいません。

先に載せたURLがうまくジャンプしてくれませんでした。
これもジャンプしなかったら、"DirectX8による2Dゲームプログラミング講座"でググって下さい。

参考URL:http://rina.jpn.ph/~rance/directx8/11/03.html
    • good
    • 0

こんにちは。

私もOUHOさんと同じことをしていて同じ壁に突き当たったので、僭越ながら参考程度にしかならないとは思いますが助言させて頂きます。
※私の場合、DirectX8なのでもしかしたら実行できないかもしれませんが

"http://rina.jpn.ph/~rance/directx8/index.html"
上記のサイトに文字を表示するサンプルがあるのでこれを実装したとします。
内部に DrawTextA() という関数があります。この関数の第三引数が -1 になっていますがこれは表示する文字列のサイズを表しています。つまり、これをカウンタ等で増加させると第二引数で指定した文字列が一文字ずつ表示されます。

…あまる上手い説明ができなくてすいません。私もDirectXは慣れなくて殆ど把握できてませんのでご容赦ください。
    • good
    • 0

switch~caseは不要。


ヒント。
・文字列を漢字一文字づつに分解する。
・一文字づつ、表示座標を変えて表示する。
・現在表示している文字の先頭からの番号と表示する座標を覚える変数を用意する。
・表示タイミングはSetTimerなどを利用する。
http://wisdom.sakura.ne.jp/system/winapi/win32/w …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!