検索結果 18 件
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: Releaseモードでビルドするとエラーが発生する場合の原因特定方法について
- 返信数: 8
- 閲覧数: 22343
Re: Releaseモードでビルドするとエラーが発生する場合の原因特定方法について
エラーはいつ起きるかわかりませんし、try~catch入れておいて 損はないと思いますよ。 あとはログをまずとるようにしてみるとかじゃないですか? 例えばVCなら下記関数 OutputDebugString( pStr ); でVCに出力できるので、これをラップするなりしてprint関数を自作して そのprint関数にきた文字列をひたすらログファイルに出力するとかですかね。 これならVCでのデバッグ実行とか関係なくログはできるので、 あとはひたすら怪しいポイントに出力仕込んでいけば追っていけると思います。 余談ですが、fwriteはflose呼ばれるに落ちるとファイル書き出してくれないので (...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: 終了処理について
- 返信数: 8
- 閲覧数: 8081
Re: 終了処理について
方法1だろうが方法2だろうが 結果的に変数stateをExitに変更しなくてはいけないという意味では 意味は同じになるような気がします。 ちなみにPCのみの思考でいくなら方法2でもいいですが、 IPhoneなど他のプラットフォームでは基本的に終了処理は正式な手順を踏んで終了させないと いけないため、方法1の正式な終了処理を通すことをお勧めします。 汎用制も高まりますし。 PCではウインドウズの右上の×印が押された際の処理もあるしで (WindowMessageのCloseWindowみたいなメッセージが飛んでくるみたいな仕様でしたが) Stateだけでは限界があるため、 1:Exitフラグみた...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポーズ画面への移動と処理
- 返信数: 11
- 閲覧数: 8874
Re: ポーズ画面への移動と処理
ポインタの説明を一言でするのは難しいです。
そしてpStateのような働きという表現は
少し間違っています。
ひとまず
http://c-production.com/contents/c/sec10.html
上記様のオページなどでポインタについての理解を深めることをお勧めします。
そしてpStateのような働きという表現は
少し間違っています。
ひとまず
http://c-production.com/contents/c/sec10.html
上記様のオページなどでポインタについての理解を深めることをお勧めします。
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポーズ画面への移動と処理
- 返信数: 11
- 閲覧数: 8874
Re: ポーズ画面への移動と処理
連投すいません。とりあえずファイル分割してもできるようになりたいって意味に 感じられたので、一応一例だけ書いておきます。 グローバル変数化は極力避けたほうがいいとおもいますので、引数で変更やりかただと main.hを用意し、その中で enum Screen { GAME_MAIN, GAME_PAUSE }; を定義、Pause.cppでmain.hをincludeし、 void Pause_Check( Screen* pState ) { if(Key[KEY_INPUT_SPACE] == 1) { *pState = GAME_PAUSE; } } void Pause_Screen(...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポーズ画面への移動と処理
- 返信数: 11
- 閲覧数: 8874
Re: ポーズ画面への移動と処理
main.cppのenum Screen{GAME_MAIN, GAME_PAUSE} GameState;と Pause.cppのenum Screen{GAME_MAIN, GAME_PAUSE} GameState;は 別メモリに配置されたものなので、同一のものじゃないからです。 (人間でいうならAさんとBさんは同姓同名ですが別人です) 直すとしたら、GameStateをグローバル変数化してexternする、 またはGet関数を用意してそのグローバル変数の値を返す、 引数にGameState*を渡して直接書き換える、といくつか方法ありますが、 汎用的にシンプルに考えるなら、ポーズの判定部...
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: ポーズ画面への移動と処理
- 返信数: 11
- 閲覧数: 8874
Re: ポーズ画面への移動と処理
一応解決してるようなきがします。
強いていえばGetHitKeyStateAllで
対象のキーが押されている間中1になっているとするならば
1フレーム目はポーズに移行しても、2フレーム目に
押しっぱなし状態が継続され、即座に通常ゲームに戻ちゃうくらいじゃないでしょうか。
人間の感覚で1フレームを押し分けるというのは中々困難です。
仮にそうだとしたらフラグをもたせるなりして制御、
そうじゃなければこんなイメージでいいと思いますよ。
強いていえばGetHitKeyStateAllで
対象のキーが押されている間中1になっているとするならば
1フレーム目はポーズに移行しても、2フレーム目に
押しっぱなし状態が継続され、即座に通常ゲームに戻ちゃうくらいじゃないでしょうか。
人間の感覚で1フレームを押し分けるというのは中々困難です。
仮にそうだとしたらフラグをもたせるなりして制御、
そうじゃなければこんなイメージでいいと思いますよ。
- 13年前
- フォーラム: C言語何でも質問掲示板
- トピック: ゲーム全体で使用する変数を一つのファイルにまとめておきたい。
- 返信数: 4
- 閲覧数: 2290
Re: ゲーム全体で使用する変数を一つのファイルにまとめておきたい。
externやシングルトンでの実装等方法は色々あるでしょうが、 そのへんは好き嫌い別れるところなのでどれでもいいきがします。 一応ざっくりとした例だけ書きます。 #include <stdio.h> class Player { public: Player(){} ~Player(){} void SetAttack( int nAttack ) { m_Attak = nAttack; } int GetAttack() { return m_Attak; } protected: int m_Attak; }; class CGlobal { public: Player* GetPla...
- 14年前
- フォーラム: C言語何でも質問掲示板
- トピック: go
- 返信数: 2
- 閲覧数: 1424
Re: go
datePickerはUIDataPicker?
InterFaceBuilderで作成したDataPickerに
datePicker変数はリンクしているものと仮定していいのでしょうか?
もしそうなら
datePicker.locale = locale_ja;
だけでいけるきがします。
locale_jaにautoreleaseつけてますが、これはいるかどうかちょっと不明です。
UIDataPickerの仕様的にlocale を参照しているだけなら恐らく問題ないですが。
InterFaceBuilderで作成したDataPickerに
datePicker変数はリンクしているものと仮定していいのでしょうか?
もしそうなら
datePicker.locale = locale_ja;
だけでいけるきがします。
locale_jaにautoreleaseつけてますが、これはいるかどうかちょっと不明です。
UIDataPickerの仕様的にlocale を参照しているだけなら恐らく問題ないですが。
- 14年前
- フォーラム: C言語何でも質問掲示板
- トピック: Xcode,Objective-C
- 返信数: 2
- 閲覧数: 1895
Re: Xcode,Objective-C
ちょっと説明するにも、説明する項目が多すぎるのでざっくりと説明します。 文法を見る限り、恐らくIPhone?かなにかだと思いますが、 UIApplicationMainの第3,第4引数にそれぞれUIAplicationクラスを敬称したクラスと Delegateを指定しなければいけません。UIApplicationMain関数に関しては他の参考サイトのほうが ずっと詳しく説明しているのでそちらを参考にしてみてください。 ではなぜnilでも平気なのか、という疑問がでますが、 プロジェクトの***_lnfo.plistを開いて、一番下のMain nib file~~~ という場所に注目してください。...
- 14年前
- フォーラム: C言語何でも質問掲示板
- トピック: 画像の上に文字を表示させたいです
- 返信数: 7
- 閲覧数: 4126
Re: 画像の上に文字を表示させたいです
DXLib使ったことがないペーペーなので、答えていいかわからなかったのですが image = LoadGraph("メッセージウインド.png"); //pngファイルを読み込み、ハンドルをint型変数へ格納 ↑メインループでよんでいることが気になります。 現状メインループをいくらよんでも落ちないのですよね? LoadGraphとかうたっているくらいなので、基本的には画像読み込み時に メモリを消費するわけで、普通は数秒もすれば、いくらメモリの多いPCでも枯渇することが予想されますが、 そうはならないことを考えると、 1:LoadGraphに以前読み込んだ画像がきた場合、image にエラー値が...
- 14年前
- フォーラム: C言語何でも質問掲示板
- トピック: 文字型配列の指定文字の削除について
- 返信数: 8
- 閲覧数: 26098
Re: 文字型配列の指定文字の削除について
Cでの正規表現はめんどくさかったりしますからね。 すごく適当にですが書いてみました。 #define GETPOINTERMODE ( 0 ) #if GETPOINTERMODE == 0 static void DeleteTargetStr( char* pDst, char* pSrc, char TargetStrCode ) { int Cnt = 0; for( int i = 0; i < strlen( pSrc ); i++ ) { if( pSrc[ i ] != TargetStrCode ) pDst[ Cnt++ ] = pSrc[ i ]; } } #else s...
- 14年前
- フォーラム: C言語何でも質問掲示板
- トピック: 自機を敵に向けるプログラムについて
- 返信数: 3
- 閲覧数: 1951
Re: 自機を敵に向けるプログラムについて
これはエラーではなく警告だと思うのですが、コンパイラの警告レベルが高かったりするとエラーになるんでしょうか。 すいません、このあたりはあまり詳しくなかったりします。 原因としては、不動小数点の変数を整数でわっているということです。 具体的にどんなことがおこるかというと、 float temp = 99 / 2; 上記のコードは、不動少数で定義しているので、49.5となるように思えますが、 PCからしたら少数と整数の割り算なので、実際に実行してみると49という数値になってしまいます。 では、どう対処したらいいか float temp = 99 / 2.0f; // or float temp =...
- 14年前
- フォーラム: C言語何でも質問掲示板
- トピック: タイマーの作り方について・・・
- 返信数: 9
- 閲覧数: 10770
Re: タイマーの作り方について・・・
まずゲームフレームでとるか、リアルな世界の経過時間でとりたいかで実装は違ってしまいます。 リアルな時間の場合には struct TIMER { void Start() { ::QueryPerformanceFrequency( &Freq ); ::QueryPerformanceCounter( &Begin ); } void End() { ::QueryPerformanceCounter( &End ); } // ミリ秒で取得 float GetTimeMilliSeconds() { return static_cast< float>( End.QuadPart - Beg...
- 14年前
- フォーラム: C言語何でも質問掲示板
- トピック: プログラマーの寿命
- 返信数: 5
- 閲覧数: 4743
Re: プログラマーの寿命
こんばんわ。 一応自分はゲームプログラマなのですが、ここで聞いているのはゲームプログラマのことなのでしょうか? とりあえずゲームプログラマに関して簡単に説明しますと、 ゲーム業界にはIT業界のようにSEという職業は存在しないのが一般的だと思います。 少なくともうちの会社にはいません。 なので、プログラムを数年やったらSEに転向、という流れもないので、 やっている人はそれこそ60歳の現役プログラマも存在します。 あと、世間的には地獄?とか色々と言われていますが、 マスターアップ前、いわゆる納期前は確かにそんな時期も確かに存在します。 (基本的に時間にルーズな人が多いので、寝坊して結果的に夜遅くま...
- 14年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++のクラスについて
- 返信数: 9
- 閲覧数: 7792
Re: C++のクラスについて
そうですね、簡単に書くと(あくまで一例として受け取っていただきたいのですが) enum { OBJTYPE_PLAYER = 0, }; class BasObj { public: BasObj() { } virtual ~BasObj() { } virtual int GetPositionX() { return m_PosX; } virtual int GetType() = 0; private int m_PosX; }; class Player : public BasObj { public: Player() { } virtual ~Player() { } vir...
- 14年前
- フォーラム: C言語何でも質問掲示板
- トピック: プログラムを作るとき
- 返信数: 6
- 閲覧数: 3480
Re: プログラムを作るとき
基本的にはわからないものに関しては本やサイトを見ないとできないですね・・
行列の掛け算、こう掛け合わせるとWorldMatirxができる、など
数学者やその道のプロによって証明されてきたもの、
DirectXが提供しているAPIなどなど、どうしても個人で調べずにやるには
限界があると思います。
"本やサイトを見る"ことによって"本やサイトを見ない"
で問題が解決しないよりかは遥かにましかなぁとは思います。
少なくとも"本やサイトを見る"という行為で解決できるということは
どうすればいいかの目的字体は見失っていないということなので、
どんどん積極的に情報は取得していくべきと個人的には思います。
行列の掛け算、こう掛け合わせるとWorldMatirxができる、など
数学者やその道のプロによって証明されてきたもの、
DirectXが提供しているAPIなどなど、どうしても個人で調べずにやるには
限界があると思います。
"本やサイトを見る"ことによって"本やサイトを見ない"
で問題が解決しないよりかは遥かにましかなぁとは思います。
少なくとも"本やサイトを見る"という行為で解決できるということは
どうすればいいかの目的字体は見失っていないということなので、
どんどん積極的に情報は取得していくべきと個人的には思います。
- 14年前
- フォーラム: C言語何でも質問掲示板
- トピック: C++のクラスについて
- 返信数: 9
- 閲覧数: 7792
Re: C++のクラスについて
こんにちは。 私はシングルトンでやっちゃってますね。 下記のコードでは厳密にはシングルトンではないですが、それっぽく //キーボードクラス class Keyboard{ private: int key[256]; public: static void Keyboard* getInstance() { static Keyboard s_KeyBoard; return &s_KeyBoard; } void Key_Update(); int Key_Get(int KeyCode); }; 例えばこんな方法でもいいかと思います。 重要なのはキーパッドのように、例えプレイヤーがいなくて...
- 14年前
- フォーラム: C言語何でも質問掲示板
- トピック: IPhoneアプリ -本体標準カレンダーの情報の取得に関して-
- 返信数: 1
- 閲覧数: 1212
Re: IPhoneアプリ -本体標準カレンダーの情報の取得に関して-
すいません、googleデータにアクセスするためのAPIが提供されているのをみつけ
自主解決できました。
どうもお騒がせしました。
自主解決できました。
どうもお騒がせしました。