aris-wiz の回答履歴
- うまく表示されない。(API・C言語)
C言語でAPIのプログラミングを行っている者です。 ソースはこちらとなります。 http://onegaisimasune.web.fc2.com/main6.txt mux2.vはこちらです。 http://onegaisimasune.web.fc2.com/main5.txt そこで、二つ程今のとこバグがあり、 1つ目は何度かウィンドウ上で左クリックしていると、 23回目くらいの所でウィンドウ上の文字が消えてしまう、 と言う問題と、 2つめはウィンドウを画面の外に追い出すと ウィンドウ上の文字が消えてしまうというものです。 どこが問題なのか、ご指摘願います。 どうか宜しくお願い致します。
- ベストアンサー
- C・C++・C#
- noname#142813
- 回答数5
- recv関数の戻り値について
おせわになります。 socket関数(WinSock2)のrecv関数のことで質問なのですが、 第4引数にMSG_PEEKを指定したときと、指定しない時(=0) の戻り値が、明らかに違うのです。 実際は、20000バイトを送信し、受信側でrecvすると、 MSG_PEEKを指定すると、8760が返り、 MSG_PEEKを指定しない(=0)と、20000が返ります。 (もっと試して、200000と10倍にしても一回で受信しました。) recvが一度に受信できる容量のテストをしていたときに発見したのですが、こういうものなのでしょうか? 以上、よろしくおねがいします。
- 以下のプログラムで出力が*adrs=9,0となるのはなぜでしょうか?
以下のプログラムで出力が*adrs=9,0となるのはなぜでしょうか? for(adrs=(unsigned long *)0x1100;adrs<(unsigned long *)0x1200;adrs++){ sprintf(log_buff1,"*adrs=%d,%x",*adrs,adrs); gotoxy(0, 0); printf(log_buff1); delay(50); }
- X window systemの魅力
ずばり、X window systemの魅力とはなんですか? Cygwinでも事足りる気がするんですが・・・・
- 締切済み
- C・C++・C#
- noname#45110
- 回答数5
- C言語ゲーム製作中 ソース公開
プレイヤーが画面を四方八方に移動までです。コードを一通り見ていただきたいです 現在、定番で見やすいプログラムを意識しています。又、今後質問が宜しく願います 以下よりダウンロードです(実行ファイル、ソースコード(268ステップ)等) http://gamdev.org/up/img/10406.lzh 環境 OS:VISTS、統合開発環境:VC++2005 EE、言語:C ライブラリ:DXライブラリ、 ----------------------------------------------------------------- 前回の質問時の修正としてコメント、マジックナンバー、メイン3分割等を行った。 ファイルは分割せずに1ファイルにまとめています。 ----------------------------------------------------------------- 聞きたい優先順位(下に行くほど無視してもよいです) 1: 以下の164行目と166行目のマジックナンバーを#define or typedef enum or それ以外の方法はあるのか… 赤、緑、青 SetTransColor( 255 , 255 , 255 ) ; // 透過色を変更 *strclr = GetColor( 255 , 255 , 255 ) ; // 白色の値を取得 2: WinMain関数で多くのローカル変数を宣言しているが他の関数でやったほうがいいか struct player ply や int KeyStat[KET_MAX] を他のローカルで宣言するとstaticに しなければいけないとか考えてしまいます。メインで宣言したほうが都合が良さそうと思っていますが… 他に気になった点、こうしたほうがいい等、色々な意見を願います <(_ _)>
- C言語ゲーム製作途中(勉強中)
プレイヤーが画面を四方八方に移動まで。コードを一通り見ていただきたいです 現在、定番で見やすいプログラムを意識しています。又、今後質問が宜しく願います 以下よりダウンロードです(実行ファイル、ソースコード(234行)等) http://gamdev.org/up/img/10376.lzh 環境 OS:VISTS、統合開発環境:VC++2005 EE、言語:C ライブラリ:DXライブラリ、画像エディタ:ペイント、 自動作曲:Random various music v1.5、MP3変換ソフト:iTunes 聞きたい優先順位(下に行くほど無視してもよいです) (1) 関数名(頭は大文字)、変数名(全て小文字、アンダーバー使用)、グローバル変数名(g_をつけたほうがいいのか…)、 などの区別化 関数分け(他の方法)、マクロ定義名(名称つけ方がよくない等) (2) 関数ごとのヘッダコメント。用途と引数くらいは書いたほうがいいのか (3) ウインドウのアクティブ、非アクティブで一時停止と再生の処理の仕方 動作はうまくいっているようですがやり方は正しいのか DXライブラリを使っていますが、コメントで大体理解できると思います 他に気になった点、こうしたほうがいい等、色々な意見を願います <(_ _)>
- typedef unsigned int UINT;があるか確かめる方法は?
お世話になります C++で、 typedef unsigned int UINT; って、宣言があると思うのですが、 "typedef"宣言って、 #if defined(...) の、ように、宣言があるか確かめる方法ってあるのでしょうか? よろしくお願い致します
- Visual C++ 6.0 で作成したプログラムをVisual C++ 2005 でコンパイルしたい
visual C++ 6.0 で作成したプログラムがあります。このソースリストをVisual Studio 2005 Express Edition の Visual C++ 2005 Express Editionでコンパイルしようとしましたが、#include <Windows.h> でエラーになって先に進みません。対応したWindows.hの入手方法教えてください。 それとも、そもそも、Visual C++ 2005 Express Editionでは昔のVC++のプログラムはコンパイルできないのでしょうか?
- DirectX のフルスリーンとウィンドウの相違
タイトルのとおり、フルスリーンモードとウィンドウモードの違いがわかりません。教えてください。 わからない点(1) フルスクリーンとは何に対してフルなのでしょうか? わからない点(2) フルスクリーンだと動画のエッジがカクカクとならないのですが、ウィンドウモードにすると、動画のエッジがカクカクとなります。 表示方法に違いがあるのでしょうが・・・どんな違いがあるのか わかりません。 どんな情報でもいいので、提供をお願いします。
- C言語習いはじめです
大学の講義でC言語を習い始めたのですが、if文でコンパイルするとどうしても解決できないエラーが起こってしまいます。 文の意味は 「4で割り切れる年は”閏年”また、400でも割り切れる年も”閏年”と表示する。100で割り切れる年は”平年”と表示する」 というものです。値は2100で指定しています。 #include <stdio.h> main() { int y; printf(" y=2100; "); { if(y%400:0) { printf("a leap year \n"); {/* 閏年 */} } else if(y%100:0) { printf("a common year \n"); {/* 平年 */} } else if(y%40:0) { printf("a leap year \n"); {/* 閏年 */} } else { printf("a common year \n"); {/* 平年 */} } } return 0; } これをコンパイルすると、どうしても 「エラー E2377 ”ファイル名” 5: If文に ) がない(関数 main)」 と出てきてしまいます。 残るこのエラーだけが解決できません。どなたか、間違っている点がわかる方はいませんでしょうか。お願いします。
- [C++/CLI]可変個引数について
visual studio 2005を使用し、C++で作ったクラスをVBで呼び出せるようにするため、C++でラッパクラスを作成中です。 ネイティブコードで可変個の引数を表すには、 Test(PSTR str, ...){ char ch[1024]; va_list ap; va_start(ap, str); wvsprintf( ch, str, ap ); va_end(ap); ・ ・ ・ } のようにすればOKだったのですが、マネージコードで可変個の引数を使用するにはどうすれば良いのでしょうか。「ParamArray」というキーワードを使うのでしょうか? また、ラッパクラスではないクラスの可変個引数を使用しているメソッドで、 「warning C4793: 'vararg' : 関数 'DWORD CTest::Log(PSTR,...)' 用にネイティブ コードの生成が発生します」 というワーニングがでています。これは無視しても大丈夫なのでしょうか? 申し訳ございませんが、分かる方がいましたら回答をお願いします。
- DirectXでの周波数(音程)変更
色々調べたところ、まだ詳しく理解はしていないのですがdirexctsoundではセカンダリバッファを使い周波数を変更して音程を変えることができるとわかりました。 directmusicでも周波数を変更することができるのでしょうか? また、directsoundでバッファを用いなくても周波数を変更できるのでしょうか? 文章のおかしな点が多々あると思いますがよろしくお願いいたします。
- ウィンドウが閉じない
お世話になります。 Adobe Illustratorは起動時にポップアップウィンドウを表示してプラグインを読み込む処理をリアルタイムに見せていますが、それに似た処理をしたいと思っています。 WinMain関数でポップアップウィンドウを生成した後メインウィンドウを生成し、メインウィンドウのWM_CREATEの最後でポップアップウィンドウを消すため ShowWindow(hhwnd, SW_HIDE); や DestroyWindow(hhwnd); を入れました。 ですが、ポップアップウィンドウが消えてくれません。 ポップアップウィンドウは winc.style = CS_HREDRAW | CS_VREDRAW; winc.lpfnWndProc = sWndProc; winc.cbClsExtra = winc.cbWndExtra = 0; winc.hInstance = hInst; winc.hIcon = NULL; winc.hCursor = LoadCursor(NULL, IDC_ARROW); winc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); winc.lpszMenuName = NULL; winc.lpszClassName = TEXT("START"); HWND hhwnd = CreateWindowEx( WS_EX_TOOLWINDOW, "START", "", WS_POPUP | WS_VISIBLE | WS_BORDER , 0 , 0 , 1 , 1 , NULL , NULL , hInst , NULL ); で生成し、ウィンドウプロシージャ内は HDC hdc; PAINTSTRUCT ps; static RECT re; int w = 600; int h = 30; switch (msg) { case WM_CREATE: MoveWindow(hWnd, (GetSystemMetrics(SM_CXSCREEN)-w)/2, (GetSystemMetrics(SM_CYSCREEN)-h)/2, w, h, 1); InvalidateRect(hWnd, NULL, 1); break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); SetTextColor(hdc, RGB(0, 0, 0)); if (DrawText(hdc, str, -1, &re, DT_SINGLELINE | DT_CENTER | DT_VCENTER) == 0) MessageBox(NULL, "err", "", NULL); EndPaint(hWnd, &ps); return 0; case WM_SIZE: GetClientRect(hWnd, &re); break; } return DefWindowProc(hWnd, msg, wp, lp); のようになっています。ポップアップウィンドウが消えないのはなぜでしょうか。。。
- ウィンドウが閉じない
お世話になります。 Adobe Illustratorは起動時にポップアップウィンドウを表示してプラグインを読み込む処理をリアルタイムに見せていますが、それに似た処理をしたいと思っています。 WinMain関数でポップアップウィンドウを生成した後メインウィンドウを生成し、メインウィンドウのWM_CREATEの最後でポップアップウィンドウを消すため ShowWindow(hhwnd, SW_HIDE); や DestroyWindow(hhwnd); を入れました。 ですが、ポップアップウィンドウが消えてくれません。 ポップアップウィンドウは winc.style = CS_HREDRAW | CS_VREDRAW; winc.lpfnWndProc = sWndProc; winc.cbClsExtra = winc.cbWndExtra = 0; winc.hInstance = hInst; winc.hIcon = NULL; winc.hCursor = LoadCursor(NULL, IDC_ARROW); winc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); winc.lpszMenuName = NULL; winc.lpszClassName = TEXT("START"); HWND hhwnd = CreateWindowEx( WS_EX_TOOLWINDOW, "START", "", WS_POPUP | WS_VISIBLE | WS_BORDER , 0 , 0 , 1 , 1 , NULL , NULL , hInst , NULL ); で生成し、ウィンドウプロシージャ内は HDC hdc; PAINTSTRUCT ps; static RECT re; int w = 600; int h = 30; switch (msg) { case WM_CREATE: MoveWindow(hWnd, (GetSystemMetrics(SM_CXSCREEN)-w)/2, (GetSystemMetrics(SM_CYSCREEN)-h)/2, w, h, 1); InvalidateRect(hWnd, NULL, 1); break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); SetTextColor(hdc, RGB(0, 0, 0)); if (DrawText(hdc, str, -1, &re, DT_SINGLELINE | DT_CENTER | DT_VCENTER) == 0) MessageBox(NULL, "err", "", NULL); EndPaint(hWnd, &ps); return 0; case WM_SIZE: GetClientRect(hWnd, &re); break; } return DefWindowProc(hWnd, msg, wp, lp); のようになっています。ポップアップウィンドウが消えないのはなぜでしょうか。。。
- DirectXでの周波数(音程)変更
色々調べたところ、まだ詳しく理解はしていないのですがdirexctsoundではセカンダリバッファを使い周波数を変更して音程を変えることができるとわかりました。 directmusicでも周波数を変更することができるのでしょうか? また、directsoundでバッファを用いなくても周波数を変更できるのでしょうか? 文章のおかしな点が多々あると思いますがよろしくお願いいたします。
- DirectX9関数「D3DXCreateTexture」について
DirectX 9を使用して、関数「D3DXCreateTexture」を用いて、テクスチャ表示をしています。この関数について、教えてください。 テクスチャの作成に使っているのですが、引数によって、ソフトウエアの動作が違います。その理由を調べたいのですが、情報がいまいち、手に入りません。参考となる本やホームページがありましたら、教えてください。 D3DXCreateTexture(pDevice,Width,Height,MipLevels,Usage,Format,Pool,*ppTexture)の引数「Pool」を「D3DPOOL_DEFAULT」にした場合は表示画像が画面横方向にずれるまたは20ピクセル単位で入れ替わります。「D3DPOOL_MANAGED」にした場合は表示画像が正しくなります。 この2つの引数の違いがよくわかりません。 長文になって、申し訳ございません。 よろしくお願いします。
- アプリケーション間のドラッグアンドドロップ
お世話になります。VC++2005を使用しています。 ウィンドウを生成し、その中に複数の画像をそれぞれ子ウィンドウで表示し、 その子ウィンドウを他の実行ファイルのウィンドウにドラッグアンドドロップして ファイル名を渡したいと考えています。 また、子ウィンドウをWindowsのエクスプローラのような感覚で 複数選択したりできたらと思っています。 このようなことは可能でしょうか? また可能でしたらキーワードだけでも教えていただけないでしょうか。
- unsigned *という宣言について
char *str = "\x01\x23\x45\x67\x89\xab\xcd\xef"; unsigned *u = (unsigned *)(str + 1); このようなコードをみかけたのですが、 unsigned *uという宣言が理解できません。 これはどのような型として解釈されているのでしょうか? 暗黙でunsigned int* uと解釈されるのでしょうか?
- ベストアンサー
- C・C++・C#
- toshiaki33
- 回答数5
- unsigned *という宣言について
char *str = "\x01\x23\x45\x67\x89\xab\xcd\xef"; unsigned *u = (unsigned *)(str + 1); このようなコードをみかけたのですが、 unsigned *uという宣言が理解できません。 これはどのような型として解釈されているのでしょうか? 暗黙でunsigned int* uと解釈されるのでしょうか?
- ベストアンサー
- C・C++・C#
- toshiaki33
- 回答数5