|
Name: ネス ..初心者(7,456ポイント)
Date: 2010/08/23(月) 13:54
No:59852
|
|
Title: メモリに画像を読み込む場合
|
|
LaodGraphを使用する際、例えば、
int img1 = LaodGraph ( "map.png" ) ;
という記述を、グローバル変数にすることはできないのでしょうか?
自分がやったところでは、グローバル変数にすると画像が表示されなかったので。
といいますか、DXライブラリの初期化コードよりも前に、画像ファイルのための変数宣言などは、してはいけないのかな〜という気がしているのですが、どうなのでしょう。
文字列などはグローバル変数にしても表示されます。ただ、画像ファイルや音楽ファイルだと、WinMainより前に書くと表示や再生ができないのです。
209ポイント を手に入れた。
|
|
|
|
Name: シエル ..熟練のプログラマー(62,079ポイント)
Date: 2010/08/23(月) 14:07
No:59853
|
|
Title: Re:メモリに画像を読み込む場合
|
|
できないでしょう。
宣言だけ書いて、DXライブラリを初期化してから、代入すれば問題ないのでは?
※間違ってたらすいませn。
54ポイント を手に入れた。
|
|
|
|
|
Name: toyo ..熟練のプログラマー(58,009ポイント)
Date: 2010/08/23(月) 15:35
No:59855
|
|
Title: Re:メモリに画像を読み込む場合
|
|
変数の宣言はどこでも大丈夫ですよ
関数の呼び出しはDxLib_Initの後にしないとだめです
int img1;
DxLib_Init();
img1 = LaodGraph ( "map.png" ) ;
2倍のポイントを手に入れた! 138ポイント を手に入れた。
|
|
|
|
|
Name: Justy ..伝説なるハッカー(569,689ポイント)
Date: 2010/08/24(火) 01:37
No:59914
|
|
Title: Re:メモリに画像を読み込む場合
|
|
>初期化やロードは専用の関数を作って処理させるべきです
まったくその通りですね。
そういう意味では再利用可能なグローバル変数だと初期化を忘れても前の値が残っていて
そのまま使えてしまうことが多いので、グローバル変数を使うのは本当に必要な最小限に留めるのが
いいかと思います。
109ポイント を手に入れた。
|
|
|
|
|
Name: ネス ..初心者(7,617ポイント)
Date: 2010/08/24(火) 17:56
No:59949
| 解決!
|
Title: Re:メモリに画像を読み込む場合
|
|
>宣言だけ書いて、DXライブラリを初期化してから、代入
>変数の宣言はどこでも大丈夫ですよ
>関数の呼び出しはDxLib_Initの後にしないとだめです
>int img1;
>DxLib_Init();
>img1 = LaodGraph ( "map.png" ) ;
なるほど、こういうやり方ならできるのですね。
>グローバル変数にそのような代入は出来たとしてもしない方が良いと思います。
>初期化やロードは専用の関数を作って処理させるべき
>グローバル変数を使うのは本当に必要な最小限に留める
とはいえ、あまりやらない方がよいのですね。
了解しました。大変助かりました。
皆さん、ご回答ありがとうございました。
161ポイント を手に入れた。
|
|
|
|
Name: パコネコ ..プログラマー(35,706ポイント)
Date: 2010/08/23(月) 17:17
No:59860
|
|
Title: RPGの歩きについて<省略のアドバイス>
|
|
今RPGを作ってるのですが(ずっと前から作っているやつのDXライブラリバージョン)、
後から押されたボタンを優先して移動するプログラムなのですが…
気に行っているやつがあるんですが、(ifの条件が)少し長くて…
「こっちのほうがスマートに書けるよ」という方がいらっしゃったら教えてくれませんか?
お願いします。
int get_work(void){
int a;
if(Key[KEY_INPUT_LEFT]!=0 &&
(Key[KEY_INPUT_RIGHT]==0 || Key[KEY_INPUT_LEFT]<Key[KEY_INPUT_RIGHT]) &&
(Key[KEY_INPUT_UP]==0 || Key[KEY_INPUT_LEFT]<Key[KEY_INPUT_UP]) &&
(Key[KEY_INPUT_DOWN]==0 || Key[KEY_INPUT_LEFT]<Key[KEY_INPUT_DOWN]))
a=4;
else if(Key[KEY_INPUT_RIGHT]!=0 &&
(Key[KEY_INPUT_LEFT]==0 || Key[KEY_INPUT_RIGHT]<Key[KEY_INPUT_LEFT]) &&
(Key[KEY_INPUT_UP]==0 || Key[KEY_INPUT_RIGHT]<Key[KEY_INPUT_UP]) &&
(Key[KEY_INPUT_DOWN]==0 || Key[KEY_INPUT_RIGHT]<Key[KEY_INPUT_DOWN]))
a=2;
else if(Key[KEY_INPUT_UP]!=0 &&
(Key[KEY_INPUT_LEFT]==0 || Key[KEY_INPUT_UP]<Key[KEY_INPUT_LEFT]) &&
(Key[KEY_INPUT_RIGHT]==0 || Key[KEY_INPUT_UP]<Key[KEY_INPUT_RIGHT]) &&
(Key[KEY_INPUT_DOWN]==0 || Key[KEY_INPUT_UP]<Key[KEY_INPUT_DOWN]))
a=1;
else if(Key[KEY_INPUT_DOWN]!=0 &&
(Key[KEY_INPUT_LEFT]==0 || Key[KEY_INPUT_DOWN]<Key[KEY_INPUT_LEFT]) &&
(Key[KEY_INPUT_UP]==0 || Key[KEY_INPUT_DOWN]<Key[KEY_INPUT_UP]) &&
(Key[KEY_INPUT_RIGHT]==0 || Key[KEY_INPUT_DOWN]<Key[KEY_INPUT_RIGHT]))
a=3;
else a=0;
return a;
}
・「a」は歩きフラグです。
1なら上
2なら右
3なら下
4なら左
0なら止まる
一応バグなどはありません。
情報が足りない場合は言っていただければ必要な場所を張ります。
(歩き以外はまだできてないです…)
648ポイント を手に入れた。
|
|
|
|
Name: パコネコ ..プログラマー(35,861ポイント)
Date: 2010/08/23(月) 17:30
No:59861
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
=======補足(漢字あってます?)=========
全部同じような条件なので一番上のやつについて解説?
まず
左ボタンを押していて
右ボタンを押していない もしくは 右ボタンより左ボタンのほうが押してる時間が短い なをかつ(お?を?)上ボタンを押していない もしくは 上ボタンより左ボタンのほうが押してる時間が短い なをかつ
下ボタンを押していない もしくは 下ボタンより左ボタンのほうが押してる時間が短い なら
左に移動
という感じです。
残りはボタンが違うだけです。
155ポイント を手に入れた。
|
|
|
|
|
Name: やっくん ..プログラマー(34,008ポイント)
Date: 2010/08/23(月) 18:05
No:59863
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
int keyTemp[4] = {Key[KEY_INPUT_LEFT ],
Key[KEY_INPUT_RIGHT],
Key[KEY_INPUT_UP ],
Key[KEY_INPUT_DOWN ],};
または
int keyTemp[4] = {KEY_INPUT_LEFT ,
KEY_INPUT_RIGHT,
KEY_INPUT_UP ,
KEY_INPUT_DOWN ,};
とまとめて、ループまわして調べるのはどうでしょう?
181ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(62,116ポイント)
Date: 2010/08/23(月) 18:30
No:59867
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
後から押したボタンの方へ動くプログラムを書けばよいと思います。
いや、ふざけてるわけではないです。
2倍のポイントを手に入れた! 76ポイント を手に入れた。
|
|
|
|
|
Name: やっくん ..プログラマー(34,421ポイント)
Date: 2010/08/23(月) 18:32
No:59869
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
コンパイルしてないので正しいかわかりませんが、ループを使ったら以下のような感じです。
int get_work(void)
{
int i,j;
int a = 0;
// 止まる:0,上:1,右:2,下:3,左:4 に対応
int state[5] = {0,
KEY_INPUT_UP,
KEY_INPUT_RIGHT,
KEY_INPUT_DOWN,
KEY_INPUT_LEFT,};
// "上"から順に見ていく
for(i = 1; i < 5; i++){
if(Key[state[i]] != 0){// もし、見ようとするキーが押されているなら
for(j = 1; j < 5; j++){
// 自分以外のキーとの対応を見る
if(i != j && ( Key[state[j]] == 0 || Key[state[i]] < Key[state[j]])){
a = i;
break;
}
}
// もし、方向が決定しているならばループ終了
if(a != 0) break;
}
}
return a;
}
413ポイント を手に入れた。
|
|
|
|
|
Name: バグ ..ハッカー(207,662ポイント)
Date: 2010/08/23(月) 18:39
No:59871
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
あんまりスッキリはしてないかも…?(苦笑)
bool key_check(int key)
{
if (Key[key] == 0)
return false;
bool ret = true;
int chk[4] = {KEY_INPUT_UP, KEY_INPUT_DOWN, KEY_INPUT_RIGHT, KEY_INPUT_LEFT};
for (int i = 0; i < 4; ++i)
if (key != chk[i])
ret &= (Key[chk[i]] == 0 || Key[key] < Key[chk[i]]);
return ret;
}
int get_work(void)
{
return key_check(KEY_INPUT_UP) ? 1 :
key_check(KEY_INPUT_RIGHT) ? 2 :
key_check(KEY_INPUT_DOWN) ? 3 :
key_check(KEY_INPUT_LEFT) ? 4 : 0;
}
2倍のポイントを手に入れた! 526ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(36,259ポイント)
Date: 2010/08/23(月) 19:25
No:59873
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
皆さんありがとうございます。
>>シエルさんへ
?どういうことでしょう?
押されていて(0でなくて)、もっとも値が小さいものが最後に押されたものだと思ったのですが…
押されたときにフラグを立てて他のボタンが押されたときにフラグを交代させて、
フラグに対応するボタンが押されていなければうごかなくする…という感じでしょうか?
↑の場合、「右→左→左離す→右」の最後の右が対応してくれないんですよね…
どのようなやり方がいいと思いますか?
>>やっくんさんへ
そのままコピー&ペーストして使わせていただきました。
残念ながら…自分より下のボタンには対応してくれないようです…
例えば、
「左→右」対応してます。
「右→左」対応しません。
みたいな感じで…
>>バグさんへ
まだ試してないです…でもちょっとにがてかもです。
理解が及ばないところがいくつか…「&=とかもわからないです。」
398ポイント を手に入れた。
|
|
|
|
|
Name: バグ ..ハッカー(207,802ポイント)
Date: 2010/08/23(月) 19:40
No:59875
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
>>「&=とかもわからないです。」
あまり難しく考えないでください。
「a+=1」は分りますよね?ようは、あれと同じなんですよ。
つまり、「a&=1」は「a=a&1」と同じです。
今回はtrueで初期化したbool型変数に対して使っているので、全てtrueでなければ、戻り値はfalseになるという訳です。
140ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(36,575ポイント)
Date: 2010/08/23(月) 20:09
No:59876
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
//つまり、「a&=1」は「a=a&1」と同じです。
こうなるのはなんとなくわかるのですが…それ以前に「a&1」が何を意味しているのかがわかりません…
/*
今回はtrueで初期化したbool型変数に対して使っているので、全てtrueでなければ、戻り値はfalseになるという訳です。
*/
残念ながらまだbool型を知りません…
2倍のポイントを手に入れた! 316ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(62,190ポイント)
Date: 2010/08/23(月) 20:21
No:59880
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
これ同時押しは考慮してないんですか?
それと、この仕様に固執せず、もっと簡単に考えればもっといいプログラムが書けると思います。
まず私はキー同士のカウントを比較することはやめますね。
というか押してる間はキーカウントを増やすっていう仕組みを利用するのを止めます。
追記:
文章が変だったので訂正 
10ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(36,658ポイント)
Date: 2010/08/23(月) 20:50
No:59886
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
調べてきました…
そして起動してみました。
うごき方も同じようなもの(みた感じ)だったので参考にさせていただきます。
どっちが早いですかね?
同時押しと言いますと?
右ボタンを押している間に左ボタンを押すというのはOKですよ…
ただ右と左を同時に押されると…どちらかを離すまでうごけませんね。
83ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(36,688ポイント)
Date: 2010/08/23(月) 21:15
No:59889
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
ついかです
キーのカウントを使ってなかったころにどんなに考えてもわからなかったので…
カウントなしになんとかできますか?
簡単に考えると言っても…簡単そうなプログラムしか使ってませんよ?
簡単に考えて同じような結果を得られるようなプログラムを教えていただけませんか?
私にはわからなかったので、よろしくお願いします。(例題でいいので)
30ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(36,748ポイント)
Date: 2010/08/23(月) 21:18
No:59890
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
右を押してる間に上を押せば上に行きます。
上に押してる間に右を押せば右に行きます。
同時に押した後に、上を離せば右に行きます。
同時に押した後に、右を離せば上に行きます。
60ポイント を手に入れた。
|
|
|
|
|
Name: バグ ..ハッカー(207,706ポイント)
Date: 2010/08/23(月) 21:34
No:59891
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
1:キー押下フラグを更新する
2:上下左右の内、2箇所以上が押下状態であれば、何もしない
3:押された方向へ移動
4:1へ戻る
このフローでは駄目かな?多分、カウンタは不要になりそうだけど…(^_^;)
96ポイント を落としてしまった。
|
|
|
|
|
Name: へろり ..プログラマー(31,372ポイント)
Date: 2010/08/23(月) 23:17
No:59900
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
元々の要求仕様をさらう限り、キーカウントを利用するのがもっともスマートだと思いますよ。
キーが現時点で押されていなかったら0な訳ですから、0以外のもっとも小さい値を持つキーが
もっとも後に押されたキーであることが分かります。 ので。
int a = 0, count = 0x7FFFFFFF;
if(Key[KEY_INPUT_UP] && Key[KEY_INPUT_UP] < count) a = 1, count = Key[KEY_INPUT_UP];
if(Key[KEY_INPUT_RIGHT] && Key[KEY_INPUT_RIGHT] < count) a = 2, count = Key[KEY_INPUT_RIGHT];
if(Key[KEY_INPUT_DOWN] && Key[KEY_INPUT_DOWN] < count) a = 3, count = Key[KEY_INPUT_DOWN];
if(Key[KEY_INPUT_LEFT] && Key[KEY_INPUT_LEFT] < count) a = 4, count = Key[KEY_INPUT_LEFT];
これで要求通りの事は出来るのではないかと。
斜め移動は考慮されてないようなので、私ならば単純にキーが押された方向へ動かしますが。
こういう仕様にしたのには何か特別な理由があるのでしょうか。
404ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(36,538ポイント)
Date: 2010/08/24(火) 13:43
No:59931
| 解決!
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
斜めは移動の幅が大きいので嫌いです。(√2倍ぐらい?)
へろりさんのきれいでいいですね、使わせてもらいます。(確認はしてないけど…)
バグさんのは書いてない部分で止まりそうな気がする…
1マス単位で移動するかの判定してるので…これはすぐ直せるのでどうでもいいんですけどね。
ただ「上→下→左→左離す→?」のときに下へは行かず多分左に行くと思います(み確認)
個人的に、昔できなくて妥協してボタンごとに優先順位みたいなのがついてしまいました…
だからできるなら今度は、後から押したボタンを優先的に使いたいんですよね…
いい形を教えていただけたので、一応解決にさせていただきます。
ありがとうございました。
210ポイント を落としてしまった。
|
|
|
|
|
Name: へろり ..プログラマー(31,953ポイント)
Date: 2010/08/24(火) 15:28
No:59934
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
解決した後なのでなんですが。
>斜めは移動の幅が大きいので嫌いです。(√2倍ぐらい?)
これは、x・yともに1移動させた場合ではないでしょうか。
直角二等辺三角形の線分の比は1:1:√2ですから。
斜めに1移動させるわけですから、x・y・移動量はそれぞれ、cos 角度、sin 角度、1の関係が成り立ちます。
45度に1移動する場合は、xにcos 45度、yにsin 45度移動させればよいだけでは。
137ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(36,685ポイント)
Date: 2010/08/24(火) 15:49
No:59936
|
|
Title: Re:RPGの歩きについて<省略のアドバイス>
|
|
斜めの移動量を調節すればいいのもわかっているのですが…
移動用のフラグを増やさないといけないのは今からでは面倒なので、
また作るときの参考にさせていただきます。
移動のプログラムもいじる必要がありますし…
今のマップ設定だとトウリ抜けされる可能性が出てくるので、今回は使えません。
教えていただきありがとうございました。
147ポイント を手に入れた。
|
|
|
|
Name: me262 ..ぴよぴよ(56ポイント)
Date: 2010/08/24(火) 07:28
No:59919
|
|
Title: バックバッファのグラフィックハンドルの取得について
|
|
DXライブラリにて、
簡易ブラーや描画している画面の変形を使用するために、
裏画面のバッファ(バックバッファ)をDrawGraph等の命令で描画したいのですが
裏画面のグラフィックハンドルの取得はどうすればよいのでしょうか?
検索してもどうも見つからなかったので、よろしくお願いします
56ポイント を手に入れた。
|
|
|
|
Name: me262 ..ぴよぴよ(192ポイント)
Date: 2010/08/24(火) 09:05
No:59922
|
|
Title: Re:バックバッファのグラフィックハンドルの取得について
|
|
リンク先の先も見てみましたが、裏画面のグラフィックハンドルの取得方法はよく分かりませんでした・・・
一応、GetDrawScreenGraphでの方法も試してみましたができませんでした。
裏画面のグラフィックハンドルの取得について詳しく解説してくれるとありがたいです・・・ 
2倍のポイントを手に入れた! 136ポイント を手に入れた。
|
|
|
|
|
Name: h2so5 ..かけだし(1,536ポイント)
Date: 2010/08/24(火) 09:17
No:59923
|
|
Title: Re:バックバッファのグラフィックハンドルの取得について
|
|
リンク先には
裏画面のグラフィックハンドルの取得方法は書いてありません。
ですが、おそらくme262さんのやりたいことを実装できる方法が書かれています。
具体的には、
1.MakeScreenでバッファを作成
2.SetDrawScreenで1のバッファを指定
3.モデルや画像などを描画
4.ブラー、画面の変形など
2.SetDrawScreenで裏画面指定
5.DrawGraphでバッファを描画
6.ScreenFlip
の手順で可能だと思います(実際試していませんが)
MakeScreenでSetDrawScreenの描画先としても使えるグラフィックが作れるため、
それを裏画面の替わりに使うということです。
205ポイント を手に入れた。
|
|
|
|
|
Name: me262 ..ぴよぴよ(286ポイント)
Date: 2010/08/24(火) 09:29
No:59924
| 解決!
|
Title: Re:バックバッファのグラフィックハンドルの取得について
|
|
h2so5 さん
手順通りにやってみたらに無事に裏画面に使用する画像をいじることができました。
丁寧な解説ありがとうございました!
2倍のポイントを手に入れた! 94ポイント を手に入れた。
|
|
|
|
Name: ujm ..ぴよぴよ(748ポイント)
Date: 2010/08/23(月) 23:55
No:59905
|
|
Title: 龍神録プログラミングの館の8章
|
|
龍神録プログラミングの館のサンプル
ソースを模写する方法で勉強をしているのですが
第8章を模写してコンパイルをした際に
「再定義されています。異なる基本形です。」、「○○の宣言を確認してください。」
というエラーが出てきます。
上記の○○の部分は先の文と後の文とで
共通の宣言となっております。
何度かやりなおしたりネットで調べたりしました
もちろんこのBBSの過去ログも拝見しました。
しかし、解決出来なかったためこちらに書き込みを
させていただきました。
開発環境は
・Microsoft Visual C++ 2010
・DXライブラリ VisualC++用(Ver3.03)
です。
原因の分かる方、是非ご助力お願いいたします。
274ポイント を手に入れた。
|
|
|
|
Name: へろり ..プログラマー(31,447ポイント)
Date: 2010/08/24(火) 00:15
No:59906
|
|
Title: Re:龍神録プログラミングの館の8章
|
|
この手のエラーは、ソースが無いとなんとも言えません。
全てのファイルから、該当する○○を検索してみてください。
どこかで、異なる型で宣言・定義されていませんか。
75ポイント を手に入れた。
|
|
|
|
|
Name: へろり ..プログラマー(31,816ポイント)
Date: 2010/08/24(火) 01:51
No:59915
|
|
Title: Re:龍神録プログラミングの館の8章
|
|
私はMicrosoft Visual C++ 2010 を持ってないためプロジェクトファイルを開けないのでソースをざらっと見ただけですが。
"define.h" 内で、"../include/struct.h" が2回includeされてますね。
これで多重定義エラーが出ているのでしょう。
struct.h は define.h に依存するようですので、先頭行の #include "../include/struct.h" を消せばいいような気がします。
#プロジェクトフォルダを丸ごとアップするにしても、debug フォルダ等は消しておいた方が無難かもしれません。
ソースファイルの検証に18MBはさすがにちょっと重いです。
221ポイント を手に入れた。
|
|
|
|
|
Name: ujm ..ぴよぴよ(964ポイント)
Date: 2010/08/24(火) 08:42
No:59921
| 解決!
|
Title: Re:龍神録プログラミングの館の8章
|
|
無事解決することが出来ました
同じヘッダーを2回includeしていたんですね
気付きませんでした。
お忙しいところありがとうございました。
60ポイント を手に入れた。
|
|
|
|
Name: ヒロ ..初心者(5,460ポイント)
Date: 2010/08/24(火) 00:31
No:59908
|
|
Title: 素人なのでどこがエラーなのかよく判らないんです。
|
|
下記のプログラムはただ単に
関数【メソッド】の呼び出し、またはswitch文を書いたのですが
関数の呼び出し、または定義が間違っているようなのですが、よく判りません。
間違っているところを教えていただけると大変うれしいです。
よろしくお願いします。
#include <stdio.h>
int nyuuryoku(void);
int x,y;
int main(void)
{
int x,y,a,b;
printf(" 計算メニュー\n");
printf("-------------------------\n");
printf(" 1. X + Y\n");
printf(" 2. X - Y\n");
printf(" 3. X * Y\n");
printf(" 4. X / Y\n");
printf(" 5. X % Y\n");
printf(" 6. 終了\n");
printf("-------------------------\n");
printf(" No.= ");
scanf("%d",&a);
switch(a)
{
case 1: nyuuryoku();
printf("X + Y = %d"x+y);
break;
case 2: nyuuryoku();
printf("X - Y = %d"x-y);
break;
case 3: nyuuryoku();
printf("X * Y = %d"x*y);
break;
case 4: nyuuryoku();
printf("X / Y = %d"x/y);
break;
case 5: nyuuryoku();
printf("X % Y = %d"x%y);
break;
case 6: printf("終了!");
break;
default: printf("入力ミス");
}
return 0;
}
int nyuuryoku()
{
printf("\nX= ");
scanf("%d",&x);
printf("\nY= ");
scanf("%d",&y);
return (x,y);
}
724ポイント を落としてしまった。
|
|
|
|
Name: へろり ..プログラマー(31,595ポイント)
Date: 2010/08/24(火) 00:47
No:59909
|
|
Title: Re:素人なのでどこがエラーなのかよく判らないんです。
|
|
switch() 文内の printf() の第一引数と第二引数の間にカンマがありません。
nyuuryoku() 関数の戻り値は常にyを返します。 これは意図的なものですか?
nyuuryoku() 関数内で使われる変数xと変数yはグローバル変数ですが、main() 関数内で使われている変数xと変数yはローカル変数です。
main() 関数内で使われる変数xと変数yが初期化されていません。
main() 関数内で宣言された変数bは使われていません。
ざらっと見たかんじこれぐらいでしょうか。
148ポイント を手に入れた。
|
|
|
|
|
Name: shuto ..かけだし(2,048ポイント)
Date: 2010/08/24(火) 00:56
No:59911
|
|
Title: Re:素人なのでどこがエラーなのかよく判らないんです。
|
|
ぱっと見では int nyuuryoku() の戻り値 return (x,y) はマズイですね。
Cではその書き方しても戻り値は1つですのでヒロさんが意図した動作はしないでしょう。
グローバルで宣言した変数の振る舞いを誤解しているような気がします。
あと、せっかく規約に
コンパイルエラーの質問時は必ず最低限のエラーメッセージも書きましょう。
って赤字で書いてあるんですから、エラーメッセージを書くべきです。
エラーメッセージを見れば、コードを読まなくてもミスが分かったりしますよ。
228ポイント を手に入れた。
|
|
|
|
Name: ezi ..ぴよぴよ(258ポイント)
Date: 2010/08/23(月) 22:21
No:59895
|
|
Title: FPSを表示する際のwait処理の質問
|
|
「C言語ゲームプログラミングの館」の
「s6. FPSを表示する。」内で
wait_fanc関数の意味がよくわかりません。
各フレーム中で時間を調整して待ちを発生させているようですが、
ScreenFlip関数内で調整してくれるので必要ない気がします。
何か意図があるのでしょうか?
つたない質問ですがよろしくお願いします。
2倍のポイントを手に入れた! 246ポイント を手に入れた。
|
|
|
|
Name: Dixq (管理人) [URL] ..ウィザード(1,262,696ポイント)
Date: 2010/08/23(月) 22:35
No:59896
|
|
Title: Re:FPSを表示する際のwait処理の質問
|
|
> eziさん
こんにちは。
確かに60Hzのモニタを使っていれば必要ないかもしれません。
では試しにご自分のモニタのリフレッシュレートを70や80に変更して見て下さい。
結果どうなるでしょうか?
もしゲーム内で、弾が1フレームに4ピクセル進むような計算がなされていたとすると、
60Hzのモニタを使っている場合や80Hzのモニタを使っている場合ではスピードが異なる事になります。
しかしユーザーに「プレイ前にモニタのリフレッシュレートを60Hzに変更してから遊んでください」というのは現実的ではありません。
ということでゲーム側で待機処理が必要です。
しかしsleep関数には誤差があり、このままでは正確に60FPSにはならないでしょう。
もし厳密な計算が必要であれば龍神録プログラミングの館をご覧ください。
http://dixq.net/rp/43.html
251ポイント を手に入れた。
|
|
|
|
|
Name: ezi ..ぴよぴよ(403ポイント)
Date: 2010/08/23(月) 23:22
No:59901
|
|
Title: Re:FPSを表示する際のwait処理の質問
|
|
Dixqさん
こんにちはです。
なるほど!
ScreenFlip関数内で調整してくれるのは
次のフレームまでの待ち時間なので
フレームレートが60Hzより高い時はその画像のまま
次フレームまで待ってた方が良い。
その為にwait_fanc関数ある訳ですね。
解りました!有難う御座います。
ps:
ブログを拝見した所、本を執筆なさっているようで、
出版を楽しみにしております。
145ポイント を手に入れた。
|
|
|
|
Name: ライス ..初心者(8,068ポイント)
Date: 2010/08/23(月) 21:39
No:59892
|
|
Title: 指定範囲の輝度の調節
|
|
今RPGを制作しているのですが、輝度の事で一つ質問があります。
制作中のRPGは一定時間が経過すると夜になり、
さらに一定時間が経過するとまた昼になるという事を繰り返す設定になっています。
しかし夜になり画面が暗くなると、メッセージが読みづらいのです
なのでメッセージが表示されてる範囲だけは暗くしない、
または暗くなった後にメッセージが表示されてる部分だけ明るくしてからScreenFlipするようにしたいです。
しかしそのやり方が分かりません。
指定範囲だけ輝度を調節する方法はあるのでしょうか?
指定したい範囲は、長方形の形になっています。
もし上記の方法とは別の方法で可能な場合は、そちらでも構いません。
どなたかご教授宜しくお願いしますm(_ _)m
<環境>
・Windows7
・Microsoft Visual C++ 2010 Express
・DXライブラリ
322ポイント を落としてしまった。
|
|
|
|
Name: Dixq (管理人) [URL] ..ウィザード(1,262,445ポイント)
Date: 2010/08/23(月) 21:46
No:59893
|
|
Title: Re:指定範囲の輝度の調節
|
|
もしかして
SetDrawBright(r,g,b);
描画処理全て();
SetDrawBright(255,255,255);
このような構造になっていますか?
輝度の設定は描画処理一つ一つに対してする物だと思いますから、
一つ描画処理が終わるごとに輝度を戻すほうが良いですよ。
毎回この関数のセットで挟むのが面倒なら、輝度をセットして描画する関数を自作しても良いと思います。
ある領域だけ暗くしないのではなく、暗くする必要のある領域だけ暗くするようにした方が良いでしょう。
もしどうしてもある領域だけ暗くしたいなら
(x,y)から横,縦=w,hの領域をアルファブレンドで
SetDrawBlendMode( DX_BLENDMODE_ALPHA, *** );
DrawBox( x,y,x+w,y+h, GetColor(0,0,0), TRUE );
重ねてあげればよいと思います。
ちなみに減算ブレンドで暗くする方法は計算量が非常に多いので避けた方が良いです。
266ポイント を手に入れた。
|
|
|
|
|
Name: ライス ..初心者(8,186ポイント)
Date: 2010/08/23(月) 22:45
No:59897
| 解決!
|
Title: Re:指定範囲の輝度の調節
|
|
ありがとうございます!
キューさんのご指摘の通りでした。
私のイメージしていた通りにできました。
また、減算ブレンドについての注意もありがとうございます。
メッセージボックスを青色の半透明にするのに減算ブレンドを利用していましたので、
さっそく他の方法でやってみたいと思います。
本当にありがとうございましたm(_ _)m
118ポイント を手に入れた。
|
|
|
|
Name: やっくん ..プログラマー(33,270ポイント)
Date: 2010/08/23(月) 01:32
No:59840
|
|
Title: ゲーム作成におけるメモリの使用量
|
|
現在、私は趣味でRPGを作成中ですが、音楽、画像、テキストデータなどを一度全てメモリに読み込むのは結構な容量になるので読み込んだり破棄したりを繰り返しております。
特に音楽ファイル(WAVE、MP3)などは容量が大きいです。
そのため、読み込みと破棄を繰り返すと間のロード時間が気になります。
しかし、どの程度をメモリに確保していて良いのかわかりません。
現在の一般的な環境から「これくらいのメモリ量ならば確保しても大丈夫だよ」というのは無いでしょうか?
完成したらネットで配布などを考えているので、このバランスを知りたいです。
ちなみに、現在はマップ切り替え毎に動的メモリ廃棄→次のマップの音楽、画像、村人の動きなどのための動的メモリ確保とファイルからの値の読み込みを行っております(^^;
メモリの可能使用量次第で数マップ分のメモリと値の保持をしようかと考えております。
295ポイント を手に入れた。
|
|
|
|
Name: DVDM [URL] ..熟練のプログラマー(59,025ポイント)
Date: 2010/08/23(月) 02:22
No:59841
|
|
Title: Re:ゲーム作成におけるメモリの使用量
|
|
>>やっくんさん
> しかし、どの程度をメモリに確保していて良いのかわかりません。
メモリを取るか、ロード時間を取るか…だと私は考えております。
ですので、一概にこれくらいというのは言えないと思います。
移動の度に確保・破棄を行って、大した時間ではないのならそのままでもいいと思いますが、
メモリリークを起こさない用に注意が必要だと思います。
ただ、PCのスペックで遅い・早いが出るのは仕方がないと思うので
その辺りは低スペックなPCで動作させてみるなどして調整してみるのもいいかもしれません。
> そのため、読み込みと破棄を繰り返すと間のロード時間が気になります。
使わないデータも読み込んでしまうのでメモリは使用してしまいますが、
プレイ中にロードするのであれば最初に一回ロードしておいた方が
プログラム的にも解りやすいと思いますし、メモリリークの心配も少しは無くなり、
長い時間プレイする方がいればよりスムーズにプレイできるのではないでしょうか。
個人的には最初に全て読み込むか、ロードに時間が掛かるものを最初に読み込んでおく方法が好きです。
開発中に、これはどうにかしないと駄目だと感じた時は分割して読み込む方法を取ってます。
321ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(62,008ポイント)
Date: 2010/08/23(月) 07:53
No:59842
|
|
Title: Re:ゲーム作成におけるメモリの使用量
|
|
一度に全部読み込むとどれぐらい消費するのですか?
またロード時間はどれぐらい掛かってしまうのですか?
私はメモリは100MBぐらい、ロード時間は5秒ぐらいまでなら許せます。
50ポイント を手に入れた。
|
|
|
|
|
Name: やっくん ..プログラマー(33,883ポイント)
Date: 2010/08/23(月) 16:19
No:59858
|
|
Title: Re:ゲーム作成におけるメモリの使用量
|
|
DVDMさん、助言ありがとうございます。
>メモリリークを起こさない用に注意が必要だと思います。
これが確かに一番怖いですね。
C++を用いているので、デストラクタで一応全て開放するようには心掛けてはいますが・・・。
>ただ、PCのスペックで遅い・早いが出るのは仕方がないと思うので
>その辺りは低スペックなPCで動作させてみるなどして調整してみるのもいいかもしれません。
低スペックPCも持ち合わせているので、現在の手法を試したところロード時間に気になりませんでした。
今の所、BGM(MP3)のロード時間に若干時間が掛かっていたので、マップの切り替え後も同じBGM使う場合はBGMを続けて使うというようにしたら間のロード時間もほぼわからなくなりました。
シエルさん、返信ありがとうございます。
>一度に全部読み込むとどれぐらい消費するのですか?
まだ、現在BGM、画像などが基盤を作るためくらいの量しか使ってないので、どれくらい使うか完全に見積もれて無いですが、100MBは超えるかと思います。(現在50MB超えている)
>またロード時間はどれぐらい掛かってしまうのですか?
現在の市販のゲームほどロード時間は無いのですが、一旦マップ切り替えで1〜2秒程?止まっていたので気になっていたところです。上に記したように「マップ切り替え時にその先が同じBGMならば読み替えない」と変えただけで処理時間が変わったので気にならなくはなりました。
>私はメモリは100MBぐらい、ロード時間は5秒ぐらいまでなら許せます。
参考になりますm(__)m
マップは今の手法を用いて戦闘に使用するデータ(BGM,敵データ,エフェクト画像,エフェクトデータ)だけを先に全読み込みさせようかと検討中です。
613ポイント を手に入れた。
|
|
|
|
|
Name: やっくん ..プログラマー(33,827ポイント)
Date: 2010/08/23(月) 16:21
No:59859
| 解決!
|
Title: Re:ゲーム作成におけるメモリの使用量
|
|
一応、今の所は解決したので、データを追加して行った際に不具合が出てきたまた助言を頂けないでしょうか?
DVDMさん、シエルさん、ありがとうございました。
56ポイント を落としてしまった。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(62,312ポイント)
Date: 2010/08/23(月) 20:27
No:59883
|
|
Title: Re:ゲーム作成におけるメモリの使用量
|
|
気にするのはメモリよりもロード時間ですね。
まあ面白いゲームであればプレイできればメモリなんかまったく気にしないでしょう。
2倍のポイントを手に入れた! 122ポイント を手に入れた。
|
|
|
|
|
Name: dic ..比類無きプログラマー(92,055ポイント)
Date: 2010/08/23(月) 20:31
No:59884
|
|
Title: Re:ゲーム作成におけるメモリの使用量
|
|
市販されてる10〜15万円台のパソコンは2〜4GB最初から積んでますね
どういったマシンをターゲットにするかだと思います
26ポイント を手に入れた。
|
|
|
|
Name: みすた ..ぴよぴよ(829ポイント)
Date: 2010/08/23(月) 18:04
No:59862
|
|
Title: 光っぽいエフェクト
|
|
例えば参考として↓
http://blue.sakura.ne.jp/~loop/game/as/img/screenshot2.jpg
(alternative sphereというゲームから拝借)
この画像でいう所の
自キャラの周囲の円状のエフェクト、
「サポーターバリア発動」っていう文字あたりに関して、
こういう画像とか文字列とかの周囲に淡い光を加えるようなエフェクトっていうのは、
どうやって表現するのでしょうか。
自分で画像を別個に作ってやれば出来なくもないと思うんですが
全部分のエフェクト画像を作るのは骨が折れそうなので、
やはりプログラムでできるならそうしたいと思ってます。
よろしくお願いします。
言語:C++
主にDXライブラリ使用
162ポイント を手に入れた。
|
|
|
|
Name: y ..かけだし(1,800ポイント)
Date: 2010/08/23(月) 18:20
No:59864
|
|
Title: Re:光っぽいエフェクト
|
|
全部プログラムで表現するのは、技術的にも速度的にも無謀です。
たかが2Dゲームでぼかしだのなんだのいれて加算合成なんてやってたら、
高速化の方で時間を取られます。
そして高速化の末、そういう画像を予め用意しておくという選択肢に行き着くでしょう。
恐らくこのソフトでも、予め用意した画像を使っています。
綺麗に魅せることは重要ですが、綺麗さを重視するが故に重いゲームを作ってしまうと、
それだけ動くパソコンが少なくなり、遊んでくれる人が少なくなるということです。
簡単に綺麗に軽く動かす方法を考えるのも、プログラマの腕の見せ所ですよ。
ちなみにこういう画像は無料ソフトでも簡単にできるので、そう骨の折れる作業でもないです。
むしろやってるうちに楽しくなってきますよ。
23ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(61,987ポイント)
Date: 2010/08/23(月) 18:24
No:59865
|
|
Title: Re:光っぽいエフェクト
|
|
私も画像で済ませることが多いですが、
光のぼかしを入れたい画像があったら、その画像のアルファ値を下げて少し位置をずらすなどして
ぼやけを表現しています。
一応それっぽく見えます。一応ですが。
ど素人の方法ですので、ベテランの人の意見を参考にしたほうが良いと思います。
92ポイント を落としてしまった。
|
|
|
|
|
Name: みすた ..ぴよぴよ(956ポイント)
Date: 2010/08/23(月) 18:41
No:59872
| 解決!
|
Title: Re:光っぽいエフェクト
|
|
おぉ、画像作ってやるんですか!
別画像の方法とプログラムの方法のどちらが大変かというのを知りたかったので、
ご回答たいへん参考になりました。ありがとうございます。
ちなみにシエルさんのお察しの通り、最初は元画像のα値変更したり加算にしたりしてやってたんですが、
結局円とか四角とかいう単純なヤツでしかそれっぽく見えなくて残念な感じになったというイキサツがありますw
127ポイント を手に入れた。
|
|
|
|
Name: 京 ..ぴよぴよ(99ポイント)
Date: 2010/08/23(月) 12:07
No:59843
|
|
Title: 無題
|
|
ウィンドウズのc++2010を使っています。
テスト用のスクリプトを製作し、いざ実行という段になって、F5を押したのですが、実行結果のウィンドウがものすごい速さで消えてしまい、よく分かりません。どうやったら実行結果のウィンドウを長く表示できますか?
99ポイント を手に入れた。
|
|
|
|
Name: 京 ..ぴよぴよ(70ポイント)
Date: 2010/08/23(月) 12:15
No:59845
|
|
Title: Re:無題
|
|
それでも駄目でした...というかより早く消えます。
29ポイント を落としてしまった。
|
|
|
|
|
Name: バグ ..ハッカー(207,136ポイント)
Date: 2010/08/23(月) 12:34
No:59846
|
|
Title: Re:無題
|
|
どういうプログラムなのか分からないので、なんともいいようがありませんが…
プログラムが終了する前に少し待機させてみるとか?(WINAPIならSleep関数とかで…)
7ポイント を落としてしまった。
|
|
|
|
|
Name: 京 ..ぴよぴよ(150ポイント)
Date: 2010/08/23(月) 12:37
No:59847
|
|
Title: Re:無題
|
|
あ、そういう手もありましたね。下にスクリプトを乗せます。
#include <stdio.h>
int main(){
printf("hello world");
return 0;
}
こんな簡単なスクリプトなんですけどね...
80ポイント を手に入れた。
|
|
|
|
|
Name: 京 ..ぴよぴよ(172ポイント)
Date: 2010/08/23(月) 12:45
No:59849
|
|
Title: Re:無題
|
|
出来ました!!ありがとうございます。
2倍のポイントを手に入れた! 22ポイント を手に入れた。
|
|
|
|
|
Name: 京 ..ぴよぴよ(186ポイント)
Date: 2010/08/23(月) 12:46
No:59850
| 解決!
|
Title: Re:無題
|
|
解決チェックの入れ忘れでもう一回コメントします。
2倍のポイントを手に入れた! 14ポイント を手に入れた。
|
|
|
|
Name: 16R ..ぴよぴよ(0ポイント)
Date: 2010/08/23(月) 00:31
No:59837
|
|
Title: 画像の移動
|
|
初歩的な質問で申し訳ないのですが、
#include "DxLib.h"
int Key[256];
int GetHitKeyStateAll_2(int GetHitKeyStateAll_InputKey[]){
char GetHitKeyStateAll_Key[256];
GetHitKeyStateAll( GetHitKeyStateAll_Key );
for(int i=0;i<256;i++){
if(GetHitKeyStateAll_Key[i]==1) GetHitKeyStateAll_InputKey[i]++;
else GetHitKeyStateAll_InputKey[i]=0;
}
return 0;
}
int func_state = 0;
void move();
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
ChangeWindowMode(TRUE
if(DxLib_Init() == -1 || SetDrawScreen( DX_SCREEN_BACK )!=0) return -1;
while(ProcessMessage()==0 && ClearDrawScreen()==0 && GetHitKeyStateAll_2(Key)==0 && Key[KEY_INPUT_ESCAPE]==0){
switch(func_state){
case 0:
move ();
break;
}
ScreenFlip();
}
DxLib_End();
return 0;
}
double jx=0,jy=0;
void move(){
int x=0,y=0;
double naname=1;
int a = LoadGraph("0.png");
int idou=10;
if(Key[ KEY_INPUT_RIGHT ] == 1){
x = idou;
if(jx<500)jx=jx+x;
}
DrawGraph( jx , jy , a , TRUE );
}
と書いてみたのですが画像が表示された後 → を押すと一度動いて止まってしまいます。
押し続けると動き続けるようにするにはどうしたらよいでしょうか・・
346ポイント を落としてしまった。
|
|
|
|
Name: shuto ..かけだし(1,820ポイント)
Date: 2010/08/23(月) 01:10
No:59839
|
|
Title: Re:画像の移動
|
|
GetHitKeyStateAll_2(Key) は 呼ばれる毎に
右カーソルキーを押していれば Key[ KEY_INPUT_RIGHT ] を1増やすので
Key[ KEY_INPUT_RIGHT ] == 1 は キーを押し続けると一度しか存在しません。
押した瞬間だけ動くのはこれが原因です。
なので
void move() の中の
if(Key[ KEY_INPUT_RIGHT ] == 1) を
if(Key[ KEY_INPUT_RIGHT ] >= 1) とすればとりあえず動き続けますね。
個人的にはdoubleとintがごっちゃになってるのとかが気になりますが。
170ポイント を落としてしまった。
|
|
|
|
Name: まる ..入門者(4,044ポイント)
Date: 2010/08/22(日) 16:36
No:59818
|
|
Title: Object-C アニメーション設定について
|
|
言語:Object-C
質問内容:object-cにて、静止画をつかったスライドショー表示するアプリを作成しています。
そこでアニメーション設定についてご教授ください。
2点ほど質問がございます。
質問1)
---------------------------------------------------------------
NSMutableArray *imagesFiles = [[NSMutableArray alloc] init];
:
UIImage *image = [[UIImage alloc] .......];
:
[imagesFiles addObject:image];
:
imageView.animationImages = imagesFiles; //アニメーションのコマ設定
:
[imageView startAnimating]; //アニメーション開始
:
一定時間
:
[ imageView stopAnimating ] //アニメーション停止
---------------------------------------------------------------
上記のようにアニメーションの静止画データを配列でもたして
一定時間スライドショーさせてとめようとおもうのですが、
アニメーション停止時、画像がきえてしまいます。
そこで、停止後に
imgView.image = UIImage 最終フレーム画像
で停止した際の画像を表示したいとおもってます。
しかしこの最終フレーム画像をどうやってもとめたらいいかわかりません。
質問2)
上記のアニメーション実行をするにあたり大きいサイズの動画を読み込み中に
UIActivityIndicatorViewにてぐるぐる表示のインディケータを表示させようと
読み込み開始前に、ぐるぐるアニメーション開始命令、
読み込み処理完了後にぐるぐるアニメション停止よりをいれたのですが、
読み込み中表示処理をしてくれず、読み込み後にぐるぐる表示処理されずに
スライドショーのアニメーションのみ表示されます。
ためしにぐるぐるアニメーション停止処理をいれずに実施してみましたが
スライドショーとぐるぐるアニメーションが同時にはじまります。
どうも読み込み時に表示処理ができてない???ように思うのですが
どのような対処をすればいいのでしょうか。
スライドショー表示の画面構成は、InterFaceBuilderを使用しています。
漠然とした質問ですみません。
ご教授お願いします。 
365ポイント を手に入れた。
|
|
|
|
Name: まる ..入門者(3,922ポイント)
Date: 2010/08/22(日) 22:34
No:59835
|
|
Title: Re:Object-C アニメーション設定について
|
|
Justyさんいつもお世話になっております。
1)について
>現状提示できる解決方法としては自前のタイマー制御で画像を順次切り替えていくようにする
なるほどー、ありがとうございます。
タイマーを使用してためしてみます。
2)について
同一関数内ですべて行っていました。
別スレッドって別関数っていう意味でよろしいのでしょうか?
こちらもためしてみます。
結果また報告いたします。
122ポイント を落としてしまった。
|
|
|
|
|
Name: まる
Date: 2010/08/28(土) 20:08
No:598181282993696
|
|
Title: Re:Object-C アニメーション設定について
|
|
2)のぐるぐるアニメーションに関してまして
下記のように別関数で行いましたが、getTwitterTimeLine(ツイッターのタイムライン取得)が
終了するまでぐるぐるアニメーションの表示がされませんでした。
- (IBAction)myAction1:(id)sender {
NSLog(@"myAction1 ===>");
//ボタン表示更新
[button setTitle:@"Stop" forState:UIControlStateNormal];
// [button setTitle:@"Start" forState:UIControlStateNormal];
UIActivityIndicatorView *indicator;
indicator = [[[UIActivityIndicatorView alloc]
initWithActivityIndicatorStyle:
UIActivityIndicatorViewStyleGray]
autorelease];
indicator.frame = imageView.bounds;
indicator.hidesWhenStopped = TRUE;
indicator.contentMode = UIViewContentModeCenter;
[indicator startAnimating];
[imageView addSubview: indicator];
[self getTwitterTimeLine];
NSLog(@"myAction1 <===");
}
別スレッドで行うの意味を取り違えているのでしょうか。。。。?
|
|
|
|
Name: ナムアニクラウド [URL] ..ぴよぴよ(802ポイント)
Date: 2010/08/21(土) 16:47
No:59729
|
|
Title: 実験作の評価のお願い
|
|
こんにちは、ナムアニクラウドです。
只今C++にて、DXライブラリをラップしたモジュールを制作しています。
(モジュールとは、プログラムを組み立てる部品となるクラス群・関数群です)
「誰でも使いやすいモジュール」を目指してクラスを構築し、
実際にそれを用いてゲームを制作しています。
今回はちょっと変わった機能ができたので、
リファレンスマニュアルのテストがてら紹介しようと思った次第です。
ダウンロードはこちらから。
http://ux.getuploader.com/NAC_develop/download/12/Group0.1.zip
主にリファレンスが見やすく出来たかどうかの評価をしてもらいたいと思っています。
よろしくお願いします。
肝心のモジュールの方は、本当のところ、
ちょっと面白い機能が出来たので誰かに遊んでほしいな、と思って紹介しています。
DXライブラリのラップでもありません。
モジュールの内容は、ある状況下での条件文の簡略化です。
使い方はreadmeに簡単に書いてあります。
リファレンスにはサンプルプログラムもありますので、ご覧ください。
283ポイント を手に入れた。
|
|
|
|
Name: h2so5 ..かけだし(1,259ポイント)
Date: 2010/08/21(土) 20:43
No:59753
|
|
Title: Re:実験作の評価のお願い
|
|
パスワードがわからないのですが...^^;
私もC++でDxLibのラッパー作っているので(Modelクラス作ったりとか)興味はあります。
59ポイント を手に入れた。
|
|
|
|
|
Name: ナムアニクラウド [URL] ..ぴよぴよ(866ポイント)
Date: 2010/08/21(土) 20:58
No:59754
|
|
Title: Re:実験作の評価のお願い
|
|
h2so5さん
>>パスワードがわからないのですが...^^;
ご報告ありがとうございます!
ものすごいドジ踏んじゃって私ったら。
パスワードは「nac」です。カギカッコは含みません。
では、改めてよろしくお願いします。
64ポイント を手に入れた。
|
|
|
|
|
Name: dic ..比類無きプログラマー(92,029ポイント)
Date: 2010/08/21(土) 21:40
No:59757
|
|
Title: Re:実験作の評価のお願い
|
|
>ナムアニクラウドさん
はじめまして
STLを使われているようで、STLの標準ライブラリ find_if() とはどう違ったアプローチができるのでしょうか?
2倍のポイントを手に入れた! 154ポイント を手に入れた。
|
|
|
|
|
Name: palladium ..入門者(2,887ポイント)
Date: 2010/08/21(土) 22:59
No:59761
|
|
Title: Re:実験作の評価のお願い
|
|
>例えば、ひとつの整数変数n に対して、
0,1,2,4,8のいずれかと等しいかを得るとき、
if( n == 0 || n == 1 || n == 2 || n == 4 || n == 8 )
としますが、...
と、ありますが
if(0 + 1 + 2 + 4 + 8 & n || n == 0)
これでもいけるようです。
133ポイント を手に入れた。
|
|
|
|
|
Name: ナムアニクラウド [URL] ..かけだし(1,199ポイント)
Date: 2010/08/22(日) 00:11
No:59767
|
|
Title: Re:実験作の評価のお願い
|
|
>dicさん
dicさん初めまして。
実は find_if関数 っていうのは今回初めて聞いたもので・・・
早速ググって、試してみたところ、コンテナと比較関数が必要な関数らしいですね。
比較グループを使った場合の利点をあえて挙げるなら、
コンテナ、イテレータと比較関数が不要であることでしょうか。
コンテナの中身を比較したい、って言う時はfind_ifが断然いいと思います。
他には bool型を返すのでfind_ifが返すイテレータが要らないときに楽だとか。(ifに直接書ける)
しかしまあ、そもそも、新しい構文を作るような変な演算子オーバーロードはあまり使いやすくないものですから、
実用目的としては結構厳しいです。
「1対多の、コンテナを含まない比較」でしか活躍しないですし。
よく考えると思ったより気の利かない機構かもしれないですね。
そんなモジュールでしたが、見てくれてありがとうございました!
>palladium
palladiumさん初めまして。
なるほど、そういう比較の方法もありますね。
しかし、その方法は値が2の階乗である時に使える方法です。
リファレンスに書いたものはあくまで「例」で、
「もし比較グループを使ったら」というニュアンスのものです。
ちょっと誤解を招いてしまったようですが、
リファレンスに書いた使用例が紛らわしかったようですね。
失礼いたしました。
333ポイント を手に入れた。
|
|
|
|
|
Name: Justy ..伝説なるハッカー(566,143ポイント)
Date: 2010/08/22(日) 02:06
No:59775
|
|
Title: Re:実験作の評価のお願い
|
|
ざっと見た感じドキュメントの方は内容的には特に問題ないと思います。
サンプルが載っているので使い方はすぐにわかるでしょうし。
強いて言えばドキュメントのバージョン、修正履歴の項目はあってもいいのかもしれません。
ただブラウザの表示絡みでは何点かあります。
・ IE8 互換モード
IE8で開くと互換モードなり #sideやサンプルプログラムあたりが正しく表示できませんでした。
IE6, 7でも微妙に異なりますが、正しく表示できないようです(さすがにこちらは
レガシーなブラウザなのでサポートしなくてもいいとは思いますが)。
・ 文字コード
htmlに文字コード指定は入れておいて下さい。
一部のブラウザではこのままだと文字化けを起こす可能性があります。
2倍のポイントを手に入れた! 446ポイント を手に入れた。
|
|
|
|
|
Name: palladium ..入門者(2,991ポイント)
Date: 2010/08/22(日) 07:02
No:59783
|
|
Title: Re:実験作の評価のお願い
|
|
速度の比較の為、以下のコードを試してみました。
3パターンありますが
私の環境ではDebug, Release共にswitch文が1番速いようです。
/*
Windows XP sp3
Visual Studio 2005 sp2
Pentium4 2.26GHz
*/
#include <windows.h>
#include <iostream>
#include "Group.h"
using namespace std;
int main()
{
LARGE_INTEGER Freq, Before, After;
DWORD Time = 0;
QueryPerformanceFrequency(&Freq);
QueryPerformanceCounter(&Before);
int n = 8;
int i = 100000;
while (i--)
{
if (n == (group::cluster, 0, 1, 2, 4, 8)){
;
}
/*if( n == 0 || n == 1 || n == 2 || n == 4 || n == 8 ){
;
}*/
/*switch(n){
case 0:
case 1:
case 2:
case 4:
case 8: break;
default: break;
}*/
}
QueryPerformanceCounter(&After);
Time = (DWORD)((After.QuadPart - Before.QuadPart) * 1000 / Freq.QuadPart);
cout << Time << endl;
cin.ignore();
return 0;
}
104ポイント を手に入れた。
|
|
|
|
|
Name: ナムアニクラウド [URL] ..かけだし(1,728ポイント)
Date: 2010/08/22(日) 14:41
No:59810
|
|
Title: Re:実験作の評価のお願い
|
|
>Justyさん
評価ありがとうございます。
ドキュメントの内容は問題ないようでよかったです。
文字エンコードについては、CSSに宣言を追加する方法を調べました。
IE8については、その仕様がCSSの正しい表記に近いらしく、記述が曖昧などの原因で崩れてしまうようです。
綺麗に表示できるよう、現在改良中です。
>palladiumさん
計測ありがとうございます。
自分は速度のことはすっかり忘れてました・・・
ソースコードを拝借してこちらでも計測してみました。
Windows Vista sp2
Visual Studio 2010 Express
Intel Core2 Duo CPU 2.67GHz にて、
10万回の条件判定を行ないました。
Groupモジュール
Debug: 32秒344
Release: 2秒551
if文
Debug: 0秒000
Release: 0秒000
switch文
Debug: 0秒000
Release: 0秒000
でした。かなり遅いです。
というのも内部でif文を使っているので、if文の数倍の時間がかかるのは当然ですね。
と言っても…数倍ってレベルではありませんが。
とてもいい経験になりました。今後のプログラミングに役立てたいと思います。
ありがとうございました。
529ポイント を手に入れた。
|
|
|
|
|
Name: Justy ..伝説なるハッカー(568,319ポイント)
Date: 2010/08/22(日) 15:41
No:59813
|
|
Title: Re:実験作の評価のお願い
|
|
>かなり遅いです
残念ですけどこのソースでは正しく評価できないかと。
まともに評価できているのは Groupモジュールだけです。
MSVCではこの if方式と switch方式はデバッグビルドであっても最適化され、
ただの“何もしない”ループなコードが生成されます。
リリースビルドではそのループすら“無かった”コードが生成されますので更に高速になります。
じゃどうすればいいかというと、ifが成立したとき、或いは成立しなかったときに何か
処理を入れれば最適化による処理の省略は防げます。
こんなかんじとか。
if (n == (group::cluster, 0, 1, 2, 4, 8)){
++n;
}
if( n == 0 || n == 1 || n == 2 || n == 4 || n == 8 ){
++n;
}
>if文の数倍の時間がかかるのは当然ですね
勿論計測しないと正しくは判りませんが、 if文というよりコピーコンストラクタ・デストラクタが
走りすぎなところじゃないでしょうか。
そのテストコードですと、5つの Groupクラスの一時オブジェクトが if分の中で生成され
if文を抜けると破棄されます。
デバッグビルド時だと加えて operator,()のローカル変数の破棄と戻り値の分のオブジェクトの生成が
行われます。
オブジェクトの生成・破棄時には内部のリストもコピー・破棄を繰り返すことになり、
その際メモリアロケートの処理も走りますのでその分遅くなっていると思います。
# まぁ、この辺りを改善したとしても ifや switchに勝つのは難しいとは思いますが……。
481ポイント を手に入れた。
|
|
|
|
|
Name: palladium ..入門者(3,088ポイント)
Date: 2010/08/22(日) 16:06
No:59816
|
|
Title: Re:実験作の評価のお願い
|
|
> MSVCではこの if方式と switch方式はデバッグビルドであっても最適化され、
ただの“何もしない”ループなコードが生成されます。
存じております。
それゆえあえて計測テンプレートコードには測定時間を書き込みませんでした。
あまりに単純な式でも省略される場合もあります。
計算結果を出力するようなコードが必要かと思われます。
97ポイント を手に入れた。
|
|
|
|
|
Name: ナムアニクラウド [URL] ..かけだし(2,221ポイント)
Date: 2010/08/22(日) 22:05
No:59834
|
|
Title: Re:実験作の評価のお願い
|
|
>Justyさん
>MSVCではこの if方式と switch方式はデバッグビルドであっても最適化され〜
ご指摘ありがとうございます。
最適化の時に何もしないif文、switch文は消滅する可能性がある、という話ですね。
すっかり抜け落ちてました。どうりで測定した時間が0秒000になる訳ですね。
>if文というよりコピーコンストラクタ・デストラクタが走りすぎなところじゃないでしょうか。
確かに毎ループ5個文のコンストラクタ・コピーコンストラクタを呼び出せば遅いですね。
内部の配列(今はlist)と登録方法を見直せば少しはマシになるかも知れない…
ちなみに、念のために条件が真の時に
cout << "a" << endl;
を実行するようにしたソースの時間も計ってあります。
Groupモジュール
Debug: 40秒487
Release:13秒702
if文
Debug: 9秒983
Release:9秒653
switch文
Debug: 9秒817
Release:9秒515
ところで、時間計測って、入出力のような処理よりも速い、
それこそ10万回の実行でかかる時間がになる0ような処理がいいのかもとか、あとで考えてました。
前置インクリメントは速そうな感じがしますが、どうなのでしょうか。
493ポイント を手に入れた。
|
|
|
|
Name: kaki ..ぴよぴよ(60ポイント)
Date: 2010/08/22(日) 12:47
No:59796
|
|
Title: ゲームプログラミングの館 12章の画像を動かすところ
|
|
エラーなくビルドできているんですが、動ききってから表示されていて、動くところを見られません。
コンパイラ側の問題でしょうか?使っているのはMicrosoft Visual C++ 2010 です。
解決法よろしくお願いします。
60ポイント を手に入れた。
|
|
|
|
Name: kaku ..ぴよぴよ(21ポイント)
Date: 2010/08/22(日) 12:52
No:59797
|
|
Title: Re:ゲームプログラミングの館 12章の画像を動かすところ
|
|
追加ですが、次の章の裏画面処理をしたところ動くところを確認できました。
Sleep関数が原因でしょうか?
21ポイント を手に入れた。
|
|
|
|
|
Name: ひよこ ..比類無きプログラマー(87,545ポイント)
Date: 2010/08/22(日) 14:45
No:59811
|
|
Title: Re:ゲームプログラミングの館 12章の画像を動かすところ
|
|
>>動ききってから表示されていて、動くところを見られません。
これってfor文の描画で文を抜けたからではないでしょうか?
33ポイント を手に入れた。
|
|
|
|
|
Name: kaki ..ぴよぴよ(126ポイント)
Date: 2010/08/22(日) 16:38
No:59819
| 解決!
|
Title: Re:ゲームプログラミングの館 12章の画像を動かすところ
|
|
ありがとうございます!その章の要点は押さえられているので先に進んで行こうと思います。
過去ログにもまったく同じ質問がありましたね・・・。今後かぶらないよう気をつけたいです。
66ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..ウィザード(1,260,661ポイント)
Date: 2010/08/22(日) 17:04
No:59821
|
|
Title: Re:ゲームプログラミングの館 12章の画像を動かすところ
|
|
12章でこの手の質問が多かったので、
「
※注:
この章は13章のようなプログラムが何故必要になるかを示すためのもので、
適切ではないプログラムの例を紹介しています。
実行結果はこれと異なる場合があり、何も表示されないかもしれません。
」
と、下に更に
「
※もう一度注:
」
を書いておいたのですが、これでは良く解らなかったでしょうか?
目につかないなどあれば、赤字にするなど修正しようと思います。
206ポイント を手に入れた。
|
|
|
|
Name: シエル ..熟練のプログラマー(59,854ポイント)
Date: 2010/08/22(日) 08:58
No:59784
|
|
Title: リプレイデータの記録について
|
|
お世話になります。
現在リプレイデータの記録&再生を頑張って実装しようとしているのですが、
どうしても途中でずれてしまいます。(もしかしたら初めからずれているのかもしれません)
そこで、昔リプレイの保存で議論していたスレがあったので、ちょっと目を通してみました。
下記のスレです。
http://www.play21.jp/board/formz.cgi?action=res&resno=54123&page=&lognum=167&id=dixq&rln=54489
ここで、キューさんがサンプルとして書いていただいているコードと私が自分で書いてるコードは
大体やってることは同じだったのですが、一つだけ違いがありました。
それは、キューさんの方のコードは最初にキーの状態を全て保存しておいて、リプレイ再生時にまずそれを
読み込んで当時の最初のキー状態を再現しているところです。
私はこれは必要ないと思ったのでやっていません。
理由としては、
まず0フレーム目の記録の際に、現在のキー状態と過去のキー状態を比べて差異があれば、
ファイルに書き込みを行っています。
この処理を行っていれば、最初のキー状態を再現できると思ったからです。
例えば0フレーム目にAキーが押されていたとします。
この時点では、過去キー用変数には0フレーム目なので何も値は入っていません。
なので最初の差異をチェックする部分で必ず、ファイルに書き込みが行われます。
これを後から再生すると、0フレーム目でAキーという情報が読み込まれ、
Aキーが押されたいたことになります。
ですので、最初にキー状態を全て保存しておく必要はないと思っています。
私とキューさんのコードの違いはこの部分だけです。
この違いが原因で私のリプレイ再生がずれていることに関係しているのかわかりませんが、
この最初にキーを全て保存しておくことが本当に必要なのかどうかをはっきりさせたいので、
必要であれば必要な理由をお答え願えないでしょうか?
それと、もう一つありまして、
このスレで議論されている差分フレームの話は非常に興味がありまして、どうせならこの理論を
取り入れたいと思っています。
しかし、まだC言語暦が3ヵ月半程度で経験不足な為、完全に理解することができませんでした。
特に理解できなかったのが、対象のキーのビットを立てる?ことです。
ビットとバイトの関係は理解しているつもりなのですが、次のキューさんの発言がいまいち分かりません。
========================================================================================
いえ、キーの入力状態を保存する必要はなく、「何番のキーか」を保存すればいいと思います。
上に書いたとおりですが例えば
No. ボタン
0 … 下キー
1 … 上キー
2 … 左キー
3 … 右キー
4 … ショットキー
5 … ボムキー
6 … 低速移動キー
7 … ストップキー
8 … ボス会話スキップキー
みたいに予め決めておきます。
そうすれば、16種類もキーがあれば十分でしょうから、2^4=16で4ビットあればいい事になります。
=========================================================================================
この記述を踏まえて改めて質問致しますと、
もし0〜3番までの4ビットを使った場合、右キーを押した場合は変数にどのように
値を入れればいいのでしょうか?
unsigned short test=3
でいいのでしょうか?
もし良かった場合、11〜14番の4ビットを使った場合はどうなるのでしょうか?
左に8ビットシフトするので、3×2^8をすればいいのでしょうか?
これが理解できれば、他の部分も全て理解できると思います。
以上、長文になってしまいましたが、分かる方ご教授願います。
2倍のポイントを手に入れた! 2,178ポイント を手に入れた。
|
|
|
|
Name: シエル ..熟練のプログラマー(61,762ポイント)
Date: 2010/08/22(日) 08:59
No:59785
|
|
Title: Re:リプレイデータの記録について
|
|
追記しますが、
キューさんが提示されているコードは二つあるうちの二つ目の方です。
一応貼っておきます。
#include "DxLib.h"
/*********************** リプレイデータ保存 ****************************/
//キーの入力状態の変化を計算して変化があると表示する
void SaveKeyChangeState( unsigned short FrameNum, FILE *fp ){
char nowKeyState[256]; //今現在の入力状態
static char oldKeyState[256]; //過去の入力状態
GetHitKeyStateAll( nowKeyState ); //入力状態を取得
if( FrameNum == 0 ){ //最初ならキーの入力状態全てを保存
fwrite( nowKeyState, 256, 1, fp );
}
for( int i=0; i<256; i++ ){
unsigned char KeyNum = (unsigned char)i;
if( nowKeyState[i] != oldKeyState[i] ){ //過去の入力状態と違えば
fwrite( &FrameNum, 2, 1, fp ); //フレーム数記録
fwrite( &KeyNum, 1, 1, fp ); //キー番号録
printfDx("Frame = %4d, KeyNo.=%d\n", FrameNum, KeyNum); //表示
}
}
memcpy( oldKeyState, nowKeyState, 256 ); //現在の入力状態を過去のものに
}
/*********************** リプレイデータ読み込み ****************************/
//変化のあったフレーム数とキー番号を読み込み
int ReadData( unsigned short *FrameRem, unsigned char *KeyNum, FILE *fp ){
if( !fread( FrameRem, 2, 1, fp ) ) return -1;
if( !fread( KeyNum, 1, 1, fp ) ) return -1;
return 0;
}
//リプレイデータからキーの状態を再現
int ReadKeyChangeState( unsigned short FrameNum, FILE *fp ){
static char KeyState[256]; //過去の入力状態
static unsigned short FrameRem; //変化のあったフレーム番号
static unsigned char KeyNum; //変化のあったキー番号
if( FrameNum == 0 ){ //最初なら
if( !fread( KeyState, 256, 1, fp ) ) //キーの入力状態をセット
return -1;
if( ReadData( &FrameRem, &KeyNum, fp ) ) //次にキーの状態が変わる情報を読み込み
return -1;
}
if( FrameRem > FrameNum ){ //キーの状態が変わるのがまだ先ならもう帰る
return 0;
}
if( FrameRem < FrameNum ){ //こんなことはあってはいけないのでエラー
return -1;
}
for( int i=0; i<256; i++ ){ //ここに来た時点で0-255のどれかが変わるはず
if( i == KeyNum ){ //変わるのがこれなら
KeyState[i] = KeyState[i] ? 0 : 1; //1なら0を、0なら1を代入
printfDx("Frame = %4d, KeyNo.=%d\n", FrameNum, KeyNum); //表示
if( ReadData( &FrameRem, &KeyNum, fp ) ) //次にキーの状態が変わる情報を読み込み
return -1;
if( FrameRem > FrameNum ){ //キーの状態が変わるのがまだ先ならもう帰る
return 0;
}
}
}
return 0;
}
/*********************** メイン ****************************/
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
int FrameCount=0, ReplayFlag=0;//リプレイフラグ
FILE *fp;
if(ChangeWindowMode(TRUE)||DxLib_Init()||SetDrawScreen(DX_SCREEN_BACK))return -1;
if( ReplayFlag == 0 ){ //リプレイ中じゃなければ書き込み
if( (fp=fopen("000.rpy","w")) == NULL )
goto LAB_EX;
} else { //リプレイ中なら読み込み
if( (fp=fopen("000.rpy","r")) == NULL )
goto LAB_EX;
}
while(!ScreenFlip()&&!ProcessMessage()&&!ClearDrawScreen()&&!CheckHitKey(KEY_INPUT_ESCAPE)){
if( ReplayFlag == 0 ){ //リプレイ中じゃないなら
SaveKeyChangeState( FrameCount, fp ); //キーの変化状態を保存
} else {
if( ReadKeyChangeState( FrameCount, fp ) ) //キーの変化状態を読み込み・適用
break;
}
DrawFormatString(500,0,GetColor(255,255,255),"Frame=%d",FrameCount);//フレーム数表示
FrameCount++;
}
fclose( fp );
LAB_EX:
DxLib_End();return 0;
}
1,908ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(61,669ポイント)
Date: 2010/08/22(日) 13:03
No:59799
|
|
Title: Re:リプレイデータの記録について
|
|
Justyさん!お忙しいところありがとうございます!
過去スレの内容を見てみたところ
私も過去スレのサウスさん同様、あまりにも分かりやすくて凄い回答だったので
驚いたというか感動しました!
ちょっと一回作ってやってみます!
本当にありがとうございます!
93ポイント を落としてしまった。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(61,942ポイント)
Date: 2010/08/22(日) 15:59
No:59815
| 解決!
|
Title: Re:リプレイデータの記録について
|
|
うおおお!出来ました!動作もずれなく完璧に動くようになりました!
しかもサイズも今までの半分!(約3分で4KB)
自分で何回やっても少しずれてしまうから、毎回少数の計算で誤差が出てるのかと
思ったら、やっぱり自分のリプレイのコードがまずかったようですね。
バイトとビットの関係、各ビットの立て方や倒し方、立ってるかどうかの調べる方なども
理解しました。
余裕があればフレーム数保存用の変数も差分フレームの理論を使ってみて、
さらにサイズが減らせるか頑張ってみます!
それでは次は3D背景に挑戦したいと思います!
Justyさん!本当にいつもありがとうございます!
181ポイント を手に入れた。
|
|
|
|
Name: いみー ..ぴよぴよ(177ポイント)
Date: 2010/08/17(火) 01:52
No:59129
|
|
Title: 新ノートパソコン購入について、制作環境
|
|
初めまして、C++でゲームプログラミングを勉強したいと思っているものです。
C++の基礎は一応できます。もちろんこれからも勉強していきますが、DirectXでのゲームプログラミングも視野にいれていきたいと思っています。
それで、あたらしいノートパソコンを買いたいんですが、どれにしようか迷っています。
金銭的にはちょっときついです。
DirectX11はどうやらGeForce GTX 460以上のグラフィックカードにしか対応しないと聞きました。
http://dixq.net/sakuhin.html
以下のスペックでこのような作品は作れますか?
失礼します。
Lenovo
Operating System: Genuine Windows® 7 Home Premium 64-bit
Processor: Intel® Core™ i5-450M processor with Intel® Turbo Boost Technology* (2.4GHz with 2.66GHz with Turbo Boost Technology, 3MB L2 Cache)
Graphics: Intel® Graphics Media Accelerator HD
Memory: Configured with 4GB DDR3 1066MHz
Storage Drive: 320GB Serial ATA hard disk drive
Optical Disk Drive: DVD/CD Combo burner/reader
Display: 15.6” widescreen display (1366x768)
Sound: Stereo speakers
Webcam: Integrated web camera
Communications: 10/100 Ethernet, WiFi 802.11 B/G/N
Expandability: ExpressCard™ slot, 5-in-1 Memory Card Reader
Ports: 2 USB 2.0, 1 USB2.0/eSATA combo, 1 VGA, 1 HDMI, 1 Microphone input jack, 1 Headphone out jack
Battery: 6 cell Lithium Ion battery
177ポイント を手に入れた。
|
|
|
|
Name: aho ..ぴよぴよ(40ポイント)
Date: 2010/08/17(火) 03:37
No:59132
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
板違いって言うか掲示板違いです。このような質問はyahoo知恵袋やgooで聞くのが良いでしょう
とりあえず個人的な意見を
>以下のスペックでこのような作品は作れますか?
エフェクト使いまくるとかメモリーの解放を行わないとか最初に全部の画像を読み込むとかしなきゃ
基本的には大丈夫です
>DirectX11はどうやら〜
DirectX11は、そもそもDXlibが対応してないので、DXlibを使うのであれば必要ありません
それに一般のPCではDirectX11なんて入ってません。7~9がいいところです
>金銭的にはちょっときついです。
良いPCは値段に比例します。ましてやノートでi5などゆうに10万は越すでしょう。
結論:
BTOデスクトップがいいんじゃないでしょうか。
ノートはバッテリー食うし。デバッグなんてやればもちろんのこと
私の経験として、ノートで開発はするもんじゃありません。
40ポイント を手に入れた。
|
|
|
|
|
Name: DecentLove ..上級者(15,985ポイント)
Date: 2010/08/17(火) 08:31
No:59134
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
ahoさんに同感ですね。
パソコンの性能は値段に比例しますし、ノートパソコンの方が割高です。
デスクトップの方は場所は取りますがUSBポートやその他のポートがノートよりも多いです。
それと、DirectX11に対応するような最新のグラフィックボードを載せようと思ったらデスクトップでなきゃスペースが足りないですし、それなりに大きなPCケースでないといけません。タワー型が必須、マザボもATXの方がいいでしょうね。
あと、64bitOSの方が性能はいいですが、対応していないソフトの方もありますので、XP環境などでは使えてたソフトたちがWin7 64bitに移行したら使えなくなってる。なんてことがありますね。
116ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(50,000ポイント)
Date: 2010/08/17(火) 08:41
No:59135
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
DirectX11で開発したいんですか?
キューさんの作品ぐらいなら、DirectX9とかでも可能だと思いますが。
(というかDXライブラリで作られてるから、中身はDirectX9だと思いますが。)
27ポイント を手に入れた。
|
|
|
|
|
Name: softya [URL] ..ハッカー(196,360ポイント)
Date: 2010/08/17(火) 10:33
No:59142
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
内蔵グラフィックでの表示は辛いですね。
せめてゲーミングノートPCぐらい性能が欲しいですが高いので、コストパフォーマンスで選ぶならデスクトップPCですね。それでも、DirectX11対応はは今すぐは価格的に厳しいですが。
92ポイント を手に入れた。
|
|
|
|
|
Name: ROM ..入門者(3,278ポイント)
Date: 2010/08/17(火) 10:37
No:59143
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
規約にC言語以外の質問でも良いと書いてあるのに板違いはかわいそうでは
18ポイント を手に入れた。
|
|
|
|
|
Name: ぜらーちん ..初心者(6,198ポイント)
Date: 2010/08/17(火) 11:13
No:59144
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
出来る出来ないで言えば出来る
金額的にきつい=金額が乗っていないので判断出来ない
予算不明
正直ノートパソコンの時点でモッサリ感が大きい
デスクトップPC(普通のケースタイプ)をオススメするが、PCに疎い人に限って
大手メーカー製品を買うのだが
買う際にセレロンとかを買わされないように注意すること
友人にどんだけいっても、BTOを買わないでメーカー品を買って
増設出来ない、省スペースが…一体型が…とかいうアホが多すぎて困る
ちなみにRADEONの方がDirectX11対応してるVGA多いですよ
32ポイント を手に入れた。
|
|
|
|
|
Name: softya [URL] ..ハッカー(196,533ポイント)
Date: 2010/08/17(火) 11:43
No:59145
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
いみーさんに決めて欲しいのは、
・予算
・コンパクト性(ノート) or 性能(デスクトップ) のどちらを優先するか
・拡張性(デスクトップ)は必要ないのか? ビデオカードの変更などはしないのか。
・ビデオカードはDirectX11必須か?
・CPUの性能は求めないのか?
・メーカー製以外のパソコンもOKか?
・3Dゲームを遊んだり、3Dゲームを開発する可能性は無いのか?
ですかね。
173ポイント を手に入れた。
|
|
|
|
|
Name: softya [URL] ..ハッカー(196,612ポイント)
Date: 2010/08/17(火) 12:00
No:59148
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
じゃあ、あちらを解決にするまでこちらは書き込まないということで・・・。申し訳ないですがそれまでは質問されても回答もしかねますのでご了承ください。理由は、ここの「規約と注意事項」をお読みください。
あちらの質問を終わるときは必ずお礼を言ってBAを決めて気持よく終わる様にしてくださいね。
68ポイント を手に入れた。
|
|
|
|
|
Name: いみー ..ぴよぴよ(359ポイント)
Date: 2010/08/17(火) 13:23
No:59153
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
色々な回答、ありがとうございます。
すみません、掲示板違いだと思い知恵袋で質問してみました。あちらの質問は解決したんで、引き続きこちらで意見をもらえたらありがたいです。マルチポストについてはごめんなさい。
確かに質問が投げかけですよね。もっと詳しく説明します。
僕は海外に住んでいる大学生です。
予算:
約10万円(900ドル)
用途:
僕はデザイナーではありません。プログラマー志向です。
Web制作を勉強しています。経験と収入の目的も含めて、ローカルでデザイナーと組んでフリーランスも今年始めました。基本的にはWebサイト制作に使います。今年は来週からJavaプログラミング、来年始めはC++(上級レベル)の授業もとってるんで、今は少しずつC++でゲームプログラミングの勉強を始めたいです。質問内容でお察しの通りゲームプログラミング、PCゲームでのグラフィックカードの対応性、違いなどには疎いです。
ハイスペックを必要とするようなゲームをすることはないと思います。同人ゲーム等で気になるのがあったらやってみようかな、といった感じです。ただ2,3年後になって、「やっぱりこの新PCじゃダメだ」ってなるのは嫌です。
コンパクトor性能:
ノートPCである必要性は、二つです。
一つはクライエントに制作したサイトをみせること。二つ目は学校やどこにでも作業の気分転換も兼ねてもっていけるということ。
実をいうともう1台古いノートPCをもっています。ロースペックで遅いですがReformatやらすれば僕が必要とするコンパクト性はこのノートPCで補われると思います。
ただノートPCであるに越したことはありません。便利だからです。
ゲーム制作:
3Dは今のところ手を出すとは思いません。とりあえず今の段階では趣味と勉強を兼ねてのゲーム制作、と思っています。職として目指す気があるかどうかは今の自分にはわかりません。やってみてどこまでいこうと思えるかにもよると思います。DirectXについてお聞きしたのは上記で申しました通り、数年後にPCを買い換えないといけないという事態をさけたいからです。別に最先端のスペックを探しているわけではありません。
みなさん、真剣な回答ありがとうございました。

