スタート、結果画面、ボタンを作りたいです。
スタート、結果画面、ボタンを作りたいです。
今作っているゲームでスタート画面がなくすぐにゲームが始まるので、ゲームを開始したらゲーム開始画面がでて、
「はじめから」「つづきから」「オプション」などのボタンがあり、マウスでクリックしたら
「はじめから」:1ステージ目から
「つづきから」:前にやっていた状態から
「オプション」:操作を替えたりできるようにしたい
といった具合にしたいのですが、
http://dixq.net/forum/viewtopic.php?f=3&t=10603
↑を参考にして作ろうと思っているのですが、上記のURLではDXライブラリを使ったものです。
僕はopenframeworksを使用しているので、描画方法や、やり方が違ったりするのかと思い質問させていただきました。
以前質問させていただいたところにソースとヘッダ、画像ファイルがあるので、一応URLを貼らせていただきます
http://dixq.net/forum/viewtopic.php?f=3&t=11318
問題は「つづきから」と「オプション」なのですが、「つづきから」はどうやってゲームの状態を保存しておくのかを知りたいです。
「オプション」は操作方法をクリックして登録したいキーを押すと変わり、割り当てられないキーなら「そのキーは使用できません」という文字を表示したいのですが、
その流れ(アルゴリズム?)をしりたいです。
それと、openframeworksでのボタンの作り方がありましたらお願いします。
もし、上記の参考にしているURL以外で似たような質問で参考にできるようなサイトなどがあれば教えてほしいです。
回答お願いします。
「はじめから」「つづきから」「オプション」などのボタンがあり、マウスでクリックしたら
「はじめから」:1ステージ目から
「つづきから」:前にやっていた状態から
「オプション」:操作を替えたりできるようにしたい
といった具合にしたいのですが、
http://dixq.net/forum/viewtopic.php?f=3&t=10603
↑を参考にして作ろうと思っているのですが、上記のURLではDXライブラリを使ったものです。
僕はopenframeworksを使用しているので、描画方法や、やり方が違ったりするのかと思い質問させていただきました。
以前質問させていただいたところにソースとヘッダ、画像ファイルがあるので、一応URLを貼らせていただきます
http://dixq.net/forum/viewtopic.php?f=3&t=11318
問題は「つづきから」と「オプション」なのですが、「つづきから」はどうやってゲームの状態を保存しておくのかを知りたいです。
「オプション」は操作方法をクリックして登録したいキーを押すと変わり、割り当てられないキーなら「そのキーは使用できません」という文字を表示したいのですが、
その流れ(アルゴリズム?)をしりたいです。
それと、openframeworksでのボタンの作り方がありましたらお願いします。
もし、上記の参考にしているURL以外で似たような質問で参考にできるようなサイトなどがあれば教えてほしいです。
回答お願いします。
Re: スタート、結果画面、ボタンを作りたいです。
openframeworksのことはわからないのですが、
ここで取れる手段は主に2つです。
一つはWinAPIのボタンを表示する。
もう一つは画像を用意し、擬似的にボタンを作る。
おすすめは後者です。
使うFrameworkが変わっても流用できますから。
後者で行う場合、描画処理とマウス入力を受け取る処理がDXライブラリと違うだけで、
基本的な構造は同じです。
ここで取れる手段は主に2つです。
一つはWinAPIのボタンを表示する。
もう一つは画像を用意し、擬似的にボタンを作る。
おすすめは後者です。
使うFrameworkが変わっても流用できますから。
後者で行う場合、描画処理とマウス入力を受け取る処理がDXライブラリと違うだけで、
基本的な構造は同じです。
Re: スタート、結果画面、ボタンを作りたいです。
僕もそう思います。涼雅 さんが書きました:おすすめは後者です。
使うFrameworkが変わっても流用できますから。
openframeworksにもともとあるマウスをクリックした座標をとる関数をつかい、ボタンの画像の座標をつかって涼雅 さんが書きました:後者で行う場合、描画処理とマウス入力を受け取る処理がDXライブラリと違うだけで、
基本的な構造は同じです。
あたり判定をとるという形でいいんですかね?
http://dixq.net/g/03_11.html
ここを参考にしてセーブデータのほうを作ろうと思って下のようなプログラムを組みました。
//----------------------------------------------------------
// セーブ保存先初期化
//----------------------------------------------------------
FILE *fp = fopen( "save_data_01.txt", "w" );
//----保存したいもの
int money = 1000;
fprintf(fp,"現在の所持金は = %d\0",money);
これで実行してもsave_data_01.txtにはなにも書かれていませんでした。
なのでブレークポイントを使ってみるとFILE*fpのところにカーソルを合わせると
「+ fp 0x5383e4f8 {_ptr=0x00000000 <不適切な Ptr> _cnt=0 _base=0x00000000 <不適切な Ptr> ...} _iobuf *」
とでます。
<不適切な Ptr>だけで検索すると、fopenはwindowsコンソールアプリケーションじゃないとだめとかいてあるものが多かったのですが、
僕はopenframeworksのemptyexampleという初期ファイルをコピーしてつかっているのでwindowsコンソールアプリケーションかどうかわかりません。
なので調べる方法はありますか?
それか、これ以外にセーブデータを保存し、ロードできるようなアルゴリズムはありますか?
また、↑のエラーメッセージの意味を教えていただけると幸いです。
ちなみにsave_data_01.txtというファイルはsrc、binフォルダと同じ階層にsave_dataというフォルダを作りそこに保存しています。
Re: スタート、結果画面、ボタンを作りたいです。
ブレークポイントをmoneyかfprintfのところにセットしてみてください。
あと、fprintfにヌル文字\0は必要ありません
あと、fprintfにヌル文字\0は必要ありません
Re: スタート、結果画面、ボタンを作りたいです。
セットしてやってみた結果です。
自動変数のウィンドウに下のように出てました
名前 値 型の順番です。
fp 0x53f1e4f8 {_ptr=0x00000000 <不適切な Ptr> _cnt=0 _base=0x00000000 <不適切な Ptr> ...} _iobuf *
money 1000 int
自動変数のウィンドウに下のように出てました
名前 値 型の順番です。
fp 0x53f1e4f8 {_ptr=0x00000000 <不適切な Ptr> _cnt=0 _base=0x00000000 <不適切な Ptr> ...} _iobuf *
money 1000 int
Re: スタート、結果画面、ボタンを作りたいです。
僕の環境では、問題なく書き込みできました。
また、ブレークポイントでとめた時
同じ「~<不適切な Ptr> _cnt=0 _base=0x00000000 <不適切な Ptr>~」
というものが出ていました。
上記が何を表しているかはわかりませんが。
というか、よくよくみたら実行エラーというわけではないんですね。(勘違い
実行時に、fpをcloseしないでファイルの中身を確認したり
書き込まれていない状態のファイルを開きっぱなしで実行したりしてませんよね?
(それでも書き込めるのかな?
また、ブレークポイントでとめた時
同じ「~<不適切な Ptr> _cnt=0 _base=0x00000000 <不適切な Ptr>~」
というものが出ていました。
上記が何を表しているかはわかりませんが。
というか、よくよくみたら実行エラーというわけではないんですね。(勘違い
実行時に、fpをcloseしないでファイルの中身を確認したり
書き込まれていない状態のファイルを開きっぱなしで実行したりしてませんよね?
(それでも書き込めるのかな?
Re: スタート、結果画面、ボタンを作りたいです。
参考にしたURLにcloseが書いてなかったのですが、使い方としてはどうつかうのでしょうか?トントン さんが書きました:実行時に、fpをcloseしないでファイルの中身を確認したり
書き込まれていない状態のファイルを開きっぱなしで実行したりしてませんよね?
参考にしたとこではfopenとfprintfだけで書き込めるというものだと思っていたのですが・・・・
ファイルは開きっぱなしにしてないですが、書き込みたいファイルの階層は関係ないのでしょうか?
Re: スタート、結果画面、ボタンを作りたいです。
涼雅 さんが書きました:fcloseがないのはまずいです。
openしたら必ずcloseしなければなりません
//----------------------------------------------------------
// セーブ保存先初期化
//----------------------------------------------------------
FILE *fp = fopen( "save_data_01.txt", "w" );
//----保存したいもの
int money = 1000;
fprintf(fp,"現在の所持金は = %d",money);
fclose(fp);
一応実行してみましたがsave_data_01.txtには何も書かれていないですね。
コンソールアプリケーションじゃないのでしょうか?(openframeworksを使っています)
調べる方法はありますか?一応実行したときopenframeworksの描画画面と背景が黒のウィンドウがでます。
Re: スタート、結果画面、ボタンを作りたいです。
fcloseの位置はあっているはずですが。EKISUKE さんが書きました:涼雅 さんが書きました:fcloseがないのはまずいです。
openしたら必ずcloseしなければなりませんこのように書き直してみましたが、fcloseの位置はこれでいいですか?//---------------------------------------------------------- // セーブ保存先初期化 //---------------------------------------------------------- FILE *fp = fopen( "save_data_01.txt", "w" ); //----保存したいもの int money = 1000; fprintf(fp,"現在の所持金は = %d",money); fclose(fp);
一応実行してみましたがsave_data_01.txtには何も書かれていないですね。
コンソールアプリケーションじゃないのでしょうか?(openframeworksを使っています)
調べる方法はありますか?一応実行したときopenframeworksの描画画面と背景が黒のウィンドウがでます。
一応確認のために聞きます。
1.環境を教えてください
2.save_data_01.txtは自動で作成されたものでしょうか? 自分で作成したものでしょうか?
3.save_data_01.txtは読み取り専用ではないでしょうか?
4.openframeworksを使用しない場合どうなるでしょうか?
5.ソースを見せてください。
Re: スタート、結果画面、ボタンを作りたいです。
1 OS :windowsVista 32bit
Visual stadio 2010 C++
Openframeworksで作成
2 自分で作成したものです
3 読み取り専用ではないです。
4 使用しないで新しくコンソールアプリケーションを使用した場合正しくファイルにかきこまれており、階層をかえると、slnとかと同じ階層に作成されました。
5 現段階のソースとヘッダと画像です。8mb以上zipで送信できないのと、アップローダーでも正しくできなかったそうなので(前回の質問で)ここにあげます。
Visual stadio 2010 C++
Openframeworksで作成
2 自分で作成したものです
3 読み取り専用ではないです。
4 使用しないで新しくコンソールアプリケーションを使用した場合正しくファイルにかきこまれており、階層をかえると、slnとかと同じ階層に作成されました。
5 現段階のソースとヘッダと画像です。8mb以上zipで送信できないのと、アップローダーでも正しくできなかったそうなので(前回の質問で)ここにあげます。
Re: スタート、結果画面、ボタンを作りたいです。
上げてもらったファイルでは、きちんと書き込めました。EKISUKE さんが書きました:1 OS :windowsVista 32bit
Visual stadio 2010 C++
Openframeworksで作成
2 自分で作成したものです
3 読み取り専用ではないです。
4 使用しないで新しくコンソールアプリケーションを使用した場合正しくファイルにかきこまれており、階層をかえると、slnとかと同じ階層に作成されました。
5 現段階のソースとヘッダと画像です。8mb以上zipで送信できないのと、アップローダーでも正しくできなかったそうなので(前回の質問で)ここにあげます。
>ちなみにsave_data_01.txtというファイルはsrc、binフォルダと同じ階層にsave_dataというフォルダを作りそこに保存しています。
save_dataというフォルダではなく、他の階層(たとえばbinフォルダ)にsave_data_01.txt
というファイルはありませんか?
Re: スタート、結果画面、ボタンを作りたいです。
すみません。ありました。トントン さんが書きました:>ちなみにsave_data_01.txtというファイルはsrc、binフォルダと同じ階層にsave_dataというフォルダを作りそこに保存しています。
save_dataというフォルダではなく、他の階層(たとえばbinフォルダ)にsave_data_01.txt
というファイルはありませんか?
有難うございます。
この保存先はかえれないのでしょうか?