952 :
951:02/02/07 13:47 ID:???
あ、あとDirectX8かWindowsSDKのお勧めの入門書あったら教えてください。
おねがいします。
WindowsのGDIの知識は無くても大丈夫だけど
SDKはSDKのサンプルコードが理解できる程度
の知識が必要です。
955 :
951:02/02/07 14:08 ID:???
>>953-954 そうですか。時計を作る床までやったんですけどダレてきて・・・。
また気合入れてやります。ありがとう
なっち って何ですか?
>956
サントリー「なっちゃん」に対抗してサンガリアが出した新製品だよ
はっさく味
うえーん(゜○゜)
誰かお願いします。
C++で、あるクラスAをつくり、クラスBでAを継承しました。
Aは基本クラスとして用いるので、絶対にAのインスタンスは生成しないという条件で、
AのメソッドでBのメソッドを呼ぶことは出来るのでしょうか。
仮想関数を使っても無理でした。 何か知ってる人はいますか?
>959
継承元から継承先を参照する
その設計自体が間違っているとしか言えない
LPCSTRとLPCTSTRの違いをおしえてくれい。
>961
「T」が付く場合、UNICODEでコンパイルするとUnicode文字列。
LPはポインタ。
Cは定数(const)。
TはTCHAR(…って何の意味だったっけ?)。
STRは文字列で、あとはこの4つの組み合わせ。
とりあえず、TCHARの宣言は
#ifdef UNICODE
typedef unsigned int TCHAR;
#else
typedef unsigned char TCHAR;
#endif
だから、コンパイラオプションUNICODEの有無で1byte文字か2byte文字か
変わるってことです。俺は厨房につき、違ってたら誰か突っ込め。
どのように使い分けるのかがさっぱりわから〜ん。
コンストラクタで、初期化に失敗したときにプログラムを終了させたいのですが、
コンストラクタは戻り値を返すことができません。
どうしたらよいのでしょうか。
965 :
名前は開発中のものです。:02/02/11 02:55 ID:OpZ0HTgP
例外を投げなさい。
>>950 DirectX8実践プログラミング(工学社)
2Dの描画方法については「2Dの描画機能」の項目を参照。
正確にはDirectGraphicsだけど、OK?
DirectGraphicsなどという名称は存在しない。
968 :
名前は開発中のものです。:02/02/12 00:23 ID:8rdY+beo
質問です。
「ソースを上げるスレッド」で、VisualBasicのコードを上げている厨房1号です。
ドラゴンクエストの「経験値を得る」ようなやり方は、どんな感じでやっているんですか?
ぼくは、Staticステートメントを使って、経験値を加算してプロシージャに保持していく
やりかたをやっていこうと思っています(コードを今度上げておきます)。
みなさんはどんな方法ですか。
あと、Goto文使わなくても、という意見がありまして、これは敵の攻撃処理とかを
各プロシージャでわけてやればいいってことですか?それでCall文で呼ぶとか?
あと、「次は移動処理」という意見がありまして、ぼくはやりかたはよく知らないけど、
自分なりに移動処理のコードを上げましたが、もっと効率よいやり方あったら是非。
If文も、ネストしまくりっぽいので、キレイにまとめるには、Boolean
型の変数を使ってフラグ立ててみなさんやっているのですか?(それしか思いつかない・・・)
なんだか嫌われているVBの質問でごめん。
>>959 それを行うのが仮想関数の仕事だよ。
継承元は抽象度を高くした仮想関数を定義して、派生側で
オーバライドしなされ。A の仮想関数を呼べば B で再定義したものが
呼ばれる。
貴方の書いていることは曖昧なので答えがほしいときはもうすこし
具体的に書いたほうが良いとおもう。
970 :
966:02/02/12 14:00 ID:???
>>967 あり?
マイクロソフト的には、Direct3DとDirectGraphicsは
区別して考えてるんじゃないですか?
確かにヘッダファイルはd3d〜って名称になってますし、
内部的にはほとんど同じでしょうけど…。
DirectX Graphics な。
972 :
966:02/02/12 15:38 ID:???
>971
あ、そゆことw
980は新スレを建てなさい。
ところでこのスレの機能って
Q&A、スレたて相談、雑談、ぐらいでいいのか?
まあ、雑談は別スレあるけどね。
976 :
名前は開発中のものです。:02/02/13 20:30 ID:fs2BrWUb
#include<stdio.h>
#include<gb.h>
void scroll(UBYTE);
void show();
char map[50][50]; /*マップ*/
UBYTE start_x=20,start_y=20; /*画面表示の開始点*/
void main()
{
UBYTE i,j;
for(i=0;i<50;i++){
for(j=0;j<50;j++){
map[i][j]='.'; /*マップを.で埋める*/
}
}
for(i=0;i<50;i+=10){
for(j=0;j<50;j+=10){
map[i][j]='#'; /*10マスごとに#*/
}
}
while(1){
show();
waitpad(0xff);
scroll(joypad());
}
}
977 :
名前は開発中のものです。:02/02/13 20:30 ID:fs2BrWUb
/*十字キーで画面表示の開始点を指定*/
void scroll(UBYTE key)
{
if(key&J_RIGHT){
if(start_x<=49-20){
start_x++; /*開始点を右移動*/
}
}
else if(key&J_LEFT){
if(start_x!=0){
start_x--; /*開始点を左移動*/
}
}
else if(key&J_DOWN){
if(start_y<=49-18){
start_y++; /*開始点を下移動*/
}
}
else if(key&J_UP){
if(start_y!=0){
start_y--; /*開始点を上移動*/
}
}
}
/*マップを画面に表示*/
void show()
{
UBYTE i,j;
printf(" ");
gotoxy(0,0); /*画面の左上から*/
for(i=0;i<18;i++){
for(j=0;j<20;j++){
printf("%c",map[start_y+i][start_x+j]);
} /*画面の範囲分表示*/
}
}
十字キーで画面がスクロールするはずなんだけど
どのキーを押しても画面が一瞬下にズレて元に戻るんよ
mainの中のscroll関数を抜いても動作は一緒なんよ
俺にはこれ以上どうにもできんで誰か教えて
18x20だと超過してるとか。18x19でも一緒?
画面の下が18マス余ったから18x20っぽい
しかし18x19に変えたら
キー入力すら受け付けなくなったのは
何だったんだろう?
scroll関数抜いたままだったりして(w
あ、いかん。980だ。
俺スレ立て過ぎって言われたから、次の人頼む。スマソ
scroll関数アリで18x20
どのキーを入力しても画面が一瞬下にズレる
scroll関数を抜いて18x20
どのキーを入力しても画面が一瞬下にズレる
scroll関数アリで18x19
どのキーを入力しても画面に変化なし
scroll関数を抜いて18x19
どのキーを入力しても画面に変化なし
ワケワカンネェYO!
そr
ここ、埋め立てたほうがいい?
今なら1000ゲットズサーやり放題。
埋めんでも問題ないだろう。
age荒らしに遭遇するとウザイしDATへ逝かせてやりたい
うg
そんな!
まじかよ!!
なんてこった!!!!!
やっぱりこういうのは酒飲みながらやるに限るね。
ふぅ。
3!マジマジ!だす。
まだまだですよ?
アブトレーナー
ふふふ?いやいや。
今だ!1000番ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ (´´
∧∧ (´⌒(´
⊂(゚Д゚ )≡≡≡(´⌒;;;≡≡≡
⊆⊂´ ̄ ⊂ソ (´⌒(´⌒;;
 ̄ ̄ ̄ ズザーーーーーッ
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。