182ポイント を手に入れた。
|
|
|
|
|
Name: いみー ..ぴよぴよ(475ポイント)
Date: 2010/08/17(火) 13:33
No:59155
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
あと、メーカー製品とはどういった物の事ですか?
例えば、Dellじゃない一般の店がDellの製品を取り扱っている状態のことですか?
Dell.comならBTOでカスタマイズできますが、一般の店だとできないってことですよね?
失礼します
116ポイント を手に入れた。
|
|
|
|
|
Name: いみー ..ぴよぴよ(586ポイント)
Date: 2010/08/17(火) 13:49
No:59160
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
店員ですか。
店員は店の物を買わせるためにいるので、店にないものを勧めたり、こちら側の考えをあまり尊重してくれないと思い、聞こうと思ったことはありません。その道のプロでもないと思いますし。
参考までに聞いてみるのもいいですね。
111ポイント を手に入れた。
|
|
|
|
|
Name: ぜらーちん ..初心者(6,529ポイント)
Date: 2010/08/17(火) 14:07
No:59164
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
Pavilion Notebook PC dv7/CT 夏モデル Corei5搭載モデル
メーカーはHP、価格99,960円
10万以内、性能が良い、DirectX11対応VGA搭載、ノートPC
そして知恵袋の画面サイズ
最初の要望を全部満たしてるのを取り敢えず、簡単に検索したら出来てたので参考に
液晶サイズ:17.3インチ WXGA++ (1600x900)
CPU:Core i5 450M 2.4GHz(512KB)
HDD容量:320 GB 回転数 7200 rpm
メモリ:2GB DDR3 PC3-10600 メモリスロット(空き) 2(1)
VGA:MOBILITY RADEON HD 5650 ビデオメモリ 1722MB
ドライブ:DVD±R/±RW/RAM/±RDL
モデム*2 LAN 10/100/1000Mbps
無線LAN:IEEE802.11b (11Mbps)IEEE802.11g (54Mbps) IEEE802.11n
OS:Windows 7 Home Premium
駆動時間:5 時間
サイズ:幅x高さx奥行 420x39.5x278 mm
重量:3.05 kg
これが絶対に良い!というわけではないです。所持していないので保証も出来ません。
331ポイント を手に入れた。
|
|
|
|
|
Name: softya [URL] ..ハッカー(197,161ポイント)
Date: 2010/08/17(火) 14:30
No:59166
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
海外でもショップブランドBTOとかあると思いますよ(日本在住なんで海外のショップブランドは詳しくないですが)。話の内容からするとビデオカードはそこそこの性能(デスクトップじゃないと高くなるし、性能も劣る)、CPUもそこそこの性能が欲しい(ノートだと高価、重くなる)などの問題があると思います。
>DirectXについてお聞きしたのは上記で申しました通り、数年後にPCを買い換えないといけないという事態をさけたいからです。別に最先端のスペックを探しているわけではありません。
どちらにしてもノートなら買い替えは必要だと思います。予算が限られているので最高スペックも買えませんし。3年ぐらい使うと不満になる可能性が高いです。ノートのメリットはモバイル性と省電力と割り切った方が幸せな気がします。
2倍のポイントを手に入れた! 306ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) ..ウィザード(1,252,821ポイント)
Date: 2010/08/17(火) 15:48
No:59174
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
自作という選択肢は無いですか?
パソコンなんてCPUが入るマザーボード買えば後は適当に選んでも作れますよ^_^;
価格コムで評判よくて安いパーツを寄せ集めるとグット。
もし不安なら自作系の本を一冊買って見ながら作ればよいかと。
最近は複雑にピンヘッダにピンをささないといけないような事は少ないですしハードルは低いです。
今は割安感が無いですが、それでも自作の方が幾分か安いです。
保証が無いのがネックですが、何十台も過去に作りましたけど、未だにほとんど故障した事は無いです。
画面が映らなくなった→VGA故障?
急に電源が落ちる→電力不足、電源故障?
など不具合があれば原因を推測してパーツ交換になりますが、何を交換したらいいかわからないときは聞いてください^^
313ポイント を手に入れた。
|
|
|
|
|
Name: ちょっと通りますよ ..ぴよぴよ(591ポイント)
Date: 2010/08/17(火) 16:40
No:59180
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
要するに、同人ゲームなどで、2,3年後はDirectX11が流行っているか?ってことですね?
また、どうせなら最新のDirectX11で基礎を学びたいのですね?
まぁ、私は疎いので答えれませんが、
私なら、とりあえず仕事に必要なノートPCを買って、DirectX9あたりで基礎を勉強して、
2,3年後、その道に進もうと思った時に、投資として必要とするスペックのデスクトップを買いますね。
※仕事をしながらの3年後なら月2500円ぐらい貯金してけば何とかなりませんか?
自分の中でほとんど答えが出ているとは思いますが、今一度自分に質問してみてはどうですか?
その質問内容をここに書けば、きっと良い返信がつくと思いますよ
187ポイント を手に入れた。
|
|
|
|
|
Name: いみー ..ぴよぴよ(775ポイント)
Date: 2010/08/18(水) 00:08
No:59285
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
返信ありがとうございます。
そうですね、みなさんのおかげで方向が見えてきました。
今の段階ではやはりノートPCにしておくべきだと思います。ゲームプログラミングといってもまだ具体的になにをしようとも決まっていないのでは話にならないですよね。DirectX9を勉強して、みなさんの言うとおり「将来上達して自分で必要性が見えてきたらデスクトップを買う」というのが正しいですかね。
自作というのは自信ないですね。経験もありませんし、自分にはリスクが多い気がします。
今は、HP Pavilion dv6t series、これがいいかなと思っています。
値段はprocessor とVideo Cardをカスタマイズして$649から$874になりました。約7万円から10万円手前って感じです。数ヶ月後に3年間の保証プランを購入するつもりです。
Screen size 15.6 inch
Windows 7 Home Premium 64-bit
Intel(R) Core(TM) i5-450M Dual Core processor (2.40GHz, 3MB L3 Cache)with Turbo Boost up to 2.66 GHz
4GB DDR3 System Memory (2 Dimm)
1GB ATI Mobility Radeon(TM) HD 5650 switchable graphics [HDMI, VGA]
500GB 7200RPM SATA Hard Drive
6 Cell Lithium Ion Battery (standard)
重さ:5.40 lbs
Video cardは三つの中から選べます。三つ目のにしました。
1.Intel(R) HD Graphics [HDMI, VGA]
2.512MB ATI Mobility Radeon(TM) HD 5470 switchable graphics [HDMI, VGA]
3.1GB ATI Mobility Radeon(TM) HD 5650 switchable graphics [HDMI, VGA]
http://hardware-navi.com/gpu.php
この表によると中々いい性能だと思います。
上記のスペックはどうでしょうか?
リサーチは続けますが、この辺のスペックで探してみようと思います。
みなさんのお時間ありがとうございます。 
189ポイント を手に入れた。
|
|
|
|
|
Name: ぜらーちん ..初心者(7,126ポイント)
Date: 2010/08/18(水) 08:39
No:59317
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
参考までに
インテル(R) Core i5 520M(2.40GHz) 2コア/HT対応 (合計4スレッド) キャッシュ 3MB
インテル(R) HM55 チップセット
DDR3 1066 2GB ×2 (計4GB)
320GB Serial-ATA
Mobility Radeon HD 4570 512MB
15.6インチ WXGA++(1600x900ドット)対応光沢カラー液晶
IEEE802.11 b/g/n対応ワイヤレスLAN
以前実家帰省の際に、骨董品PCしかなくて購入したノートPCのスペックです(確かこれのはず('・ε・')違ってても似たような感じということで
スペック的にはCPU微妙に↑ VGAが1世代↓ですので、同じように考えるとしましょう
動作その他に関して、従来のノートPCより格段に快適です。
3Dをプレイするにあたっても、問題なく動作しますし、旧世代のPCよりも早い位です。
ぶっちゃけ、会社のデスクトップPCより良いくらいですかね…
普段デスクトップを自作しているのですが、それと比較しても普通に使えるレベルです。
VC++起動時のあのモッサリ感は、このPCにVC++をインストールしていないので分かりませんが
処理的にも問題ないと思います。
使用感としては、15.6インチということもあり持ち運びが非常に楽です。
17インチのノートを以前所有していましたが、あれは持ち運ぶというのは無理があります。
私にとっては、持ち運べる最大サイズは15.6が限界ですね。
重さもまぁ、ノートPCって位でしょう。
長時間使用するのであれば、USBタイプのキーボードを購入することをオススメします。
理由としては、使用しているとノートPCから熱が伝わってきます。
手が熱いのが気にならないというなら別ですが、私的にはノーサンキューなところです。
予算に余裕があるのでしたら、HDDをSSDに変更するとかなり代わりますのでオススメします。
プリフリ報告のSSDを選ばないように注意が必要です。
ないとは思いますが、メモリをよほど使うのであればUSBメモリを刺し、ReadyBoostを付けるといいかと
最後にOSですが、
>>Windows 7 Home Premium 64-bit
64bitOSなので開発する際に、ライブラリとかが手に入らない可能性があります。
WindowsXPをデュアルブートするか32bit環境を用意しておいたほうがいいかもしれませんね
XP互換モードがありますが、あれは重い上にDirectXが無効になってるはずなので(7でた当初にしか試していない)微妙かもしれません。
ネットゲームをやろうとしたら重すぎて無理無理でした。
開発の時にも影響あるかは未確認ですのでXPモードに期待しているのであれば事前に調べておいたほうがいいかもしれません。
最もultimateエディションにしかなかった気がしますが
597ポイント を手に入れた。
|
|
|
|
|
Name: ちょっと通りますよ ..ぴよぴよ(906ポイント)
Date: 2010/08/18(水) 10:30
No:59330
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
当初の思い描いてた物に近い製品にみえますね。
必要なノートPCに決め、現在搭載できる最高のカードを選ばれているので、悔いは残りそうもないですね。
その他:開発時に結構快適
ぜらーちんさんも言われているように外部キーボードの使用
私はPS/2→USB変換ケーブルで既存のキーボードを使ってます
外部モニターを付けて、デュアルモニターにする、調べ物しながら(複数窓を開いて)のプログラミングが楽
ノートパソコンだとキーボードの使用感とか、モニターの発色(このメーカーの光沢は見にくいw)が気になる場合があるので、
補助的に改善する方法として、頭の片隅にでも入れておいてください
この点なんかは、私の場合、価格.comなどユーザーレビューなんかも参考にして選びました。
315ポイント を手に入れた。
|
|
|
|
|
Name: いみー ..ぴよぴよ(994ポイント)
Date: 2010/08/18(水) 17:10
No:59358
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
為になる意見ありがとうございます。ものすごく勉強になるいい経験させてもらってます。
そうですね、外部キーボードは助かりそうです。外部モニターはすでに21.5inchを所持しています。
SSDにする予算は残念ながらありません。もうほぼこのノートPCで決定です。でもメモリーはプラス$100で6GBにできます。ただ今はそこまでしなくても4GBで十分だと勝手に思っています。ぜらーちんさんがおっしゃったように必要になったらReadyBoost等を買えばよさそうですが。
あと3Dは今のところは触るつもりはないといいましたが、やると決めた際、3Dに関してこのスペックで問題はありそうですか?もちろん最高の環境かどうかではなく、限界があるとして大体どのレベルまでなら大丈夫ですか?
ぜらーちんさんの言うとおり、32bitにします。
長々と質問させてもらってすみません。ですがもう少しで解決しそうです。
購入したら真っ先にここで報告します。
219ポイント を手に入れた。
|
|
|
|
|
Name: ぜらーちん ..初心者(7,773ポイント)
Date: 2010/08/19(木) 08:21
No:59407
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
SSDに関しては安いものであれば1万位で買えると思います
32bit = x84, 64bit = x64
x84 = 4gbまで
x64 = xxgbまで
なので、4gb以上積んでも無駄になります。
XPでは3.5g前後しか表示されていませんが、確かVISTA以降だと4GBで表示されるようになっています。
何で4GB積んでるのに3.5gbしかないんだらぁっていう苦情が多かったから修正したとかなんとか
x84にするのであれば、無駄になるのでつまなくてokです。
RAMディスクに割り当てるのでしたら別ですが
ReadyBoostはVISTA以降に標準に搭載されている機能ですので、必要なのは
USBメモリがあれば問題ありません。
XPの場合ですとシェアウェアのeBoosterがあります。
3Dに関しては、普通のMMORPGのネットゲームをやる分には問題ないスペックだと思います。
最もRADEONでしたらCCCの設定を全てハイクオリティにするだとかいうことをしなければですが
作成に関しては自宅での作業を行ったことはないので予想ですが、
XSIをペンMかペンDで扱ったことがありますが、モッサリしていますがギリギリ耐えれるレベルでした
I5かつVGAも基本的にしっかりしていますので、作る作れないの観点から見ますと、普通に作れると思います。
ちなみにゲームを作る際のPVやOPを作る時に、エンコードが必要かと思いますが
Adobeプレミアや、Windowsムービーメーカーを使った私の感想ですと
どんだけハイスペックでも重いので、そこら辺の問題が出てきたら気にしたら負けです。
428ポイント を手に入れた。
|
|
|
|
|
Name: いみー ..かけだし(1,192ポイント)
Date: 2010/08/19(木) 13:14
No:59439
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
http://www.newegg.com/Product/Product.aspx?Item=N82E16834146777
こちらはいかがでしょう。
lenovo IdeaPad Y560(0646-2EU) NoteBook
Intel Core i7 720QM(1.60GHz)
15.6"
4GB Memory
500GB HDD 5400rpm
DVD±R/RW
ATI Mobility Radeon HD 5730
CPU,GPUもこちらの方が上ですし、値段も悪くないです。
みなさんの意見を聞き次第明日辺り、購入を考えています。
なるほど、32bitとRAMのことはしりませんでした。
あのノートPCのスペックで大体どれくらいのことができるのかはわかってきました。
丁寧な説明ありがとうございます。 
198ポイント を手に入れた。
|
|
|
|
|
Name: いみー ..ぴよぴよ(980ポイント)
Date: 2010/08/19(木) 14:03
No:59443
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
値段差は3年間の保証もいれてHPのが$70(約8000円)くらい安いです。
グラフィックはほぼ同じだということは理解しました。
後はProcessorですね。
調べたところ、Intel Core i7 720QM(1.60GHz) とIntel(R) Core(TM) i5-450M Dual Core processor (2.40GHz, 3MB L3 Cache)with Turbo Boost up to 2.66 GHz の作りの違いはなんとなくわかりました。
GHzが低くてもi7はQuadでできていて伝達する道の長さが短い=速いというのはわかりました。
ですが、このProcessorとGraphic cardに+約8000円の価値はありますか?どうせならいいものを買いたいです。
PCのスペックの必要性をすべて引き出すようなレベルにならないとわからないかもしれませんが。最終的には僕次第なのはわかります。 
212ポイント を落としてしまった。
|
|
|
|
|
Name: ぜらーちん ..初心者(8,160ポイント)
Date: 2010/08/19(木) 14:33
No:59444
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
intel i7 720QM
1.6GHz ブースト時2.8GHz 45nm L2キャッシュ 256kb*4 L3キャッシュ6MB TDP45W
コア/スレッド数 4/8 ハイパースレッティングOK ターボOK
メモリ1066/1333MHz
intel i5 450M
2.4GHz ブースト時2.66GHz 32nm L2キャッシュ 256kb*2 L3キャッシュ3MB TDP35W
コア/スレッド数 2/4 ハイパースレッティングOK ターボOK
メモリ800/1066MHz
見比べてみると
キャッシュ性能 720 > 450
コア数 720 > 450
最大周波数 720 > 450
メモリ対応速度 720 > 450
TDP 450 > 720
基本周波数 450 >720
cpuのプロセス速度 450 >720
ブースト時の性能がi7の方が高いし、キャッシュも多く取られてる
複数起動したり、メモリも今後変えていったりするならi7でいいんじゃないかなーとは思いますが
VGAも、Memory data rateが1.6→3.2Gの2倍になってますし
少しでも快適に過ごしたいなら、ゲームソフト一本分の値段+した方が後悔しないと思いますが
メーカーの良し悪しがわからないのでスペック的にはいいのではと個人的には思います
387ポイント を手に入れた。
|
|
|
|
|
Name: ぜらーちん ..初心者(8,192ポイント)
Date: 2010/08/19(木) 14:37
No:59445
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
追記
TDPが高いので、消費電力が上がります。
バッテリー接続しない時間が多いのであれば、燃費は悪いかも
32ポイント を手に入れた。
|
|
|
|
|
Name: いみー ..かけだし(1,395ポイント)
Date: 2010/08/20(金) 16:24
No:59549
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
今までノートPCの線で進んでましたが、やはりデスクトップにすることに決めました。ノートPCのリミットがやはりどうしても気になっちゃいます。
ノートPCは今まで使っていた古いやつをリフォーマットすれば必要最低限のことには役に立つと思います。
コアはi7。ただグラフィックはどれがいいのか迷っています。
Intel(R) Core(TM) i7-860 quad-core processor [2.8GHz, 1MB L2 + 8MB shared L3 cache]
6GB DDR3-1333MHz SDRAM [3 DIMMs]
750GB 7200 rpm SATA 3Gb/s hard drive
1GB ATI Radeon HD 5770 [dual-link DVI, HDMI, DP, VGA adapter]
これで予算ギリギリです。Dellやこちらの大手電気製品店のサイトでもこの値段とこの性能のものはみつかりませんでした。
http://www.shopping.hp.com/webapp/shopping/computer_can_series.do?storeName=computer_store&category=desktops&a1=Starting+price&v1=Over+%24700&series_name=HPE310t_series&jumpid=in_R329_prodexp/hhoslp/psg/desktops/Over_$700/HPE310t_series
グラフィックカードは次の中から選べます。下のにいくほど値段も上がっていきます。もし差がほとんどないのなら1レベル低い安い方でもいいです。みたところ、Radeon HD 5770がダントツでいいみたいですが。
512MB ATI Radeon HD 5450 [DVI, HDMI, VGA adapter]
512MB NVIDIA GeForce 315 [DVI, HDMI, VGA adapter]
1GB ATI Radeon HD 5450 [DVI, HDMI, VGA adapter]
1GB ATI Radeon HD 5570 [DVI,HDMI, DP, VGA adapter]
1GB NVIDIA GeForce GT 220 [DVI, HDMI, VGA]
1.5GB NVIDIA GeForce GT 230 [DVI, HDMI, VGA]
1GB ATI Radeon HD 4850 [2 DVI, HDMI and VGA adapters]
2GB ATI Radeon HD 5570 [DVI,HDMI, DP, VGA adapter]
1.8GB NVIDIA Geforce GTX 260 [2 DVI, HDMI and VGA adapters]
1GB ATI Radeon HD 5770 [dual-link DVI, HDMI, DP, VGA adapter]
あともう少しお世話になります。 
415ポイント を手に入れた。
|
|
|
|
|
Name: ぜらーちん ..初心者(8,416ポイント)
Date: 2010/08/20(金) 16:58
No:59551
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
もう、好きなので良いのではと思ってきましたが
DirectX11が良いという当初の考えでいくなら
GeForceは全て除外ですね
GTX260君はDirectX10.1までの対応です。
その中から選ぶならHD5770でいいんじゃないでしょうか?
私のサブPCもGeForce295GTXを売り払って、それ付けてます。
ちなみに、VC++2005のランタイムと相性か不具合があって
CCCが更新出来ない場合があります。
その時は別途、修正プログラムをmicrosoftから落としてインストールしないといけません
224ポイント を手に入れた。
|
|
|
|
|
Name: いみー ..かけだし(1,720ポイント)
Date: 2010/08/21(土) 02:15
No:59681
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
6GB RAMは無料でついてくるんで、32Bitを使うにしろ載せておいてもいいんじゃないかと思いました。数年後もしかしたらもっと64Bit対応性が普及してくるからもしれませんし。
制作プログラムはVC++2010(Visual Studio2010)を使うつもりです。大学側からもらいましたので、すでにもっています。
そうですか、GPUはRadeon HD 5770にします。
コアはi7がいいといいましたが、
Intel(R) Core(TM) i5-750 quad-core processor [2.66GHz, 1MB L2 + 8MB shared L3 cache]
Intel(R) Core(TM) i7-860 quad-core processor [2.8GHz, 1MB L2 + 8MB shared L3 cache]
僕が調べたところ、差はあまりなさそうな感じですが、プラス11000円分の価値はありそうでしょうか?
前者は4スレッド2.66GHz、後者が8スレッド2.8GHz。表によればあとは変わらないみたいですが。
僕の質問に付き合ってくださってありがとうございます。ものすごく助かっております。
325ポイント を手に入れた。
|
|
|
|
|
Name: いみー ..かけだし(1,878ポイント)
Date: 2010/08/22(日) 06:30
No:59782
|
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
性能の差はありますが、その差は約1割かそれ以下といったところでしょうか・・・。
どちらにしろ、十分やりたいことはやれますよね。
やはりコストパフォーマンスでi5-750でしょうか。
2倍のポイントを手に入れた! 158ポイント を手に入れた。
|
|
|
|
|
Name: いみー ..かけだし(2,027ポイント)
Date: 2010/08/22(日) 14:06
No:59806
| 解決!
|
Title: Re:新ノートパソコン購入について、制作環境
|
|
報告です。
Intel(R) Core(TM) i5-750 quad-core processor [2.66GHz, 1MB L2 + 8MB shared L3 cache]
6GB DDR3-1333MHz SDRAM [3 DIMMs]
750GB 7200 rpm SATA 3Gb/s hard drive
1GB ATI Radeon HD 5770 [dual-link DVI, HDMI, DP, VGA adapter]
このデスクトップにしました。
みなさん、本当にありがとうございます。ものすごく助かりました。
これからもこの掲示板を見に来ます。 
149ポイント を手に入れた。
|
|
|
|
Name: やっくん ..プログラマー(32,813ポイント)
Date: 2010/08/21(土) 22:51
No:59760
|
|
Title: ProcessMessage関数(DxLib)の呼び出しタイミング
|
|
こんばんは。
タイトルの通りDxライブラリのProcessMassage関数についての質問です。
http://homepage2.nifty.com/natupaji/DxLib/dxfunc.html#R1N3
Dxライブラリの使用の際に、60分の1秒に1回(ゲームのループに1回)呼び出さなければならないとあります。
現在、私は短い処理のループには呼び出しをしておりません。
主に無限ループ処理を行う場合などに用いています。
極端な例であげますと以下のようなループの場合は用いません。
int cnt = 0;
for(int i = 0; i < 3; i++) cnt++;
しかし、短い処理といっても、いくつものループを呼び出していくと全体で見れば長い時間のループ処理となります。
この場合、ProcessMessage()はどこで呼び出せば良いでしょうか?
または、ループ処理には短くても必ず呼び出した方が良いのでしょうか?
77ポイント を手に入れた。
|
|
|
|
Name: Justy ..伝説なるハッカー(566,350ポイント)
Date: 2010/08/22(日) 02:14
No:59776
|
|
Title: Re:ProcessMessage関数(DxLib)の呼び出しタイミング
|
|
>この場合、ProcessMessage()はどこで呼び出せば良いでしょうか?
ClearDraw()や ScreenFlip()は使って居ないのでしょうか?
もし使っていないタイプのプログラムだとちょっと話が厄介になりますが、
使っているのであればよくあるサンプルのように ClearDraw()の前後あたりの
タイミングで行うようにして下さい。
ただプログラムの内容にもよりますが
>長い時間のループ処理となります
が数秒〜数分以上に渡る長大な処理で、その間一切 ProcessMessage()が呼ばれないとなると
それはさすがに問題なるかもしれません。
その場合は適度なところで ProcessMessage()を挟んであげる必要はありそうです。
207ポイント を手に入れた。
|
|
|
|
|
Name: やっくん ..プログラマー(32,975ポイント)
Date: 2010/08/22(日) 13:15
No:59801
| 解決!
|
Title: Re:ProcessMessage関数(DxLib)の呼び出しタイミング
|
|
Justyさん、返信ありがとうございます(^^
>ClearDraw()や ScreenFlip()は使って居ないのでしょうか?
使っています。
これらを使っていない部分の処理時間も考慮しつつ適当なところにProcessMessage()を使っていくことにします。
ありがとうございました。
2倍のポイントを手に入れた! 162ポイント を手に入れた。
|
|
|
|
Name: taketoshi ..入門者(2,511ポイント)
Date: 2010/08/21(土) 12:17
No:59711
|
|
Title: WINAPI32での印刷
|
|
こんにちは。
現在、猫windowsを教本にしてメモ帳を作っています。
印刷を実装しようとしているのですが、
TextOut関数では改行が反映されず四苦八苦しています。
strtokで格納されているバッファをトークン化してみましたが、
改行文字が何個か続くとまとめて一つとみなされるようで、単体でしか反映されません。
そこで、rectに適当な数値を設定して、DrawTextで無理やりプリントしたところ
改行文字が反映されて、windowsのメモ帳の様な画面そのままの印刷ができたのですが。
数値が適当な為、全面印刷ができませんでした。
そこで質問なのですが、プリンタのrectの取得方法がわかりません。Getclientrectじゃ当然だめでした。
調べたところGetDevieceCaps関数で取得できる??様子ですが、引数の設定方法が不明です。
以下に動かないですが、ソースを張らせていただきます。ご指導よろしくお願いします。
int MyPrint(HWND hEdit,HWND hWnd)
{
char *buff;
HGLOBAL hMem;
int nLen;
PRINTDLG print;
DOCINFO doc;
RECT rc;
nLen = GetWindowTextLength(hEdit);
hMem = GlobalAlloc(GHND,sizeof(char *) * nLen+1);
buff = (char *)GlobalLock(hMem);
//GetWindowText(hEdit,buff,nLen+1);
SendMessage(hEdit,WM_GETTEXT,nLen+1,(LPARAM)buff);
memset(&print,0,sizeof(PRINTDLG));
print.lStructSize = sizeof(PRINTDLG);
print.hwndOwner = hWnd;
print.hDevMode = NULL;
print.hDevNames = NULL;
print.Flags = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC | PD_NOPAGENUMS | PD_NOSELECTION | PD_HIDEPRINTTOFILE;
print.nMinPage = 1;
print.nMaxPage = 1;
print.nToPage = 1;
print.nCopies = 1;
rc.top = 0;
rc.left = 0;
rc.right = GetDeviceCaps(print.hDC,HORZRES);
rc.bottom = GetDeviceCaps(print.hDC,VERTRES);
memset(&doc,0,sizeof(DOCINFO));
doc.cbSize = sizeof(DOCINFO);
doc.lpszDocName = "test";
if(PrintDlg(&print)==0)
return -1;
StartDoc(print.hDC,&doc);
StartPage(print.hDC);
DrawText(print.hDC,buff,-1,&rc,DT_EXPANDTABS);
EndPage(print.hDC);
EndDoc(print.hDC);
DeleteDC(print.hDC);
GlobalUnlock(hMem);
GlobalFree(hMem);
return 0;
}
1,087ポイント を手に入れた。
|
|
|
|
Name: ISLe ..中級者(14,395ポイント)
Date: 2010/08/22(日) 00:31
No:59768
|
|
Title: Re:WINAPI32での印刷
|
|
> rc.right = GetDeviceCaps(print.hDC,HORZRES);
> rc.bottom = GetDeviceCaps(print.hDC,VERTRES);
未確認ですが
rc.right = GetDeviceCaps(print.hDC, PHYSICALWIDTH);
rc.bottom = GetDeviceCaps(print.hDC, PHYSICALHEIGHT);
ではどうでしょう。
61ポイント を手に入れた。
|
|
|
|
|
Name: taketoshi ..かけだし(2,205ポイント)
Date: 2010/08/22(日) 09:07
No:59786
|
|
Title: Re:WINAPI32での印刷
|
|
お返事ありがとうございます。
指定してみましたが、プリンタが動きませんでした。
//debug
nDebug = GetDeviceCaps(print.hDC,PHYSICALWIDTH);
wsprintf(debug,"%d",nDebug);
MessageBox(hWnd,debug,"test",MB_OK);
上記のデバックを噛ませて見たところ、戻り値が0なのでだめみたいです。
デバックローラー作戦でちょっと数値をみてみます・・・。
ほかにこんな方法あるよって方は教えていただけると幸いです。
176ポイント を落としてしまった。
|
|
|
|
|
Name: taketoshi ..入門者(3,119ポイント)
Date: 2010/08/22(日) 10:47
No:59791
| 解決!
|
Title: Re:WINAPI32での印刷
|
|
自己レスです。ISLeさんのアドバイス通りで解決致しました。
戻り値が0だったのはプリンタダイアログを表示する前にデバッグかけていたので
プリンタのhdcが固定されずに0だったようです・・・。
他にも同様の現象で迷う方がいるかもしれないので汚いですがソースを晒しておきます。
どうもありがとうございました。
int MyPrint(HWND hEdit,HWND hWnd)
{
char *buff,debug[64];
HGLOBAL hMem;
int nLen,nDebug;
static PRINTDLG print;
DOCINFO doc;
RECT rc;
nLen = GetWindowTextLength(hEdit);
hMem = GlobalAlloc(GHND,sizeof(char *) * nLen+1);
buff = (char *)GlobalLock(hMem);
//GetWindowText(hEdit,buff,nLen+1);
SendMessage(hEdit,WM_GETTEXT,nLen+1,(LPARAM)buff);
memset(&print,0,sizeof(PRINTDLG));
print.lStructSize = sizeof(PRINTDLG);
print.hwndOwner = hWnd;
print.hDevMode = NULL;
print.hDevNames = NULL;
print.Flags = PD_USEDEVMODECOPIESANDCOLLATE | PD_RETURNDC | PD_NOPAGENUMS | PD_NOSELECTION | PD_HIDEPRINTTOFILE;
print.nMinPage = 1;
print.nMaxPage = 1;
print.nToPage = 1;
print.nCopies = 1;
memset(&doc,0,sizeof(DOCINFO));
doc.cbSize = sizeof(DOCINFO);
doc.lpszDocName = "test";
if(PrintDlg(&print)==0)
return -1;
////debug
//nDebug = GetDeviceCaps(print.hDC,PHYSICALWIDTH);
//wsprintf(debug,"%d",nDebug);
//MessageBox(hWnd,debug,"test",MB_OK);
rc.top = 0;
rc.left = 0;
rc.right = GetDeviceCaps(print.hDC,PHYSICALWIDTH);
rc.bottom = GetDeviceCaps(print.hDC,PHYSICALHEIGHT);
StartDoc(print.hDC,&doc);
StartPage(print.hDC);
DrawText(print.hDC,buff,-1,&rc,DT_EXPANDTABS);
EndPage(print.hDC);
EndDoc(print.hDC);
DeleteDC(print.hDC);
GlobalUnlock(hMem);
GlobalFree(hMem);
return 0;
}
914ポイント を手に入れた。
|
|
|
|
Name: nori ..入門者(3,633ポイント)
Date: 2010/08/22(日) 04:05
No:59777
|
|
Title: シューティングプログラムのdebugのお願い
|
|
下記はキー操作により動きながら弾をうつ画像と時間により周期的に動きながら弾をうつ画像の
プログラムなのですが、makeすることができません。申し訳ないのですが、訂正すべき点をご教示下さい。
#include "DxLib.h"
#define SHOT 5
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
{
int X,Y,planegraph,shotgraph,background;
int ShotX[SHOT],ShotY[SHOT],ShotFlag[SHOT];
int ShotBFlag;
int i;
int tekiX,tekiY,tekimuki,tekigraph;
int tekitamaX,tekitamaY,tekitamaFlag,tekitamacounter,tekitamagraph;
// 画面モードの設定
ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
// DXライブラリ初期化処理
if( DxLib_Init() == -1 ) return -1;
// グラフィックの描画先を裏画面にセット
SetDrawScreen( DX_SCREEN_BACK );
// 飛行機および弾のグラフィックをメモリにロード&表示座標をセット
planegraph = LoadGraph( "plane.png" );
shotgraph = LoadGraph( "shot.png" );
background = LoadGraph( "back.bmp" );
tekigraph = LoadGraph( "plane.png" );
tekitamagraph = LoadGraph( "shot.png" );
X = 320 ; Y = 240 ;
tekiX = 320 ; tekiY = 40 ; tekimuki = 1; tekitamaFlag = 0; tekitamacounter = 0;
for( i = 0 ; i < SHOT ; i ++ )
{
ShotFlag[i] = 0 ;
}
// ショットボタンが前のフレームで押されたかどうかを保存する変数に0(押されいない)を代入
ShotBFlag = 0 ;
while(1)
{
// 画面を初期化(真っ黒にする)
ClearDrawScreen() ;
if( CheckHitKey ( KEY_INPUT_UP ) == 1 ) Y -= 3; //上ボタンが押されたら
if( CheckHitKey ( KEY_INPUT_LEFT ) == 1 ) X -= 3; //左ボタンが押されたら
if( CheckHitKey ( KEY_INPUT_DOWN ) == 1 ) Y += 3; //下ボタンが押されたら
if( CheckHitKey ( KEY_INPUT_RIGHT ) == 1) X += 3; //右ボタンが押されたら
if( CheckHitKey ( KEY_INPUT_SPACE) == 1 ) //spaceが押されたら)
{
if(ShotBFlag ==0 )
{
for( i = 0 ; i < SHOT ; i ++ )
{
// 弾iが画面上にでていない場合はその弾を画面に出す
if( ShotFlag[i] == 0 )
{
ShotX[i] = X;
ShotY[i] = Y;
ShotFlag[i] = 1;
break ;
}
}
}
// 前フレームでショットボタンを押されていたかを保存する変数に1(おされていた)を代入
ShotBFlag = 1 ;
}
else
{
// ショットボタンが押されていなかった場合は
// 前フレームでショットボタンが押されていたかを保存する変数に0(おされていない)を代入
ShotBFlag = 0 ;
}
// 飛行機を描画
DrawGraph( 0 , 0 , background , TRUE ) ;
DrawGraph( X , Y , planegraph , TRUE ) ;
for( i = 0 ; i < SHOT ; i ++ )
{
if( ShotFlag[i] == 1 )
{
// 弾を8ピクセル上に移動させる
ShotY[i] -= 8 ;
// 画面外に出てしまった場合は存在状態を保持している変数に0(存在しない)を代入する
if( ShotY[i] < -80 )
{
ShotFlag[i] = 0 ;
}
// 画面に弾iを描画する
DrawGraph( ShotX[i] , ShotY[i] , shotgraph , TRUE ) ;
}
}
// 敵の座標を移動している方向に移動する
if( tekimuki == 1 ) tekiX += 3 ;
if( tekimuki == 0 ) tekiX -= 3 ;
// 四角君が画面右端からでそうになっていたら画面内の座標に戻してあげ、移動する方向も反転する
if( tekiX > 576 )
{
tekiX = 576 ;
tekimuki = 0 ;
}
// 四角君が画面左端からでそうになっていたら画面内の座標に戻してあげ、移動する方向も反転する
if( tekiX < 0 )
{
tekiX = 0 ;
tekimuki = 1 ;
}
// 四角君を描画
DrawGraph( tekiX , tekiY , tekigraph , TRUE ) ;
tekitamacounter ++ ;
if(tekitamacounter == 60)
{
if(tekitamaFlag == 0)
{
tekitamaX = tekiX; tekitamaY = tekiY;
tekitamaFlag = 1;
}
tekitamacounter = 0
}
if(tekitamaFlag == 1)
{
/ 少し下にずらす
tekitamaY += 8 ;
// もし弾が画面下端からはみ出てしまった場合は弾の状態を『飛んでいない』
// を表す0にする
if( tekitamaY > 480 ) tekitamaFlag = 0 ;
// 画面に描画する
DrawGraph( tekitamaX , tekitamaY , tekitamagraph , TRUE ) ;
}
// 裏画面の内容を表画面にコピーする
ScreenFlip() ;
// Windows 特有の面倒な処理をDXライブラリにやらせる
// -1 が返ってきたらループを抜ける
if( ProcessMessage() < 0 ) break ;
// もしESCキーが押されていたらループから抜ける
if( CheckHitKey( KEY_INPUT_ESCAPE ) ) break ;
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
1,745ポイント を手に入れた。
|
|
|
|
Name: nori ..入門者(3,670ポイント)
Date: 2010/08/22(日) 04:17
No:59778
|
|
Title: Re:シューティングプログラムのdebugのお願い
|
|
すみません、コメントで/が一本足りませんでした。
それ以外のご指摘をお願い致します。
37ポイント を手に入れた。
|
|
|
|
|
Name: fatens ..上級者(18,066ポイント)
Date: 2010/08/22(日) 04:19
No:59779
|
|
Title: Re:シューティングプログラムのdebugのお願い
|
|
if(tekitamacounter == 60)
{
if(tekitamaFlag == 0)
{
tekitamaX = tekiX; tekitamaY = tekiY;
tekitamaFlag = 1;
}
tekitamacounter = 0; ←セミコロンがない
}
if(tekitamaFlag == 1)
{
// 少し下にずらす ←スラッシュが1つたりない
tekitamaY += 8 ;
ざっと見た感じ、この2点だと思います。
111ポイント を手に入れた。
|
|
|
|
|
Name: nori ..入門者(3,698ポイント)
Date: 2010/08/22(日) 04:20
No:59781
| 解決!
|
Title: Re:シューティングプログラムのdebugのお願い
|
|
本当にありがとうございます。そのとおりでした。
14ポイント を手に入れた。
|
|
|
|
Name: ネス ..初心者(6,876ポイント)
Date: 2010/08/20(金) 22:09
No:59619
|
|
Title: 改行\nのような働きをするもの
|
|
皆さん、グッドイブニングです。
文字の描画の際、C言語の\nのように改行の働きをさせる記号はないでしょうか?
やはりY座標を変えるしかないのでしょうか?
46ポイント を手に入れた。
|
|
|
|
Name: シエル ..熟練のプログラマー(57,493ポイント)
Date: 2010/08/20(金) 22:17
No:59623
|
|
Title: Re:改行\nのような働きをするもの
|
|
DXライブラリの文字描画のことですか?
私はDXライブラリはさっぱりわかりませんが、
なんとか頑張れば関数化できるのではないでしょうか。
11ポイント を手に入れた。
|
|
|
|
|
Name: Wグリント ..ぴよぴよ(872ポイント)
Date: 2010/08/20(金) 22:20
No:59624
|
|
Title: Re:改行\nのような働きをするもの
|
|
自分が知っている限り無い思います。
やはりy座標を変えたほうがいいかと、、、
24ポイント を手に入れた。
|
|
|
|
|
Name: ネス ..初心者(7,065ポイント)
Date: 2010/08/20(金) 22:21
No:59627
|
|
Title: Re:改行\nのような働きをするもの
|
|
たかぎさん、レスありがとうございます。
話のお題としては、文字の表示です。
printf ( "こんにちは\nデラックスライブラリ" ) ;
これだと、こんにちはで改行されて、次の行にデラックスライブラリと表示されると思うのですが、
これをDrawStringで行ったとしても、「こんにちは」と「デラックスライブラリ」の間に、
「点」のようなものが表示されるだけで、改行にはなりません。
そこで、DXライブラリでも、上のように改行を使うことはできないものかと思った次第です。
189ポイント を手に入れた。
|
|
|
|
|
Name: たかぎ [URL] ..ハッカー(220,391ポイント)
Date: 2010/08/20(金) 22:32
No:59633
|
|
Title: Re:改行\nのような働きをするもの
|
|
自分で作るしかないでしょうね。
こういうのは常套手段があって、まずは1文字出力の関数から作ります。
多バイト文字を処理する場合は、文字のシーケンスが完了するまでバッファリングが必要なことを忘れないでください。
その上で、1文字出力関数を使って、もっと高水準の関数を作っていきます。
streambufの派生クラスを作ってもよいでしょう。
165ポイント を手に入れた。
|
|
|
|
|
Name: ネス ..初心者(7,239ポイント)
Date: 2010/08/22(日) 01:22
No:59773
|
|
Title: Re:改行\nのような働きをするもの
|
|
皆さんレスありがとうございました。
今の自分のレベルではすぐにとはいきませんが参考にさせてもらいますね。
3ポイント を落としてしまった。
|
|
|
|
Name: まる ..入門者(3,545ポイント)
Date: 2010/08/21(土) 18:16
No:59738
|
|
Title: パッケージゲットに挑戦!AerobeatPlus
|
|
パッケージゲットに挑戦!AerobeatPlus
1000万アクセスおめでとうございます。
最新このサイトをしり質問させていただいております。
このサイトのいいところは、比較的早くレスがつくこと
だと思います。
他のサイトだとけっこう1ヶ月ぐらいレスつかないこともありますからねー。
これからもこのサイト使用させていただきます。
運営がんばってください。
2倍のポイントを手に入れた! 360ポイント を手に入れた。
|
|
|
|
Name: まる ..入門者(3,601ポイント)
Date: 2010/08/21(土) 18:20
No:59741
|
|
Title: Re:パッケージゲットに挑戦!AerobeatPlus
|
|
削除しようと思ったら削除キーいれてないからできないんですね。
このあたりも改善していただけるとうれしいです!
56ポイント を手に入れた。
|
|
|
|
|
Name: Tororo ..中級者(10,245ポイント)
Date: 2010/08/21(土) 20:40
No:59751
|
|
Title: Re:パッケージゲットに挑戦!AerobeatPlus
|
|
>>まるさん
>> 削除しようと思ったら削除キーいれてないからできないんですね。
>> このあたりも改善していただけるとうれしいです!
改善というよりは、自分のミスなのでは?
さらに、キーなしで削除できるようになると
違う人が悪意を持って消す事が出来るようになってしまうかもしれませんし。。
2倍のポイントを手に入れた! 76ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..ウィザード(1,260,059ポイント)
Date: 2010/08/21(土) 23:53
No:59765
|
|
Title: Re:パッケージゲットに挑戦!AerobeatPlus
|
|
> まるさん
ごめんなさい、削除は出来ないように意図的にしているんです。
というのも悪意ある削除や、用が済んだらトピックを削除などする人が過去にいたので、こう対応しました。
また、フォームに入れるデータが完全ではないと何度もあれが入力されてないこれが入力されてないと投稿できない掲示板は使いにくいかなと思い、必ず入力しないといけない要素は極力少なくしています。
後、レスのついたトピックは基本的に消さないというのがうちのスタイルでして・・。
もし消した方がよければ改めてお伝えくださいm(_ _)m
219ポイント を手に入れた。
|
|
|
|
|
Name: まる ..入門者(3,679ポイント)
Date: 2010/08/22(日) 00:43
No:59770
|
|
Title: Re:パッケージゲットに挑戦!AerobeatPlus
|
|
管理人さん、了解です。
掲示板のこしていただいていいですよ〜。
レス場所まちがえてごめんなさい。。。
2倍のポイントを手に入れた! 78ポイント を手に入れた。
|
|
|
|
Name: ポンチ ..ぴよぴよ(59ポイント)
Date: 2010/08/18(水) 18:29
No:59364
|
|
Title: シーンが変わる時のエフェクト
|
|
タイトルからシーンが変わる時のエフェクトを実装したいです。
よく添付させて頂いた画像みたいなのが左から右へ流れていく変わり方にしたいです。
実装の仕方はわかるのですがこのような画像があるサイトをご存じないでしょうか?
又、ゲームのメニュー等に使えそうな板?等が置いてあるサイトはないでしょうか?
※文字の背景の板のことです。
┌──────┐
│ 開始 │
└──────┘
┌──────┐
│ 終了 │
└──────┘
59ポイント を手に入れた。
|
|
|
|
Name: ぬるぽ ..中級者(9,296ポイント)
Date: 2010/08/20(金) 23:52
No:59653
|
|
Title: Re:シーンが変わる時のエフェクト
|
|
>ゲームのメニュー等に使えそうな板?等が置いてあるサイトはないでしょうか?
グーグルで「幻想 素材」と検索するといいかもしれません。 
1,122ポイント を手に入れた。
|
|
|
|
|
Name: ポンチ ..ぴよぴよ(66ポイント)
Date: 2010/08/21(土) 23:26
No:59763
| 解決!
|
Title: Re:シーンが変わる時のエフェクト
|
|
>>グーグルで「幻想 素材」と検索するといいかもしれません。
思い通りの素材がありそうです。
ありがとうございます。
活用させて頂きます。
管理人様
そうです!!
試してみますね!!
ありがとうございました。
7ポイント を手に入れた。
|
|
|
|
Name: dic ..比類無きプログラマー(91,721ポイント)
Date: 2010/08/21(土) 17:24
No:59733
|
|
Title: 爆発画像の読み込み、描画
|
|
1000万アクセスおめでとうございます
爆発したときの画像を読み込みたいのですが、
DxLibライブラリには1枚画像のみ描画できる関数
DrawGraphがありますが
連続したアニメーションなどを一枚の画像にまとめてしまう場合に
これでは指定した座標元の画像が描画できないです
DxLibライブラリだと、アニメーション用画像は複数ファイルに分けないと
アニメーションできないのでしょうか?
サンプルで、1枚にまとめた画像を上げますが、これだと描画元の座標が
指定できないので、この画像を複数に分けるのでしょうか?
環境:
Visual C++ 6.0
DxLibライブラリ使用
制限とくになし(私が理解できる範囲内)

251ポイント を手に入れた。
|
|
|
|
Name: dic ..比類無きプログラマー(91,782ポイント)
Date: 2010/08/21(土) 19:07
No:59745
|
|
Title: Re:爆発画像の読み込み、描画
|
|
即解決したのですが、透過色の設定がうまくいかないです
下のソースになるのですが、透過色をTRUEにしても
黒の背景がうまく透過されません
何か原因は考えれるでしょうか?
m_img10[16] // 初期化済み
vector<tBullet> mv_Bakuhatsu; // 爆発オブジェクト
//-------------------------------------------------
// 爆発の描画
void CCommonData::DrawBakuhatsu()
{
int i;
for( i=0; i<mv_Bakuhatsu.size(); i++ )
{
int d = mv_Bakuhatsu.at(i).ani;
d = d/10;
DrawGraph( mv_Bakuhatsu.at(i).x, mv_Bakuhatsu.at(i).y, m_img10[d], TRUE );
}
}
17ポイント を手に入れた。
|
|
|
|
|
Name: Tororo ..中級者(10,169ポイント)
Date: 2010/08/21(土) 20:37
No:59750
|
|
Title: Re:爆発画像の読み込み、描画
|
|
>>dicさん
的外れかもしれませんけど、黒ではないのでは?
(0,0,0)ではなく、 (1,1,1) みたいに少し黒とは違うとか・・・
ただ、違う可能性もかなりありますが><
9ポイント を手に入れた。
|
|
|
|
|
Name: dic ..比類無きプログラマー(91,858ポイント)
Date: 2010/08/21(土) 21:15
No:59755
|
|
Title: Re:爆発画像の読み込み、描画
|
|
>Tororoさん シエルさん
ためしに全部描画してみたら画像のように
ところどころ透明だったり不透明だったりしてるので
おふたりの言ってる色が微妙に違うかもしれないので修正してみます
76ポイント を手に入れた。
|
|
|
|
Name: tieria ..入門者(3,115ポイント)
Date: 2010/08/21(土) 16:53
No:59730
|
|
Title: char ** じゃないんですか?
|
|
すいません、初心者的な質問ですが、
char buf[2][32]; の buf は char ** ですか?
というよりも、私の理解として、char ** なんですが、?
ポインタのページを引っ張り出して読むんですが、わかりません。
この buf を引数として渡したいのですが、警告がでます。
ちなみに、char, char *, char **, char ***, char **** にしても
間接参照のレベルが異なっているといわれます。
buf は 何ですか?
int func(char ** buf);
int main(void)
{
char buf[2][32];
func(buf);
return 0;
}
int func(char ** buf)
{
if(buf ==NULL)
{
return 0;
}
return 1;
}
243ポイント を手に入れた。
|
|
|
|
Name: MNS ..プログラマー(39,096ポイント)
Date: 2010/08/21(土) 17:14
No:59732
|
|
Title: Re:char ** じゃないんですか?
|
|
違います。
bufの型は char (*)[32] です。
ですから、
×int func(char ** buf)
◯int func(char (*buf)[32])
となります。
54ポイント を手に入れた。
|
|
|
|
|
Name: tieria ..入門者(3,283ポイント)
Date: 2010/08/21(土) 17:48
No:59735
|
|
Title: Re:char ** じゃないんですか?
|
|
MNSさん、ありがとうございます。
mallocで確保するとき char** だったので、**だとばかり思ってました。今の今まで。
お恥ずかしい・・・
いまだよく飲み込めてませんが・・・一つのtypedefのようなもの?ですかね・・・
2倍のポイントを手に入れた! 168ポイント を手に入れた。
|
|
|
|
|
Name: MNS ..プログラマー(38,847ポイント)
Date: 2010/08/21(土) 18:31
No:59742
|
|
Title: Re:char ** じゃないんですか?
|
|
一応、補足程度に。
私も良くは理解していないのですが、
int bufA[2][2];
と、
int a[2];
int b[2];
int* bufB[2] = {a, b};
前者は言わずもがな、二次元配列と呼ばれるもので、いわば「配列の配列」です。
後者は異なり、「配列へのポインタ配列」です。
どちらも呼び出し方に違いはありませんが、
両者は明確に区別されるようです。
この場合、
int** x = bufB;
という構文は間違いではありません。
それは、bufB[0]が指すのは「配列aの先頭のアドレス」だからです。
それに対し、bufA[0]が指すのは、あくまで「配列へのポインタ」です。
ですから、int**x = bufA; という構文は誤りなのです。
249ポイント を落としてしまった。
|
|
|
|
Name: しろ ..初心者(5,974ポイント)
Date: 2010/08/21(土) 12:44
No:59714
|
|
Title: ファイルの分割について質問
|
|
こちらのサイトでファイルの分割について読みました。
http://9cguide.appspot.com/20-01.html
このサイトの中で、「ソースファイルとヘッダーファイルは、通常、1対1で対応するように作成します。」というのがよくわかりません。
例えばmainファイルでexample.hを読み込んだとし、その中でsum関数が定義されていたとします。そしてexample.cppの中でsum関数の中身を書いたとし、それをmain関数の中で使うとします。
これが問題ないのはわかるのですが、例えばexample.hの中で二つの関数sum関数とsum1関数があったとしてそれをexample.cppの中で二つ書いたとしてそれは通るのでしょうか? あるいは二つの関数をexample.cppとexample2.cppにsumとsum1を分けて書いたとき通るのか?(つまりこの場合はヘッダファイルとソースファイルは一対一に対応していません)
質問の仕方を変えると、コンパイラの中でどのようにヘッダファイルとソースファイルを結びつけているのかということです。多少自分でも試してみたのですが、例えばexample.hの中でsum関数を定義し、それをsum.cppの中で書いても、プログラムは通りました。これはつまり、ファイルの名称で判断しているわけではないということだと思うのです。
このあたりがいまいちピンときません。何とぞよろしくお願いします。
292ポイント を手に入れた。
|
|
|
|
Name: へろり ..プログラマー(30,670ポイント)
Date: 2010/08/21(土) 13:18
No:59716
|
|
Title: Re:ファイルの分割について質問
|
|
おっしゃってる意味が今ひとつ分かりません。
リンク先のサイトは見てませんが、ソースファイルとヘッダファイルが1対1で対応するというのは、
hoge.cpp で実装を行い、hoge.h では hoge.cpp を使うための宣言やらなんやらを書きましょう。 ということだと思いますよ。
こうしておくことで、hoge.cpp の機能を使いたい場合は、対応している hoge.h を include することで利用可能となります。
基本的にソースファイルは見られてはいけない部分で、ヘッダファイルは公開する部分だと思っていてください。
>例えばmainファイルでexample.hを読み込んだとし、その中でsum関数が定義されていたとします。そしてexample.cppの中でsum関数の中身を書いたとし、それをmain関数の中で使うとします。
言いたいことは解ります。 重隅のようですが一応念のため。
この場合、example.h で関数のプロトタイプ宣言を行い、example.cpp で定義するのが一般的です。
>質問の仕方を変えると、コンパイラの中でどのようにヘッダファイルとソースファイルを結びつけているのかということです。
結びつける。 というのがよく分かりませんが、ヘッダファイルを include することでソースファイルからヘッダファイルを見ることが出来ます。
乱暴な言い方になりますが、#include ディレクティブは、指定したファイルをその場に貼り付けるものだと思っていてとりあえず問題はありません。
ということを聞きたいのでしょうか。 ちょっと自信がありません。
445ポイント を手に入れた。
|
|
|
|
|
Name: 御津凪 [URL] ..ハッカー(148,453ポイント)
Date: 2010/08/21(土) 13:25
No:59717
|
|
Title: Re:ファイルの分割について質問
|
|
コンパイラの中では渡されるソースファイルからコンパイルを行います。
この時コンパイラは、コンパイルするファイルを知るために指定したファイルを読み込む(インクルードする)だけで、
コンパイラにはファイル名からそのファイルの役割を決めることはありません。
(ヘッダファイル読み込みモードといったようなものは一切ありません)
つまり、main.cpp をコンパイルするときに main.h を読み込んでも、 example.h を読み込んでも、
はたまた example.cpp を読み込んでも、すべてコンパイラは同一に読み込み、コンパイルを行います。
#inlucde は、指定したファイルの中身が、あたかもそこ(#include 文が書かれている場所)に書かれているかのようにコンパイラはふるまいます。
そのため、ソースファイルとヘッダーファイルは1対1で対応しなくとも中身が正しければ問題なく通ります。
一つのヘッダーファイルにたくさんの関数の宣言などを記述し、個々の定義をたくさんのソースファイルに書いても問題ありません。
「1対1で対応するように」と書いているのは、人から見て一番わかりやすいファイル構成だからです。
sound.h と sound.cpp があれば、サウンドを扱う関数宣言しているヘッダーファイルとそれを定義しているソールファイルだとすぐにわかります。
514ポイント を手に入れた。
|
|
|
|
|
Name: softya [URL] ..ハッカー(200,417ポイント)
Date: 2010/08/21(土) 13:27
No:59718
|
|
Title: Re:ファイルの分割について質問
|
|
極論を言えばヘッダファイルはコンパイル時に参照する情報なので、各cppファイル側に同じことを書くのであれば必要ありません。同じこと書く&メンテナンスが面倒なのでヘッダにまとめているだけです。
で、各cppファイルはヘッダファイルの内容を組み込んだ上でコンパイルされてオブジェクトファイルに変換されます。これは、各cppファイル間の参照に付いては解決していない機械語が格納されたファイルです。
このファイルをリンカで各ファイル間の参照を解決してexeファイルにします。
つまり各ファイル間の参照を解決するのはリンカです。
リンカはヘッダファイルを参照することはありません。
172ポイント を手に入れた。
|
|
|
|
|
Name: しろ ..初心者(6,328ポイント)
Date: 2010/08/21(土) 13:55
No:59723
| 解決!
|
Title: Re:ファイルの分割について質問
|
|
……なかなか難しいですね。皆様のおっしゃってるところが理解できる部分とそうでない部分があります。
ただ御津凪様のおっしゃった
>>#inlucde は、指定したファイルの中身が、あたかもそこ(#include 文が書かれている場所)に書かれているかのようにコンパイラはふるまいます。
>>そのため、ソースファイルとヘッダーファイルは1対1で対応しなくとも中身が正しければ問題なく通ります。一つのヘッダーファイルにたくさんの関数の宣言などを記述し、個々の定義をたくさんのソースファイルに書いても問題ありません。
で、なんとなく答えは出た気がします。
ただ、まだ理解不足の点が多いので、皆様のキーワードを参考にいろいろ勉強してみようと思います。へろり様、御津凪様、softya様、お忙しいところいろいろとご教授いただき、どうもありがとうございました。
354ポイント を手に入れた。
|
|
|
|
Name: たざき ..ぴよぴよ(22ポイント)
Date: 2010/08/21(土) 02:00
No:59678
|
|
Title: スタックと配列の方向?
|
|
void hoge(void)
{
int i = 10;
int j = 100;
int *array = &i;
// array[0] == 10
// array[1] == 100
}
のような書き方は正しいのでしょうか?
とりあえずx86+Linux+gccでは動くのですが、一般的な書き方なのかどうかと、
他の環境でも動くことが期待できるのかが知りたいです。
22ポイント を手に入れた。
|
|
|
|
Name: box ..ハッカー(157,160ポイント)
Date: 2010/08/21(土) 08:26
No:59690
|
|
Title: Re:スタックと配列の方向?
|
|
コメントアウトしてある2行はないものとして考えるのと、
arrayにiのアドレスを代入した後で使っていない点はさておくとして、
書き方そのものは正しいです。
ところで、タイトルとどういう関係があるのですか?
62ポイント を手に入れた。
|
|
|
|
|
Name: Mist ..比類無きプログラマー(85,292ポイント)
Date: 2010/08/21(土) 09:36
No:59698
|
|
Title: Re:スタックと配列の方向?
|
|
> ところで、タイトルとどういう関係があるのですか?
コードのように連続してスタック変数を宣言した場合、コメントアウトされている行のような結果となる(連続して宣言した変数が連続したアドレスに配置されている)ことが全ての環境で大丈夫かを知りたいということだと思いますよ。
で、私の回答ですがC言語でメモリ上に変数をどのように確保するかを規定しているわけではないので、GCCで動作するのも偶然と考えるのがよいかと思います。
106ポイント を落としてしまった。
|
|
|
|
|
Name: toyo ..熟練のプログラマー(57,871ポイント)
Date: 2010/08/21(土) 09:38
No:59699
|
|
Title: Re:スタックと配列の方向?
|
|
array[1]が j と同じになるかという意味でしょうか
それならVisualC++ではだめでした
宣言順にはスタックに積まれませんしReleaseとDebugでもスタックへの積まれ方が違っています
63ポイント を落としてしまった。
|
|
|
|
|
Name: box ..ハッカー(157,260ポイント)
Date: 2010/08/21(土) 09:42
No:59700
|
|
Title: Re:スタックと配列の方向?
|
|
> int i = 10;
> int j = 100;
> int *array = &i;
> // array[0] == 10
> // array[1] == 100
コメントアウトしてある1行目は正しいです。
それに対して、array[1]に相当する領域を確保していないため、
2行目は正しくないです。
仮に、array[1]に相当する領域を確保してあったとしても、
array = &i;
「だけ」でarray[1]にjの値(100)が入る保証はどこにもありません。

100ポイント を手に入れた。
|
|
|
|
|
Name: たざき ..ぴよぴよ(350ポイント)
Date: 2010/08/21(土) 09:48
No:59702
| 解決!
|
Title: Re:スタックと配列の方向?
|
|
(質問が不明瞭で申し訳ありませんでした。)
本来の意味としては、
スタックに積んだ自動変数に配列ごしにアクセスできるのかということでした。
スタックが伸びる向き(アドレスが増えるか減るか)と配列の添え字でアドレスを増やすのが、
違う向きだったら動かないだろうなあ、と思ってたんです。
そしてそれが環境によって変わってくるのか、ということでした。
とここで、改めて実験してみたんです。
#include <stdio.h>
int main(void)
{
int i = 10;
int j = 100;
int *array = &i;
printf("a0: %d\n", array[0]);
printf("a1: %d\n", array[1]);
}
結果
a0: 10
a1: -1076930628
あれっ?
ならば
#include <stdio.h>
int main(void)
{
int i = 10;
int j = 100;
int *array = &j;
printf("a0: %d\n", array[0]);
printf("a1: %d\n", array[1]);
}
結果
a0: 100
a1: 10
やっぱりそんなことできないんですね。
昨日の時点ではちゃんと動いた気がしたんですけど……。
というわけでおおよそ疑問は解けました。
スタックの伸びる向きに依存して、環境によって動くどうかは不明と。
舌足らずの上に、不十分な質問で、本当にすいませんでした。
質問に答えてくれた方ありがとうございました。
(とプレビューを押した時点でさらに多くのコメントが……、
完全に解決!です。サンクスでした。)
328ポイント を手に入れた。
|
|
|
|
|
Name: softya [URL] ..ハッカー(200,245ポイント)
Date: 2010/08/21(土) 11:52
No:59710
|
|
Title: Re:スタックと配列の方向?
|
|
付け加えるなら最適化によって、ローカル変数がスタック上に存在しない(CPUのレジスタ上だけ)って事も考えられます。変数も宣言順にスタックに確保しなければイケない規約も存在しません。
なので、出来たとしたらほんの偶然です。
107ポイント を落としてしまった。
|
|
|
|
Name: めれん ..ぴよぴよ(487ポイント)
Date: 2010/08/20(金) 23:33
No:59646
|
|
Title: 表示しないようにするには
|
|
またまたすみません・・・。
前回教えて下さって、ありがとうございました。
ほかの部分も//を付け足して消すことが出来ました。
それで、もうひとつ教えて頂きたいんですが、
画像の部分の数字を消すにはどうしたらいいのでしょうか?
Main.cppの
case 100://通常処理
enter_func_tm("最初");
calc_ch(); enter_func_tm("キャラ計算");
ch_move(); enter_func_tm("キャラ移動");
cshot_main(); enter_func_tm("自機ショットメイン");
enemy_main(); enter_func_tm("敵処理メイン");
boss_shot_main();enter_func_tm("ボスショットメイン");
shot_main(); enter_func_tm("ショットメイン");
out_main(); enter_func_tm("当たり判定");
effect_main(); enter_func_tm("エフェクトメイン");
calc_main(); enter_func_tm("計算メイン");
graph_main(); enter_func_tm("描画メイン");
bgm_main(); enter_func_tm("BGMメイン");
if(boss.flag==0)
stage_count++;
break;
default:
printfDx("不明なfunc_state\n");
break;
}
music_play(); enter_func_tm("音楽再生");
fps_wait(); enter_func_tm("待機した時間",1);
if(CheckStateKey(KEY_INPUT_ESCAPE)==1)break;//エスケープが入力されたらブレイク
ScreenFlip();//裏画面反映
count++;
をいじってみたのですが、うまくコメントアウトしてくれなくて・・・。 
21ポイント を落としてしまった。
|
|
|
|
Name: ぬるぽ ..初心者(8,174ポイント)
Date: 2010/08/20(金) 23:43
No:59649
|
|
Title: Re:表示しないようにするには
|
|
graph.cpp内の一番下のほうに記述してある
draw_func_tm(450,250);//処理時間描画
をコメントアウトしてください。
65ポイント を手に入れた。
|
|
|
|
|
Name: めれん ..ぴよぴよ(531ポイント)
Date: 2010/08/21(土) 00:21
No:59659
|
|
Title: Re:表示しないようにするには
|
|
ぬるぽさん
コメントアウトすること出来ました・・・!
ご親切に教えてくださり、ありがとうございます。
44ポイント を手に入れた。
|
|
|
|
|
Name: めれん ..ぴよぴよ(566ポイント)
Date: 2010/08/21(土) 01:32
No:59674
| 解決!
|
Title: Re:表示しないようにするには
|
|
Softyaさん
その件につきましては、本当にすみませんでした・・。
規約を読み直し、今後そのようなことはしません。
親切に答えてくださる管理人様や皆さんを不愉快な思いにしてすみませんでした。 
35ポイント を手に入れた。
|
|
|
|
|
Name: softya [URL] ..ハッカー(200,147ポイント)
Date: 2010/08/21(土) 01:42
No:59676
|
|
Title: Re:表示しないようにするには
|
|
次から気を付けていただければ、よろしいですよ。
それと結構初歩的な問題なので、1つ1つの関数がどんな役割を果たしているかコメントアウトしてみて動作がどう変わるか実験されることをお勧めします。
※ この時ソースはちゃんと動くものを別保存しておくこと。
自分でゲームを作れるようになるには、関数一つ一つ、命令一つ一つの役割をちゃんと理解する事が大事ですからね。
155ポイント を手に入れた。
|
|
|
|
|
Name: めれん ..ぴよぴよ(757ポイント)
Date: 2010/08/21(土) 02:04
No:59679
|
|
Title: Re:表示しないようにするには
|
|
Softyaさん
一個前のレスでお名前を間違えておりました・・ごめんなさい;
はい、次からは絶対にしません。本当に申し訳ありませんでした。
アドバイス下さってありがとうございます。
そうですね・・、一度試してみて、きちんと理解できるようにがんばります。
いつか皆さんみたいにゲームを立派に作れるように
きちんとマナーを守り、ゲームのプログラムについて学びたいと思います。
ありがとうございました。
191ポイント を手に入れた。
|
|
|
|
Name: Dixq (管理人) [URL] ..ウィザード(1,255,581ポイント)
Date: 2010/08/17(火) 23:31
No:59274
|
|
Title: プレ感謝祭【前夜祭】
|
|
お陰様で、間もなく1000万アクセスを迎えることが出来そうです。
これも皆様のお力添えあっての事と感謝致しております^^
仕事の都合上丁度よい時期にイベントが開催出来るかどうか解らないので、前夜祭的なトピックを立ててみました。
雑談などお気軽に書き込んで頂けると幸いです^^
初めてHPを作り始めたのは6年位前だったでしょうか。
最初はC言語のCの字も無いただ趣味について書いているだけのHPでカウンタは自分のアクセスでしか回らないHPでした。
ここまでこれたのも本当にいつもお世話になっている皆様のお力添えあってのことと感謝しています。
本当にありがとうございました、そしてこれからもよろしくお願いします^^
※イベントというのは本当に小規模な物で、ちょっとした物なので、あまり期待しないで下さい;
353ポイント を手に入れた。
|
|
|
|
Name: パコネコ ..プログラマー(34,173ポイント)
Date: 2010/08/17(火) 23:34
No:59275
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
これはまさか…このスレへの書き込みで残り22000ぐらいを稼ごうという狙いでは…
>>※イベントというのは本当に小規模な物で、ちょっとした物なので、あまり期待しないで下さい;
みんなすごい期待してると思いますよ…私もですけど。
125ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(34,245ポイント)
Date: 2010/08/17(火) 23:46
No:59278
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
あれ?
//み間違いでした。↓これ気にしないでください
固定トピックって一番上固定じゃ…
確かに赤い字で何か書いてますね!
ゆっくりどころかいつも以上に早くまわってほしいと思ってます。(笑)

72ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(53,908ポイント)
Date: 2010/08/17(火) 23:47
No:59279
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
私がこのHPに来たのは3ヶ月ぐらい前だったかな〜。
さっぱりゲームの仕組みが分からなくて、
ググったら、このHPがヒットしたのが始まりでした。
#何書けばいいのかわからないのと、書きすぎると本スレで書くことがなくなるのであまり書きません。
59ポイント を手に入れた。
|
|
|
|
|
Name: トントン ..かけだし(1,326ポイント)
Date: 2010/08/18(水) 00:02
No:59282
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
早めにおめでとうございます!
主にROM専な僕ですが。。。
皆さんの質問や回答を見てとても勉強になっています。
そんなサイトを作った管理人様にも感謝しています。
皆さんありがとう〜!
96ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(54,052ポイント)
Date: 2010/08/18(水) 00:03
No:59283
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
>シエルさんの成長はすごいですね^^;
>やはり好きこそものの上手なれという奴でしょうか。
>確かサウスさんも初めてゲーム作ったとか仰っていましたが、すぐにHPを立てるほどの腕前に・・。
この掲示板のおかげです。
この掲示板が無かったら、全然成長してなかったでしょう。
#本当に書くことなくなるので、これぐらいにしときますw
144ポイント を手に入れた。
|
|
|
|
|
Name: 御津凪 [URL] ..ハッカー(147,505ポイント)
Date: 2010/08/18(水) 00:14
No:59286
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
すごく関係ない話ですが・・・。
アンケートのコメントの欄に、13件のスパムが混じってます。
見ててうっとおしい位領域を占有しているので今のうちに消した方がいいかと。
内容を見ると、さまざまな掲示板でみられる海外の薬品販売のスパムですね。
各種タイプのタグ(直アドレス・HTML・BBCode等)に対応しているようで、同じアドレスをいくつものタグを使って
ハイパーリンクとして認識させようとしている典型的なものです。
218ポイント を落としてしまった。
|
|
|
|
|
Name: Justy ..伝説なるハッカー(564,601ポイント)
Date: 2010/08/18(水) 00:36
No:59291
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
いやぁ、すごいですね。1000万ですか。
運が良ければ明日にでも、ってところでしょうか。
最近は忙しくてあまり顔を出せていませんが、イベントに期待しつつ大台に乗るのを待ちたいと思います。
49ポイント を手に入れた。
|
|
|
|
|
Name: ひよこ ..比類無きプログラマー(86,577ポイント)
Date: 2010/08/18(水) 00:54
No:59293
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
私は2年くらい前にこの掲示板にきました。
ゲームを作ろうと思って
C言語もろくにわからない中でここでいろいろと教えて頂きゲームができました。(そのゲームが脱出ゲームです。
ここにきて、毎日が楽しくなりました。
Dixqさんのサイトには本当に感謝です。
イベントが楽しみです。
102ポイント を落としてしまった。
|
|
|
|
|
Name: 柏 ..上級者(17,645ポイント)
Date: 2010/08/18(水) 01:22
No:59294
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
基本的にROMっている者2号です...。
この掲示板から色々な知識を吸収させて貰っています。
そして何より、この掲示板の雰囲気がとても好きです。
イベント、楽しみにしています。
…やっぱりプレッシャーになるといけないので、"ちょっとだけ"楽しみにしときますw 
94ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..熟練のプログラマー(64,145ポイント)
Date: 2010/08/18(水) 01:30
No:59295
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
ほんとに早いものですね^^
私がこのHPを初めて拝見させていただいたのはだいたい1年くらい前だったかしら・・・
RPGをつくってやるー って調子にのってプログラムを書きまくっていた時期でした。
分からないところを掲示板で尋ねると、いつも丁寧に教えてくださった方がいたからこそ、
今の私がいるのだと思っています。
自由気ままに作っているので完成までは程遠いですが、
少しずつ進めております。
イベント楽しみにしています^^
196ポイント を手に入れた。
|
|
|
|
|
Name: いむ ..ぴよぴよ(617ポイント)
Date: 2010/08/18(水) 02:07
No:59300
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
早めですが、1000万アクセスおめでとうございます!
自分はいつも書き込みではなくて見るほうに回っているのですが、
それでも管理人さんや他の皆様方のレス等を見ているだけでも
勉強になります。これからも頑張ってください!
63ポイント を落としてしまった。
|
|
|
|
|
Name: ぬるぽ ..初心者(6,603ポイント)
Date: 2010/08/18(水) 06:33
No:59308
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
1000万アクセスおめでとうございます。
前々から気になっていたのですが、カウンタは
ユニークアクセスとトータルアクセスのうち、どちらで設定しているのでしょうか?
※ユニークアクセス
同一のIPアドレス(ネットワークに接続する機器、パソコン一台一台に割り当てられる固有の番号)からの
アクセスを重複せずにカウントする集計値のこと。つまり訪問者数。
実際どれくらいの人がアクセスしたかを知りたいときは参考になる値。
※トータルアクセス
ページビュー(PV)やヒット数と呼ばれたりする。
純粋に何回アクセスがあったかを知りたいときに参照する。
同じ人(IPアドレス)が複数回アクセスするのを考慮しない値、つまりページへの再訪問を考慮しない値。
286ポイント を手に入れた。
|
|
|
|
|
Name: kazuoni [URL] ..ハッカー(144,167ポイント)
Date: 2010/08/18(水) 07:36
No:59312
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
最近は全くステルスになってます。はい。
1000万アクセスも凄いですが、やはり新しいゲームを生んでいるからこそ達成できたという事もあるかなと思います。
管理人さんの発想から実行までの早さには常に驚かされてきました。
仕事、執筆、ツーリング(?)いろいろ忙しいかと思いますが、
今後の作品もぜひ期待しています。
イベント・・・参加できるかな?
2倍のポイントを手に入れた! 266ポイント を手に入れた。
|
|
|
|
|
Name: テラ ..ぴよぴよ(455ポイント)
Date: 2010/08/18(水) 08:33
No:59315
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
> 仕事の都合上丁度よい時期にイベントが開催出来るかどうか解らないので、前夜祭的なトピックを立ててみました。
> ※イベントというのは本当に小規模な物で、ちょっとした物なので、あまり期待しないで下さい;
昨日初めて質問させていただいた後でこういうイベントがあると本当に楽しみです。
小規模だとしても、これからお世話になるであろうプログラミングの教授方との交流の場みたいですし、自分としてはうれしいことがおおいです。
71ポイント を手に入れた。
|
|
|
|
|
Name: ムンバ ..中級者(11,275ポイント)
Date: 2010/08/18(水) 11:57
No:59336
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
こんにちは。
私が初めてお邪魔したのは、2年(弱)くらい前ですかね〜?
まだ目標のゲームはできていませんが、それに向けて少しずつ勉強しています。
1000万達成前夜祭、おめでとうございます!
もうすぐですねっ!^^
76ポイント を手に入れた。
|
|
|
|
|
Name: softya [URL] ..ハッカー(198,849ポイント)
Date: 2010/08/18(水) 12:35
No:59338
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
おめでとうございます。
まもなくですね。何か夏休みで質問が多いので早めにカウンタが回ってしまいそうで心配です。
ここに本格的にお邪魔したのは、まだ一年半ぐらい(記憶喪失気味)?でしょうか。
既に昇進でNO.5の座をいただいていますが、マイペースに書いていただけなんですけどね。
今後もマイペースで書き込みさせていただきます(つまりムラがあります)。
93ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(34,376ポイント)
Date: 2010/08/18(水) 12:46
No:59339
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
私もそれっぽいのを…
1000万アクセスの前夜祭、おめでとうございます。(笑
私が初めて書き込んだのは…覚えてませんでした。確か去年ぐらいですかね。
時々ふざけたり、問題を起こしたりする私ですが…これからもよろしくお願いします。
なんだかお正月の
「新年明けましておめでとうございます。今年もよろしくお願いします」
みたいになってますね。
ちなみに、残り15000ぐらいですね。
131ポイント を手に入れた。
|
|
|
|
|
Name: 木霊 ..プログラマー(34,159ポイント)
Date: 2010/08/18(水) 16:02
No:59353
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
1年前からは完全にROMってましたが、お祝いの言葉だけでも・・・
1000万アクセス(前夜)おめでとうございます
このままのペースで行くと明日(H22年8月19日)の1:00pm頃には達成できそうですね
執筆活動・ゲーム製作etc...まだまだ忙しい日々が続きそうですが、
体調を崩さない程度に頑張ってください
25ポイント を手に入れた。
|
|
|
|
|
Name: スモモ ..入門者(2,756ポイント)
Date: 2010/08/18(水) 16:07
No:59355
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
おめでとうございます。
私が初めて書き込んだのは 2010/08/08(日) 20:57 です。
始めたばかりですが、みなさんが他人への親切や、プログラミングへの熱心など、感じました。
ブキヨウな私ですが、だれかを怒らせるかもしれませんが、悪気がないんで、許してください。
教えてくれれば、謝ります。そして、なおします。
これからもお世話になります。よろしくお願いします。
イベント楽しみにしています。
2倍のポイントを手に入れた! 268ポイント を手に入れた。
|
|
|
|
|
Name: jay ..上級者(20,870ポイント)
Date: 2010/08/18(水) 17:36
No:59360
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
まずはおめでとうございます
フムフム、イベントですか
見逃さないようにしないといけませんね。
とりあえず今後とも体に気をつけて頑張って下さいね。
あと何書けばいいのか分からない・・・。
ひとまずこれにて失礼します
122ポイント を手に入れた。
|
|
|
|
|
Name: situmon ..熟練のプログラマー(50,111ポイント)
Date: 2010/08/18(水) 19:06
No:59367
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
おめでとうございます!!!!!
このサイトに来たのは2年前だった気がします。(確かそのくらい)
このサイトを見たときは革命って感じでした。
こんなサイトを見たかったんだ!!という希望が全部かなえられてとてもうれしいです。
最近ゲームをアップしてないのですが、がんばっていろいろ作ってます。
プログラミングは最初はまったくわからなかったのですが、このサイトは基本から学べるので、
やっと龍神録プログラミングのひとつひとつの章を理解できるようになりました。
素材を作っていると、昔はあんな画像で満足していたのか・・・と恥ずかしくなってきます。
とくに曲はなんであんな変な曲を作ったんだろう・・・と思いますが、東方をやって、こんな風に作るのか・・・、龍神録の素材を見て、こんな風に作ればきれいに見えるのか・・・、と勉強しております。
その成果もあって、ほんの少しの成長ですが、2年前よりよくなった気がします。
これからもこのサイトが発展していくのがとても楽しみです。またこの掲示板はとても親切な方々ばかりなので、これからもよろしくお願いします。
380ポイント を手に入れた。
|
|
|
|
|
Name: 白 ..中級者(10,069ポイント)
Date: 2010/08/18(水) 19:32
No:59370
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
プログラミングは完全に独学で周りには
誰一人プログラミングできる人もいず、
わからないことを質問することができなかったのですが、
その時こちらの掲示板を見つけ、それ以来大変お世話になってます。
初めて質問する時は、どうせ2chみたく暴言の嵐なんだろうなと
思いつつ書き込んだのですが、そんなことなく親切丁寧な対応を
してくださる方々ばかりで、その当時は大変驚いたことを憶えております。
若輩ものですが今後もよろしくお願いします。
2倍のポイントを手に入れた! 326ポイント を手に入れた。
|
|
|
|
|
Name: 南瓜 ..上級者(18,095ポイント)
Date: 2010/08/18(水) 20:19
No:59373
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
利用者の一人として、プレ1000万アクセスおめでとうございます!
Dixqさん、多忙な日々を過ごしているようですが、体調に気をつけて頑張って下さいね!
ゲームを作りたい!けど、
C言語の知識はまだまだなので、これからもお世話になります。
皆様、よろしくお願いしますm(_ _)m
71ポイント を手に入れた。
|
|
|
|
|
Name: X ..初心者(5,055ポイント)
Date: 2010/08/18(水) 20:40
No:59374
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
Dixqさん、1000万アクセスおめでとうございます! ^^
初めてきたのが今年の4〜5月ぐらいでした。
困ったとき、掲示板には、とても助けられました。
それに、ゲームプログラミングの館も、設定から詳しく書いてあって、とても分かりやすい説明でした。
このサイトがなければ、ゲームプログラミングは出来なかったと思います。
でも、まだ初心者なので、これからもよろしくお願いします!
Dixqさん、これからも頑張ってください!!
213ポイント を手に入れた。
|
|
|
|
|
Name: shiro4ao ..中級者(9,581ポイント)
Date: 2010/08/18(水) 20:49
No:59375
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
1000万アクセスおめでとうございます!
最近、知り、訪問させていただきました。
勉強していてわからないことがあっても質問できる人が周りにいなかったので
とても助かりました。
もうちょっとで1000万アクセスですね!
無理をなさらず頑張ってください!
//編集
1000万アクセスでした・・・
Google IMEが「100万アクセス」を覚えてくれていたようでした・・・・・
お恥ずかしいです・・・
パコネコさんありがとうございました。 
55ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(34,456ポイント)
Date: 2010/08/18(水) 20:53
No:59376
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
>>shiro4aoさん
ひとけた間違えてますよ…打ち間違いかもですけど…
30ポイント を手に入れた。
|
|
|
|
|
Name: 超超初心者 ..ぴよぴよ(10ポイント)
Date: 2010/08/18(水) 22:25
No:59379
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
はじめまして〜
ゲームを作成したいと思いつつ、
ちょっと調べていて、昨日初めて訪れました!
もうすぐ1000万アクセスということで、
おめでとうございます!
なにやら執筆もされているようで…
たのしみですね!
10ポイント を手に入れた。
|
|
|
|
|
Name: wing ..中級者(13,126ポイント)
Date: 2010/08/18(水) 22:45
No:59383
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
1000万、おめでとうございます。
私も皆様と同じく管理人さんに感謝しているひとりです。
特に独学なのでなおさら感謝しています。
このサイトがいつまでも賑わっていますよう祈っております。
2倍のポイントを手に入れた! 154ポイント を手に入れた。
|
|
|
|
|
Name: ムンバ ..中級者(11,499ポイント)
Date: 2010/08/19(木) 00:56
No:59396
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
あの〜?( ̄- ̄*)ぼー
いつも余計な事で、すみません。(激謝<(_ _)><(_ _)><(_ _)>
まだ1000万には達していないので、「1千万アクセスおめでとうございます!」
などは、如何なものでしょうかね?^^;(変な意味ありません。w)
けどお祭り事?だから、いいのかもしれません。^^
ん〜?
でも、もうすぐですし、寝てる間に1000万超えてしまうかもしれませんし
19日(木)は、パソコンあんまり見れない職場に居ますので・・・。
「1000万アクセス、おめでとう御座います〜♪」(∂∂)♪<現在カウント:09995634
散々ご迷惑お掛けして来ましたが、今後とも宜しくお願い致します。
おめでとうございます!&おやすみなさい!(∪。∪)。。。zzzZZ
224ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(34,530ポイント)
Date: 2010/08/19(木) 02:32
No:59398
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
さっき起きました。
残り3500ぐらいでびっくりしました。
明日は久しぶりに学校があるので、1000万の瞬間にはたぶん学校です。
間に合うといいなー。
イベントは金曜みたいなんで間に合わしますけどね・・・何だか一人言書いちゃいました。
74ポイント を手に入れた。
|
|
|
|
|
Name: DecentLove ..上級者(16,080ポイント)
Date: 2010/08/19(木) 08:04
No:59405
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
いよいよ今日ですね。このままだと達成の瞬間は部活中ということに。
それに感謝祭は明日やるのかな?それだと僕は22日まで地獄の合宿に行ってて見れない。
でも帰宅したときにまだイベントやってたら見に行きますね。
95ポイント を手に入れた。
|
|
|
|
|
Name: X ..初心者(5,133ポイント)
Date: 2010/08/19(木) 08:44
No:59408
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
もう残り2000になっていました。
午前中には、1000万アクセス達成するんじゃないでしょうか?
残り1000ぐらいになったら、ずっと1000万越える瞬間を見ておきたいと思います!
78ポイント を手に入れた。
|
|
|
|
|
Name: テラ ..かけだし(1,007ポイント)
Date: 2010/08/19(木) 09:47
No:59410
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
一晩寝て作業する前に見にきたらもう1000万目前ですね。
作業しつつ、ちょくちょくカウンターをみていようと思います。
42ポイント を手に入れた。
|
|
|
|
|
Name: X ..初心者(5,184ポイント)
Date: 2010/08/19(木) 10:39
No:59413
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
ついに、残り約500アクセスまできました!
感謝祭、楽しみにしています!
51ポイント を手に入れた。
|
|
|
|
|
Name: Tororo ..中級者(9,842ポイント)
Date: 2010/08/19(木) 10:55
No:59414
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
ああぁぁぁ!!!!!!
10000001 アクセスを 踏んだだとぉぉぉぉっぉ!
惜しかった OTL
42ポイント を手に入れた。
|
|
|
|
|
Name: あ〜る ..プログラマー(26,001ポイント)
Date: 2010/08/19(木) 10:57
No:59415
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
おぉ〜!!1000HIT!!!!
おしくも10000003番でした
0.1.2め、、、
とにもかくにもおめでとうございます!!
これからもよろしくお願いします!!
41ポイント を手に入れた。
|
|
|
|
|
Name: X ..初心者(5,217ポイント)
Date: 2010/08/19(木) 10:57
No:59416
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
10000010 だった orz
Dixqさん、1000万アクセスおめでとうございます!!!\(^o^)/
33ポイント を手に入れた。
|
|
|
|
|
Name: Tororo ..中級者(9,846ポイント)
Date: 2010/08/19(木) 11:00
No:59417
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
あっ なんか惜しかったせいで忘れていました^^;
1000万アクセスおめでとうございます!!!!
これからも宜しくお願いします!
4ポイント を手に入れた。
|
|
|
|
|
Name: ひよこ ..比類無きプログラマー(86,613ポイント)
Date: 2010/08/19(木) 11:02
No:59418
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
10000000でした。とてもうれしいです。
Dixqさん1000万アクセスおめでとうございます。
36ポイント を手に入れた。
|
|
|
|
|
Name: あ〜る ..プログラマー(26,039ポイント)
Date: 2010/08/19(木) 11:04
No:59419
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
ひよこさんだったのですか、おめでとうございます!羨ましいですw
にしても直前の異常な加速にはwww
38ポイント を手に入れた。
|
|
|
|
|
Name: ぬるぽ ..初心者(7,694ポイント)
Date: 2010/08/19(木) 11:13
No:59423
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
一応記録
2010年8月19日(木)10時54分38秒 1000万アクセス達成
改めておめでとうございます。
これからもよろしくお願いします。
追記:F5でアクセスが増えたのでトータルアクセスですね。 
48ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(56,359ポイント)
Date: 2010/08/19(木) 11:41
No:59429
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
あれ?ぬるぽさんの画面と比較すると、
今日のアクセス数は私の方が多いのにトータルアクセスでは私の方が下ですね。。。
まあ、たぶんこんなことは起きると予想してましたけど。
77ポイント を手に入れた。
|
|
|
|
|
Name: たかぎ [URL] ..ハッカー(220,142ポイント)
Date: 2010/08/19(木) 12:06
No:59431
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
こういうときに、意外にもカウンタのバグが見つかったりするものですね。
あまりいうとお祝いムードに水を差すのでやめておきますが...
なにはともあれ、1000万アクセスおめでとうございます。
うちのサイトでは累計をとっていないので、こういうイベントは無理ですね。
96ポイント を手に入れた。
|
|
|
|
|
Name: ROM ..入門者(3,258ポイント)
Date: 2010/08/19(木) 12:08
No:59432
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
え、キリ番踏んだ人、二人いるの?
20ポイント を落としてしまった。
|
|
|
|
|
Name: toyo ..熟練のプログラマー(57,934ポイント)
Date: 2010/08/19(木) 13:00
No:59437
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
CGIカウンタでflockの使い方が間違ってたりするのはあるようですね
同時アクセスが可能になったりとかのバグはなかなかでにくいですから
69ポイント を手に入れた。
|
|
|
|
|
Name: 御津凪 [URL] ..ハッカー(147,741ポイント)
Date: 2010/08/19(木) 13:18
No:59440
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
サイトを開設(カウンタを設置)してから1000万回のアクセスというだけで、
サイト自体にはアクセスに対して直接的な変わりがありませんけれども、
こういったお祝いが行われるのもカウンタのついたサイトならではですね。
ともかく、
1000万アクセス達成、誠におめでとうございます。
これからも末長く運営していけることを信じて。

236ポイント を手に入れた。
|
|
|
|
|
Name: たかぎ [URL] ..ハッカー(220,203ポイント)
Date: 2010/08/19(木) 13:21
No:59441
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
> こういったお祝いが行われるのもカウンタのついたサイトならではですね。
そうですね。
アクセスカウンタというのは、実質的にはアミューズメント的な意味しかありませんからね。
サイト運営の観点からすれば、累計がいくらかより、日々のトレンドのほうが重要ですから。
61ポイント を手に入れた。
|
|
|
|
|
Name: s-rush ..熟練のプログラマー(64,476ポイント)
Date: 2010/08/19(木) 15:09
No:59451
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
おおおおおおお
少し見ないうちにいつの間にか1000万アクセス過ぎてたorz
ともかく、1000万アクセスおめでとうございます^^
サイト運営大変でしょうが、これからもがんばってください。
かげながら応援しています。
87ポイント を手に入れた。
|
|
|
|
|
Name: テラ ..かけだし(1,061ポイント)
Date: 2010/08/19(木) 16:38
No:59457
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
マップスクロールの実装を試みていたらいつの間にか1000万越え・・・orz
アクセス1000万、おめでとうございます!
まだ顔を出し始めて数日ですが、息を潜めたり潜めなかったりして応援しています。
54ポイント を手に入れた。
|
|
|
|
|
Name: ぬっち [URL] ..中級者(12,501ポイント)
Date: 2010/08/19(木) 18:11
No:59463
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
1000万HITおめでとうございます。
私がこのホームページに初めて訪れたのは、もう3年ほど前でアクセス数が1000人くらいで龍神録がなかった頃(?)だった気がします。
その時から、ここホームページの情報や掲示板でいろいろとお世話になっています。
当時はゲームを作るなんて夢でしたが、このホームページのおかげで夢を達成できました。
今となっては、ゲームを作るというよりも、プログラミングに関連したこと全般が面白くなってしまっていて、どんどんゲーム作りから離れていってしまっていますが(苦笑)、まあそれもこのホームページのおかげだと思っています。
プログラミングにほぼ無縁であった私の人生を変えてしまったホームページでもあるので(大袈裟ですが^^;)、これからの発展期待しています^^ 
51ポイント を手に入れた。
|
|
|
|
|
Name: yu ..熟練のプログラマー(44,060ポイント)
Date: 2010/08/19(木) 21:38
No:59500
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
かなり遅れましたが、1000万アクセス突破おめでとうございます!
自分もこのWebページからプログラミングを始めました。
あれから2年ですか…とても早く感じますw
これからもこの掲示板を気持ち良く利用できるといいなあ。
59ポイント を手に入れた。
|
|
|
|
|
Name: Justy ..伝説なるハッカー(565,321ポイント)
Date: 2010/08/20(金) 01:32
No:59518
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
1000万アクセスおめでとうございます。
このHPにお邪魔するようになってもう四年にもなりますかね。
当時 Dixqさんが非常に丁寧に一人一人に対応している様にとても感銘を受けたのを覚えています。
今では質問者も増え当時のように対応していくのはいろいろ難しくはなりましたが、
掲示板の理念である「アットホームな掲示板」に賛同した利用者が増え、こうして維持できていると
いうのは本当にすごいことだと思います。
最近はあまり時間もとれず書き込む頻度も減ってしまっていますが、
これからもこの掲示板のカウンタを適度にまわしつつ応援していきたいと思います。
214ポイント を手に入れた。
|
|
|
|
|
Name: こめがみ ..ぴよぴよ(20ポイント)
Date: 2010/08/20(金) 04:19
No:59521
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
おえかきこむずかしー。
清書してきます。
チキチキ☆劇的、Before―――
20ポイント を手に入れた。
|
|
|
|
|
Name: 米噛 ..ぴよぴよ(5ポイント)
Date: 2010/08/20(金) 04:19
No:59522
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
―――After・・・・・・!
祝☆一千万
目指せ★一億PV
5ポイント を手に入れた。
|
|
|
|
|
Name: conio [URL] ..比類無きプログラマー(89,103ポイント)
Date: 2010/08/20(金) 09:55
No:59527
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
__祝___________________________________
_____祝祝祝祝__祝祝_祝祝祝_祝祝祝_祝祝祝__祝祝祝祝祝_祝祝_祝祝
_祝祝祝_祝__祝__祝祝_祝祝祝_祝祝祝_祝祝祝__祝祝祝祝祝_祝祝_祝祝
__祝__祝祝祝祝__祝祝_祝_祝_祝_祝_祝_祝___祝祝___祝祝_祝祝
_祝祝祝__祝祝___祝祝_祝_祝_祝_祝_祝_祝___祝祝祝祝_祝祝_祝祝
祝_祝__祝_祝___祝祝_祝祝祝_祝祝祝_祝祝祝__祝祝_祝祝______
__祝_祝__祝祝祝_祝祝_祝祝祝_祝祝祝_祝祝祝__祝祝_祝祝_祝祝_祝祝
1000万HITおめでとうございます。
何気に、DXライブラリ等の存在を知るきっかけを作って下さったサイトだったりします。
(ここを訪れてなかったら、WindowsAPIのみで簡易テトリスなんかを作るだけだったでしょう。)
今でも書き込みは無くても、見に来てたりします。
これからも頑張ってください(`・ω・´)
563ポイント を手に入れた。
|
|
|
|
|
Name: X ..初心者(5,224ポイント)
Date: 2010/08/20(金) 20:04
No:59572
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
感謝祭は何時ごろからあるんでしょうね。
7ポイント を手に入れた。
|
|
|
|
|
Name: ネス ..初心者(7,242ポイント)
Date: 2010/08/20(金) 22:40
No:59636
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
1000万アクセスおめでとうございます。
最初は自分のアクセスでしかカウンタが回らないというお話には「うんうん」と頷きながら読んでいました。
継続は力とは言いますが、やっぱり+内容が素晴らしいからだと思います。
新参者ですが、こちらのサイトのおかげで、コンソール画面の壁を超えることができました。
私にとって人生を変えてくれたホームページと言っても言い過ぎではありません。
皆様にも日々、アドバイス頂いて助けられております。
これからも、自由闊達なこちらのホームページの発展を願っております。
本当におめでとうございます、最高!!
177ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..ウィザード(1,257,868ポイント)
Date: 2010/08/20(金) 23:44
No:59650
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
>トントンさん
お祝いのお言葉ありがとうございます^^
>シエルさん
ありがとうございますね!
>御津凪さん
アンケートスパム直しました!ありがとうございます!
>Justyさん
Justyさんには本当に言い切れないほどお世話になりました!
Justyさんなしにここまでやってこれませんでした^^
ホントにホントに感謝しております!これからもよろしくお願いします☆
>ひよこさん
ゲーム制作楽しんでいらっしゃるようですね^^頑張ってください!
>柏さん
お久ブリですね!
気軽に書き込みして下さいねw
イベントも是非ご参加下さい^^
>s-rushさん
ありがとうございます!
イベントの方も是非よろしくです☆
>いむさん
お祝いのお言葉ありがとうございます^^
書き込みはどうぞお気軽に♪
>ぬるぽさん
トータルアクセスですね。
ただオブジェクトごとにカウンタが回るのではなく、1ページ1カウンタという純粋なPVに設定してあります^^
>kazuoniさん
ステルスにならないでくださいよw
気軽に参加して下さいね♪
>Tororoさん
そんなに前からご覧くださってるんですか?!
ということはこのHP作って間もないころからいらっしゃるのですね。
いったい何歳の時なんだろう^^;
>テラさん
うちのHPにお越しくださりありがとうございます^^
イベントの方お気軽にご参加くださいね☆
>ムンバさん
ありがとうございます!ムンバさんも頑張ってくださいね!
>softyaさん
ありがとうございます!
うちのようなサイトでもsoftyaさんのようなベテランの方に支えて頂けると非常に心強いです。
いつもお世話になっています^^
そしてこれからもよろしくお願いします☆
>パコネコさん
ありがとうございます^^
これからもがんばっていきましょうね!
>木霊さん
お祝いのお言葉ありがとうございます^^
これからも頑張っていきますね!
>スモモさん
来て下さったばかりでイベントトピックにも参加して下さりありがとうございます^^
うちはアットホームな雰囲気を目指しているので、気軽におこしくださいね☆
>jayさん
ありがとうございます^^
イベント参加もありがとうございました!
>situmonさん
随分とゲーム制作頑張っていらっしゃいますね!
これからも期待しています☆
>白さん
そういって頂けると作った甲斐があるなと思えます、ありがとうございます☆
また、メールも下さりありがとうございます。
お勧めの○○○あったら教えて下さいねw
>南瓜さん
ありがとうございます!
ゲーム制作が好きになれば学ぶことは苦にならなくなると思うので、ファイトです^^
>Xさん
うちのようなHPでも何かの力になれたのでしたら幸いです^^
これからもよろしくお願いします☆
>shiro4aoさん
ありがとうございます^^
私もまわりに聞ける人がいなかったので、こんな場があったらいいなと思って作りました。
でも管理人になってしまうと解らないことがあっても聞けないものですね(苦笑
これからもよろしくお願いします^^
>超超初心者さん
お祝いのお言葉ありがとうございます^^
また、来て下さったばかりのようですが、このようなトピックにも書き込みして下さりありがとうございます☆
今後ともよろしくお願いします^^
1,245ポイント を手に入れた。
|
|
|
|
|
Name: Dixq (管理人) [URL] ..ウィザード(1,257,107ポイント)
Date: 2010/08/20(金) 23:57
No:59654
|
|
Title: Re:【前夜祭】 プレ1000万アクセス感謝祭 【雑談】
|
|
>wingさん
お祝いのお言葉ありがとうございます^^
こんなサイトですが、これからもよろしくお願いします☆
>たかぎさん
読みは的中でしたね!さすがたかぎさん!
>DecentLoveさん
お疲れ様です!
なるべく長時間開催出来るような仕様を考えたつもりです、お早いご参加お待ちしております〜^^
> 1000万アクセスについてのコメント
皆さんありがとうございます〜!
>ぬるぽさん
すごい!ぴったりですね!
永久保存版にさせて頂きます^^
>toyoさん
>シエルさん
投稿ありがとうございます!
うちのサーバーに移させて頂きますね^^
>ぬっちさん
アクセスカウンタが1000でした?!
ということはうちのサイトがまだバイクやゲームのホームページだったころですね^^;
そんな頃から来てくださっていたとは!
本当に長い期間ありがとうございます^^
>arrayさん
ありがとうございます!
arrayさんには色々とお世話になりました^^
これからもよろしくお願いします☆
>yuさん
お祝いのお言葉ありがとうございます^^
またイベント参加の方もありがとうございます☆
これからもよろしくです^^
>Justyさん
Justyさん無くしてここまでこれませんでした。
なんちゃってボンバーマンをお見せした時に褒めて頂いてやる気になったあの頃をよく覚えています(笑
多分掲示板常連さんの中では最古参ですよね。(ぬっちさん疑惑が浮上していますが?!)
本当に長い間ありがとうございます!
そしてこれからもよろしくお願いします☆
>こめがみさん
お久しぶりですね^^
イラストまで描いてくださりありがとうございます!
アイシャの絵は何度か投稿して下さった方がいらっしゃいますが、Aerobeatの方は初めてでした。
名前が・・・無い^^;
名前付けておけばよかった;
本当にありがとうございます^^
>conioさん
おぉ!ニコニコの職人みたいw
携帯で初めて見たときは何の事かわからなかったんですが、こういうことだったんですねw
手の込んだコメントをありがとうございます^^
>Xさん
お待たせしてごめんなさい。
開催しましたのでよければご覧ください★
>ネスさん
お祝いのお言葉ありがとうございます^^
そうなんですよね〜自分のアクセスでしかカウンタがまわらないHPって作る気がうせちゃうんですよね^^;
でも皆様にこんなにもコメント頂けるようになり、作り続けた甲斐がありました。
本当に皆様に感謝しています。
お言葉には少々身に余るお言葉が多かったようですが^^;
こんなHPでもお役に立てれば光栄です^^
これからもよろしくお願いします☆
761ポイント を落としてしまった。
|
|
|
|
Name: 蓮 ..入門者(4,697ポイント)
Date: 2010/08/16(月) 20:49
No:59123
|
|
Title: OpenGl ESでの文字列表示
|
|
OpenGl ESでの文字列表示を行いたいです。
今までPNGファイルなどに下手でデータを書いていたのですが
漢字を使いたくなり文字列を表示する関数を作りたいです。
色々と調べてみたのですがESにはそのような関数がなく
テクスチャに文字列を表示させて描画するのが方法の一つということまでわかりました。
しかし下記のサイト等をみながら実装しようとしているのですがエラーが取れません。
http://objective-audio.jp/2008/12/post-11.html
コメント欄に
memsetの前にbitmapBufferのメモリ確保が要ります。と書いてあるのですがこれもよくわかりません・・・。
どのようにすれば文字列を表示できるでしょうか?
これ以外の方法でも文字列が表示されれば問題ないです。
お手数お掛け致しますがご教授頂けますと助かります。
277ポイント を落としてしまった。
|
|
|
|
Name: 蓮 ..初心者(5,036ポイント)
Date: 2010/08/17(火) 16:37
No:59179
|
|
Title: Re:OpenGl ESでの文字列表示
|
|
すみません・・・誤字がございました。
>>今までPNGファイルなどに下手でデータを書いていたのですが
↓
今までPNGファイルなどにベタでデータを書いていたのですが
OpenGL ESでは文字列の描画は無理なのでしょうか?
101ポイント を手に入れた。
|
|
|
|
|
Name: 蓮 ..初心者(5,658ポイント)
Date: 2010/08/18(水) 03:38
No:59305
|
|
Title: Re:OpenGl ESでの文字列表示
|
|
Justy様
いつもご回答ありがとう御座います。
本当に助かっております。
アロケートは下記の様な感じで大丈夫なのでしょうか?
又、生成したテクスチャの表示がうまく出来ません・・・。
どのようにすれば正しく表示されるのでしょうか?
bitmapBuffer = (Byte *)malloc(imageRect.size.width * imageRect.size.height * 4);
memset(bitmapBuffer, 0, imageRect.size.width * imageRect.size.height * 4);
CGContextSetRGBFillColor (bitmapContext, 0.0, 0.0, 0.0, 1.0);
CGContextFillRect (bitmapContext, imageRect);
UIGraphicsPushContext(bitmapContext);
UIFont *tFont = [UIFont systemFontOfSize:40];
[[UIColor whiteColor] set];
[@"Test String 1234567890" drawAtPoint:CGPointMake(0, 0) withFont:tFont];
[@"日本語もOK!" drawAtPoint:CGPointMake(0, 44) withFont:tFont];
UIGraphicsPopContext();
CGImageRef image = CGBitmapContextCreateImage(bitmapContext);
//ここでテクスチャに描画する
// glTexImage2D(GL_TEXTURE_2D,0,GL_RGB, imageRect.width,imageRect.height,0, GL_RGB,GL_UNSIGNED_BYTE,image);
CGImageRelease(image);
513ポイント を手に入れた。
|
|
|
|
|
Name: めるぽん ..上級者(18,018ポイント)
Date: 2010/08/18(水) 04:16
No:59306
|
|
Title: Re:OpenGl ESでの文字列表示
|
|
Justy さんが示したページを読む限り、glTexImage2D する前にちゃんと glBindTexture は呼ぶ必要があって、GL_RGB ではなく、それぞれ GL_RGBA, GL_BGRA にする必要がありそうですね。
あと、そのコードからは読めないのですけど、CGBitmapContextCreate する際にちゃんと bitmapBuffer を渡しているのでしょうか。bitmapBuffer と CGContextRef をちゃんと関連付けないとダメです。
うろ覚えですが、CGBitmapContextCreate の第一引数を NULL にすれば、内部で必要な量だけのバッファを勝手に確保してくれた気がするので、
// コンテキストの生成
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef bitmapContext = CGBitmapContextCreate(NULL,
imageRect.size.width, imageRect.size.height, 8,
imageRect.size.width * 4, colorSpace, kCGImageAlphaPremultipliedLast);
CGColorSpaceRelease(colorSpace);
// 文字列を描画
UIGraphicsPushContext(bitmapContext);
[[UIColor whiteColor] set];
[@"Test String 1234567890" drawAtPoint:CGPointMake(0, 0) withFont:tFont];
[@"日本語もOK!" drawAtPoint:CGPointMake(0, 44) withFont:tFont];
UIGraphicsPopContext();
// イメージを取り出す
CGImageRef image = CGBitmapContextCreateImage(bitmapContext);
CGContextRelease(bitmapContext);
// テクスチャの生成
int texture;
glGenTextures(1, &texture);
glBindTexture(GL_TEXTURE_2D, texture);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
imageRect.width, imageRect.height, 0, GL_BGRA, GL_UNSIGNED_BYTE, image);
CGImageRelease(image);
return texture;
とかやれば、malloc しなくても動いたりしませんかね?
もし NULL を指定してもダメなら、malloc したポインタを NULL の部分に与えてやればよさそうです。 
704ポイント を手に入れた。
|
|
|
|
|
Name: 蓮 ..初心者(5,805ポイント)
Date: 2010/08/18(水) 15:32
No:59349
|
|
Title: Re:OpenGl ESでの文字列表示
|
|
皆様ご回答ありがとうございます。
エラーはなく動くようになりました。
しかし描画すると白いテクスチャが表示されるだけでした・・・。
描画用の関数が行けないのでしょうか?
※画像を表示するようです。
またOpenGLなのですが座標系を変更しております。
(縦 320 横 480)
147ポイント を手に入れた。
|
|
|
|
|
Name: 蓮 ..初心者(5,845ポイント)
Date: 2010/08/19(木) 09:27
No:59409
|
|
Title: Re:OpenGl ESでの文字列表示
|
|
上のソースから色々と弄っては見たのですが
白いテクスチャから変わりません・・・。
描画用の関数が原因なのでしょうか?
40ポイント を手に入れた。
|
|
|
|
|
Name: Justy ..伝説なるハッカー(565,107ポイント)
Date: 2010/08/19(木) 23:19
No:59511
|
|
Title: Re:OpenGl ESでの文字列表示
|
|
テクスチャサイズは縦横それぞれ幾つに設定していますか?
あと、これは白くなる原因ではないですが、多分 glTexImage2Dの GL_BGRAは GL_RGBAにしないとダメなんじゃないかと思います。
2倍のポイントを手に入れた! 130ポイント を手に入れた。
|
|
|
|
|
Name: 蓮 ..初心者(5,934ポイント)
Date: 2010/08/20(金) 03:31
No:59520
|
|
Title: Re:OpenGl ESでの文字列表示
|
|
ご回答ありがとうございます。
test.imageSize.width = 128;
test.imageSize.height = 128;
と書いてある部分がテクスチャのサイズになります。
これがイケないのでしょうか?
89ポイント を手に入れた。
|
|
|
|
|
Name: Justy ..伝説なるハッカー(565,536ポイント)
Date: 2010/08/20(金) 20:17
No:59579
|
|
Title: Re:OpenGl ESでの文字列表示
|
|
>これがイケないのでしょうか?
あー、そこかもしれません。
コード上では loadFontした後に設定していますが、テクスチャは loadFont内で
test.imageSize.widthなどを参照して生成しますので、loadFontよりも前に背ってしないと
うまく動かないかと。
とりあえず
test.imageSize.width = 128;
test.imageSize.height = 128;
test.texture = loadFont();
にして試して貰えますか?
215ポイント を手に入れた。
|
|
|
|
|
Name: 蓮 ..初心者(6,121ポイント)
Date: 2010/08/20(金) 21:12
No:59589
|
|
Title: Re:OpenGl ESでの文字列表示
|
|
何度も何度もご回答ありがとうございます・・・。
そのようにしてみたのですが変化はありませんでした。
私のソースの読む力がないので何を行っているのかわからないのですが
test.imageSize.widthを参照しているのでしょうか?
関数内で作りだしたものを参照しているのかと・・・
もしかして引数を指定する仕様にしないと駄目なのでしょうか?
プロジェクトを置かせて頂きます。
PASS:ren
http://www1.axfc.net/uploader/Si/so/82488
187ポイント を手に入れた。
|
|
|
|
|
Name: Justy ..伝説なるハッカー(565,697ポイント)
Date: 2010/08/20(金) 22:55
No:59642
|
|
Title: Re:OpenGl ESでの文字列表示
|
|
>test.imageSize.widthを参照しているのでしょうか?
あ、すみません。imageRect.size.width/heightの方でした。
こちらの値がテクスチャ生成時のサイズになりますので、この値をどうセットしているかを
知りたかったのです。
しかし全ソースがあると話が早いですね。
というわけで直してみました。
サイズの問題、フィルタ関連、あと天地を逆に等、細かな点も修正してあります。
これで表示されると思います。お試し下さい。
161ポイント を手に入れた。
|
|
|
|
|
Name: 蓮
Date: 2010/08/23(月) 03:18
No:591231282501081
| 解決!
|
Title: Re:OpenGl ESでの文字列表示
|
|
Justy様
ご回答ありがとうございます。
無事に描画出来ました!!
指定した位置に描画したいのですが正常に表示できないです。
自分なりにカスタマイズしているのですが上手くいかないので
再度質問してしまうかもしれません
|
|
|
|
Name: 疲れた ..ぴよぴよ(0ポイント)
Date: 2010/08/20(金) 18:50
No:59564
|
|
Title: 龍神録13章で詰んでいます
|
|
いくらやってもstruct.hのSHOT_BULLET_MAXがエラーを起こしてビルドできないのですが、
どうすればいいでしょうか?
エラー内容
SHOT_BULLET_MAXは定義されていない識別子です。
struct.h
//キャラクターに関する構造体
typedef struct{
int flag; //フラグ
int cnt; //カウンタ
int power; //パワー
int point; //ポイント
int score; //スコア
int num; //残機数
int mutekicnt; //無敵状態とカウント
int shot_mode; //ショットモード
int money; //お金
int img; //画像
int slow; //スローかどうか
double x,y; //座標
}ch_t;
typedef struct{
int key[PAD_MAX];
}pad_t;
//コンフィグに関する構造体
typedef struct{
int left,up,right,down,shot,bom,slow,start,change;
}configpad_t;
typedef struct{
//フラグ、カウンタ、移動パターン、向き、敵の種類、HP最大値、落とすアイテム、画像
int flag,cnt,pattern,muki,knd,hp,hp_max,item_n[6],img;
//座標、速度x成分、速度y成分、スピード、角度
double x,y,vx,vy,sp,ang;
//弾幕開始時間、弾幕の種類、弾の種類、色、状態、待機時間、停滞時間
int bltime,blknd,blknd2,col,state,wtime,wait;
}enemy_t;
typedef struct{
//カウンタ、移動パターン、敵の種類
int cnt,pattern,knd;
//初期座標と移動スピード
double x,y,sp;
//弾幕開始時間、弾幕の種類、色、体力、弾の種類、停滞時間、アイテム(6種類)
int bltime,blknd,col,hp,blknd2,wait,item_n[6];
}enemy_order_t;
//弾に関する構造体
typedef struct{
//フラグ、種類、カウンタ、色、状態、少なくとも消さない時間、エフェクトの種類
int flag,knd,cnt,col,state,till,eff;
//座標、角度、速度、ベースの角度、一時記憶スピード
double x,y,angle,spd,base_angle[1],rem_spd[1];
}bullet_t;
//ショットに関する構造体
typedef struct{
//フラグ、種類、カウンタ、どの敵から発射されたかの番号
int flag,knd,cnt,num;
//ベース角度、ベーススピード
double base_angle[1],base_spd[1];
bullet_t bullet[SHOT_BULLET_MAX];
}shot_t;
731ポイント を落としてしまった。
|
|
|
|
Name: あ〜る ..プログラマー(28,097ポイント)
Date: 2010/08/20(金) 18:59
No:59565
|
|
Title: Re:龍神録13章で詰んでいます
|
|
define.hでちゃんと定義してますか?
define.hに
#define SHOT_BULLET_MAX 1000
を追加してみて下さい
58ポイント を手に入れた。
|
|
|
|
|
Name: 疲れた ..ぴよぴよ(20ポイント)
Date: 2010/08/20(金) 21:48
No:59608
|
|
Title: Re:龍神録13章で詰んでいます
|
|
追加したんですが、エラーがまだ出ているんですよ。
20ポイント を手に入れた。
|
|
|
|
Name: 狐 ..ぴよぴよ(15ポイント)
Date: 2010/08/17(火) 18:29
No:59196
|
|
Title: タイトルロゴ等の背景素材
|
|
ゲーム画面の背景素材ではなくタイトルロゴ等の背景素材がおいてあるサイトはないでしょうか?
現在、タイトルロゴを作っているのですが文字だけでは寂しいのでフリーであると嬉しいです。
※今回探しているのは背景ではなくロゴに使える素材です。
魔方陣や紋章等
ご存知の方がおりましたら教えて頂けますと嬉しいです。
15ポイント を手に入れた。
|
|
|
|
Name: ライス ..初心者(6,914ポイント)
Date: 2010/08/17(火) 23:42
No:59277
|
|
Title: Re:タイトルロゴ等の背景素材
|
|
<ツヴァイハンダー>
http://tweihander.iaigiri.com/
これなんてどうでしょうか?
リンク先の武器・紋章素材のところを見てみてください。
探してるものにあうと思います。
フリーですが、使用する場合は利用規約などはしっかり確認してくださいね^^;
もしあわなかった場合は、遠慮なく言ってください^^
他にも探してみます^^
ー追伸ー
素材探し大変ですよね^^;
僕も最初は苦労しました…。
今は簡単ものは自分で描くようにしてます。
簡単なものくらいは描けるようになると結構楽ですが、
それなりに練習が必要になりますね^^;
ちなみに絵を書くなら、
<EDGE>
http://takabosoft.com/edge
これがフリーの中では一番お勧めですね!
340ポイント を手に入れた。
|
|
|
|
|
Name: 狐 ..ぴよぴよ(39ポイント)
Date: 2010/08/18(水) 23:03
No:59387
|
|
Title: Re:タイトルロゴ等の背景素材
|
|
ありがとうございます!!
利用させて頂きます><
24ポイント を手に入れた。
|
|
|
|
|
Name: 狐 ..ぴよぴよ(197ポイント)
Date: 2010/08/19(木) 03:20
No:59401
|
|
Title: Re:タイトルロゴ等の背景素材
|
|
更にソフトのご紹介ありがとうございます。
ドット絵を描くツールですよね?
使い方は覚えたのですが描けないのでww
ゲームを作る際に必ず必要になるものなので
まだご存じのようでしたら色々サイトを知っておきたいです。
ご存知でしたらで構いませんので
教えて頂いたようなサイトを教えて頂けますと助かります。
158ポイント を手に入れた。
|
|
|
|
|
Name: situmon ..熟練のプログラマー(53,158ポイント)
Date: 2010/08/20(金) 20:01
No:59571
|
|
Title: Re:タイトルロゴ等の背景素材
|
|
もしかしたら解決されたかもしれませんが、
GIMPをダウンロードして、フィルタから模様を作り出すという手もあります。
確か、模様を乱数で作り出してくれるフィルタがあったはずです。
それならば著作権なども気にしなくてよいので・・・
81ポイント を手に入れた。
|
|
|
|
|
Name: 狐 ..ぴよぴよ(263ポイント)
Date: 2010/08/20(金) 20:19
No:59580
| 解決!
|
Title: Re:タイトルロゴ等の背景素材
|
|
こんなにもたくさんありがとうございます。
キャラのドット絵とか助かりました!!
GIMPですか・・・。
名前は聞いたことがあるのですが使い方がわからないので
この機会に覚えてみます。
ご紹介ありがとうございました。
66ポイント を手に入れた。
|
|
|
|
|
Name: situmon ..熟練のプログラマー(53,317ポイント)
Date: 2010/08/20(金) 20:05
No:59573
|
|
Title: Re:「雑談」1000万アクセス記念お気軽にどうぞ
|
|
プレイさせていただきました。ゴールの色がだんだんわからなくなってくるので10階コースでも難しかったですが、クリアしたときの達成感がありました。音楽もつけたらどうですか♪
それと一つ気になったのですが、クリア後の最速タイムの表示が999秒なのですが・・・
次回作も楽しみに待っています。
製作がんばってください!!
159ポイント を手に入れた。
|
|
|
|
|
Name: ひよこ ..比類無きプログラマー(87,544ポイント)
Date: 2010/08/20(金) 20:12
No:59574
|
|
Title: Re:「雑談」1000万アクセス記念お気軽にどうぞ
|
|
situmonさん遊んでくださりありがとうございました。
セーブデータは最初0で初期化しようと思ったのですが、出口の数0はないので
デフォルトで999とか0とか4とかいれてあります。
脱出成功の時の最速は、セーブデータの記録ですからおかしくても大丈夫です。
(あえて、セーブデータと自分の結果を表示させたからこういうことになってます。
音楽はゲームに合うものがなかったもので・・・
ゴールの色はわざと似せてあります。良く見るとわかる的な感じです。
226ポイント を手に入れた。
|
|
|
|
|
Name: situmon ..熟練のプログラマー(53,362ポイント)
Date: 2010/08/20(金) 20:15
No:59578
|
|
Title: Re:「雑談」1000万アクセス記念お気軽にどうぞ
|
|
ゴールの色が似せてあって一瞬間違えそうになったり・・・
でも時間が表示されていて少しあせって・・・ってかんじです。
楽しかったですよ♪
57ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(57,295ポイント)
Date: 2010/08/20(金) 20:19
No:59581
|
|
Title: Re:「雑談」1000万アクセス記念お気軽にどうぞ
|
|
最近は皆さんシューティングゲームばかりアップされていたので、
シンプルだったですけど、新鮮で楽しめました。
おもしろかったです。あとでまたやります。
2倍のポイントを手に入れた! 136ポイント を手に入れた。
|
|
|
|
|
Name: ひよこ ..比類無きプログラマー(87,631ポイント)
Date: 2010/08/20(金) 20:30
No:59584
|
|
Title: Re:「雑談」1000万アクセス記念お気軽にどうぞ
|
|
situmonさん詳しく感想ありがとうございます。
シエルさんシンプルで新鮮なんてすばらしいほめ言葉ありがとうございます。
本当にうれしいです。
>>またやります。
ありがとうございます。
87ポイント を手に入れた。
|
|
|
|
Name: めれん ..ぴよぴよ(38ポイント)
Date: 2010/08/17(火) 17:19
No:59187
|
|
Title: 右に出る数字を消したい
|
|
見てくださってありがとうございます。プログラミングの館さんの方で今、ファイルをDLさせてもらって色々いじって変えていって作ってみてるんですが、50章をデバックした時に出る画面でScoreとかManeyとかその下の数字とか、左にも出る数字ってありますよね。それを全部なくしたいんですが、どうやったら出来るでしょうか?どこを消せばいいか見てみてもわからなくて・・; こんなこと言って申しわけないのですが、良かったら教えて下さい;
38ポイント を手に入れた。
|
|
|
|
Name: シエル ..熟練のプログラマー(51,968ポイント)
Date: 2010/08/17(火) 17:33
No:59188
|
|
Title: Re:右に出る数字を消したい
|
|
graph.cppあたりを見て、ボードとかの描画処理を実行しないようにすればたぶん
上手くいくと思いますが。
しっかり見てないので、違ったらすいません。
71ポイント を手に入れた。
|
|
|
|
|
Name: 筑前煮 ..かけだし(1,905ポイント)
Date: 2010/08/17(火) 18:06
No:59193
|
|
Title: Re:右に出る数字を消したい
|
|
ただ単に表示を消したいならmain.cppの
enter_func_tmを削除するなりコメントアウトするなりすればいいかと。
スコア側はあまりいじってないのでわかりませんが、graph.cppに表示する処理が書いてあったのでその辺をいじってみてください。 
34ポイント を落としてしまった。
|
|
|
|
|
Name: めれん ..ぴよぴよ(601ポイント)
Date: 2010/08/18(水) 00:50
No:59292
|
|
Title: Re:右に出る数字を消したい
|
|
シエルさんのアドバイスから、
graph.cppで見てみたんですが、ボードの描画って
//スコアボード表示(41)
void graph_board_states(){
int i;
int score=ch.score;
int power=ch.power;
int graze=ch.graze;
int point=ch.point;
int money=ch.money;
for(i=0;i<9;i++){//スコア表示
DrawRotaGraph(625-15*i,30,1.0f,0.0f,img_num[0][score%10],TRUE);
DrawRotaGraph(625-15*i,50,1.0f,0.0f,img_num[0][score%10],TRUE);
score/=10;
}
for(i=0;i<ch.num;i++)//残機数表示
DrawGraph(499+12*i,63,img_etc[8],TRUE);
DrawRotaGraph(547,91,0.9f,0.0f,img_num[0][power%10],TRUE);power/=10;
DrawRotaGraph(536,91,0.9f,0.0f,img_num[0][power%10],TRUE);power/=10;
DrawRotaGraph(513,91,1.0f,0.0f,img_num[0][power%10],TRUE);
DrawString(522,82,".",color[0]);//チョン
for(i=0;i<6;i++){//グレイズ表示
DrawRotaGraph(578-14*i,111,1.0f,0.0f,img_num[0][graze%10],TRUE);
graze/=10;
}
for(i=0;i<4;i++){//ポイント表示
DrawRotaGraph(550-14*i,131,1.0f,0.0f,img_num[0][point%10],TRUE);
point/=10;
}
for(i=0;i<6;i++){//マネー表示
DrawRotaGraph(578-14*i,154,1.0f,0.0f,img_num[0][money%10],TRUE);
money/=10;
}
}
//ボード描画
void graph_board(){
DrawGraph( 0, 0,img_board[10],FALSE);
DrawGraph( 0, 16,img_board[11],FALSE);
DrawGraph( 0,464,img_board[12],FALSE);
DrawGraph(416, 0,img_board[20],FALSE);
graph_board_states();//(41)
}
ここですよね・・、これ全部消すと、エラーが発生してしまうと思うのですが、筑前煮さんが言うように描画処理を実行しないようにするんみはどうしたら良いでしょうか・・。本当に初心者でごめんなさい; softyaさんの言われたとおり、スコアボードも見てみて、追加や変更している場所をいじってみたんですが、僕のやり方が駄目なみたいでエラーになってしまいました; すみません・・
563ポイント を手に入れた。
|
|
|
|
|
Name: ぬるぽ ..初心者(7,347ポイント)
Date: 2010/08/18(水) 06:50
No:59309
|
|
Title: Re:右に出る数字を消したい
|
|
数字の部分に関しましては
// graph_board_states();
の部分をコメントアウトしますと消えます。
こうしても構いません。
//スコアボード表示
void graph_board_states(){
//int i;
//int score=ch.score;
//int power=ch.power;
//int graze=ch.graze;
//int point=ch.point;
//int money=ch.money;
//
//for(i=0;i<9;i++){//スコア表示
// DrawRotaGraph(625-15*i,30,1.0f,0.0f,img_num[0][score%10],TRUE);
// DrawRotaGraph(625-15*i,50,1.0f,0.0f,img_num[0][score%10],TRUE);
// score/=10;
//}
//
//for(i=0;i<ch.num;i++)//残機数表示
// DrawGraph(499+12*i,63,img_etc[8],TRUE);
//DrawRotaGraph(547,91,0.9f,0.0f,img_num[0][power%10],TRUE);power/=10;
//DrawRotaGraph(536,91,0.9f,0.0f,img_num[0][power%10],TRUE);power/=10;
//DrawRotaGraph(513,91,1.0f,0.0f,img_num[0][power%10],TRUE);
//DrawString(522,82,".",color[0]);//チョン
//for(i=0;i<6;i++){//グレイズ表示
// DrawRotaGraph(578-14*i,111,1.0f,0.0f,img_num[0][graze%10],TRUE);
// graze/=10;
//}
//
//for(i=0;i<4;i++){//ポイント表示
// DrawRotaGraph(550-14*i,131,1.0f,0.0f,img_num[0][point%10],TRUE);
// point/=10;
//}
//
//for(i=0;i<6;i++){//マネー表示
// DrawRotaGraph(578-14*i,154,1.0f,0.0f,img_num[0][money%10],TRUE);
// money/=10;
//}
}
ボードに関してましては
// DrawGraph( 0, 0,img_board[10],FALSE);
// DrawGraph( 0, 16,img_board[11],FALSE);
// DrawGraph( 0,464,img_board[12],FALSE);
// DrawGraph(416, 0,img_board[20],FALSE);
の部分をコメントアウトしますと消えます。
ボードは残してScoreとかManeyとかの文字だけを消すことはできません。
dat/img/board/20 の場所に置いてある画像を見れば分かると思いますが
ボードと文字が一緒になってます。
文字とボードを分けたいのであれば、
フォトショップ等で自分でボードを作り、文字も自分で作りましょう。
744ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(54,267ポイント)
Date: 2010/08/18(水) 06:52
No:59310
|
|
Title: Re:右に出る数字を消したい
|
|
おそらくエラーになるのは、消したコードをどこかで呼び出そうとしているからです。
上のコードで言うと、
下記のようにgraph_board_statesをコメントアウトするだけで、描画されないようになるのではないでしょうか?
void graph_board(){
DrawGraph( 0, 0,img_board[10],FALSE);
DrawGraph( 0, 16,img_board[11],FALSE);
DrawGraph( 0,464,img_board[12],FALSE);
DrawGraph(416, 0,img_board[20],FALSE);
//graph_board_states();//(41)
}
※あくまで予想です。間違っているかもしれません。
171ポイント を手に入れた。
|
|
|
|
|
Name: 通りすがり ..上級者(22,644ポイント)
Date: 2010/08/18(水) 11:38
No:59335
|
|
Title: Re:右に出る数字を消したい
|
|
何故全く内部の仕組みがわからないのにデバッグ用の文字だけ消したいのですか?
何かの課題などで提出するつもりなんでしょうか?
49ポイント を手に入れた。
|
|
|
|
|
Name: めれん ..ぴよぴよ(508ポイント)
Date: 2010/08/20(金) 20:15
No:59577
| 解決!
|
Title: Re:右に出る数字を消したい
|
|
ぬるぽさん、シエルさん
ありがとうございます!
参考に消してみたら出来ました!
Sofiyaさん
そうですね・・もっと勉強します・・;
通りすがりさん
いえ、課題ではないんですが個人的に色々変えて遊んでみたいなあと思いまして・・・。
93ポイント を落としてしまった。
|
|
|
|
Name: pon ..入門者(2,851ポイント)
Date: 2010/08/18(水) 21:26
No:59377
|
|
Title: 無題
|
|
与えられた数列の内いくつかの数が連続した和の最大値を求めるprogramを書け。という問題です。
http://rose.u-aizu.ac.jp/onlinejudge/ProblemSet/description.jsp?id=0022&lang=jp
#include<cstdio>
using namespace std;
int main(){
while(1){
long long int n;
scanf("%lld",&n);
if(n == 0){
break;
}
long long int wa[10001]={0};
for(long long int loop=1;loop<=n;loop++){
long long int aa;
scanf("%lld",&aa);
wa[loop] = wa[loop-1] + aa;
}
long long int max=-3333333;
int flag=0;
for(long long int loop=1;loop<=n;loop++){
for(long long int fir=1;fir<=n-loop+1;fir++){
long long int ret=wa[fir+loop-1]-wa[fir-1];
if(ret > max || flag==0){
max=ret;
flag=1;
}
}
}
if(max!=0){
printf("%lld\n",max);
}
}
}
このようなprogramを組んだのですが、Wrong Answerとなってしまいます。何がダメなのでしょうか。Wrong Answerとなる理由が分からず、全てlong longにしてみたのですが…
378ポイント を手に入れた。
|
|
|
|
Name: mats ..入門者(3,276ポイント)
Date: 2010/08/18(水) 22:51
No:59385
|
|
Title: Re:無題
|
|
プログラムを読み解けていませんが、
n:2
a1:-5、a2:0
の時は何が出力されますか?
パッと見では、少なくとも0は出力されないように見えますが…
63ポイント を手に入れた。
|
|
|
|
|
Name: 初級者 ..初心者(8,808ポイント)
Date: 2010/08/18(水) 22:58
No:59386
|
|
Title: Re:無題
|
|
自分には、「連続した項の和の最大値」の意味と、
入力例と出力例との関係がさっぱりわかりません。
どなたか解説していただけないでしょうか?
61ポイント を手に入れた。
|
|
|
|
|
Name: フリオ ..プログラマー(36,067ポイント)
Date: 2010/08/18(水) 23:36
No:59392
|
|
Title: Re:無題
|
|
>入力例と出力例との関係
例の3つの数列
1)-5 -1 6 4 9 -6 -7
2)1 2 3 2 -2 -1 1 2 3 2 1 -2 1
3)1000 -200 201
に対して、
1)の場合は、3~5項の和、6 + 4 + 9 == 19
2)の場合は、1~11項の和、1 + 2 + 3 + 2 + -2 + -1 + 1 + 2 + 3 + 2 + 1 == 14
3)の場合は、1~3項の和、1000 + -200 + 201 == 1001
が、"連続する項の和の最大値"になります。
ponさんへ、
"連続する項"とは、1項でもいいのでしょうか、それとも、2項以上でしょうか。

154ポイント を手に入れた。
|
|
|
|
|
Name: 初級者 ..初心者(8,902ポイント)
Date: 2010/08/19(木) 00:14
No:59395
|
|
Title: Re:無題
|
|
考え方はこういうことかな?
第1項〜第n項の和
第2項〜第n項の和
第3項〜第n項の和
…
第n項〜第n項の和
のn個の数値の最大を求める。
73ポイント を手に入れた。
|
|
|
|
|
Name: mats ..入門者(3,446ポイント)
Date: 2010/08/19(木) 03:05
No:59400
|
|
Title: Re:無題
|
|
> 初級者さん
その書き方なら、
第1項〜第1項の和、第1項〜第2項の和、第1項〜第3項の和、…、第1項〜第n項の和
第2項〜第2項の和、第2項〜第3項の和、…、第2項〜第n項の和
…
第(n-1)項〜第(n-1)項の和、第(n-1)項〜第n項の和
第n項〜第n項の和
なので、n(n+1)/2個の数字の最大かと思われます
> ponさん
if(max!=0){
を
if(flag!=0){
に直せばAcceptedになると思います
老婆心ですが、今後コンテストに参加する予定なら、
O(n^2)でなくO(n)のアルゴリズムを使った方がいいです
170ポイント を手に入れた。
|
|
|
|
|
Name: pon ..入門者(2,900ポイント)
Date: 2010/08/19(木) 21:16
No:59496
|
|
Title: Re:無題
|
|
debugの時に0が大量に出てきた時に消すのを忘れていただけでした。どうすればO(n)になりますか?
素直に組むと最初O(n^3)になってTLEしたので、O(n^2)に組みなおしたのですが…
49ポイント を手に入れた。
|
|
|
|
|
Name: mats ..入門者(3,457ポイント)
Date: 2010/08/20(金) 01:22
No:59517
|
|
Title: Re:無題
|
|
#include<iostream>
using namespace std;
int main(){
int n, i, ans, temp, a[5001];
while(cin>>n,n){
for(i=0;i<n;i++)scanf("%d",&a[i]);
ans=-999999,temp=0;
for(i=0;i<n;i++){
temp = max(temp+a[i], a[i]);
ans = max(ans, temp);
}
cout<<ans<<endl;
}
return 0;
}
このプログラムだとO(n)で解けます
11ポイント を手に入れた。
|
|
|
|
|
Name: pon ..入門者(2,931ポイント)
Date: 2010/08/20(金) 14:13
No:59535
| 解決!
|
Title: Re:無題
|
|
>matsさん
確かにそうですね。勉強になりました。ありがとうございました。
31ポイント を手に入れた。
|
|
|
|
Name: ぐれーと ..ぴよぴよ(515ポイント)
Date: 2010/08/13(金) 12:17
No:58852
|
|
Title: マリオ系2Dアクション。ブロックに当たったら。
|
|
こんにちわ。今、マリオ系の2Dアクションゲームを適当に作ってるんですけど、
ゲームプログラミングの館の
「27. ジャンプの考え方1(物理)」を参考にしてキャラを動かしたり、
「24. 行けない所を作る。〜2D〜」を参考にしてブロックを描画することができたのですが、
ブロックに乗れたり、下からぶつかった時の判定(ぶつかっておちる)
をどうやってやればいいのかわかりませんorz
何かいい方法を教えてくださいm(_ _)m
216ポイント を落としてしまった。
|
|
|
|
Name: パコネコ ..プログラマー(31,617ポイント)
Date: 2010/08/13(金) 13:24
No:58860
|
|
Title: Re:マリオ系2Dアクション。ブロックに当たったら。
|
|
あたり判定は人によって違うので、いい方法なのかはわかりませんが、1つの方法として…
私が使っているのは
x1=x/32;
y1=y/32;
x2=(x+31)/32;
y2=(y+31)/32;
//左上判定
if(map[x1][y1]==1){//1はブロック
ぶつかったときの処理
}
//右上判定
else if(map[x2][y1]==1){
ぶつかったときの処理
}
//左下判定
else if(map[x1][y2]==1){
ぶつかったときの処理
}
右下判定
else if(map[x2][y2]==1){
ぶつかったときの処理
}
ぶつかったときの処理は、ブロックの位置に戻す、移動量を0にするとか…
私の場合、自分の周りを4つに区切ってそれぞれ判定させてます。
276ポイント を手に入れた。
|
|
|
|
|
Name: ぐれーと ..かけだし(1,084ポイント)
Date: 2010/08/13(金) 23:03
No:58912
|
|
Title: Re:マリオ系2Dアクション。ブロックに当たったら。
|
|
回答ありがとうございます。
ぶつかったときの処理ですが、右から左や左から右に当たった処理はできたんですが、
上から乗ることや下から上にぶつかるなどの処理をどうすればいいのかわかりませんでした。
ジャンプの処理は「27. ジャンプの考え方1(物理)」を参考にして↓のようにしています。
//ジャンプの動き
//ジャンプしてたら
if(xh.flag==1){
xh.time2 = GetNowCount() ; // 現在経過時間を得る
xh.t = (double)(xh.time2 - xh.time) / 1000.000; // ミリ秒を秒に変換して、エンターが押されてからの経過時間を計算
y = (int)( (sqrt ( 2.000 * g * y_max) * xh.t - 0.500 * g * xh.t * xh.t ) * 200.000 / y_max );//y座標を計算
if(y>=0){
if(xh.flag2==0){
xh.y=384-y;
xh.gazo=gazou[xh.muki];
}
if(xh.flag2==1){
xh.y=384-y;
xh.gazo=gazou[xh.muki2];
}
}
else{
xh.flag=0;
}
}
//ジャンプしてなかったら
if(xh.flag==0){
if(xh.flag2==0){
xh.y=384;
xh.gazo=gazou[xh.muki];
}
if(xh.flag2==1){
xh.y=384;
xh.gazo=gazou[xh.muki2];
}
}
と、こんな感じなんですけど・・・。
もしもぶつかったらどういうふうに数値を変更させたらいいのかわかりません。
どうすればいいのでしょうか?
569ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(32,325ポイント)
Date: 2010/08/14(土) 00:15
No:58921
|
|
Title: Re:マリオ系2Dアクション。ブロックに当たったら。
|
|
ぐれーとさんのプログラムを理解してませんが、
上の壁にぶつかったら、自動落下に切り換え
地面にあたったらめり込まないように持ち上げる。
と、言う感じです。
私はジャンプを簡単に済ませてしまってるので…
同じジャンプの形を使ってる人を待つしか…
97ポイント を手に入れた。
|
|
|
|
|
Name: ぐれーと ..かけだし(1,244ポイント)
Date: 2010/08/15(日) 21:29
No:59047
|
|
Title: Re:マリオ系2Dアクション。ブロックに当たったら。
|
|
僕もあんまり、「27. ジャンプの考え方1(物理)」
を理解していないので、どうやればいいのか・・・。
多分、「ジャンプを厳密に表現しようとすると」
って書いてあるので、なんだか難しいものになってるんだと思います。
なんだか僕には難しそうなので、
もしよければパコネコさんがどうやってプログラムしてるか見せてもらえませんか?
160ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(33,270ポイント)
Date: 2010/08/15(日) 23:23
No:59057
|
|
Title: Re:マリオ系2Dアクション。ブロックに当たったら。
|
|
移動の部分だけ…
//================================横移動=================================
if(gl_getkeystate(VK_LEFT)<0){//左ボタン押したなら
sp--;
if(sp<-msp)sp=-msp;
}
else if(sp<0)sp++;
//-------------------------------------------------------------------------
if(gl_getkeystate(VK_RIGHT)<0){//右ボタン押したなら
sp++;
if(msp<sp)sp=msp;
}
else if(0<sp)sp--;
//===================================縦移動==================================
if(gl_getkeystate('X')<0 && jp==0){//ジャンプボタン押したなら
jps=-msp-msp/4;
jp=1;
}
//自動落下
jps++;
//横移動
x+=sp;
x1=x/z;
y1=y/z;
x2=(x+z-1)/z;
y2=(y+z-1)/z;
//ブロック判定
if(map[x1][y1]!=0 || map[x1][y2]!=0){//左判定
x=x2*z;
sp=0;
}
if(map[x2][y1]!=0 || map[x2][y2]!=0){//右判定
x=x1*z;
sp=0;
}
if(x-sk<z*2 || z*14<x-sk){//スライド
sk+=sp;
}
//ジャンプの処理
y+=jps;
x1=x/z;
y1=y/z;
x2=(x+z-1)/z;
y2=(y+z-1)/z;
if(map[x1][y1]!=0 || map[x2][y1]!=0){//上判定
y=y2*z;
jps=0;
}
if(map[x1][y2]!=0 || map[x2][y2]!=0){//下判定
y=y1*z;
jps=0;
jp=0;
}
全部int宣言(整数型)
sp :x軸の移動量
jps :y軸の移動量
msp :マックススピード
jp :ジャンプフラグ
x :キャラのx座標
y :キャラのy座標
z :キャラの大きさ
x1 :左ブロックの位置
x2 :右ブロックの位置
y1 :上ブロックの位置
y2 :下ブロックの位置
map[][]:0ならとおれる。1ならブロック。
それっぽいところを抜き出してみました…
あくまでも私の場合ですので…参考までに
入力はそのままでは使えませんよ。
668ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(33,752ポイント)
Date: 2010/08/16(月) 00:19
No:59059
|
|
Title: Re:マリオ系2Dアクション。ブロックに当たったら。
|
|
長かったので、こっちに解説を書きます。
キャラの周りのブロックなどを4つに分けました。
左上:map[x1][y1]
右上:map[x2][y1]
左下:map[x1][y2]
右下:map[x2][y2]
こんな感じで…
x1:左(x/z) || x2:右((x+z-1)/z)
y1:上(y/z) || y2:下((y+z-1)/z)
条件は…ブロックと自分の大きさが同じこと
横移動するときは、
左の判定if(map[x1][y1]!=0 || map[x1][y2]!=0)を判定して、x2*z(ブロックの右)の位置に移動
右の判定if(map[x2][y1]!=0 || map[x2][y2]!=0)を判定して、x1*z(ブロックの左)の位置に移動
次に縦移動させてから、
上判定if(map[x1][y1]!=0 || map[x2][y1]!=0)を判定する、y2*z(ブロックの下)の位置に移動
下判定if(map[x1][y2]!=0 || map[x2][y2]!=0)を判定する、y1*z(ブロックの上)の位置に移動
計4回の判定をすることになりますね。
それぞれ移動の後に移動量は0になります。
あたり判定はわりと気に入ってます。
ジャンプについてですよね。
自動落下?jps(縦移動量)は毎回下に行くように+1ずつされています。
ジャンプボタンを押したなら、jpsに-(マイナス)の値を入れてあげます。
マイナスのときは、上に行こうとするので0になるまで飛んでいきます。
自動落下のおかげで値は大きくなっていくので、マイナスのときは0に近づきます。
0になった後も大きくなり続けるので、床につくまで落下速度も大きくなります。(制限も入れましょう)
大きくというより、「はやく」ですけど…
長くなりましたが(書くのに1時間ぐらいかかっちゃった…)、解説もこんな感じです。
私の個人的なプログラムの傾向として、整数型しか扱ってませんが…
参考になったらうれしいです。
(物理的なちゃんとした式で作ってないので、妥協していい時だけにしたほうがいいです)
======ついで=========
このプログラムは、落下中のジャンプはOKという感じに作っています。
ただし、2段跳び禁止。
その他、このプログラムについてわからなければどうぞ…

482ポイント を手に入れた。
|
|
|
|
|
Name: ぐれーと ..かけだし(1,320ポイント)
Date: 2010/08/16(月) 12:53
No:59080
|
|
Title: Re:マリオ系2Dアクション。ブロックに当たったら。
|
|
親切に解説してくれて本当にありがとうございます!
この方法ならいけると思います。
これから調整していくので、もし、分からないことがあったら質問させていただきます。
76ポイント を手に入れた。
|
|
|
|
|
Name: ぐれーと ..かけだし(1,359ポイント)
Date: 2010/08/18(水) 13:08
No:59340
|
|
Title: Re:マリオ系2Dアクション。ブロックに当たったら。
|
|
試してみたんですけど、
ブロックの上にのるとブロックに張り付いちゃって左右に動けなくなるんですけど、
どうすればいいんでしょうか?
39ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(34,389ポイント)
Date: 2010/08/18(水) 15:12
No:59347
|
|
Title: Re:マリオ系2Dアクション。ブロックに当たったら。
|
|
もしかしたら
y2の代入を間違えていたりはしませんか?
y2=(y+z-1)/z
この「-1」を忘れていたり…違ったらすいません。
========
もうひとつ可能性が…
あたり判定や移動のプログラムの順番などを動かしたらうごかなくなります…
横移動
↓
横あたり判定
↓
縦移動
↓
縦あたり判定
みたいな順番が大切。 
26ポイント を手に入れた。
|
|
|
|
|
Name: ぐれーと ..かけだし(1,971ポイント)
Date: 2010/08/19(木) 14:59
No:59448
|
|
Title: Re:マリオ系2Dアクション。ブロックに当たったら。
|
|
キャラの大きさは32です。
Xを押すとダッシュできるようにしています。
ダッシュの状態のマックススピードがdmspです。
どこか間違っているでしょうか><
x1 = x/32;
y1 = y/32;
x2 = (x+31)/32;
y2 = (y+31)/32;
//右方向の動き
if( Key[ KEY_INPUT_RIGHT ] == 1 ){
sp += 1;
if(msp < sp && Key[KEY_INPUT_X]==0)
sp = msp;
if( Key[ KEY_INPUT_X] ==1 ){
sp += 1;
if(dmsp < sp)
sp = dmsp;
}
}
//左方向の動き
if( Key[ KEY_INPUT_LEFT ] == 1 ){
sp -= 1;
if(sp < -msp && Key[KEY_INPUT_X]==0)
sp = -msp;
if( Key[ KEY_INPUT_X] ==1 ){
sp -= 1;
if(sp < -dmsp)
sp = -dmsp;
}
}
if(map[y1][x1]!=0 || map[y2][x1]!=0){//左判定
x =x2*32;
sp =0;
}
if(map[y1][x2]!=0 || map[y2][x2]!=0){//右判定
x =x1*32;
sp =0;
}
xh.x += xh.xsp/4;
//↑速さ調整しました。
//ジャンプの動き
if( Key[ KEY_INPUT_Z ] == 1 && jp==0){
jps=-20;
jp =1;
PlaySoundMem(sound2,DX_PLAYTYPE_BACK);//効果音
}
if(jps < 9)//落下速度制限
jps ++;
y += jps;
if(map[y1][x1]!=0 || map[y1][x2]!=0){//上判定
y =y2*32;
jps=0;
}
if(kabe[y2][x1]!=0 || kabe[y2][x2]!=0){//下判定
y =y1*32;
jps=0;
jp =0;
}
612ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(34,817ポイント)
Date: 2010/08/19(木) 15:55
No:59456
|
|
Title: Re:マリオ系2Dアクション。ブロックに当たったら。
|
|
xh.x += xh.xsp/4;
//↑速さ調整しました。
↑がわからないですけど。
多分あたり判定の上に
x+=sp
x1 = x/32; //一つ余分に書いてました…
x1 = x/32;
y1 = y/32;
x2 = (x+31)/32;
y2 = (y+31)/32;
が必要。
y+=jpsの後にも
x1 = x/32;
y1 = y/32;
x2 = (x+31)/32;
y2 = (y+31)/32;
これが必要。
=========
>>else if(sp<0)sp++;
これも忘れてる…
ボタンを押してないとき
スピードを0に近づける処理…
===================
できたようでよかったです。
がんばってください。 
159ポイント を手に入れた。
|
|
|
|
|
Name: ぐれーと ..かけだし(2,008ポイント)
Date: 2010/08/20(金) 12:29
No:59529
| 解決!
|
Title: Re:マリオ系2Dアクション。ブロックに当たったら。
|
|
できました!
僕がバカなばっかりに、時間とらせてすいませんでした;;
パコネコさん、ありがとうございました!!
37ポイント を手に入れた。
|
|
|
|
Name: あいす ..ぴよぴよ(990ポイント)
Date: 2010/08/18(水) 06:13
No:59307
|
|
Title: 今龍神録を作らせてもらってるのですが
|
|
初めまして
今、龍神録を作らせてもらっているのですが、13章で詰まっています。
一度このサイトを見ながらプログラムを組んでみたのですが、エラーがでて、試しにDLしたときに一緒に入っていた13章のプログラムをそのままコピぺして実行してみたのですが、変わらずエラーが出ます。
もしよろしければ、アドバイス等お願いします。
以下はコンパイルしたときのエラーの一部と、GV.hの内容です。
↓エラー
char.cpp
c:\documents and settings\直輝\デスクトップ\project\1章\mydat\include\gv.h(14) : error C2144: 構文エラー : 'int' は ';' によって先行されなければなりません。
c:\documents and settings\直輝\デスクトップ\project\1章\mydat\include\gv.h(14) : error C2182: 'music' : 'void' 型が不適切に使用されています。
ini.cpp
c:\documents and settings\直輝\デスクトップ\project\1章\mydat\include\gv.h(14) : error C2144: 構文エラー : 'int' は ';' によって先行されなければなりません。
c:\documents and settings\直輝\デスクトップ\project\1章\mydat\include\gv.h(14) : error C2182: 'music' : 'void' 型が不適切に使用されています。
↓GV.h
#include "../../../include/DxLib.h"
#include "define.h"
#include "math.h"
#ifdef GLOBAL_INSTANCE
#define GLOBAL
#else
#define GLOBAL extern
#endif
#include "function.h"
//画像用変数宣言部
GLOBAL int img_ch[2][12]; //キャラクタ画像12枚分 X2(変身用)
GLOBAL int img_enemy[3][9]; //敵画像9枚分
GLOBAL int img_board[40]; //ボードにつかう画像
GLOBAL int img_bullet[10][10];
//音楽ファイル用変数宣言部
GLOBAL int sound_se[SE_MAX];
//フラグ・ステータス変数
GLOBAL int func_state,stage_count; //関数制御用変数
GLOBAL int se_flag[SE_MAX]; //サウンドフラグ
//構造体変数宣言部
GLOBAL ch_t ch; //キャラクタデータ宣言
GLOBAL enemy_t enemy[ENEMY_MAX];//敵情報
GLOBAL configpad_t configpad;//コンフィグで設定したキー情報
GLOBAL enemy_order_t enemy_order[ENEMY_ORDER_MAX];//敵の出現情報
GLOBAL shot_t shot[SHOT_MAX];//ショット情報
宜しくお願いします、長文失礼しました。
990ポイント を手に入れた。
|
|
|
|
Name: fatens ..上級者(17,783ポイント)
Date: 2010/08/18(水) 08:34
No:59316
|
|
Title: Re:今龍神録を作らせてもらってるのですが
|
|
function.hの最後を確かめてみてください。
GLOBAL void music_play(); を誤って GLOBAL void music などにしていませんか?
57ポイント を手に入れた。
|
|
|
|
|
Name: あいす ..かけだし(1,084ポイント)
Date: 2010/08/18(水) 10:30
No:59329
| 解決!
|
Title: Re:今龍神録を作らせてもらってるのですが
|
|
返答有難うございます。
fatensさんの言ったとおりでした、お陰で先にに進むことが出来ました。
まさかこんなところに誤りがあるとは思っていませんでした・・・
有難うございました。
94ポイント を手に入れた。
|
|
|
|
|
Name: あいす ..かけだし(1,416ポイント)
Date: 2010/08/20(金) 06:29
No:59523
|
|
Title: 度々スイマセン
|
|
度々スイマセン、質問させてください
14章でコンパイルしたとき
shotH.cpp
リンクしています...
boss_shotH.obj : error LNK2005: "void __cdecl shot_bullet_H000(int)" (?shot_bullet_H000@@YAXH@Z) は既に shotH.obj で定義されています。
というエラーが出てきたのですが、エラーを参照しようとしても「システムでは、指定されたファイルが見つかりません。」と言われてしまい、何処をいじればよいかわからない状態です。
一応変更をしたところは全部見たのですが、何処がどう間違っているのかさっぱりです・・・
何処が間違っているのか、またこの文がどういった意味なのかを教えてもらいたいです。
成長してないと思われるかも知れませんが、何方か力を貸してください・・・
332ポイント を手に入れた。
|
|
|
|
|
Name: softya [URL] ..ハッカー(199,677ポイント)
Date: 2010/08/20(金) 09:42
No:59526
|
|
Title: Re:度々スイマセン
|
|
shot_bullet_H000という名前の関数が、shotH.cppとboss_shotH.cppの両方にあると思われます。
どちらかが間違いですので名前を確認してみてください。
ちなみにリンクのエラーはクリックしてもソースが参照出来ませんのでエラーだけをみて判断しましょう。
>error LNK2005
のLNKがリンクのエラーって意味です。
110ポイント を手に入れた。
|
|
|
|
|
Name: あいす ..かけだし(1,461ポイント)
Date: 2010/08/20(金) 10:55
No:59528
| 解決!
|
Title: Re:度々スイマセン
|
|
softyaさん有難うございます、その通りでした・・・
多分眠くて気づかなかったのかもしれません。
有難うございました。
45ポイント を手に入れた。
|
|
|
|
Name: nori ..かけだし(1,888ポイント)
Date: 2010/08/19(木) 21:45
No:59501
|
|
Title: マップスクロールに関して
|
|
include以下はplane.pngを四方向に動かしながら、shot.pngを出す
プログラムの転載です。
これに、マップスクロールを付け加えたいので、int以下のプログラムを挿入しようと考えています。
back.bmpには680*960を使うことを考えています。
int background = LoadGraph( "back.bmp" );
for(i=0;i<321;i++)
{
DrawGraph( 0 ,-480+3*i, background , TRUE ) //画像を描画
Sleep(10); //10ミリ秒待つ
if( i == 320 ) break ;
}
描画の処理のことがわかっていなく、include以下のどこに挿入すればよいのかわかりません。
またスクロールするためには本当にこのソースでよいのかもあわせてご助言頂けないでしょうか。
よろしくお願い致します。
#include "DxLib.h"
#define SHOT 5
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
{
int X,Y,planegraph,shotgraph,background;
int ShotX[SHOT],ShotY[SHOT],ShotFlag[SHOT];
int ShotBFlag;
int i;
// 画面モードの設定
ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
// DXライブラリ初期化処理
if( DxLib_Init() == -1 ) return -1;
// グラフィックの描画先を裏画面にセット
SetDrawScreen( DX_SCREEN_BACK );
// 飛行機および弾のグラフィックをメモリにロード&表示座標をセット
planegraph = LoadGraph( "plane.png" );
shotgraph = LoadGraph( "shot.png" );
background = LoadGraph( "back.bmp" );
X = 320 ; Y = 240 ;
for( i = 0 ; i < SHOT ; i ++ )
{
ShotFlag[i] = 0 ;
}
// ショットボタンが前のフレームで押されたかどうかを保存する変数に0(押されいない)を代入
ShotBFlag = 0 ;
while(1)
{
// 画面を初期化(真っ黒にする)
ClearDrawScreen() ;
if( CheckHitKey ( KEY_INPUT_UP ) == 1 ) //上ボタンが押されたら
Y -= 3;
if( CheckHitKey ( KEY_INPUT_LEFT ) == 1 ) //左ボタンが押されたら
X -= 3;
if( CheckHitKey ( KEY_INPUT_DOWN ) == 1 ) //下ボタンが押されたら
Y += 3;
if( CheckHitKey ( KEY_INPUT_RIGHT ) == 1) //右ボタンが押されたら
X += 3;
if( CheckHitKey ( KEY_INPUT_SPACE) == 1 ) //spaceが押されたら)
{
if(ShotBFlag ==0 )
{
for( i = 0 ; i < SHOT ; i ++ )
{
// 弾iが画面上にでていない場合はその弾を画面に出す
if( ShotFlag[i] == 0 )
{
ShotX[i] = X;
ShotY[i] = Y;
ShotFlag[i] = 1;
break ;
}
}
}
// 前フレームでショットボタンを押されていたかを保存する変数に1(おされていた)を代入
ShotBFlag = 1 ;
}
else
{
// ショットボタンが押されていなかった場合は
// 前フレームでショットボタンが押されていたかを保存する変数に0(おされていない)を代入
ShotBFlag = 0 ;
}
// 飛行機を描画
DrawGraph( 0 , 0 , background , TRUE ) ;
DrawGraph( X , Y , planegraph , TRUE ) ;
for( i = 0 ; i < SHOT ; i ++ )
{
if( ShotFlag[i] == 1 )
{
// 弾を8ピクセル上に移動させる
ShotY[i] -= 8 ;
// 画面外に出てしまった場合は存在状態を保持している変数に0(存在しない)を代入する
if( ShotY[i] < -80 )
{
ShotFlag[i] = 0 ;
}
// 画面に弾iを描画する
DrawGraph( ShotX[i] , ShotY[i] , shotgraph , TRUE ) ;
}
}
// 裏画面の内容を表画面にコピーする
ScreenFlip() ;
// Windows 特有の面倒な処理をDXライブラリにやらせる
// -1 が返ってきたらループを抜ける
if( ProcessMessage() < 0 ) break ;
// もしESCキーが押されていたらループから抜ける
if( CheckHitKey( KEY_INPUT_ESCAPE ) ) break ;
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
1,468ポイント を手に入れた。
|
|
|
|
Name: nori
Date: 2010/08/22(日) 01:21
No:595011282407702
|
|
Title: Re:マップスクロールに関して
|
|
include以下のインデントを訂正しました。
これに、マップスクロールを付け加えたいので、int以下のプログラムを挿入しようと考えています。
back.bmpには680*960を使うことを考えています。改めてよろしくお願いいたします。
int background = LoadGraph( "back.bmp" );
for(i=0;i<321;i++)
{
DrawGraph( 0 ,-480+3*i, background , TRUE ) //画像を描画
Sleep(10); //10ミリ秒待つ
}
#include "DxLib.h"
#define SHOT 5
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
{
int X,Y,planegraph,shotgraph,background;
int ShotX[SHOT],ShotY[SHOT],ShotFlag[SHOT];
int ShotBFlag;
int i;
// 画面モードの設定
ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
// DXライブラリ初期化処理
if( DxLib_Init() == -1 ) return -1;
// グラフィックの描画先を裏画面にセット
SetDrawScreen( DX_SCREEN_BACK );
// 飛行機および弾のグラフィックをメモリにロード&表示座標をセット
planegraph = LoadGraph( "plane.png" );
shotgraph = LoadGraph( "shot.png" );
background = LoadGraph( "back.bmp" );
X = 320 ; Y = 240 ;
for( i = 0 ; i < SHOT ; i ++ )
{
ShotFlag[i] = 0 ;
}
// ショットボタンが前のフレームで押されたかどうかを保存する変数に0(押されいない)を代入
ShotBFlag = 0 ;
while(1)
{
// 画面を初期化(真っ黒にする)
ClearDrawScreen() ;
if( CheckHitKey ( KEY_INPUT_UP ) == 1 ) Y -= 3; //上ボタンが押されたら
if( CheckHitKey ( KEY_INPUT_LEFT ) == 1 ) X -= 3; //左ボタンが押されたら
if( CheckHitKey ( KEY_INPUT_DOWN ) == 1 ) Y += 3; //下ボタンが押されたら
if( CheckHitKey ( KEY_INPUT_RIGHT ) == 1) X += 3 //右ボタンが押されたら
if( CheckHitKey ( KEY_INPUT_SPACE) == 1 ) //spaceが押されたら)
{
if(ShotBFlag ==0 )
{
for( i = 0 ; i < SHOT ; i ++ )
{
// 弾iが画面上にでていない場合はその弾を画面に出す
if( ShotFlag[i] == 0 )
{
ShotX[i] = X;
ShotY[i] = Y;
ShotFlag[i] = 1;
break ;
}
}
}
// 前フレームでショットボタンを押されていたかを保存する変数に1(おされていた)を代入
ShotBFlag = 1 ;
}
else
{
// ショットボタンが押されていなかった場合は
// 前フレームでショットボタンが押されていたかを保存する変数に0(おされていない)を代入
ShotBFlag = 0 ;
}
// 飛行機を描画
DrawGraph( 0 , 0 , background , TRUE ) ;
DrawGraph( X , Y , planegraph , TRUE ) ;
for( i = 0 ; i < SHOT ; i ++ )
{
if( ShotFlag[i] == 1 )
{
// 弾を8ピクセル上に移動させる
ShotY[i] -= 8 ;
// 画面外に出てしまった場合は存在状態を保持している変数に0(存在しない)を代入する
if( ShotY[i] < -80 )
{
ShotFlag[i] = 0 ;
}
// 画面に弾iを描画する
DrawGraph( ShotX[i] , ShotY[i] , shotgraph , TRUE ) ;
}
}
// 裏画面の内容を表画面にコピーする
ScreenFlip() ;
// Windows 特有の面倒な処理をDXライブラリにやらせる
// -1 が返ってきたらループを抜ける
if( ProcessMessage() < 0 ) break ;
// もしESCキーが押されていたらループから抜ける
if( CheckHitKey( KEY_INPUT_ESCAPE ) ) break ;
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
|
|
|
|
Name: テラ ..ぴよぴよ(265ポイント)
Date: 2010/08/19(木) 16:44
No:59458
|
|
Title: マップスクロールの作り方
|
|
先日、extern宣言について質問させていただきました。
その後、マップデータ(進行可否とマップチップ1個毎の座標)を構造体に保存して表示するところまでできました。
ただ、このままでは描画されただけなのでスクロールを実装してみようと思ったのですが、なかなかうまくいきません・・・。
構造体に保存しているデータと、自分なりに作成したソースを記載します。
どなたかご教授お願いいたします;;
// プレイヤーに関する構造体
typedef struct{
int x,y; // 座標
int type; // 歩行グラフィックの種類
int move; // 歩行グラフィックのコマ数
int walk; // 歩行の有無の判定フラグ
}player_t;
typedef struct{
int data[MAP_MAX_Y][MAP_MAX_X]; // 進行可否判定
int posX[MAP_MAX_Y][MAP_MAX_X]; // マップチップX座標
int posY[MAP_MAX_Y][MAP_MAX_X]; // マップチップY座標
int scroll[MAP_MAX_Y][MAP_MAX_X]; // 指定したチップのスクロール状態
}map_t[MAP_NO];
// スクロールを考慮したマップ描画
void chip_drawing(int mapNo){
for(int i = 0; i < MAP_MAX_Y; i++){
for(int j = 0; j < MAP_MAX_X; j++){
int MTP_X,MTP_Y;
MTP_X = map[mapNo].posX[i][j] - player.x / 32; if(MTP_X < 0) MTP_X *= -1;
MTP_Y = map[mapNo].posY[i][j] - player.y / 32; if(MTP_Y < 0) MTP_Y *= -1;
if(map[mapNo].posX[i][j]%32==0 && map[mapNo].posY[i][j]%32==0){
map[mapNo].scroll[i][j] = 0;
if(CheckHitKey(KEY_INPUT_DOWN) && (MTP_Y >= 3 && map[mapNo].data[i+3][j] != '\0') ){
map[mapNo].scroll[i][j] = 1; // 下方向へスクロール
}else if(CheckHitKey(KEY_INPUT_LEFT) && (MTP_X <= 3 && map[mapNo].data[i][j-3] != '\0') ){
map[mapNo].scroll[i][j] = 2; // 左方向へスクロール
}else if(CheckHitKey(KEY_INPUT_RIGHT) && (MTP_X >= 3 && map[mapNo].data[i][j+3] != '\0') ){
map[mapNo].scroll[i][j] = 3; // 右方向へスクロール
}else if(CheckHitKey(KEY_INPUT_UP) && (MTP_Y <= 3 && map[mapNo].data[i-3][j] != '\0') ){
map[mapNo].scroll[i][j] = 4; // 上方向へスクロール
}
if(map[mapNo].scroll[i][j] != 0){
if(map[mapNo].scroll[i][j] == 1 && map[mapNo].data[player.y/32+1][player.x/32] != 0){
map[mapNo].scroll[i][j] = 0;
}else if(map[mapNo].scroll[i][j] == 2 && map[mapNo].data[player.y/32][player.x/32-1] != 0){
map[mapNo].scroll[i][j] = 0;
}else if(map[mapNo].scroll[i][j] == 3 && map[mapNo].data[player.y/32][player.x/32+1] != 0){
map[mapNo].scroll[i][j] = 0;
}else if(map[mapNo].scroll[i][j] == 4 && map[mapNo].data[player.y/32-1][player.x/32] != 0){
map[mapNo].scroll[i][j] = 0;
}
}
}
if(map[mapNo].scroll[i][j] == 1){
map[mapNo].posY[i][j] += 2;
}else if(map[mapNo].scroll[i][j] == 2){
map[mapNo].posX[i][j] -= 2;
}else if(map[mapNo].scroll[i][j] == 3){
map[mapNo].posX[i][j] += 2;
}else if(map[mapNo].scroll[i][j] == 4){
map[mapNo].posY[i][j] -= 2;
}
if(map[mapNo].data[i][j] == 1){
DrawRotaGraphF(map[mapNo].posX[i][j]+16,map[mapNo].posY[i][j]+16,1.0,0.0,map_chip[0][0],TRUE);
}
}
}
}
追記:
目標実装としては、自分の進行方向3マス先にマップがあった場合はスクロールを進行方向に行い、
マップがなかった場合はスクロールせず、キャラだけを動かすというものです。 
796ポイント を落としてしまった。
|
|
|
|
Name: palladium ..かけだし(2,112ポイント)
Date: 2010/08/19(木) 18:23
No:59466
|
|
Title: Re:マップスクロールの作り方
|
|
本題の答えにはなりませんが
if, else if もありますが
switch もあるかもしれません。
例えばですが
if(map[mapNo].scroll[i][j] == 1){
map[mapNo].posY[i][j] += 2;
}else if(map[mapNo].scroll[i][j] == 2){
map[mapNo].posX[i][j] -= 2;
}else if(map[mapNo].scroll[i][j] == 3){
map[mapNo].posX[i][j] += 2;
}else if(map[mapNo].scroll[i][j] == 4){
map[mapNo].posY[i][j] -= 2;
}
switch(map[mapNo].scroll[i][j]){
case 1: map[mapNo].posY[i][j] += 2; break;
case 2: map[mapNo].posX[i][j] -= 2; break;
case 3: map[mapNo].posX[i][j] += 2; break;
case 4: map[mapNo].posY[i][j] -= 2; break;
default: break;
}
このような書き方もあるかもしれません。
315ポイント を手に入れた。
|
|
|
|
|
Name: テラ ..ぴよぴよ(408ポイント)
Date: 2010/08/19(木) 21:00
No:59494
|
|
Title: Re:マップスクロールの作り方
|
|
>palladiumさん
確かに switch文のほうが見やすいですし、後々の修正もやりやすいですね。
参考にさせていただきます。
>softyaさん
本家のサンプルは自分も拝見しました。
しかし、今目指してるのは画面端だとスクロールしないというものなので・・・。
その点を書き加えていませんでした・・・申し訳ないです。
143ポイント を手に入れた。
|
|
|
|
Name: Wグリント ..ぴよぴよ(753ポイント)
Date: 2010/08/20(金) 00:47
No:59514
|
|
Title: キー入力した時
|
|
右キーと左キーと他のキーを同時に押すと最後に押したボタンの処理が行われないのですが
どうしたら良いのですか?
ちなみに環境はwin7でVC++です。
良く分からないと思うので以下のコードを用意しました。
#include "DxLib.h"
int x , y ;
char Key[256] ;
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1 ;
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
if( Key[KEY_INPUT_DOWN]==1)DrawString( 0 , 0 , "下入力中" , GetColor( 255 , 255 , 255 ) );
if( Key[KEY_INPUT_RIGHT]==1)DrawString( 0 , 20 , "右入力中" , GetColor( 255 , 255 , 255 ) );
if( Key[KEY_INPUT_Z]==1)DrawString( 0 , 40 , "Z入力中" , GetColor( 255 , 255 , 255 ) );
}
DxLib_End();
return 0;
}
201ポイント を手に入れた。
|
|
|
|
Name: Wグリント ..ぴよぴよ(772ポイント)
Date: 2010/08/20(金) 01:01
No:59516
| 解決!
|
Title: Re:キー入力した時
|
|
迅速な対応ありがとうございます。
3つのゲームで試したところ
全部同じような反応をしたので
たぶんそうだと思います。
19ポイント を手に入れた。
|
|
|
|
Name: hiro ..かけだし(2,411ポイント)
Date: 2010/08/19(木) 03:04
No:59399
|
|
Title: BCC Develperについて
|
|
BCC Develperについて教えてもらいたいのですが、同一プロジェクト内でmake&実行するときに
ひとつのソースファイルだけは実行できるのですが、ほかのファイルは実行することができません。
最後に実行したfileが実行されてしまいます。初歩的な質問の申し訳ないのですが、教えてください。
95ポイント を手に入れた。
|
|
|
|
Name: たろ ..ぴよぴよ(185ポイント)
Date: 2010/08/19(木) 22:13
No:59506
|
|
Title: Re:BCC Develperについて
|
|
「同一プロジェクト内で、他のファイルを実行する」とは、1つのプロジェクトで2つ以上の実行ファイル(exe)を作りたい、ということですか?
BCC Developerは軽く触ってみた程度ですが、それはできないと思います。基本的に「1つのプロジェクトで1つ実行ファイルを作る」もので、2つ実行ファイルを作りたい時は、2つプロジェクトを作る方式だと思います。言い方を変えると、1つのmain関数(WinMain/DllMain関数)について1つプロジェクトを作ります。
133ポイント を手に入れた。
|
|
|
|
|
Name: box ..ハッカー(157,098ポイント)
Date: 2010/08/19(木) 22:28
No:59507
|
|
Title: Re:BCC Develperについて
|
|
> ひとつのソースファイルだけは実行できる
そのファイルの中には、どういう関数群がありますか?
> ほかのファイルは実行することができません。
そのファイルの中には、どういう関数群がありますか?
2倍のポイントを手に入れた! 74ポイント を手に入れた。
|
|
|
|
Name: ボビー ..ぴよぴよ(652ポイント)
Date: 2010/08/17(火) 21:39
No:59231
|
|
Title: DirectX SDKを導入したいのですが・・・
|
|
DirectX SDKのバージョンとかが分からなくて困ってます。 長文失礼します。
ゲームプログラミングを本格的にやりたいのですが
0からのゲームプログラミングという解説サイトを見ながらやっているんですが
その解説サイトではMicrosoft DirectX 9.0 SDK Update(Summer 2003)の「ソフトウェア開発キット」と
「DirectX 9.0 日本語ドキュメント」を ダウンロードするように書いていてリンクが貼ってたんですが
リンク先は「ご指定のページが見つかりません」となっていたので
マイクロソフトのサイトから上記のものを探したんですが古いバージョンだからなのか見当たりませんでした。
しかたないのでDirectX SDK August2009とDirectX ドキュメント ヘルプ(August 2009)の日本語版をダウンロードしたりインストールして「SampleSTG」というプロジェクトを作って、その解説サイトの手順に沿ってプロジェクトファイルのディレクトリに指定されたファイルを追加して、ソリューションのファイルにも追加して、(ディレクトリを表示するプロジェクトにインクルードファイルとライブラリファイルにSDKを追加もしました)ビルドしたら
エラー4警告15
'#include "..\Header\StdAfx.h"': プリコンパイル済みヘッダーの使用を検索中にスキップされました
1> ディレクティブを 'stdafx.h' に追加するか、プリコンパイル済みヘッダーをビルドし直します
と出てしまいました(エラーメッセージだけですいません)。
俺はVC++2008ExpressEdition使ってるんですが解説サイトはMicrosoft Visual C++ 6.0です。
指定されたファイルを追加したりする前ならちゃんとビルド出来て真っ白いだけのウィンドウが出たので、SDKのバージョンが違うのが原因でしょうか?それともVC++2008とVC++6.0の違いでしょうか?
それとも少しソースを工夫すれば、今の俺の開発環境とその解説サイトのままでもゲームを作成していけるんでしょうか?
もしバージョンの違いで解説書や解説サイトが役に立たなくなるのであれば、解説書や解説サイトが採用している古いバージョンに合わせようと今のSDKをバージョンダウンなんて出来るのでしょうか?もし出来るなら
http://www.microsoft.com/downloads/ja-jp/resultsForCategory.aspx?displaylang=ja&categoryid=2
ここのどれをダウンロードすればいいんでしょうか?
それともまったく違う解決方法があるんでしょうか?
あとドキュメントヘルプ日本語版の使い方も全然分かりません、関数と打って検索しても表示するトピックには「無題」としか表示してくれません、やり方が違うのでしょうか?
解説書は書店に売って無いので、中身も知らずにネットで買って役に立たなかったなんて事は避けたいです。
OSはウィンドウズXP、グラフィックなんとかはATI Radeon HD 2400 XT、IDEはVC++2008EE
C言語は一通り勉強しました、C++はクラスに関してだけ、WinAPI32はウィンドウ初期化だけかじったくらいです。
マイクロソフトのサイトに出てくる専門用語はほぼ分かりません、出来れば導入手順を手取り足取り教えて欲しいです。
長文失礼しました、宜しくお願いします。 
14ポイント を手に入れた。
|
|
|
|
Name: ISLe ..中級者(13,909ポイント)
Date: 2010/08/18(水) 00:25
No:59289
|
|
Title: Re:DirectX SDKを導入したいのですが・・・
|
|
DirectX SDKは最新版でも古いバージョンに対応したプログラムの作成可能です。
余談になりますがDirectX SDKの最新版をチェックするなら英語サイトへ。
DirectX Developer Center
http://msdn.microsoft.com/en-us/directx/default.aspx
最新版はJune2010。
日本語サイトの更新はとても遅いです。
> エラー4警告15
> '#include "..\Header\StdAfx.h"': プリコンパイル済みヘッダーの使用を検索中にスキップされました
> 1> ディレクティブを 'stdafx.h' に追加するか、プリコンパイル済みヘッダーをビルドし直します
プロジェクトのプロパティのダイアログを開いて、
構成プロパティ→C/C++→プリコンパイル済みヘッダーのページで
プリコンパイル済みヘッダーの作成/使用の欄を
プリコンパイル済みヘッダーを使用しないに変更してください。
プロジェクトを新規作成するときに、次へボタンを押して空のプロジェクトにチェックを入れないとそうなります。
> あとドキュメントヘルプ日本語版の使い方も全然分かりません、関数と打って検索しても表示するトピックには「無題」としか表示してくれません、やり方が違うのでしょうか?
検索は入力した文字列を含むページを列挙します。
例えばCreateと入力してオブジェクトを作成するメソッドを探すような使い方をします。
インターフェースやメソッドの一覧を見たいときは左のツリーを辿ってリファレンスページを開いてください。
377ポイント を手に入れた。
|
|
|
|
|
Name: ボビー ..かけだし(1,077ポイント)
Date: 2010/08/18(水) 15:38
No:59350
|
|
Title: Re:DirectX SDKを導入したいのですが・・・
|
|
naohiro19さん
URL貼っていただいてありがとうございます。
ISLeさん
>プリコンパイル済みヘッダーを使用しないに変更してください。
>プロジェクトを新規作成するときに、次へボタンを押して空のプロジェクトにチェックを入れないとそうなり>ます。
さっそくやってみました。ビルドすると
warning C4005: '_UNICODE' : マクロが再定義されました。1> コマンド ラインの引数 : '_UNICODE' の前の定義を確認してください
fatal error C1083: include ファイルを開けません。'dxerr9.h': No such file or directory
とか出ました。
だからエラー箇所をコメントアウトしてみたりしましたがそしたらエラーが262も出たのでもう分かりません。
>例えばCreateと入力してオブジェクトを作成するメソッドを探すような使い方をします。
>インターフェースやメソッドの一覧を見たいときは左のツリーを辿ってリファレンスページを開いてくださ>>い。
左のツリーってのが見当たりません、すいません。
>DirectX SDKは最新版でも古いバージョンに対応したプログラムの作成可能です。
2009Augustでも出来るんですかね?
長文なのに解答ありがとうございます。
参考にみなさんがどのようにDirectX SDKを扱えるようになったか教えて欲しいです。
解説書(2005や2006のSDKを扱ってる様な)買ったら今回みたいに導入していきなりつまづかないですか? 
425ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(56,133ポイント)
Date: 2010/08/18(水) 17:15
No:59359
|
|
Title: Re:DirectX SDKを導入したいのですが・・・
|
|
DirectXを勉強する上で、WindowsAPIをある程度理解していないと、
DirectXプログラミングは出来ないと思いますので、ウィンドウプロシージャの制御
ぐらいはできるようにしておいたほうがいいですよ。
88ポイント を手に入れた。
|
|
|
|
|
Name: dic ..比類無きプログラマー(91,470ポイント)
Date: 2010/08/18(水) 18:01
No:59362
|
|
Title: Re:DirectX SDKを導入したいのですが・・・
|
|
いまだにVisual C++ 6 現役のdicです
'stdafx.h' が最近のには追加されてて
標準なライブラリ(インクルードファイル)はこれにまとめてくれ
という流れのようで 慣れた人にはいいでしょうけど
設定とか 上でもあるように マクロの定義など 内部構造関係も把握しないとコンパイルできません
なので、 stdafx.h をはずして サンプルをコピー&ペーストしてコンパイルできるように
もっていくのがいいです
あと、SDKをインストールしたら、lib,h,ファイルのディレクトリの設定もお忘れなく
233ポイント を手に入れた。
|
|
|
|
|
Name: ISLe ..中級者(14,134ポイント)
Date: 2010/08/18(水) 22:37
No:59382
|
|
Title: Re:DirectX SDKを導入したいのですが・・・
|
|
> fatal error C1083: include ファイルを開けません。'dxerr9.h': No such file or directory
> とか出ました。
> だからエラー箇所をコメントアウトしてみたりしましたがそしたらエラーが262も出たのでもう分かりません。
申し訳ない。
ここはDirectX SDKのバージョンアップで更新された箇所のひとつです。
dxerr9.hをDxErr.hに変更してください。
あとからDXGetErrorString9が見付からないというエラーが出たらDXGetErrorStringに変更してください。
> 左のツリーってのが見当たりません、すいません。
コンパイル済みヘルプ形式でなくなったのかと思いましたがダウンロードしてみました。
目次から辿ってください、で分かりますか?
> 参考にみなさんがどのようにDirectX SDKを扱えるようになったか教えて欲しいです。
> 解説書(2005や2006のSDKを扱ってる様な)買ったら今回みたいに導入していきなりつまづかないですか?
使うだけならインクルードパスとライブラリパスを設定するだけですから。
つまづいているのはDirectX SDKというより処理系(この場合VC++)の使い方ですよね。
225ポイント を手に入れた。
|
|
|
|
|
Name: ボビー ..かけだし(1,920ポイント)
Date: 2010/08/19(木) 18:33
No:59469
|
|
Title: Re:DirectX SDKを導入したいのですが・・・
|
|
皆さん解答していただいて本当にありがとうございます。
------------------------------------------------------------------------
dicさん
> stdafx.h をはずして サンプルをコピー&ペーストしてコンパイルできるように
> もっていくのがいいです
> あと、SDKをインストールしたら、lib,h,ファイルのディレクトリの設定もお忘れなく
すいません、「はずす」や「サンプルをコピー&ペースト」や「lib,h,ファイルのディレクトリの設定」っていうのは具体的に何をどうすればいいか教えて欲しいです。
--------------------------------------------------------------------------
ISLeさん お手数かけてすいません、ありがとうございます。
> ここはDirectX SDKのバージョンアップで更新された箇所のひとつです。
> dxerr9.hをDxErr.hに変更してください。
変更してビルドやってみたらdxerr9.hの点はクリアできましたが
: include ファイルを開けません。'dmusici.h': No such file or directory
と出てきてしまいました。
dmusici.hとグーグルで検索したらあるバージョンから何かが変わったらしいんですが
どうすればいいでしょうか?これをクリアしてもまた別のエラーが出て・・・と続いていくんでしょうか?
> コンパイル済みヘルプ形式でなくなったのかと思いましたがダウンロードしてみました。
> 目次から辿ってください、で分かりますか?
英語のヘルプがあったのを見つけたんですがそしたらおっしゃっていただいたように目次がありました。
英語のヘルプなら左に「目次」「キーワード」「検索」「お気に入り」とあるんですが、俺の日本語版だと「検索」しかありません(しかも「無題」しか出ない)、俺のヘルプだけ変みたいですね。何回かダウンロードしなおしても同じだったのでヘルプについてはまた何か別の問題かなと思います。
> つまづいているのはDirectX SDKというより処理系(この場合VC++)の使い方ですよね。
今回は解説サイトのサンプルをビルドした時に起こったエラーで困ってるんですが
だからといって解説サイト(または本)のサンプルなしではとても勉強できない気がします。
WinAPIを学習すればSDKに元から付いてるサンプルでも理解できるでしょうか?
見たこと無い型名や関数やマクロとかいっぱいでなにがなんやらわからない状態です。
できればバージョンが違ってても臨機応変に対処できるようになりたいです。
-----------------------------------------------------------------------
シエルさん
やはりそうですよね
WinAPIからするべきだろうと思ってたんですがちょっとどんなものか見て
おきたいと思って、あんまり焦るもんじゃないですよね。
843ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(56,700ポイント)
Date: 2010/08/19(木) 18:39
No:59472
|
|
Title: Re:DirectX SDKを導入したいのですが・・・
|
|
私もボビーさんが見ているサイトをDirectXを勉強する際に見ましたが、
同じくdmusic.hのインクルードエラーが出ました。
どうやら、昔にDirectMusicというものがあったらしいのですが、そのヘッダファイルだったようです。
現在の最新のSDKからは削除されてますので、当然エラーが出ます。
SDKについてる、Direct3DのTutorialsのデバイス作成やらなんやらを一通りやって、
まず理解するべきです。
153ポイント を手に入れた。
|
|
|
|
|
Name: ISLe ..中級者(14,241ポイント)
Date: 2010/08/19(木) 19:01
No:59483
|
|
Title: Re:DirectX SDKを導入したいのですが・・・
|
|
DirectMusicはWindows SDKに移動しました。
Windows SDKをインストールしてかわりにdmusicc.hをインクルードすれば良いかもしれません。
サイトは細かく見てないのですけどDirectMusicは最初の方に出てくるのでしょうか。
プリコンパイル済みヘッダstdafx.hのことも書いてありますけど。
いきなり背伸びしてませんか?
92ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(57,150ポイント)
Date: 2010/08/19(木) 19:10
No:59488
|
|
Title: Re:DirectX SDKを導入したいのですが・・・
|
|
後、そのサイトは自作のクラスやライブラリを使っていた気がするので、
私はすぐそのサイトを離れました。
自作のクラスとかを使って説明されると、あまり中身を知らないままになってしまうので。。
96ポイント を手に入れた。
|
|
|
|
|
Name: ボビー
Date: 2010/08/26(木) 16:38
No:592311282808301
| 解決!
|
Title: Re:DirectX SDKを導入したいのですが・・・
|
|
>シエルさん
> SDKについてる、Direct3DのTutorialsのデバイス作成やらなんやらを一通りやって
参考になりました。
とりあえずはWinAPIを勉強していこうと思います。
SDKを考えるのはそれからにしようかと。
>ISLeさん
WindowsSDKをダウンロードしてみたところ
RoxioCreatorDEとかいうのが出てきて・・・よく分からんのでここらで諦めようかと思います。
丁寧に教えてもらってありがとうございました。
解決というわけではないですがみなさんに色々教えていただいて参考になりました。
ここらへんで終わりとします。
みなさんどうもありがとうございました。
|
|
|
|
Name: nori ..ぴよぴよ(272ポイント)
Date: 2010/08/19(木) 18:16
No:59464
|
|
Title: 無題
|
|
下記のソースはplane.pngを四方向に動かしながら、弾を打つソースなのですが、弾は打てるのですが、四方向に動かすことができません。簡単なソースで申し訳ないのですが、ご教授下さい。
#include "DxLib.h"
#define SHOT 20
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow )
{
int X,Y,planegraph,shotgraph;
int ShotX[SHOT],ShotY[SHOT],ShotFlag[SHOT];
int ShotBFlag;
int i;
// 画面モードの設定
ChangeWindowMode( TRUE ) ; // ウインドウモードに変更
// DXライブラリ初期化処理
if( DxLib_Init() == -1 ) return -1;
// グラフィックの描画先を裏画面にセット
SetDrawScreen( DX_SCREEN_BACK );
// 飛行機および弾のグラフィックをメモリにロード&表示座標をセット
planegraph = LoadGraph( "plane.png" );
shotgraph = LoadGraph( "plane.png" );
X = 200 ; Y = 200 ;
for( i = 0 ; i < SHOT ; i ++ )
{
ShotFlag[i] = 0 ;
}
// ショットボタンが前のフレームで押されたかどうかを保存する変数に0(押されいない)を代入
ShotBFlag = 0 ;
while(1)
{
// 画面を初期化(真っ黒にする)
ClearDrawScreen() ;
{
if( CheckHitKey ( KEY_INPUT_UP == 1 ) ) //上ボタンが押されたら
Y-=3; //上向きフラグを立てる
if( CheckHitKey ( KEY_INPUT_LEFT == 1 ) ) //左ボタンが押されたら
X-=3; //左向きフラグを立てる
if( CheckHitKey ( KEY_INPUT_DOWN == 1 ) ) //下ボタンが押されたら
Y+=3; //下向きフラグを立てる
if( CheckHitKey ( KEY_INPUT_RIGHT == 1) ) //右ボタンが押されたら
X+=3; //右向きフラグを立てる
if( CheckHitKey ( KEY_INPUT_SPACE) == 1 ) //spaceが押されたら)
{
if(ShotBFlag ==0 )
{
for( i = 0 ; i < SHOT ; i ++ )
{
// 弾iが画面上にでていない場合はその弾を画面に出す
if( ShotFlag[i] == 0 )
{
ShotX[i] = X;
ShotY[i] = Y;
ShotFlag[i] = 1;
break ;
}
}
}
// 前フレームでショットボタンを押されていたかを保存する変数に1(おされていた)を代入
ShotBFlag = 1 ;
}
else
{
// ショットボタンが押されていなかった場合は
// 前フレームでショットボタンが押されていたかを保存する変数に0(おされていない)を代入
ShotBFlag = 0 ;
}
// 飛行機を描画
DrawGraph( X , Y , planegraph , FALSE ) ;
}
for( i = 0 ; i < SHOT ; i ++ )
{
if( ShotFlag[i] == 1 )
{
// 弾を16ドット上に移動させる
ShotY[i] -= 16 ;
// 画面外に出てしまった場合は存在状態を保持している変数に0(存在しない)を代入する
if( ShotY[i] < -80 )
{
ShotFlag[i] = 0 ;
}
// 画面に弾iを描画する
DrawGraph( ShotX[i] , ShotY[i] , shotgraph , FALSE ) ;
}
}
// 裏画面の内容を表画面にコピーする
ScreenFlip() ;
// Windows 特有の面倒な処理をDXライブラリにやらせる
// -1 が返ってきたらループを抜ける
if( ProcessMessage() < 0 ) break ;
// もしESCキーが押されていたらループから抜ける
if( CheckHitKey( KEY_INPUT_ESCAPE ) ) break ;
}
DxLib_End() ; // DXライブラリ使用の終了処理
return 0 ; // ソフトの終了
}
272ポイント を手に入れた。
|
|
|
|
Name: パコネコ ..プログラマー(34,873ポイント)
Date: 2010/08/19(木) 18:31
No:59468
|
|
Title: Re:無題
|
|
// 画面を初期化(真っ黒にする)
ClearDrawScreen() ;
{
カッコが非常に見ずらいのでわからないのですがこのカッコはいるんですか?
「;」ついてますけど…
56ポイント を手に入れた。
|
|
|
|
|
Name: nori ..ぴよぴよ(320ポイント)
Date: 2010/08/19(木) 18:38
No:59470
|
|
Title: Re:無題
|
|
見ずらくてすみません。コメントありがとうございます。
いらないですね。カッコとっても相変わらず動きません。
48ポイント を手に入れた。
|
|
|
|
|
Name: シエル ..熟練のプログラマー(56,787ポイント)
Date: 2010/08/19(木) 18:45
No:59474
|
|
Title: Re:無題
|
|
if(CheckHitKey ( KEY_INPUT_LEFT == 1 ))
↑こいつの使い方間違ってるでしょう。
正しくは、
if(CheckHitKey (KEY_INPUT_LEFT)==1)
ではないでしょうか?
DXライブラリはさっぱり分からないので間違ってたらすいません。
87ポイント を手に入れた。
|
|
|
|
|
Name: パコネコ ..プログラマー(34,848ポイント)
Date: 2010/08/19(木) 18:47
No:59477
|
|
Title: Re:無題
|
|
すいません…カッコ全部そろえたらちゃんともう一個でカッコ閉じてましたね。
=======
あ、ほんとだ、ショットのボタンだけ違う…

25ポイント を落としてしまった。
|
|
|
|
|
Name: nori ..ぴよぴよ(388ポイント)
Date: 2010/08/19(木) 18:53
No:59480
|
|
Title: Re:無題
|
|
ありがとうございます。できました。
ぜんぜんわかんなくて、本当に助かりました。
2倍のポイントを手に入れた! 68ポイント を手に入れた。
|
|
|
|
|