07月22日 サブキャラクターのウンピーの続きです。 ウンピーをレギュラーにする時点で苦労している点がひとつあります。 それは、もともとの会話のプログラムが、ウンピーがいることを想定してないということです。 ですから、いちいち、ウンピーがいる状態かいない状態かを判別して、会話の内容を変更しなくてはいけません。 ということで、判別には、前回の記述にもあった IsPersonaWindowExists( window ) を利用しています。 実際の使用例としては、 Talk("\eウンピーいるのかなぁ?\c\n" ); if( IsPersonaWindowExists( window ) == true ) // ウインドウがあるかどうか判定する { TalkW( window, "\eいるっピー!\w\n" ); TalkW( window, "どこに目をつけてるっぴよ!\c\n" ); } という感じで、ウンピーがいれば話し、いなければ何も話さないという使いかたをしています。 まだまだ、作業中なのでウンピーがいるのに変な言葉を話したりしていますが、徐々に修正していくつもりです。 |
07月20日 うむ〜、最近は開発話に書くような新しい技がない・・・(汗) でも、何かを書かないといけないと思いましたので・・・ サブキャラクターのウンピーについて書こうかなぁとおもいます ウンピーはタイヤ猫先生のテストプレイにある「複数ウインドウテスト」から変更していきました。 void MultiWindowTest() { if( IsPersonaWindowExists( window ) == false ) // ウインドウがあるかどうか判定する { CreatePersonaWindow( window, NULL );// 新しいウインドウの作成 RegisterMouseUpFunction( window, 0, 1, cMultiWindow_MouseUp ); RegisterPersonaDraggedFunction( window, 0, 1, cMultiWindow_Dragged ); RegisterPersonaDraggedFunction( window, 1, 1, cMultiWindow_Dropped ); // イベントの登録(全て割り込み形式で登録する) SetPersonaPositionXYW( window, GetDisplayWidth() / 2, 0 ); // 表示位置調整 LoadBitmapW( window, "graphics\\normal1.hp3" ); // グラフィックの表示 DisplayImageW( window, 0 ); } } 意味はよくわかりませんが、これで「normal1.hp3」サブキャラクターの画像が表示されるわけです そして、サブキャラクターに話をさせるには、 TalkW( window, "もうひとつのキャラクターウインドウにしゃべらせる\c" ); HideMsgBoxW( window ); // 吹き出しを非表示にする という関数をつかってかきこめば、吹き出しを使い分けることが出来るようです。 |
SEO | [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送 | ||