[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 11/13 16:36 / Filesize : 243 KB / Number-of Response : 900
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

DXライブラリ 総合スレッド



1 名前:名前は開発中のものです。 mailto:sage [2007/12/12(水) 23:06:39 ID:Ns2HwhRB]
Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、
「DXライブラリ」に関するスレッドです。

DXライブラリの詳細ついては
homepage2.nifty.com/natupaji/DxLib/
を参照して頂きたい。

DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

379 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 12:49:02 ID:OsnqiwUH]
ウィンドウモードだと垂直同期信号は関係ないらしいから、そこらへん自分で色々やらんといかんかもね。

ただ俺は、その後もそれ関係で色々問題が発覚して、
そのたびに対処療法的にさまざまな対応を取ってきてるから
今実際自分がどういう処理にしているか自分でも把握できてないw

380 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 13:57:46 ID:m21VzqQv]
すご、DxLib.hに関数の使い方書いてあるんだ
いいこと知ったお



381 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 14:00:20 ID:m21VzqQv]
>>379
そうなの?
でも垂直同期オフにしたら特有の波みたいな境目みたいなのが
現れて負荷が数分の一になったお!
俺も対処療法しまくってスパゲッティ化してきた

382 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 15:39:32 ID:1BMnqLhH]
>でも垂直同期オフにしたら特有の波みたいな境目みたいなのが

ティアリングだね。
それをなくすための垂直同期信号待ちなんだけど、色々別の問題が出るんだよね。

例えば、FPSがモニタのリフレッシュレートに依存するから
60Hzのモニタに合わせてゲーム作ってると70Hzのモニタ使ってる時にスピードアップする事にw

あるいはPC環境によっては垂直同期信号待ち自体が完全に無視されてしまって
スピードが最高速になったりw

383 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 16:02:58 ID:Ml+ywIah]
普通はVSYNC待ちした上でさらにタイマーで調整するだろ

384 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 16:06:40 ID:1BMnqLhH]
うん、だから今はそうしてる。

385 名前:名前は開発中のものです。 mailto:sage [2008/06/30(月) 01:36:07 ID:eE4aJ60w]
俺の場合は、ドローとコントロールを完全に分けてる
コントロールは50fpsで作るなら、20ms経過するごとに呼び出す
前回と比べて100ms経ってたら5回連続して呼ぶ、と

ドローはこれだけを何度呼んでも同じ画面が描画される

要するに処理落ちを目立たなくする方法だけど、
よっぽどボロで無い限りあんまり違和感ないから重宝してる

386 名前:名前は開発中のものです。 mailto:sage [2008/06/30(月) 15:51:22 ID:/MYKvXiy]
みんなどんなゲームつくってるのか見てみたいな

387 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 17:19:34 ID:4FdUt6R0]
俺も、別に嫌味じゃなくて純粋に>>386がどんなゲームつくってるのか見てみたい




388 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 18:17:34 ID:pOqq1JU4]
俺も興味あるなぁ。スクショとかあげてみて欲しい。

389 名前:386 mailto:sage [2008/07/03(木) 19:14:30 ID:mE8d2cG3]
あんま期待しないで
ペイント丸出しのグラフィック
ttp://www.vipper.net/vip556650.png

390 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 19:23:00 ID:mE8d2cG3]
ついでに動画もうpする

391 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 19:39:16 ID:mE8d2cG3]
↓動画
ttp://kissho1.xii.jp/7/src/7jyou12754.lzh.html
DLパスはel

392 名前:名前は開発中のものです。 mailto:sage [2008/07/03(木) 21:42:13 ID:am1gyKK/]
BGMワロタ なんか敵キャラかわいいなw

393 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 21:11:05 ID:cnwLCfKM]
おお、すごい
普通に面白そうだな

394 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 22:33:08 ID:oPSFKEuG]
グラフィックはいかにも間に合わせという感じだが、
ゲーム性はなかなかのものとみた。

395 名前:名前は開発中のものです。 mailto:sage [2008/07/05(土) 23:25:58 ID:aGAA/Y1Y]
結構おもしろそうだな
それに動画綺麗すぎ
どうやってキャプチャしてるの?

396 名前:386 mailto:sage [2008/07/06(日) 09:46:08 ID:XkJcW/kb]
>>392
グラフィックをほめてもらえるとはw

>>393
まじ?うれしいな

>>394
いや、これでもかなりグラフィックは力いれてるぞw
でも絵が描けないのはどうしようもない

>>395
エンコーダでビットレート高めで画面を取り込んだ

397 名前:名前は開発中のものです。 mailto:sage [2008/07/06(日) 19:59:53 ID:Ayw8ouCy]
横スクロールアクションの面白いところを知ってるって感じる作りだな。
それが面白くもあり、手堅く無難でもある。
あとはストーリー性を前面に押し出してキャラを立ててやれば、そこそこ売れるんじゃね。
売る気なのかは知らんが。
フリーなら、ぱっと見悪いが隠れた名作と言われそう。

こんなんでましたー。



398 名前:387 mailto:sage [2008/07/07(月) 12:42:59 ID:vFVo4BdD]
見せて欲しいと言っておきながら、仕事ラッシュあけて戻ってきたら既にタイムアウトでスクショみれない俺涙目
言い出した手間、自分もじきにスクショうpしま。

ってそういうスレじゃなかったっけ。すまん。


399 名前:名前は開発中のものです。 mailto:sage [2008/07/07(月) 12:52:28 ID:XBTjCSRv]
>>391の動画まだ残ってるよ
>>398も期待

400 名前:388 mailto:sage [2008/07/08(火) 17:10:01 ID:RLAQs28z]
俺もあげてみる…
ttp://www.vipper.net/vip560401.jpg.html

401 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 23:25:57 ID:o/K3GAco]
これもなかなか興味深い

402 名前:名前は開発中のものです。 mailto:sage [2008/07/08(火) 23:30:56 ID:gy2iNnCl]
世界観がいいね

403 名前:名前は開発中のものです。 mailto:sage [2008/07/09(水) 17:58:32 ID:86rWJoht]
>>400
すでに見えない・・・・。

404 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 13:19:40 ID:6+UKwK/G]
ttp://kurotama.sakura.ne.jp/product/rks/
これもDxLibなのか。すごすぎる

405 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 13:59:33 ID:EI7ck19t]
へー、これDXライブラリ使用してたのか。

406 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 14:56:12 ID:8WryyQH6]
DXライブラリ作品では東方のやつが一番すごいと個人的に思う

407 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 16:21:47 ID:6+UKwK/G]
龍神録?
あの人のプログラミングに対する執念はすごすぎる
東方、ぷよぷよ、魔界村、ボンバーマンと何でもつくれるんだよな
でも何でDxLib使ってるんだろう
DxLibでここまでできるってことを示したいのかな



408 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 16:34:55 ID:XThHbypQ]
なんつーか・・・
このスレのやつらのレベルが知れるな

409 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 16:41:58 ID:8WryyQH6]
>>407
DirectXとかWinAPIは底は深いけどそれやりだすとなかなか作品作れなくなるんだよな。
それにDirectX自体プロになるにしてもゲーム関係で無い限りそこまで必要なものでもないし。
将来DXよりいいのが出たときに乗り換えればいいだけだし作品製作に集中するのはあるべき姿のひとつだと思う。

410 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 17:16:03 ID:avDAWHJ8]
DXライブラリは、余計なフレームワークがついてこないただのラッパだからね。
煩わしい部分以外全部自分でやってしまいたい時には都合がいい。

411 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 17:17:53 ID:6+UKwK/G]
>>408
もともと初心者向けのライブラリだからな
でもあれだけつくれれば十分すごいと思うぞ

>>409
たしかにゲーム本体に労力を注ぐのが一番いい
HSPとかならまだしもDXライブラリなら初心者向けとはいえ
市販の2Dゲームに劣らないものがつくれそうだし
でもああいう人たちならわりと早くDirectXを使いこなせるようになりそうな気もする

412 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 18:37:44 ID:cTEttVhV]
龍神録知らなかったので見てきた
ここまで再現できるのはプログラマー的に尊敬せざるを得ない・・・
まあ批難だらけになるのは致し方なしw

413 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 19:14:46 ID:2fRsRjz9]
東方クローンなんてdxライブラリで一番作りやすいジャンルじゃないか?
神威みたいなのを作ったっていうなら凄いと思うが

414 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 19:35:52 ID:8WryyQH6]
>>413
確かにDXライブラリが2Dのシューティングにかなり向いてるとは思うけど
あそこまでやるならもはやライブラリの力はあんま関係ないと思ったw 純粋に作者がすごすぎるw
多分あの人はRPGツクールとかでも他に圧倒的な差をつけたすごいのを創れるタイプだと思う。
同じ土俵であんなものができるなんて驚きを通り越して憧れたよ。

415 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 19:47:03 ID:6+UKwK/G]
龍神録をすごいと思わない>>413は相当凄腕のゲームプログラマ

416 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 21:45:41 ID:55b1ZCZV]
むしろゲームオタク……いや俺もか。

417 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 22:00:50 ID:5QQzrnLs]
龍神録すげぇな
でもあれはプログラムっつーよりゲームデザインの領域では・・・・

2D弾幕もう供給過剰だしそろそろ3D弾幕欲しいぜ



418 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 22:14:27 ID:8WryyQH6]
>>417
3Dで本格的な弾幕やろうとすると重いし動く環境限られるし何より面倒だと思う。
まぁシューティングとかは3Dの中では比較的作りやすいものではあると思うけど
3Dにするメリットってあんまないきがする。画面酔いしやすくなったとか言い出す人いるだろうし。

419 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 22:17:22 ID:yio38x9Q]
龍神録は滅茶苦茶重い点を除けばかなり良い出来

420 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 22:21:07 ID:EI7ck19t]
俺は当たり判定とかかなりいいかげんに作ってるから
弾幕シューを作ろうとしたらめちゃ重になるだろうな……。

421 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 22:28:17 ID:8WryyQH6]
そういえばDXライブラリ作品だと公言しているものの各部門の非有料モノでの最高傑作ってなんだろう。
シューティングはあんま詳しくないけど龍神録しかないかなと思ってる。
アクションはしょぼんが個人的に最高に楽しかった。

アクション:しょぼんのアクション
シューティング:龍神録
RPG:シラネ
アクションRPG:これもシラネ
レーシング:あるのか?
格闘:確かあったけど有料だった気がする
パズル:シラネ
シミュレーション:あるのか?

422 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 22:59:55 ID:6+UKwK/G]
しょぼんはくそ面白いけどゲームの楽しさとは違うだろw
ニコニコで見たときは最高だった
でもフリーのアクションといわれると思いつかないな

アクションかパズルかわからんがこれもすごい。本家に掲載されてるけど
pbsweb.jp/pl/pl_index.html プリンセスラナ

423 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 23:17:10 ID:8WryyQH6]
>>422
それ面白そうだな。確かにしょぼんはゲームとしての面白さというよりパロディとかセンスが秀逸という感じかもな。
どうでもいいけどあの作者が公開してるソースはマジで天才的すぎて絶叫したぜ・・。
そういえばRPGって多いかと思ったけどちゃんと作品として完成させてる人って意外と少ないんだな。
シミュレーションとかは存在すらなさそうだし。

424 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 23:28:19 ID:6+UKwK/G]
あのソースはまじやばい。カオス
なぜかタブをつかわない
1つのファイルにだらだらだらだら書いてて…それで動く
自己流の最終形態

425 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 23:33:05 ID:6+UKwK/G]
一部引用

//ブロック描画
for (t=0;t<tmax;t++){
xx[0]=ta[t]-fx;xx[1]=tb[t]-fy;
xx[2]=32;xx[3]=xx[2];
if (xx[0]+xx[2]*100>=-10 && xx[1]<=fxmax){

xx[9]=0;
if (stagecolor==2){xx[9]=30;}
if (stagecolor==4){xx[9]=60;}

if (ttype[t]<100){
xx[6]=ttype[t]+xx[9];drawimage(grap[xx[6]][1],xx[0]/100,xx[1]/100);
}

if (ttype[t]==100 || ttype[t]==101 || ttype[t]==102 || ttype[t]==103 || ttype[t]==104 && txtype[t]==1 || ttype[t]==114 && txtype[t]==1 || ttype[t]==116){
xx[6]=2+xx[9];drawimage(grap[xx[6]][1],xx[0]/100,xx[1]/100);
}

if (ttype[t]==112 || ttype[t]==104 && txtype[t]==0 || ttype[t]==115 && txtype[t]==1){
xx[6]=1+xx[9];drawimage(grap[xx[6]][1],xx[0]/100,xx[1]/100);
}



426 名前:名前は開発中のものです。 mailto:sage [2008/07/14(月) 23:36:47 ID:P8xVGuHc]
見難いにも程があるw

427 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 00:42:40 ID:sanH/T6d]
>>425
それでバグがあるかというと全くないんだよなw 
ソースも数千行で関数はほぼmainだけなのにw
そういうソースなんて他にはみたことないぜ。マジで狂気の沙汰



428 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 00:49:20 ID:sanH/T6d]
そういえば友達が授業でいやいやソース書いてたときもしょぼんの人みたいなタブ使わない強引に1行で済ませる書き方だった。
それで分かるからいいらしい。ある意味間違ってはいないがw
やたら文法とか構造化とか声高に叫ぶばかりで何も完成させられない人には
しょぼんのソースを突き出してやりたいぜ。あれはほんと革命的なオープンソースだと思う。
俺も初心者のころはインデントしなくても読めてたけどいつの間にかそれができなくなった。
ああいうのは子供が自然とジャイロボール投げるのと似てる。

429 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 00:54:31 ID:7yk0deRV]
>>425
すげえとしか言いようがねえぞ!w
確かにバグが出ず、本人が分かるならそれ以上のものはないんだろうけど・・・w

430 名前:sage [2008/07/15(火) 01:58:59 ID:OyoJDlsv]
N88-日本語BASIC(86)のプログラムに比べれば可愛いもんだ
ところで
>>421
RPGならSTARGAZERがあるぞ
というか無料ソフトに拘るのはなんでだ?

431 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 02:00:10 ID:OyoJDlsv]
すまん上げちまった・・・

432 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 02:39:04 ID:4QjKnr7J]
龍神録は凄いと思うが、作者はDXライブラリのBBSで自演してたりしたから好きではない

433 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 03:21:45 ID:Z/XJU3We]
DXライブラリ使用ソフトだと、夜行蛾4とかGalshell2の合体・変形・多関節は凄いと思う

434 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 03:28:54 ID:sanH/T6d]
アクション: しょぼんのアクション
シューティング: 龍神録、Galshell2、夜行蛾4
RPG: 星を見る人
アクションRPG:
レーシング:
格闘:
パズル:プリンセスラナ
シミュレーション:

今んとこ候補はこんな感じか。まぁ有料は入れなくていいと思う。買った人にしかわかんないし。

435 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 12:06:52 ID:hKPgrkB+]
誰かジョイスティック対応した斜め移動のコードを教えてください。
シューティング作ろうとプログラムを始めたばっかりの初心者なんでなかなか上手くいかないです。

keyでのキー入力の場合だとちゃんと斜め移動するんですが、GetJoypadInputStateを使うと上下左右移動しか出来ず、斜め移動を入力するととまってしまいます。

int plx = 200;
int ply = 400; //プレイヤー初期x.y座標の取得。


if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_RIGHT ) { //右ボタンが押されたら

plx++;
plx++;
plx++;
plx++;

if(plx >= 385){ //画面右端から左端へワープ。
plx=0;
}

}

こんな感じのコードを上下左右分作っています、これだと斜め移動は実装できないんですか?

こんな初歩的な事でつまずいてるとか完成まで物凄い時間かかりそう。

436 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 12:28:17 ID:fI2aJQcd]
プログラム的には問題ないように見える。

キーボード入力でうまくいくのに、ジョイスティック入力でうまくいかないのなら、
ジョイスティックが斜め入力に対応してないんじゃないかと思えるが……どうだろう。

普通のゲームをそのジョイスティックで操作してちゃんと斜めに動く?
もしそうならDXライブラリが対応してないジョイスティックがあるって事になるのかな。

437 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 12:29:53 ID:fI2aJQcd]
あ、GetJoypadInputStateはキーボード入力も同時に対応してくれるけど
キーボードならちゃんと動くって事だよね?



438 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 12:41:35 ID:hKPgrkB+]
>>436
logicoolの
ttp://www.logicool.co.jp/index.cfm/gaming/pc_gaming/gamepads/devices/4627&cl=jp,ja
コレ使ってるけど、斜め移動は普通に他のゲームではできます。

それとGetJoypadInputStateを使うとキー入力、ジョイスティック操作での斜め移動をしようとするとキャラがその場で止まってしまい。
GetHitKeyStateAll( Key );を使ってキー入力のみの場合だとちゃんと斜め移動が出来ます。

もしかしたらどっかのコードが違うのかなぁ

439 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 12:45:14 ID:fI2aJQcd]
んーじゃ、コードをどっか間違ってるんでしょうね。見てみないとわかんないけど。

例えば計算を間違ってて座標がプラスマイナス0になってるとか、
斜め入力した時に処理が別のとこに飛んでるとか。

440 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 12:46:35 ID:fI2aJQcd]
あ〜でもGetHitKeyStateAllだと上手くいってるのか……なんだろうね。

441 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 12:47:35 ID:hKPgrkB+]
初心者とは言えコードが幼稚すぎて晒すの恥ずかしいけど、一通り晒してみます。
void player_move(){ //プレイヤーの移動
GetJoypadInputState( DX_INPUT_KEY_PAD1 ) ; //ジョイスティックの状態を監視
char Key[256]; //キー状態の取得。
GetHitKeyStateAll( Key ); //ループ、キーの状態を取得
if(GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_R ){ //低速移動
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_RIGHT ) { //シフトと右が同時に押された場合。
plx--;
plx--;
}
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_LEFT ) { //シフトと左が同時に押された場合。
plx++;
plx++;
}
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_UP) { //シフトと上が同時に押された場合。
ply++;
ply++;
}
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_DOWN ) { //シフトと下が同時に押された場合。
ply--;
ply--;
}
}
ply++;
ply++;
ply++;

if(ply >= 430){ //画面下部へ戻す(ハミ出ないようにする。)
ply=430;
}

}

442 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 12:48:45 ID:hKPgrkB+]
//ここから高速移動。
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_RIGHT ) { //右ボタンが押されたら
plx++;
plx++;
plx++;
plx++;
if(plx >= 385){ //画面右端から左端へワープ。
plx=0;
}
}
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_LEFT ) { //左ボタンが押されたら。
plx--;
plx--;
plx--;
plx--;
if(plx <= 0){ //画面左端から右端へワープ。
plx=385;
}
}
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_UP) { //上ボタンが押されたら。
ply--;
ply--;
ply--;
ply--;
if(ply <= 0){ //画面上部へ戻す(ハミ出ないようにする。)
ply=0;
}
}


文字制限があり、下ボタンが書けないですが、上記のコードと同じ感じです。

443 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 13:23:58 ID:Y9twlXWg]
>> if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) == PAD_INPUT_UP)
これなんだけど、
==で判定するんじゃなくて、
&で判定したら良いと思うんだけど、どうだろ。(他も同様に)
DX使ったこと無いんで知らないんだけど。


444 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 13:24:35 ID:ui07eI/H]
== で判定している時点でおかしい。
GetJoypadInputState() が斜めという状態を返すのに、
「斜め==右」と「斜め==上」の両方を満たしたりすることがあると思う?

445 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 13:31:28 ID:hKPgrkB+]
>>443-444
ありがとおおおお!
そうか、「==」で両方の条件を満たすモノかと思ってたけど検討違いだったみたいだ。

これで一つシューティングに近づけた!
敵移動ルーチンもがんばって作ります。


446 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 13:45:15 ID:pBagc6XR]
つーかDxlib.hくらいは読め

447 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 13:48:18 ID:epOoFIz5]
plx++;
plx++;
plx++;
plx++;

ここ何で plx += 4; て書かないの?



448 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 13:52:26 ID:hKPgrkB+]
>>446
リファレンス読んだんですけど、関数の使い方がまだ慣れていなくて。

>>447
そういう書き方もあったんですね、本当勉強になります。

449 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 14:03:28 ID:epOoFIz5]
homepage2.nifty.com/natupaji/DxLib/dxlecture_main.html
まずこういうとこで勉強しる。ゲームをつくるのに必須な事柄ばかり

450 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 15:46:09 ID:EwmM+mgV]
14歳シリーズ読む前に上の奴は目を通しておいたほうがいいね

451 名前:名前は開発中のものです。 mailto:sage [2008/07/15(火) 23:47:36 ID:kClkDntU]
DXライブラリ3Dのひと大学やめたって・・・
信用できなさすぎてワロタ

452 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 00:58:20 ID:i3IZPEwK]
自キャラが動いている画面部分に、ステータス表示などのウィンドウを開くには
どうしたらいいのでしょうか?ウィンドウを描画する部分は作ってみたのですが、
うまく消すことができません・・・どう考えてプログラムを組んだらいいのか教えてください

453 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 02:02:25 ID:sIK7J7gQ]
意味がわからん。
ウィンドウ描きたきゃ描けばいいし
消したきゃ描かなければいいだけでは。

毎回全部描き直してればこれですむが……?

454 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 08:44:26 ID:jVP8P/rT]
>>452
毎回、画面をクリアして(あるいは、色、画像で塗りつぶして)から、
キャラクタとかを描くようにしたらいいよ。
つまり、消す=表示しない

ウィンドウに関しても、表示する/しないのフラグを作るなり何なりして、
表示する/しないを切替えられるようにする、というのが一つの考え。

画面のちらつきが気になるならダブルバッファリングでもググッて頂戴。

455 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 12:47:22 ID:Hdj1AvWV]
>452
すぐ上の>449くらいは見てから聞きなさい。


456 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 12:48:19 ID:fyzf+eW+]
俺も>>452と同じ所が微妙に分からないんだけど。

メインループが書いてあるコードで
while(ProcessMessage() == 0 && GetHitKeyStateAll(Key) == 0){ //メイン処理
RefreshTime = GetNowCount(); //今の時間の取得
ClearDrawScreen(); //裏画面のデータの削除

img_01();  //背景の表示
img_s1();  //スコアボードの表示

player_move();  //キャラクター移動

enemy_move_01();  //下がって来きて、一定時間止まり上に上がる敵の移動
enemy_move_02();  //右から来て左に消える敵の移動

ScreenFlip() ; //裏画面のデータを反映
while(GetNowCount() - RefreshTime < 17); //1周の処理が17ミリ秒になるまで待つ
if (Key[KEY_INPUT_ESCAPE]==1) break;

このコードだとどうしてもenemy_move_main_01と02が画面外に消えたとしてもClearDrawScreenでは消えないし、もしenemy_move_main_01内でClearDrawScreen使ったとしても違うものが消えちゃう。
そうなると画像を選択してその画像だけを消すコードを追加した方がいいの?

457 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 13:03:06 ID:Q6JHVI1A]
>画面外に消えたとしてもClearDrawScreenでは消えないし

なんで?
画面外ならそもそも消す必要すらないのでは。

というか画面外なら最初から表示しなけりゃいいんじゃないのか……?

俺なにか勘違いしてる?



458 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 13:08:46 ID:fyzf+eW+]
>>457
書き方が悪かったのかな。

敵が画面上部の外から出てくる(表示されてない)

画面中央ぐらいまで下がってきて止まる(表示されている)

一定時間止まったら画面上部の外に出る(表示されていない)


ここで3番目の処理の時に画像を画面外で消さないと重くなって仕方ないんだけど、効率が良い消し方も分からん。
もしかしたら画像が残っている以前に移動のコードがアレなのかも分かんないけど。


459 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 13:29:57 ID:5ZyV7TA5]
敵の座標が0未満なら描画しなければいい
実際は敵の大きさを考慮しなければいけないが

460 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 13:31:50 ID:Q6JHVI1A]
うーん?

俺は「画面外のキャラ」はそもそも表示しないようにしてるんだが、そういう問題じゃない?

あるいは「画面外にでたら不要になるキャラ」なら、キャラ自体を消してしまえばいいんだし。

461 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 13:38:11 ID:Q6JHVI1A]
例えばこんな感じで ↓

//画面内だったら表示する
if( x + GH.width >= 0 &&
x < SCREEN_WIDTH &&
y + GH.height >= 0 &&
y < SCREEN_HEIGHT )
DrawGraph( x , y , GH , TRUE ) ;


# x と y はキャラの座標。
# GH.width GH.height はキャラの幅と高さ
# SCREEN_WIDTH SCREEN_HEIGHT は画面のサイズ

こうすれば画面外のキャラは描画処理を省く事ができるからその分処理は軽くなる。
描画処理は時間掛かるからね。

462 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 14:49:40 ID:i3IZPEwK]
452です。。。描画の仕組みがちゃんとわかってなかったようです
通常はループ処理の中で秒間何コマも書き換えを行ってるですよね、
それを忘れてフォトショップのレイヤー表示・非表示みたいな発想をしてました

463 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 15:13:16 ID:jVP8P/rT]
>>462
レイヤーを重ねて画面を作るという発想は間違ってないと思うよ。
それに画面外の画像についてはライブラリ側が勝手に判断して、描画する/しないを判断してくれるものだと思ってた。
(キャンバスのサイズ
そもそも、敵の数がハードコーディングできる位の量で、処理がそこまで遅くなるとも思えないので、
消えてる/消えてないとは別に理由があるような気がする。

もしかして、毎回LoadGraphScreenで画像を読み出していないか?とか。
homepage2.nifty.com/natupaji/DxLib/lecture/lecture5.html

464 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 15:38:24 ID:Q6JHVI1A]
スピードうんぬん言ってるのは>>456でしょ?

465 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 15:59:40 ID:jVP8P/rT]
ぐはw間違えたwww

466 名前:名前は開発中のものです。 [2008/07/16(水) 16:08:27 ID:uDKC+hAb]
DXライブラリ3D

復活

467 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 20:59:46 ID:5P2SX/d6]
>>466
fatalita.sakura.ne.jp/3DLib/
>大学はやめることにしました。
( ゚д゚ )



468 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 21:22:19 ID:MuiAAeME]
これは予想外といわざるを得ない

469 名前:名前は開発中のものです。 mailto:sage [2008/07/16(水) 23:10:22 ID:xs6cjDc7]
大学を辞めるにいたった理由は他の事にのめり込んだせいか?w

470 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 00:47:50 ID:s5cW2pVU]
大学やめる人間がライブラリ制作つづけられねぇだろ

471 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 00:49:37 ID:Ap/EhYGH]
トラブルがあって金が払えなくなると言う涙なしに語れない話かもしれないぞ

472 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 00:50:27 ID:uimy9tns]
なんでおまえらそんなに攻撃的なのw

473 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 00:57:00 ID:oEwgGZIt]
良くも悪くも一度でもコースから外れたやつには厳しいのが日本だからな

474 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 01:53:00 ID:+mkSl9PA]
まあ今何言われても機能とサポートが充実した状態を数年保てれば自然と利用者は増えるさ
というわけで作者頑張れ

475 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 01:55:32 ID:uimy9tns]
まあ犯罪者ですってんでもなければ、
成果物を利用させてもらうことには何の躊躇いも無いな
大学出るだけが人生じゃないしな

476 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 07:13:32 ID:SZKqta3R]
でも折角はいったんだから頑張って卒業した方がいいと思うなぁ。

477 名前:名前は開発中のものです。 [2008/07/17(木) 08:14:59 ID:tmKiyq5R]
作者頑張れ



478 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 11:20:01 ID:TlwjY+uU]
処理速度が画面上に敵を4〜5体表示するだけで致命的にガクガクになるんだけどなんでだろ?

479 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 11:28:27 ID:FcrOhhAY]
>>478
1. 毎回ファイル読み込みしてる
2. 裏でソフトのアップデートが始まっている
3. 敵の画像サイズが3200x2400フルカラーのビットマップ
4. 一つの座標に同じ敵を何十回も描画してる

5. 以前に開始したゲームが終了できていない。(タスクマネージャを確認)
6. 同時起動してるソフトが重い

480 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 11:34:48 ID:TlwjY+uU]
1. この記述が悪いのかな?やっぱりメモリから読み込んだ方がいいの?
LoadGraphScreen( move02.enx , move02.eny , "date/img/enemy.bmp" , TRUE ) ;

2.3は無い、画像は仮の画像だけど50*50のpngでやってる

4.ClearDrawScreen();で消す→画像の描写→ScreenFlip() ;って感じでやってるから多分大丈夫?だと思う

5.6も無いです。
やっぱり1番の問題なのかな?

481 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 12:14:25 ID:TqjgJuyg]
>裏でソフトのアップデートが始まっている
あるあるww

482 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 12:52:18 ID:pdRWIRiu]
>1. この記述が悪いのかな?やっぱりメモリから読み込んだ方がいいの?

当たり前だw

表示するたびに、いちいちディスクから読んでたらガクガクになるに決まってるだろ。

483 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 17:24:34 ID:d7rd6QL5]
マップの表示をいちいちファイルからやってたら死ねる

484 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 20:10:57 ID:2so4oodo]
ごく初歩のサンプルプログラムでもなければ、LoadGraphScreenの利用価値はまったくない。
LoadGraphScreenなんて関数はないと思っていた方がいい。


485 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 20:23:27 ID:s5cW2pVU]
作者さん乙

486 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 20:34:39 ID:HJmpynoy]
LoadGraphScreenって、例外的な使い方しかしないよな。

487 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 21:13:47 ID:uAQ9zE97]
俺のPCはハイスペックだからLoadGraphScreenでも問題ないよ



488 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 21:24:59 ID:WlLz+UQE]
どれだけアクセスの早いHDDなんだ。

489 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 21:29:56 ID:4zPgFuV4]
だからって使うメリットもあまり無いと思うが

490 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 21:31:24 ID:TlwjY+uU]
move01.eny++;
counter++;

if(counter > 100) move01.eny--;
if(counter > 300) move01.eny-=2;

if(move01.eny > 0)
DrawGraph( move01.enx , move01.eny , enemy_img , TRUE ) ;

アドバイス通りに書いたら安定した。
このスレはプログラム上級者が揃ってて初心者の俺にとってはありがたい

491 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 21:42:01 ID:d7rd6QL5]
いつの間にかプログラミングの館で新しく解説サイトできてるな
しかも結構おもしろそう
読んでくるわ

492 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 21:53:44 ID:d7rd6QL5]
DrawRotaGraphFってなんだよ\(^o^)/

493 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 22:08:06 ID:uAQ9zE97]
この手のプログラミング解説サイトって絵や図が足りないよな
最後に実行結果を動画にしてるのは評価できるけど

494 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 22:37:18 ID:WlLz+UQE]
絵や図を用意しようとすると労力が数倍に跳ね上がるからねぇ……。

495 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 22:44:28 ID:Hb7Xgjfk]
本買えよ


496 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 22:46:11 ID:uAQ9zE97]
サイト作るなら本買って構成とか真似してわかりやすくしろってことだな

497 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 22:48:53 ID:LH8MqGSK]
ってか、そんなに画像が必要か?



498 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 22:53:44 ID:uimy9tns]
只で見ておいてすごいことを言ってのけるなw

499 名前:名前は開発中のものです。 mailto:sage [2008/07/17(木) 23:11:28 ID:uAQ9zE97]
>とにかく「わかりやすい」をモットーに紹介しています。
ソースとスクリーンショットだけじゃこれ実現できねーよ
文章も校正してないしな

只で見て何も言わずに帰るのが本当に良い客なのだろうか

500 名前:名前は開発中のものです。 mailto:sage [2008/07/18(金) 00:09:07 ID:6rtxrGUf]
うん みてろ

501 名前:名前は開発中のものです。 mailto:sage [2008/07/18(金) 00:27:24 ID:R9DZM3Hc]
そんなに見づらい、わかりづらいなら
もっと図説が一杯載ってるサイトに行けばいいんじゃね?


502 名前:名前は開発中のものです。 mailto:sage [2008/07/18(金) 10:08:40 ID:X7knEZGC]
書籍買って勉強してるんだが、ベクトルの話がちんぷんかんぷんだぜ・・・ライブラリが使えても
物理計算が理解できないと話しにならんな、、、ナイセキとガイセキって何が違うんじゃ!!!!

503 名前:名前は開発中のものです。 mailto:sage [2008/07/18(金) 13:49:37 ID:hGQjyaE4]
画像消してるのにもかかわらずにページファイルが増え続けるんだけど
なんでだろ

504 名前:名前は開発中のものです。 mailto:sage [2008/07/18(金) 13:55:56 ID:H/OXxpxC]
DeleteGraphしてる?

505 名前:名前は開発中のものです。 mailto:sage [2008/07/18(金) 14:07:21 ID:hGQjyaE4]
してなかった・・・。
してみたら超安定した

506 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 01:47:16 ID:hsVM+X3h]
2D横スクロールアクションでキャラと地形のあたり判定を考えてます
背景(地形)に32*16もしくは32*32のマップチップ的なものを配置、
地形のチップの上にキャラが立ち、32ドット単位で移動するようにしたいのですが、
その時の判定で能率の良い方法はないでしょうか?

今はマッピングするときに使う地図情報配列と自キャラの位置を配列座標に変換したものを
比較して、自キャラ[X][Y]に対して、地図情報[X][Y+1]がマップチップなら移動できない・・・・・って手法を考えてますが、
これだと空中に浮かぶチップがあった場合の判定が煩雑になってしまい、
ジャンプしたときなど判別を都度追加しなければならず、効率が悪くて難儀してます

507 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 08:01:47 ID:Rb93SROm]
>>506 なんか、微妙にDXライブラリと関係ないけど・・・・・
使っているデータ構造とかがどのようなものか?がわからないから
かなり憶測に基づいての回答だと言う事を念頭に置いてね。
自分が想定してるアクションってのが、聖剣伝説みたいな見下ろし型でのものだけど、
マリオなんか見たいのでも、似たような感じで応用すれば使えると思うよ。

まず、地図情報があると言うことだから、それを若干拡張してください。
 例:char DataMap[MAP_MAX_SIZE_X][MAP_MAX_SIZE_Y][MAP_MAX_SIZE_STRUCTURE];
で、一層目に普通のマップ情報、二層目に地上キャラクタの情報、三層目に空中キャラクタの情報
とでもして、check時に、
 普通は一層目が進行可なら二層目を調べる。
 ジャンプなどの場合は、一層目を調べてさらに三層目を調べる。
みたいなのでどう?

あと、効率が悪いと言っても基本的に変な総当たり式みたいな判定出ない限りは
大した効率さは考えなくていいと思うよ。




508 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 08:54:56 ID:zgBZw03q]
>>506
空中に浮かぶチップがあった場合の判定が煩雑になる理由は?

509 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 10:37:50 ID:d2RmswSs]
四角形と直線の当たり判定がどうもうまくいかない・・・
この前当たり判定のまとめサイトみたいなの見つけた気がしたんだが
どこにいったんだか

直線を(ax+by+c=0)として表現するっていうのができたらできそうなんだが、
2点の座標からa,b,c全部求めるのって無理じゃね

510 名前:名前は開発中のものです。 mailto:sage [2008/07/20(日) 11:14:01 ID:Tcsf7iZJ]
>>509
直線の方程式を y = Ax + B から展開していけば解けるよ。

511 名前:名前は開発中のものです。 mailto:sage [2008/07/22(火) 23:59:25 ID:M/E435KZ]
>>509
もう出来てるかも知れないが中学数学のお話だぞそれは
直感的に考えても点が二つあれば一本直線が引けるだろ
つまりは方程式も点が二つあれば求まるんだよ

512 名前:名前は開発中のものです。 mailto:sage [2008/07/23(水) 01:15:20 ID:GLsAu5Iz]
龍神録プログラミングの館ってできたのな。
こりゃ確かにコピーが作れる

513 名前:名前は開発中のものです。 mailto:sage [2008/07/23(水) 11:52:10 ID:82XNmZh+]
どこかおかしいと思ったら"r"でfreadしてた
今までうまく動いてたけどいきなり不具合が出たから迷ったぜ

514 名前:名前は開発中のものです。 mailto:sage [2008/07/25(金) 10:57:45 ID:YGbibhe6]
ちょっとしたことなんだけどさ

if( ( GetMouseInput() & MOUSE_INPUT_LEFT ) != 0 ){ 以下略

でマウス左クリックを検出してんだけど、
これペンタブを検出してくれないんだな。

515 名前:名前は開発中のものです。 [2008/07/25(金) 15:19:27 ID:1Kbo7I82]
DXライブラリ3D
大学やめたのか


516 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 06:28:51 ID:L5kt2X8n]
大学どころか人生やめました

517 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 13:23:17 ID:IUb0Oqp3]
どうせゲ専にでも行くんだろ
業界が大卒以外取らないってのは、決して脅しの言葉じゃないぞ



518 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 13:28:45 ID:YzymVi7X]
>>517
JEXさんのこと全然知らないんだな
しかもどこのが会社が大卒以外取らないとか言ってんだよ

519 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 13:43:10 ID:yPJXRj/4]
任天堂

520 名前:名前は開発中のものです。 [2008/07/26(土) 15:43:58 ID:gmVyP22M]
誰か、14歳からはじめるC言語ゲームプログラミングでゲーム作っている人いますか?



521 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 15:48:40 ID:gx2oBCiZ]
ノシ

とりあえず熊キャラのところまでたどり着いた・・・・
三回読み直してようやく何をやってるのか、少しわかるようになった
良書と思うが、ライブラリの使用を作者の作ったヘルパー関数の利用で賄ってる部分が多いので、
初めての俺にはそこが難しい(かった)な

522 名前:名前は開発中のものです。 [2008/07/26(土) 15:56:30 ID:gmVyP22M]
P82のDXLib_VC2_24b.exeがどこにあるか分からないのですが
どこにあるのですか?
教えてください!


523 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 16:02:26 ID:gx2oBCiZ]
ちょっと今手元に本が無いから、なんのことやら・・・スマンネ

524 名前:名前は開発中のものです。 [2008/07/26(土) 16:09:33 ID:gmVyP22M]
そうですか
今、DXライブラリがどこにあるか分からなくてとても困っています。
とりあえず、教えてほしいのですが付属のCDでダウンロードできるんですよね?

525 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 16:12:35 ID:gx2oBCiZ]
うろ覚えだが、付属のCDはVisualStudioの奴だけで、
あとはサイトからダウンロードするんじゃなかったかい?
サンプルとライブラリはネットで落とした記憶が・・・

他にもゲーム系入門書を数冊買ったので、ごっちゃになってるかもしれないが・・・

526 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 16:13:53 ID:RMhYO7Z4]
>>524
調べる事も勉強になるから、それぐらいは自分一人の力で解決しないと先に進めないよ

DLと使用環境を整えるぐらいは一人でもいけるはず。

出来ないのならプログラムよりも先にパソコンの使い方とかを勉強したほうがいいかもしれない。

527 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 16:49:04 ID:T15EAVrC]
「CDでダウンロードできる」と言ってるあたり、まだ何も解ってないみたいだね。

2chくるより先に公式サイト見に行くべきだ。



528 名前:名前は開発中のものです。 [2008/07/26(土) 18:16:55 ID:gmVyP22M]
わかりました、公式サイトに行ってみます

529 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 19:19:12 ID:MaSVBvZq]
>>518
悪いけど、まともな企業になってきてる大手は原則大卒しか新卒ではとらないよ。
実績とかなにか、自分の力を証明できるようなもんがあれば別だけど・・・・・
まぁ、どうでもいいか。


530 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 19:28:02 ID:T15EAVrC]
それに、仮に大卒以外として採用されたとしても、待遇は天地の差がある。
給料はもちろん、回される仕事も大きく違う。
せっかく大学受かったなら、辞めないほうがいい。

531 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 19:30:34 ID:IJz7tQo6]
これが学歴厨か・・・
こっちで色々語られてるぞ

ゲームクリエイターになってみない?
pc11.2ch.net/test/read.cgi/gamedev/1111563948/

532 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 19:33:01 ID:YzymVi7X]
任天堂受けたけど、90人の枠に何万人もエントリーするあの倍率じゃ
大卒ウンヌンとかって話じゃないよw
とりあえず勉強してない奴は筆記試験からして最初っからすぐ落ちる。

533 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 20:35:44 ID:dHaaAq9w]
任天堂の技術系は東大か京大か東工大じゃないと話にもならんよ

534 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 20:38:55 ID:0BMzZt8C]
高専は?

535 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 20:42:20 ID:nbFOjXde]
>>534
無理ぽ

つか大手だーじゃなくて、好きなもの作ってる所受けてみりゃいいと思う
特にマの人。

536 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 22:08:20 ID:czyUlfmN]
任天堂は、面白くないゲームでも面白そうに思わせる宣伝力とか。
企画を工夫して売るとか、
海外相手に日本じゃありえないような言いがかりのような法的トラブルを防ぐ能力とか
凄腕プログラマを育てるのではなく外からスカウトしてきて上手く使いこなす能力とか・・・
そういう感じの人たちが終結してるんじゃないかと想像。




537 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 22:23:47 ID:yPJXRj/4]
学歴厨っていうか入り口での足きりをするときに
似たようなレベルの作品&印象だったら学歴高い方を選ぶだろJKってだけの話だよ。

高卒でも大卒のやつらを上回る技術を示せる作品を作って、
剛体力学、流体力学、行列・ベクトル演算、幾何代数を独学でマスターすれば全く問題無い。



538 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 22:53:29 ID:iaDbs620]
流れを変える意味でも、ちょっと初歩的な質問をさせてくれ
DrawFormatStringなんだけど、これって実際には
バックにグラフィックの枠のようなものを表示させて、座標はある程度めぼしをつけて、


================== <-グラフィック
ここに点数とか     <-DrawFormatStringで書く
ここに名前とか
================== <-グラフィック

みたいにして使うものってことでおk?
ゲームのステータス表示とかで使いたいと思ってるんだが・・・

539 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 23:24:49 ID:tnwbSQld]
まぁ、それで出来ないことはないだろうが。
DxLib.h見てないからなんともいえないが、もしかしたら描画した文字列の高さを返す関数があるかもしれんが。
不安だったら、文字を画像にしちゃうとか。

540 名前:名前は開発中のものです。 mailto:sage [2008/07/26(土) 23:29:39 ID:iaDbs620]
文字の中でも固定的なもの(ポイントとかHPとか言う呼称)までは画像にしようかと、、、
以前、画像の読み込みで練習用?の呼び出しがあるとか無いとかって話しになってたので、
もしかしたら見落としてる命令があるかと思って聞いた次第です

541 名前:名前は開発中のものです。 mailto:sage [2008/07/27(日) 00:03:36 ID:ofRKBqbI]
すまないが、何を疑問に思ってるのか解らない。

俺はゲーム中のメッセージ表示や、あるいはデバッグ用の変数値表示に使うくらいだな。
点数とかは、自分で文字画像作ってそれを表示させてる。

フォントのサイズは自分で設定できるんだからそれに準ずればいい。
ただフォントいじる命令、やたら遅いので頻繁に変えるようだったら
最初から複数のフォントを用意しないといけないんだったかな。

文字を画像にしたらフォントのライセンスとかでまずい事になるんじゃないかな。

542 名前:名前は開発中のものです。 mailto:sage [2008/07/27(日) 00:10:58 ID:6pVtHho2]
そうとは言い切れないけど、大抵指定したフォントサイズが
文字のドット幅になるよ。

543 名前:名前は開発中のものです。 mailto:sage [2008/07/27(日) 10:54:20 ID:tU8sxjgU]
幅はDxLib.hのGetDrawStringWidth系関数が使えそうですが、
高さの取得用関数は用意されてないみたいですね。

フォント用の内部構造体FONTMANAGEには高さが含まれているので、
DxLib.hでコメントアウトされているGetFontManageDataToHandle( int FontHandle ) あたりを使えば
文字の高さを取得できそうです。
あるいは文字高さ取得用関数をライブラリに追加するか。
いずれにせよ、要改造になってしまいますが。

544 名前:名前は開発中のものです。 mailto:sage [2008/07/28(月) 00:27:53 ID:6zw2nRJ7]
テキスト表示の件、ありがとうございました、、、何故疑問に?と思う人もいたみたいだけど、
プログラミング始めたばかりなので、「自分がいいと思ってやってることが正解なのかわからん」状態なので
思わず利いてしまいました

で、次のは微妙にスレ違いっぽい質問なのだけど、LaadDivGraphで読み込んだ複数のキャラ画像を
メインキャラの動きに合わせて追従させるにはどうしたらいいと思いますか?
動きとしてはグラディウスのオプションとか、ソーサリアンのパーティキャラみたいな感じのものです
自分が組んだロジックは、

・メインキャラの移動状態を保存用配列に古い記録を破棄しながら随時記録
・配列の情報に基づいてサブキャラの座標を決定して表示

としてるのですが、サブキャラを増やすと記録すべき配列要素の数も増えて
どうも動作が緩慢になってる感じがします・・・自分のマシンではそれほどストレスがないですが、
スペックの落ちるマシンだとストレス溜まりそう・・・なのですが、妙手が思いつきません

545 名前:名前は開発中のものです。 mailto:sage [2008/07/28(月) 00:35:13 ID:3fAUJGid]
横スクロールアクションのサンプルは、結構少ないのな
作ってたら、ごちゃごちゃと長くなったから、先人のを参考にしたかったのに

546 名前:545 mailto:sage [2008/07/28(月) 00:58:54 ID:3fAUJGid]
すまんかった

ただ、俺の検索能力が低かっただけみたい

547 名前:名前は開発中のものです。 mailto:sage [2008/07/28(月) 01:05:00 ID:ESVO02ow]
>>544

俺もそれ、考えた事はあるけどやった事ないから正解はわからんが、
俺なら同じように配列に「座標」を記録していくかなぁ。

にしても100や200追従させたところで
そうそう動作が重くなるとは思えないんだけど
どれくらいの数動かす事が前提なのかな?




548 名前:名前は開発中のものです。 mailto:sage [2008/07/28(月) 01:52:02 ID:dT1uTere]
オプションの最大個数*n(オプションの間隔)
のサイズのリングバッファを作り
自機の座標を記録していくんだ。

で、現在のポインタから、n個ずつ古い座標を取り出してオプションの座標にしる

549 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 12:30:53 ID:I1TOnfGu]
typedef struct{
int enx; //敵 x座標
int eny; //敵 y座標
int flag; //フラグ
} ENEMY;


ENEMY move01 = {100,1,0};
ENEMY move02 = {300,1,0};

void enemy_move_02(){

double test = atan2(move02.eny . move02.enx)→ここでエラー。

もしかして構造体とatan2関数って一緒に使えない?
move02.eny . move02.enxを「move02」 「eny」 「move02」 「enx」
って認識してるっぽいんだけど

550 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 12:34:52 ID:jxOLhJk/]
","じゃなくて"."になってるのと";"忘れ

551 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 12:38:49 ID:I1TOnfGu]
しまったw
こんな単純なミスをずっと気がつかなかったのか。

>>550
下らん質問に答えてくれてありがとう。

552 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 13:27:32 ID:I1TOnfGu]
>>550
のミスを修正していざデバッグしたら
'atan2' : オーバーロード関数の呼び出しを解決することができません。

ってエラー出るんだけど、何が悪いの?ENEMY move02 = {300,1,0};で整数がatan2のy.xに代入されてるから?

553 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 13:50:42 ID:BwimhXf8]
math.hはincludeしてる?

554 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 13:58:39 ID:I1TOnfGu]
>>553
ちゃんとしているよ。

555 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 13:59:38 ID:BwimhXf8]
float と double で、、てのもC#ならともかくC++じゃなあ。
とりあえずキャストしてみては?

556 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 14:19:59 ID:I1TOnfGu]
static_cast(double)でやってみても普通のキャストでもダメだw

atan2関数って結構クセもんだな

557 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 14:21:08 ID:Lgzy7JPK]
まだどこか、カンマとピリオドをうち間違えてるのかも。
フォントが小さいと分かりにくいから要注意。



558 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 14:31:10 ID:5y8IMZn/]
atan2といえば、ゲーム実行中にドメインエラーがよく出たなー。

559 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 14:31:57 ID:4++6mc8t]
atan2( (double)move02.eny , (double)move02.enx);
でどうですか?

560 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 14:35:07 ID:I1TOnfGu]
>>>557

エラーがこれだけだから、多分何かが違うんだと思う

enemy_move.cpp(63) : error C2668: 'atan2' : オーバーロード関数の呼び出しを解決することができません。(新機能 ; ヘルプを参照)
1> d:\c++\vc\include\math.h(547): 'long double atan2(long double,long double)' の可能性があります。
1> d:\c++\vc\include\math.h(499): または 'float atan2(float,float)'
1> d:\c++\vc\include\math.h(110): または 'double atan2(double,double)'
1> 引数リスト '(int, int)' を一致させようとしているとき

多重定義もクソも一回しか使ってないんだけどw

561 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 14:37:25 ID:I1TOnfGu]
>>559
あ、今度はうまくいった。
一つ一つにキャストしないといけないのかー。
不便だな結構。

562 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 14:39:13 ID:bDlTbbmG]
ちょ、、、どうやろうとしてたんだ?w

563 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 14:42:13 ID:I1TOnfGu]
double test = (double)atan2(move02.eny , move02.enx);

これで一気に出来ると信じてた

564 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 14:43:55 ID:Fn2JO3tM]
敵の座標や速度は小数にして必要なときに整数にキャストするのがよくね
位置が整数だと2フレームで1px動かすときとか苦労する

>>563
関数のオーバーロードは引数で区別される

565 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 14:45:42 ID:Fn2JO3tM]
ちなみにそれだと関数が返した値をdouble型にキャスト変換するだけで関数の評価には関係ない

566 名前:名前は開発中のものです。 mailto:sage [2008/07/30(水) 16:21:00 ID:I1TOnfGu]
atan2を使ってて思ったんだけど。
敵にsin波の動きをさせるだけだったらatan2使わないでsin使ったほうが楽だよね?

567 名前:名前は開発中のものです。 mailto:sage [2008/07/31(木) 05:31:29 ID:OJUOAbtf]
>>556
え!?
static_castとか知ってて普通のキャストの基礎知らなかったりするのはかなり意外なんだけど

>>566
そもそもどうしてatan2を使おうと思ったんだい?



568 名前:名前は開発中のものです。 mailto:sage [2008/07/31(木) 11:25:29 ID:6cZaCcAX]
static_cast(double)じゃなくてstatic_cast<double>だけどな

569 名前:名前は開発中のものです。 mailto:sage [2008/07/31(木) 18:11:14 ID:r/NTYYBz]
返り値をキャストしてもショウガナイですね・・。
math.hの関数はよくint型引数にしようとして失敗したことが昔ありましたねぇ

で、atan2は敵と自機の角度求めたりするのによく使いますけど、
波の表現には使いませんねぇ
math.hの関数はどれも遅いので、なるべく使わないようにしてはどうでしょう

570 名前:名前は開発中のものです。 mailto:sage [2008/07/31(木) 21:35:59 ID:7gZA2bfW]
>>569
math.hの関数を使わないでのsin波の場合だとどうなるんだろう・・・。

sinもmathだと思うし、何を使うべきなんですかね

571 名前:名前は開発中のものです。 mailto:sage [2008/07/31(木) 21:38:43 ID:DHgf9I5V]
fastmath.h

572 名前:名前は開発中のものです。 mailto:sage [2008/07/31(木) 23:26:36 ID:iw2uu9Rv]
neetmath.h

573 名前:名前は開発中のものです。 mailto:sage [2008/07/31(木) 23:38:05 ID:TL4sUMQR]
>>570
まずはmath.hの三角関数を使うべきだと思う。
今どきのPCで三角関数のコストが無視できない状況なんてあまり無い。

もしVCを使っているなら、
#pragma intrinsic
の使用を検討してみるといいよ。

コンパイラのビルトイン関数を使うことで速度向上が期待できる。
gccならデフォルトでビルトイン関数が適用されてる。

574 名前:名前は開発中のものです。 mailto:sage [2008/08/01(金) 11:40:12 ID:nuMWOD8l]
環境はc++とDXライブラリ

#pragma intrinsicってprintfとかのだよね?
c++だとあんまり使ってないや

575 名前:名前は開発中のものです。 mailto:sage [2008/08/01(金) 16:30:58 ID:GtdXG6pu]
画像の拡大縮小、反転などを併用したい場合は、素材側で対応するのが無難でしょうか?
一度描画したものをGetDrawScreenGraph()で取り込んで、別の方法で描画…というのはできましたが、
良い方法とは思えません。

576 名前:名前は開発中のものです。 mailto:sage [2008/08/01(金) 21:20:18 ID:qPjnEgAD]
背景含めて全部まとめて動かすってこと?

577 名前:名前は開発中のものです。 mailto:sage [2008/08/01(金) 23:31:27 ID:GtdXG6pu]
>576
int gHnd=LoadGraph("0002.jpeg"); //0002.jpegは50*50pixelの画像ファイル
int gHnd2 = MakeGraph(100,100);
DrawGraph(300,300,gHnd,true);
DrawExtendGraph(0,0,100,100,gHnd,true);//縦横2倍に拡大して描画
GetDrawScreenGraph(0,0,100,100,gHnd2);//描画されたgHndを読み取る
DrawTurnGraph(100,0,gHnd2,true);//左右反転して表示

めちゃくちゃなことをしているのは分かっています…



578 名前:名前は開発中のものです。 mailto:sage [2008/08/02(土) 00:38:21 ID:AuP8vB/z]
int gHnd = LoadGraph("0002.jpeg");
DrawRotaGraph(50, 50, 2, 0, gHnd, true, true); // 2倍拡大+透過+反転
こういうことかな

579 名前:名前は開発中のものです。 mailto:sage [2008/08/02(土) 00:52:28 ID:LP1XDt9q]
>578
ありがとうございます!
リファレンスの読み込み不足だったようですね…お恥ずかしい限りです。

580 名前:名前は開発中のものです。 mailto:sage [2008/08/02(土) 02:49:35 ID:yuB/nvf2]
自分も>>575の方と似たような事で詰まってるのでお力添えを…。

ttp://www1.axfc.net/uploader/He/so/125847.png&key=game
と、縦横別倍率で拡大、と、画像の回転を両立させたいんです。
これが背景でしたら>>577と同様の方法で、
DrawExtendGraph→GetDrawScreenGraph→DrawRotaGraphといけそうですが、
エフェクトで使いたい処理なので、既に背景などが描画されているメイン画面は使えないという状況です。

こういった場合は何か作業領域などを作るしか方法は無いのでしょうか…?


581 名前:名前は開発中のものです。 mailto:sage [2008/08/02(土) 09:44:54 ID:2jU8Dntq]
DrawModiGraph

582 名前:名前は開発中のものです。 mailto:sage [2008/08/02(土) 09:52:10 ID:ejRXzIue]
最悪DrawPolygon3Dでどうとでもできるわな

583 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 02:27:17 ID:iWpnfRGq]
>>581
あぁ、こんな使い方も出来たんですね…。知識不足ですみません。
これで何とか考えた通りに出来ました。本当にありがとうございます。

584 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 11:03:48 ID:KmvncGNt]
DXライブラリ、サンプルプログラムのスクロール基本なんですが
ttp://homepage2.nifty.com/natupaji/DxLib/dxprogram.html#N4

手計算だとどうしても描画用マップチップの配列(座標)が0,0からスタートしてくれません
プログラムは当然ちゃんと想定どおり動いてるのですが、

プレイヤーの初期位置Xが2、Yが2状態で計算すると
DrawMapChipNumX は 11
DrawMapChipNumY は 8

MapDrawPointX は -3
MapDrawPointY は -2

となり、マップの描画を決めるループを手繰っていくと、i が3以上、j が4以上にならないと条件を満たさず、
その条件で計算すると、MapData[ i + MapDrawPointY ][ j + MapDrawPointX ] は[1][1]が代入されると思うのですが・・・
こちらの計算違いではあるのですが、どこがおかしいのか分からないので間違ってるところを教えてください

585 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 12:08:48 ID:S+BsW+Rs]
if( j + MapDrawPointX < 0 || i + MapDrawPointY < 0 ) continue; // 描画しない
if( MapData[ i + MapDrawPointY ][ j + MapDrawPointX ] == 0 ) DrawBox();



if( a < 0 || b < 0 ) continue; // 描画しない
if( MapData[ b ][ a ] == 0 ) DrawBox();

どうみても最初の描画は MapData[ 0 ][ 0 ] ですね

586 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 13:09:28 ID:KmvncGNt]
回答ありがとうございます、しかし、頭がこんがらがってきました

if( a < 0 || b < 0 ) continue; // 描画しない

これって人間の言葉にすると「aがゼロより小さい、または、bがゼロより小さいときは描画しない」ですよね?
ということは、ループの中で a=0 b=0 が与えられたとする条件を満たしてないと思うのですが・・・
自分が間違ってそうな箇所はわかりました、、どうやら論理演算子と関係演算子をもう一度勉強しないとだめみたいですね



587 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 13:22:36 ID:s3YJPvG5]
>ループの中で a=0 b=0 が与えられたとする条件

意味が良くわからないんだが、
どこで与えられた
何のための条件?



588 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 13:46:05 ID:rlVyTzUB]
>>213
ありがとうございます
大体解りました

589 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 13:48:13 ID:KmvncGNt]
>>587
× (a=0 b=0)が与えられたとする条件
○ (a=0 b=0)が与えられたとしても、条件(を満たしていない)

ですね、編集してるうちに変な文章になってしまってました、すみません

どこで与えられた、というのは多重ループの中で

i + MapDrawPointY //*1
j + MapDrawPointX //*2

を計算した結果だと思っていただければ・・・最終的に欲しい答えが

MapData[ 0 ][ 0 ]

ですから、一行前のエリア外を描画しないための制御文、

if( j + MapDrawPointX < 0 || i + MapDrawPointY < 0 ) continue; // 描画しない

のところで、*1も*2もいずれも0の状態で条件分岐を通過してくれないといけないわけですが、
そこのところが自分の理解では「通過しないはず」なので困っていました

590 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 14:32:28 ID:S+BsW+Rs]
if (a < 0 || b < 0) continue;

if (0 < 0 || 0 < 0) continue;

if (false || false) continue;

if (false) continue; // continueは実行されますか?されませんか?

591 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 14:41:23 ID:KmvncGNt]
>>590
解りやすい解説ありがとうございます、
自分の誤解が招いた疑問が氷解しました・・・

592 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 15:10:05 ID:Q1RwoYf2]
敵を少しでも多く表示しようとするとカクカクになるw

593 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 15:24:02 ID:0ZCECk8O]
>>592
解像度(スクリーンの大きさ)を1/4(縦、横ともに半分)にするのです。
それだけで、貴方のアプリケーションの速度は劇的に改善するでしょう。
と言ってみるテスト。

毎回ファイル読み込みとかしてないか注意。

594 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 15:33:45 ID:s3YJPvG5]
>>592

このスレの>>478あたりから読み直してみるといい。

595 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 22:37:42 ID:Q1RwoYf2]
>>594
悪い、同人物だ。

今度こそはメモリから読み込んでいるのにカクカクだぜ

596 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 22:45:50 ID:+Yq3eKTl]
メモリから読み込む、ってのがループ内だと意味ないんだぜ?

つーかソースどころか状況もわからんのに答えられるわけなかろう。
あてずっぽうのアドバイスが欲しいのか?
あてずっぽう考えるのだって大変なんだぜ?

597 名前:名前は開発中のものです。 mailto:sage [2008/08/03(日) 22:47:35 ID:xylQeBNi]
処理ごとの速度を計測すれば、どこに時間食ってるかわかるし、
解決策も自ずと見えてくる



598 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 00:33:29 ID:0yRulxuI]
>>596
あーもしかしたらそうなってるかも。
大まかなソース↓
(enemy_move)
typedef struct{
int enx; //敵 x座標
int eny; //敵 y座標
int flag; //フラグ
int counter; //カウンター
} ENEMY;
ENEMY move01 = {100,1,0};
(略)

void enemy_move_02(){ //x100から左寄りのsin波移動


move02.enx+=sin(PI*move02.eny/80)*5;
           move02.eny+=1.5f;


enemy_img = LoadGraph("date/img/enemy.bmp");
DrawGraph( move02.enx , move02.eny , enemy_img , TRUE ) ;

DeleteGraph( enemy_img ) ;


}

↑こんな感じのコードをexternでmain.cppの方で動かしてる、main.cppではwhileでこれらをループしてて、エスケープを押すとブレイクするようになってる。
竜神録のサイトを参考にして丸写しじゃツマランから自分で考えて作ってるんだけど、難しいな。

599 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 00:38:34 ID:7CBzeKTD]
それだと動かすたびに読み込んで削除してを一々やってる
ゲームループの前に1回だけ読み込んで不要になったら削除

600 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 00:49:06 ID:0yRulxuI]
>>599
となると、while文が入る前にexternなりなんなりで読み込みだけを済ませるほうが良いって事?
というか全部の使う素材は全部ゲームループする前にメモリに読み込ませた方が良いって事だよね?

それだと俺大幅な修正が必要になりそうw

601 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 01:02:17 ID:SorplbiK]
>>600
やりたくないんならやらなければ良いよ。学校の授業じゃないんだから。
多分分かってるんだろうけど>>599の言ってる事(内容)は適宜だよ。
修正が必要なら修正するだけだろ
戦わなきゃ現実と

602 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 01:10:24 ID:Vp8LYTR0]
>>600
外部ファイルの関数を使うときは、普通はexternを使わないで、プロトタイプ宣言を使うらしいよ。


あと、enemy_imgをNULLで初期化されてるなら、

if ( enemy_img == NULL ) { enemy_img = LoadGraph("date/img/enemy.bmp"; }

という怪しげな応急処置で済ますことも可能。

603 名前:名前は開発中のものです。 mailto:sage [2008/08/04(月) 03:17:57 ID:2eoeRGcN]
>>598
龍神録プログラミングの館見て解らない事あるんなら、
そこの掲示板で聞けば
ttp://l.huu.cc/board/
館の質問に限らず何にでも答えてくれるし


604 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 16:26:30 ID:oHDI2BWt]
320x240ドットのゲームの画面出力を640x480のサイズのウィンドウに表示したいのですが、
それをDXライブラリでやる一般的な方法ってありますか?

って質問を書いてたらちょうどマニュアルで
int SetWindowSizeExtendRate( double ExRate ) ;
を見つけられました。
本当にありがとうございました。

605 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 19:38:02 ID:EpXD5UKo]
縦横比をどうにかできる方法があれば凄いんだけどね・・・。
4:3モニタの時代は終わったのかな。
最近ワイドモニタ多すぎ。特にノート。
テストしてもらった知り合いのPCが殆どワイドだったのに驚愕した。

606 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 20:28:53 ID:CKp+IHYO]
歩留まりがいいらしいからね

607 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 20:57:36 ID:31D+/5a6]
横シューを作れという事じゃなかったのか。



608 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 21:12:24 ID:YYddeISL]
>>604の方法で拡大すると320*240非対応のディスプレイでフルスクリーン化出来ないし
うちの環境だとアンチエイリアスがかかって見難くなるんで

@320*240のサイズで描画
A空のグラフィックハンドルに@を取得
B640*480に拡大して貼り付け

ってやってるんだがCPU使用率が跳ね上がる
おとなしくSetWindowSizeExtendRateで拡大したほうが良いんだろうか


609 名前:名前は開発中のものです。 mailto:sage [2008/08/05(火) 22:32:25 ID:vtCV6T3y]
横シューよりドラゴンバスターみたいなアクションがやりたい


610 名前:名前は開発中のものです。 mailto:sage [2008/08/06(水) 00:20:08 ID:+mP1DFYH]
>>608
hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=view&no=583

611 名前:名前は開発中のものです。 mailto:sage [2008/08/06(水) 20:46:19 ID:e8apu092]
>>610
かなり改善されたわ
dクス

612 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 21:27:43 ID:BMBqvRRu]
マップチップ画像を分割で読み込んだ後、それを複数枚横に並べた画像を“描画せず”に1枚の画像としてメモリに格納するにはどうすればいいのでしょうか?

具体的には、たとえばこんな5×3のマップがあるとします(0=山、1=川とする)
0,1,1,1,0
1,1,1,1,1
0,0,0,0,0
この1列目の0,1,1,1,0を描画した結果の絵、つまり「山川川川山」という画像をGHandle[1]に格納(描画せずに)させたいんです。
もしマップチップ1枚の画像サイズが縦横32*32だとすれば、160*32の画像を1枚作ることになります。

613 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 21:49:24 ID:qrl05lIa]
>>612
MakeGraph使うんじゃないの?

614 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 21:51:26 ID:IbgkXEDA]
裏画面に描画して、ってやり方じゃダメかな。

何の意味があるのか知らないけど。

615 名前:名前は開発中のものです。 [2008/08/07(木) 21:52:01 ID:O800tzRD]
普通にLoadGraphでいいじゃん

616 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 22:09:30 ID:BMBqvRRu]
やりたいことは・・・ロードランナーでいうと、完全なサイドビューではなく、レンガの上面(キャラクターが乗って触れてる面)も見えるようなビューにして奥行きを出したいんです。
上面を描くのに、まず完全サイドビュー視点のマップ画像を一列分つくって、それを台形のように変形させて(高さも潰して)対応させようかと思いました。

617 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 22:16:01 ID:BMBqvRRu]
普通はレンガの上面はみえないけど・・・
www7.ocn.ne.jp/~bacube/oldgame01/load2_3.gif
レンガの上面も見えるようなビューにして奥行きを出したい
www7.ocn.ne.jp/~bacube/oldgame01/load2_2.gif

斜め画像を用意しておくのも手ですが、それをせずに済ませたいんです。



618 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 22:16:51 ID:sPTbyZsz]
3D

619 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 22:24:23 ID:BMBqvRRu]
あ、上面だけでなくサイドの面も描く必要があるか。
自分の方法だと面倒だな・・・

>>618
たしかに3Dのほうが楽かもしれないですね。
こっちにしようかな


無駄な質問をしてしまったようでみなさん申し訳ないです。

620 名前:名前は開発中のものです。 mailto:sage [2008/08/07(木) 22:47:55 ID:qrl05lIa]
>>612
MakeGraphで作ったグラフィックをSetDrawScreenで指定して書き込めば良いのではないかと思ったけれど、
「3D機能をOFFにしなければいけない」とか「ロックしないといけない」っていうのがあって、めんどくさいな。

621 名前:名前は開発中のものです。 mailto:sage [2008/08/08(金) 00:18:40 ID:k2u31CRe]
普通にドット絵を描けばいい気がする。

622 名前:名前は開発中のものです。 mailto:sage [2008/08/09(土) 21:19:32 ID:5H+GkDR5]
画面に描画した内容をまっさらに直したいというだけなら、
ClearDrawScreen()の代わりにDrawBox()などを使用しても問題ありませんか?
また、問題ないのでしたら、このふたつは処理速度上、どちらが有利でしょうか?

623 名前:名前は開発中のものです。 mailto:sage [2008/08/09(土) 21:38:06 ID:AID2npSx]
自分で試せば済む事でしょう。

624 名前:名前は開発中のものです。 mailto:sage [2008/08/09(土) 21:44:53 ID:5H+GkDR5]
>623
動作は確認したのですが、ClearDrawScreen()には、何か目に見える動作意外にも、
役割があるのではと思いまして…

625 名前:名前は開発中のものです。 mailto:sage [2008/08/12(火) 00:53:34 ID:F3VDNdY9]
SetDrawBlendModeの
DX_BLENDMODE_INVSRC が使えないんだけど
俺だけかな・・・
バージョンふるいのかなあ

626 名前:名前は開発中のものです。 mailto:sage [2008/08/12(火) 15:36:18 ID:mn/79eK/]
>>625
使えないって定義がされて無いといわれるんでしょうか?
もしそれならヘッダファイルのDX_BLENDMODE_....に
あたる部分を探してみては?

627 名前:名前は開発中のものです。 mailto:sage [2008/08/12(火) 22:39:16 ID:yxG5mAbd]
C#でDXライブラリを使っているのですが、画像や音楽の保存場所がわからなく困っています。
初歩的な質問と存じますが、アドバイスをお願いします。

開発環境
Visual C# 2008 Express Edition



628 名前:名前は開発中のものです。 mailto:sage [2008/08/12(火) 23:02:09 ID:kcKrfT4b]
カレントディレクトリに置いたらいいよ。

629 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 08:48:19 ID:yFX3V9Dg]
C#でも使えるのか
すごいなぁ

業務アプリや科学計算ばっかりでゲームとか作ったことないけど
俺もパズルゲーム作ってみようかな

630 名前:627 mailto:sage [2008/08/13(水) 11:08:10 ID:7NjPpTlV]
教えていただき、ありがとうございます。
カレントディレクトリって、作業中のフォルダですよね?
C#の場合ですと、[WindowsFormsApplication1]フォルダでいいのでしょうか?

何度も申し訳ありませんが、よろしくお願いします。

631 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 11:22:56 ID:FyPLvjSN]
C#がどんなのか知らないけどな。

カレントディレクトリってのが作業中のフォルダって認識は合ってる。
ただ「なんの作業中か」を誤解している可能性がある。

例えば、貴方がゲームを作って、そのプログラムが「game.exe」というファイル名で作成されたとしよう。
当然、そのゲームをするにはその「game.exe」を実行するわけだが、
その時、まさにその「game.exe」のあるフォルダが「作業中のフォルダ」になるわけだ。

要するに「カレントディレクトリに置いたらいいよ」ってのは
「実行ファイルと同じとこに置いとけ」という意味だ。

632 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 11:42:08 ID:ZEZwt305]
いやー、その説明はどうかと。

633 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 11:42:13 ID:BbNVLc2o]
ショートカット経由で起動した場合はショートカットの場所がカレントになるだろ

634 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 12:10:59 ID:ZEZwt305]
まあとにかく、リソースの類はファイル埋め込むかEXEの場所に。
カレントをあてにせず、EXEの場所を調べてアクセスするのがいいかな。
書き込む場合はEXEの場所じゃないほうがいい。

635 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 12:21:47 ID:yFX3V9Dg]
カレントディレクトリは、OpenFileDialogを使ったりすると
読み込み先のフォルダに変わったりするから注意した方がいいと思うぞ
それが原因で詰まったこともあるから

636 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 17:09:46 ID:RJ+2pmNA]
適当にカレントディレクトリに置けばいいとか言った。反省はしている。

相対パスでアクセスしたいってことだよね?
それとも絶対パスでも画像とかが動かないの?
後者だとお手上げ。
前者なら、多分bin/Debugフォルダが作られてるから、そこに置けばいいよ。

637 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 17:31:59 ID:yFX3V9Dg]
DXライブラリゲームプログラム開発講座を全部読んでみたけど、
すごーーーーーーーく初心者向けの解説だなw

まぁこれで十分なのかも知れないけど、
もう少し詳しい中級者レベルのはないのかな



638 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 17:40:55 ID:gDnH2Ick]
中級者なら自分で考えるか、他の方法知ってる前提なんだろ


639 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 18:56:43 ID:R5DuEQYn]
>>637
DXライブラリについて勉強したいならココダロー
l.huu.cc/g/
龍神録プログラミングの館まで全部理解出来れば相当使いこなせるようになるかと


640 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 19:00:40 ID:yFX3V9Dg]
>>639
おおありがとう
こっちはもう少し実践的だね

641 名前:627 mailto:sage [2008/08/13(水) 20:13:52 ID:7NjPpTlV]
皆さん、教えていただいてありがとうございます。

画像をbin/フォルダの下にあるDebugフォルダに入れたのですが、表示されませんでした。
某サイトのソースをコピーしたのですが、記述が間違ってるのでしょうか・・・

-- ソース --
DX.LoadGraphScreen(0, 0, "char.png", DX.TRUE);

申し訳ありませんが、アドバイスをお願いします。

642 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 20:18:45 ID:v0IoKL7W]
LoadGraphScreen(0, 0, "char.png", TRUE);

643 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 23:34:45 ID:ZpXLkfXI]
>>641
それで、問題が解決できる奴がいたとしたら、そいつはエスパーだよ・・・・・


まさか、それでソースが全部なわけないよな。

644 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 23:49:59 ID:RJ+2pmNA]
>>641
確認したいんだけど、画面は真っ黒になってる?
なってなかったらそもそもDXライブラリがちゃんと動いてない。
でも一応動いてるみたいだからそれはないかな……。

あとchar.pngを一回絶対パスで指定してみて。

645 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 23:50:43 ID:CMyXDagd]
>>641
表示されないというのが「エラーが出た」なのか、「何も起きない」なのかすら
わからないので、無限の可能性が広がります。

1. ファイル名が間違っている
2. 画像に使ってる色が透過色になってる
3. ファイルが存在しない
4. 画像がセーブできてない(セーブに失敗している)
5. パスの指定がうまくいってない
6. そもそもDXライブラリを初期化できていない
7. ウィンドウが出てない
8. 裏画面に書いたままFLIPしてない
9. メモリが足りない
10. コンパイルしてない、あるいはエラーが出ている
11. 実は環境がMac
12. ライブラリをインストールしてない
13. 使用しているディスプレイ、グラボの仕様/設定上表示できない色を使っている
14. 某サイトのソースにバグ
15. (CPUの)速さが足りない

646 名前:名前は開発中のものです。 mailto:sage [2008/08/13(水) 23:52:44 ID:k9pinPn+]
Releaseフォルダも試してみたら

647 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 00:10:37 ID:7xrMXFtW]
プロジェクトファイルだっけ?←拡張子がdspのやつ
とりあえずあれを含んだサンプルを拾ってきて、動くかどうか試してみる。
動くのを確認してからソースをオリジナルに書き換え、フォルダに画像を置いて動作確認。
というのはどうだろう?



648 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 03:20:37 ID:s4dRQS6A]
「横スクロールアクション」を作ってる最中なんだが、
同じカーソルキー二度押しでダッシュさせるサンプルコードを探してるが見つからない。

二度押し判定の仕方を教えてほしいの

649 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 03:33:41 ID:4cx2dJb5]
それくらい自分で考えてみようぜ
フラグやカウンタを使えばできる


650 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 10:06:19 ID:E3jqMQR0]
>>641
とりあえず動かしたいんだよな?
まず、プロジェクトの全部のフォルダにその画像全部コピーして実行してみろよ。
で、表示されたら1つずつ消して実行してみて、どれ消したら出なくなるか試してみるんだよ。

本当はカレントがどこか調べたり、フルパス指定したりするんだけど最初のためしなんだろうから、
それでやってみ。たぶんDebugの一つ上がカレントじゃないかと思う。

651 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 10:08:06 ID:E3jqMQR0]
ってbinができてるなら2008じゃなくて2005なのかな。
だったら別の場所かもしれん。

652 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 12:42:31 ID:E3jqMQR0]
って、、、、よく見たらC#なのか。
これC#から使うにはちょっとあれだが・・・
bin\Debug に入れたら動いたぞ。
(うちはVista64なんで正確にはbin\x86\Debug)

653 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 12:45:51 ID:E3jqMQR0]
ついでに、全ソース。
using System;
using DxLibDLL;

namespace WindowsFormsApplication1
{
static class Program
{
[STAThread]
static void Main()
{
DX.ChangeWindowMode(DX.TRUE);
DX.DxLib_Init();
DX.LoadGraphScreen(0, 0, "char.png", DX.TRUE);
DX.WaitKey();
}
}
}

654 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 16:59:16 ID:E3jqMQR0]
しかしDXライブラリを初めて使ってみたが、Vistaと相性悪い?

655 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 19:47:10 ID:Lwdz3ZLP]
そもそもVistaだったらDirect3D使うべき

656 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 22:28:58 ID:husrYnDZ]
>>654
そんなことないと思うけど。なんか問題あったか???

657 名前:名前は開発中のものです。 mailto:sage [2008/08/14(木) 23:20:36 ID:E3jqMQR0]
あー、入門向けの説明してる画像ずらして表示するやつ、キー入力待ちまで何もでないんだよね
まあ通りがかりに質問見つけてためしに動かしてみただけなので、もうちょっと見てみないと何とも言えないけど。
でもこの龍神録の解説はいいね。xnaに移植してみたくなった



658 名前:名前は開発中のものです。 mailto:sage [2008/08/15(金) 10:04:50 ID:c3xnj8Q3]
>>648
14歳〜、のアクションゲームサンプルに
「ジャンプ時にジャンプキーを受け付けないようにする」って解説がある、参考にしてみては?

659 名前:627 mailto:sage [2008/08/16(土) 02:31:00 ID:IJByLJ4E]
ソースを組み直したら表示されました。
単純なミスをしてたみたいでした。お騒がせしました。

画像ファイルはbin/debugに置くことで表示されました。
皆さん、アドバイスありがとうございました。

660 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 09:26:28 ID:tLttBDTG]
>648
入力をキューなりリングバッファなりに貯めて
コマンド成立判定の結果で状態遷移なりフラグなり変更

661 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 10:14:52 ID:QpDIrmnH]
「カーソルキー二度押し」とはどういう状況の事なのか、を
考えてみれば自ずと答えは出るだろう。


662 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 23:31:10 ID:7gLPM7hz]
DXライブラリで、STLって使えない?
クラスの配列を実装するのにコンテナのvectorを使いたいんだけど、
エラーを吐かれる。

>>232-233で、ヘッダに何か書いてある、と書いてあったから
DxLib.hをSTLでテキスト検索掛けたけど
(STLを半角にしても全角にしても)引っかからない。

本家掲示板過去ログ↓でそれらしき記述を見つけたけど、
ttp://hpcgi2.nifty.com/natupaji/bbs/patio.cgi?mode=past&no=560
#define DX_USE_VISUALC_MEM_DEBUG
ってどこにもないんだよね。
DxLib.hの147行目当たりに DX_USE_VISUALC_MEM_DEBUG があったから
それを含む数行のコメントアウトを外してみたけど反応は変わらないし。

663 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 23:42:01 ID:O36Whzxu]
>>662
オレは何の問題もなく使えてるよ

664 名前:名前は開発中のものです。 mailto:sage [2008/08/16(土) 23:54:42 ID:3Mm4zQJB]
>>662
(出来る範囲で)エラーメッセージを晒せば、詳しい人がトラブルシュートしてくれるかもよ。

665 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 01:34:05 ID:ewUKCOWb]
>>663-664 ありがとう。
>>663 何の問題も無く、とは、DxLib.hをいじったりしないで、ってこと?

とりあえず、最低限で組んだソースを晒してみる。
------
#include "DxLib.h"
#include <vector>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
        if(DxLib_Init() == -1){
                return -1;
        }
        SetDrawScreen(DX_SCREEN_BACK);

        vector<int> x;
        x.push_back(1);

        while(CheckHitKey(KEY_INPUT_ESCAPE)==0 && ProcessMessage()==0){
                DrawFormatString(0,0,GetColor(255,255,255),"x[0] = %d",x[0]);
                ScreenFlip();
        }

        DxLib_End();
        return (0);
}
------

666 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 01:34:45 ID:ewUKCOWb]
長くなったので連投失礼。

>>665のソースで吐かれるエラーは、
------
\main.cpp(10) : error C2065: 'vector' : 定義されていない識別子です。
\main.cpp(10) : error C2062: 型 'int' は不要です。
\main.cpp(11) : error C2065: 'x' : 定義されていない識別子です。
\main.cpp(11) : error C2228: '.push_back' の左側はクラス、構造体、共用体でなければなりません
        型は ''unknown-type'' です。
\main.cpp(14) : error C2065: 'x' : 定義されていない識別子です。
------
以上。

あ、環境書いてなかった。
VC++2008Ver9.0の、DXライブラリVer 2.24cです。

667 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 01:40:34 ID:tqDU34tR]
>>649,>>658,>>661
とんくす
何となく理解した



668 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 04:10:10 ID:mR8Ia0CQ]
>666
俺そんなに詳しいわけでもないんだけど、
std::vector<int> x;
これでどうだろう

669 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 07:39:51 ID:GOwvXjh7]
>>665
答えは>>668が書いてくれてるけど、
問題の切り分けができるようになった方が良いよ。

670 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 11:45:33 ID:ewUKCOWb]
>>668
cinとcout使わないからstdネームスペースを宣言していなかった。
ありがとう。
(っていうか「C++ vector」でググったら最初のページに『vectorはstdという名前空間内にあります。』って書いてあるじゃないか…)
>>669
精進します><

671 名前:名前は開発中のものです。 mailto:sage [2008/08/17(日) 12:35:36 ID:vVpxXEty]
using namespace std;
はいつもしとけば

672 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:02:21 ID:BAHHLEa/]
>>671
ヲイヲィ・・・・
使わないところで、そうやってnamespace使っちゃだめだろ。
なんのために名前空間なんて概念取り入れてると思ってるんだよwww

673 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 13:43:37 ID:XHbUdQA2]
逆にいつも使わなければ、この手のエラーは最初に食らってて変なとこ探したりしなかっただろうに。

674 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 15:29:16 ID:IR1SAisJ]
std名前空間なんて別にusingしといても問題ねーよ

675 名前:名前は開発中のものです。 mailto:sage [2008/08/18(月) 21:22:08 ID:XHbUdQA2]
今回の質問者には問題あったみたいだがw

676 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 01:06:47 ID:HNGx9BRt]
ループ毎に、ClearDrawScreenで画面をきれいにしてから描画していると、
画面の1/3に及ぶ大きなちらつきが出てしまうのですが…解消するには
どういった方法がありますか?

677 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 02:28:18 ID:H5en/Vi4]
それは本当にClearDrawScreenのせい?



678 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 03:17:38 ID:HNGx9BRt]
>677
すみませんでした。グラフィックボードの性能不足のようでした。
スレ汚し失礼しました

679 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 09:03:29 ID:Ck7KpSlS]
>>678
本当のグラフィックボードの性能のせい?
裏画面に描画してflipすれば治る類のものかもよ。

680 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 14:41:54 ID:HNGx9BRt]
>679
すみません、SetDrawScreenの位置がおかしいのが原因でした。
ありがとうございました。

681 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 15:45:05 ID:Pc0No+Vn]
本当のSetDrawScreenの位置のせい?
(ry

682 名前:名前は開発中のものです。 mailto:sage [2008/08/19(火) 20:42:56 ID:H2/ZmzLf]
お茶吹いたじゃねぇか!

683 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 03:18:08 ID:bLtEJeoI]
同じプログラムを、
解像度1024*768 32bitcolor,フルスクリーン
解像度1024*768 32bitcolor,ウインドウ

の両条件で実行したところ、ウインドウモードではfpsが平均して68以上だったのに対し、
フルスクリーンではせいぜい59.8程度で、60を超えることはありませんでした。
さらにSleep(20)のハンデを課して両条件で実行したところ、処理自体はフルスクリーンモード
の方が速いということがわかりました。
フルスクリーン時のfpsが頭打ちになっていたのは、垂直同期というのに関係があるんでしょうか?

684 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 04:09:13 ID:rRA8J1RI]
うん

685 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 04:13:55 ID:bLtEJeoI]
>>684
ありがとうございました!

686 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 09:29:37 ID:e8oi3kIG]
「画面のプロパティ」の「設定」→「詳細」のあたりにリフレッシュレートの設定があると思う。
おそらく60になってるだろうけど、それを70とかに変えて試してみると勉強になるかも。
(ディスプレイやグラフィックボードによっては対応してない場合もあり)

あと、↓の命令を使って垂直同期信号待ちを切ってみるのも勉強になるかも。
どうして垂直同期信号待ちが必要とされる場合があるのか解るかもよ。

SetWaitVSyncFlag  ScreenFlip関数実行時にCRTの垂直同期信号待ちをするかのフラグセット



687 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 09:43:38 ID:xrtLaobQ]
CRTのときは、60と70の差が大きすぎてすぐにリフレッシュレート上げてたけど、
液晶は見た目変わらんから60のまま、なことも多いなあ。



688 名前:名前は開発中のものです。 mailto:sage [2008/08/20(水) 18:57:24 ID:bLtEJeoI]
>686
ありがとうございます。
色々勉強になります。しばらく色々設定いじってみます

689 名前:名前は開発中のものです。 mailto:sage [2008/08/25(月) 03:13:19 ID:DGfm1VSy]
ニュートラル調べればいいだけだと思うよ

690 名前:名前は開発中のものです。 [2008/08/28(木) 13:33:11 ID:m65IXGpQ]
DXライブラリ3Dを使っています
メタセコイアでXファイルをつくりUVマッピングなどチェックをして保存しました
LoadModelでそのXファイルを読み込み
DrawModelで表示させるようにしましたが

起動すると LoadModel 0番目のテクスチャ C:\...................... TEST.bmp
が見つかりませんと
でます
対処方法を教えてください

691 名前:名前は開発中のものです。 mailto:sage [2008/08/28(木) 13:38:24 ID:TltG6Uz7]
C:\...................... TEST.bmp はあるの?

692 名前:名前は開発中のものです。 [2008/08/28(木) 13:49:15 ID:m65IXGpQ]
>>691
同じフォルダ内にあるんだけど
他の、サンプルにある Sky1.X は、テクスチャも貼られ表示できました
ちなみに
Xファイルを開いて、TextureFilename のところを 
C:\.........TEST.bmp
から
TEST.bmp
に変えると表示されました

693 名前:名前は開発中のものです。 mailto:sage [2008/08/28(木) 17:26:33 ID:BAQFIkd7]
>>692
マルチバイト文字を使用する設定を確認してみてはどうか。
携帯からエスパー。

694 名前:名前は開発中のものです。 [2008/08/28(木) 18:50:54 ID:JopJTyIq]
というかドライブから指定するもんか?

695 名前:名前は開発中のものです。 [2008/08/28(木) 21:28:08 ID:dfxzS5Cd]
実行されたディレクトリを取得して
そこからの相対パスで書いとくのがいいんじゃないかな

696 名前:名前は開発中のものです。 [2008/08/29(金) 18:08:45 ID:f6mFLVdV]
結局自力解決したのかどうなのか

697 名前:名前は開発中のものです。 [2008/08/29(金) 18:38:30 ID:HzuC4F0t]
>>696
手直しでファイル名を指定することにしました
めんどいね



698 名前:名前は開発中のものです。 mailto:sage [2008/08/29(金) 18:41:09 ID:smutsiJt]
そもそもxにフルパスで書かれるのはどうなんだ?
うちの環境じゃそうならないが・・・

699 名前:名前は開発中のものです。 mailto:sage [2008/08/31(日) 18:49:33 ID:vgAWOJQZ]
グラボの関係か、320*240*16BITでつくってるゲームをフルスクリーンで表示しようとしても、拡大されず、左上4分の1だけゲーム画面で、あとの4分の3は真っ暗!
みたいな状況になってしまう。
なにかいい解決方法ありませんか?;

700 名前:名前は開発中のものです。 mailto:sage [2008/08/31(日) 21:00:40 ID:9t3mvfZS]
>>699
>>610

701 名前:名前は開発中のものです。 mailto:sage [2008/09/01(月) 10:37:37 ID:fhLFDpft]
ってメタセコイアの環境設定で指定したフォルダ以外を指定するとフルパスになるな。
こういうもんなのか。

702 名前:名前は開発中のものです。 mailto:sage [2008/09/01(月) 13:48:16 ID:dabOwcbj]
>>701
そんなもんだ。
メタセコなら毎回フルパスを消して相対パスにせないかんですよ

703 名前:名前は開発中のものです。 [2008/09/02(火) 09:43:44 ID:hFsfLIz7]
>>702
やっぱりそうか。
>>698
のようなこともあるのかと、ぐぐってみたが、なかった

704 名前:名前は開発中のものです。 mailto:sage [2008/09/02(火) 10:05:31 ID:b2f1Qmol]
環境設定でピクチャのフォルダ指定して常にそこ使ってるとパスが入らない、

705 名前:名前は開発中のものです。 mailto:sage [2008/09/09(火) 15:20:40 ID:CoW+esAW]
三角関数などを利用して求めた移動量は基本的に少数の形をとるため、実際に
描画する際には整数にしなければなりません。しかし、そうすると移動量の値に
差が生じてしまい、ずれた方向に進んだりしてしまいます。
今は、定期的に移動量計算をやり直して進路を修正しているのですが、何か他に
良い方法はありませんか?

706 名前:名前は開発中のものです。 mailto:sage [2008/09/09(火) 15:26:39 ID:HJ9D2qDN]
>>705
俺は座標や移動量などは全部小数で扱って、描画するときだけ整数にしてる。

707 名前:名前は開発中のものです。 mailto:sage [2008/09/09(火) 15:36:50 ID:CoW+esAW]
>706
型変換のタイミングを延ばして、誤差を最小限にするんですね
ありがとうございます。



708 名前:名前は開発中のものです。 mailto:sage [2008/09/09(火) 20:28:23 ID:xHkBaHNO]
普通に関数名の最後にFがついた奴で表示すればいい

709 名前:名前は開発中のものです。 mailto:sage [2008/09/10(水) 00:44:13 ID:KDatiZii]
>708
ヘッダを覗いたらありました!
ありがとうございます!

710 名前:名前は開発中のものです。 mailto:sage [2008/09/10(水) 10:33:12 ID:pAofywHU]
久々に来たら自分のカオスソースを見てしまったw

711 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 09:05:11 ID:teQENKcK]
>705
亀ですまんが、固定小数点とか楽じゃない?


712 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 09:59:40 ID:OOndKDeu]
>711
ありがとうございます。調べてみましたが、なかなか計算速度が向上しそうです。
C,C++では標準でのサポートはされていないようですが…
それも視野に入れて作っていきたいと思います。

713 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 10:13:19 ID:Ln37Pw6J]
>>712
難しく考えないでもよほど大きな座標系じゃない限り
浮動小数点でずれが発生するなんてめったにないぞ・・・。

何か間違ってないか?
あと固定小数点は標準のサポートとかそういうんじゃなく、
はるか古来からある基本的な手法の一つだぞっと。

714 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 10:46:48 ID:teQENKcK]
>712
要はさ。

座標とか、例えば全部100倍した値で保持しておいて、
実際に表示する時だけ1/100にすればいいんでね?って発想。

実際に使うなら、もうちょっと応用しなきゃならないだろうけど、
これだけでもfloatよりは速い場合があったりする。

715 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 15:47:20 ID:OOndKDeu]
>713 >714
そういうことですか。すみません、少し勘違いしていました。
ただ、入力→変換(割り算など)を考えると実感が湧かないので、
とりあえず、クラス化して実際に速度を比較してみます。

716 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 15:56:24 ID:jUmbsVEt]
>例えば全部100倍した値で保持しておいて

128倍とか、二の倍数の方が早いかも、と考えるのは古いかな。

717 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 16:38:27 ID:SPZ9dRlM]
たとえ話でわかりやすい10進にしてるであろうのにこの突っ込みはかわいそう



718 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 17:58:49 ID:jUmbsVEt]
いや別にそれが悪いと言ってるわけじゃないって。

719 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 18:00:25 ID:77ztokxP]
僕は5年前HSPというスクリプトでシューティングを作ってたのですが、
整数しかサポートされてなかったので、10000倍にバイアスかけて
描画の時だけ10000で割ってました。
画面が6400000 * 4800000あると仮定していました。
はいはい、よかったでちゅねー僕。

720 名前:714 mailto:sage [2008/09/13(土) 18:15:00 ID:Craygg7f]
>716
ちなみに自分の場合は、ビットフィールドを使ってるので割り算すらしてません

721 名前:名前は開発中のものです。 mailto:sage [2008/09/13(土) 21:55:19 ID:Ln37Pw6J]
>>720
まぁビットフィールド使うよりシフト演算使ったほうが速度的には速いんですけどね。


722 名前:名前は開発中のものです。 mailto:sage [2008/09/14(日) 09:22:56 ID:GkehiKsz]
>721
計測したところあんまり変わらなかったので
シフトさせるよりビットフィールドの方が見やすいかなと。(ぱっと見たら構造体っぽいし)

723 名前:名前は開発中のものです。 mailto:sage [2008/09/17(水) 17:38:25 ID:tRpYcu/9]
みなさんはDXlibで光や水、炎、煙などはどう表現してますか?
元画像とαパターンを用意してアニメーションさせる、
半透明のパーティクルを多数描写して表現するなどの方法が考えられますが
他に効率の良い方法やより良い表現方法などはありますか?

724 名前:名前は開発中のものです。 [2008/09/17(水) 18:02:15 ID:jRvaVjUa]
>>723
チミは、どうやってるの?

725 名前:名前は開発中のものです。 mailto:sage [2008/09/17(水) 18:34:02 ID:tRpYcu/9]
>>724
実はまだαブレンドを使ったことが無いんです
依然作った爆発のエフェクトは透明度0のアニメーションパターンを
大量に描写するという力技をやったのですが非常に見づらくて・・・
いずれαブレンドと使うときの参考に聞いてみたくて

726 名前:名前は開発中のものです。 mailto:sage [2008/09/17(水) 20:41:09 ID:UL3sHJKU]
>723
ドット絵で爆発パターンを用意して、普通にアニメーションさせるのは?
どういうゲームを作るのかにもよるだろうけど、十分綺麗だよ。


727 名前:名前は開発中のものです。 mailto:sage [2008/09/18(木) 05:58:52 ID:0k0SxurY]
αブレンドは非常に便利ですよ〜。
とりあえずスーっと消えていく表現をするのはアルファブレンド無しには無理では。
光は単純に加算ブレンドすれば表現出来ますよ。
水はモワモワした明るさのむらがある画像を同様に加算ブレンドで
適当に動かしながらブレンドすれば所どころ輝度が明るくなるので
水がキラキラしてるみたいに見えます。
・・まぁこればかりはサンプル見ながらじゃないと理解は難しいでしょうけど。
煙もフォトショとかで適当にモワモワした画像を用意して重ねて表現してますね〜。
爆発だけは私の技量じゃ無理なんで、予め用意した画像をまわして
アニメーション作っています。



・・・ところでDXライブラリ使って皆さん
どんなゲーム作っていらっしゃるんでしょう〜?



728 名前:名前は開発中のものです。 mailto:sage [2008/09/18(木) 22:23:53 ID:rk0RvkW2]
>>726
メタルスラッグの爆発アニメーションはすごいですよね
あそこまで出来れば小手先でごまかす必要な無いんでしょうけど・・・

>>727
なるほど、加算も工夫次第でいろいろ使えそうですね

729 名前:名前は開発中のものです。 [2008/09/19(金) 11:13:43 ID:1wZmK+F1]
>>727
ソース見せてくれませんか?

730 名前:名前は開発中のものです。 mailto:sage [2008/09/19(金) 14:14:52 ID:ULXARkZB]
ソース見ても役に立たないのでは・・・
こういうのは素材が大事だ


731 名前:名前は開発中のものです。 mailto:sage [2008/09/19(金) 16:47:32 ID:EknoqLgk]
素材は俺が提供するから>>729にソースを見せてやってくれ

732 名前:名前は開発中のものです。 mailto:sage [2008/09/19(金) 21:14:53 ID:mE2W/Vvh]
D言語のためのDXライブラリです
本家が対応するまでのつなぎみたいな感じでひとつ
gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0318zip.html

733 名前:名前は開発中のものです。 mailto:sage [2008/09/19(金) 21:29:59 ID:QOxm/m8e]
スレチかもしれないけど、D言語って統合開発環境あるの?

734 名前:名前は開発中のものです。 mailto:sage [2008/09/19(金) 21:41:57 ID:a5236E0O]
Eclipseでいいじゃん

735 名前:名前は開発中のものです。 mailto:sage [2008/09/20(土) 01:32:06 ID:B0XkaKvg]
>>729
>>731
わかりました。・・で作ってみたんですが、
サンプルコードは素材が無いと書けないのでココに置いときます〜。
l.huu.cc/zip/sample.zip
VisualStudio2005Proのプロジェクトも一緒においておきました。
サンプル見るだけなら実行ファイル開いてもらったらOKです。
人に見せれるようなコードじゃないんですがね;
しかも特にエフェクトの勉強とかしたわけじゃなく、
勝手に考えたんで、責任持てませんよ・・。
私も爆発エフェクトはうまく作れないので、
よい情報あったら下さいまし。

736 名前:名前は開発中のものです。 mailto:sage [2008/09/20(土) 04:59:41 ID:cpqyoWS/]
別人だが、参考になったわ。
結構綺麗に出来るのね。……重さとかは大丈夫?

737 名前:名前は開発中のものです。 [2008/09/20(土) 08:43:52 ID:ipBgWeEu]
>>735
729です
大変参考になりました。かっこいいね。

www4.point.ne.jp/~shishi/htr_mk/moh_exp.html
こんなの作ってみたいが、まだスキルが足りない。




738 名前:名前は開発中のものです。 mailto:sage [2008/09/20(土) 10:23:08 ID:U4g9HCW0]
>>735
特定しました
あなた様のコードはいつも参考にさせて頂いておりますo(*_ _)o

739 名前:名前は開発中のものです。 mailto:sage [2008/09/20(土) 11:53:39 ID:LKrEZzcd]
>>735
龍神録の人でしたか
いつも勉強させてもらってますー

740 名前:名前は開発中のものです。 mailto:sage [2008/09/20(土) 13:28:20 ID:B0XkaKvg]
>>736
重さは多分大丈夫じゃないです;
300回も上書きブレンドしているので、結構な重さにはなっていると思います。
ただいつも通常使ってるデスクトップとわざとちょっと昔のノートと2台で
作ってるんですが、そっちで処理落ちしなければ大丈夫だと勝手に決めてて(ぇ
これは処理落ちしなかったのでまぁ許容範囲かなとは思います。

>>737
おぉ、99年からこんな物が作ってるなんて、一体レンダリングに
何日かかったんだろう・・。
普通にジブリの新作か何かかとすら思いました。

>>738
>>739
どうもありがとうございます。恐縮ですm(_ _)m

741 名前:名前は開発中のものです。 mailto:sage [2008/09/21(日) 20:07:55 ID:TkLJpNfR]
>>740
 ちょっとスレ違いかもしれないけど質問です。水面や地形のテクスチャはどのように作っているのでしょうか?


742 名前:名前は開発中のものです。 mailto:sage [2008/09/21(日) 23:01:36 ID:kM+tIHw+]
740です。
私はですが、普通にフォトショップというソフトでマウス使ってひたすらカキカキしてます。
GIMPとか別にソフトは何でもいいと思います。
ペンタブレットがあるといいんでしょうけどね・・。
龍神録の背景製作しているときは、京都の近くに住んでるんで、
あらゆる観光名所まわって素材になりそうな写真沢山とってきて、それ見ながら描いたりしました。
光の素材は適当にフォトショで線を何本かかいた後、
適当にぼかしてはグニャっとまげ、回転したり、またぼかしたり色々やってあんな
形にしてみました。
フォトショの色んなテクはmixiのフォトショコミュとかはいると結構参考になる
テク入手できますよ。

743 名前:741 mailto:sage [2008/09/22(月) 11:09:21 ID:QYShp17z]
>>742
 何か専用のツールとか使っているのかと思っていたのですが、
手描きであそこまで仕上げられるとは・・・凄いです。
自分も勉強してみます。


744 名前:名前は開発中のものです。 [2008/09/22(月) 14:41:02 ID:gqBSy5fA]
>>742
rスパロボの戦闘画面みたいなの、つくれる?


745 名前:名前は開発中のものです。 [2008/09/22(月) 14:43:17 ID:gqBSy5fA]
www.suparobo.jp/srw_lineup/srw_ogps/system/index.html
こんなかんじのやつ

746 名前:名前は開発中のものです。 mailto:sage [2008/09/22(月) 14:45:41 ID:wx7vpqDz]
それは何を使うかというより使う人の技術の問題だろ

747 名前:名前は開発中のものです。 mailto:sage [2008/09/22(月) 16:10:45 ID:WbUOCRNA]
つーか、そんな事訊いてどうするつもりかと。



748 名前:名前は開発中のものです。 mailto:sage [2008/09/22(月) 22:06:12 ID:mAu1LxBS]
素材があってもビルボードとかの技術がないと無理だな

749 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 01:01:13 ID:x39CpwhV]
私は絵がうまくないので、参考にならないと思います‥。
龍神録に出てくるアイシャとリリアの絵はスタッフロールにあるファンタG君に
書いてもらったのですが、絵のうまい彼はペインターとフォトショで書いてるようです。
まぁwindows標準のペイントでも神画像作ってる動画もある位ですし、
どんな絵がかけるかは、ソフトの問題じゃなく、
その人の絵のセンスかと思いますよ。

750 名前:名前は開発中のものです。 [2008/09/23(火) 07:22:43 ID:Kj+y16lm]
これからDXライブラリでゲーム作りをしようと思っているのですが
始めるに当たって、みなさんに相談お願いしたいです

C#で開発できるらしいですが、C#用のライブラリって↓のサイトのやつでいいんでしょうか?
totora.jpn.org/archives/2006/04/c_directx.html

ただ、このサイトを見ると試作段階でバグがあるかもということですが
C#で開発されている方、そういう面はどうでしょうか?バグとか多いですか?

751 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 09:21:14 ID:OI9+VwfD]
>>750
C#用のラッパーは公式サイトで配布されてるからそっち使え

752 名前:名前は開発中のものです。 [2008/09/23(火) 09:33:01 ID:Kj+y16lm]
>>751
おおぉ、よーく探したらこっそり置いてありましたねw
有難うございます。

それにしても、C#で開発できるとかかなり便利ですよね
オブジェクト指向で言語仕様も簡単だし、.netライブラリも充実してるし。

疑問に思うのですが、このライブラリを知るまでは
C#でDirectX使うには、XNAかマネージドDirectXしか無いと思ってたけど
DXライブラリで普通に使えるんですね、、なんで普及しないんだろ。

753 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 09:49:46 ID:D0JwYXSu]
2D専門だから
初心者が始めるのにはC#はいいが
CやC++使いもしくは他言語から移るメリットが少ない

754 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 09:57:52 ID:OI9+VwfD]
>>752
SlimDXオススメ

わざわざC#でゲーム作ろうとする人って、C#しか使えないんじゃなくて
C#(言語)や.NETのクラスライブラリが使いたいのが理由の人が多いんだと思う
だから初心者向けのDXは需要がないんじゃないのかな

755 名前:名前は開発中のものです。 [2008/09/23(火) 10:35:17 ID:Kj+y16lm]
>>753
なる

>>754
そそ、.NETのライブラリが便利すぎなんだよ
あと、普段業務PGやっててJavaとかC#の純オブジェクト指向言語のが慣れてるってのも理由のひとつ。

SlimDXね、調べてみるわ。


というか、ここのスレの雰囲気いいよね、技術系スレなのに人当たりがいい人が多い。

756 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 12:50:54 ID:5UTvGJHb]
とか言われると荒らしたくなる俺

757 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 13:04:41 ID:hqjnHrp3]
>技術系スレなのに

どういう意味だそりゃw



758 名前:名前は開発中のものです。 [2008/09/23(火) 14:23:55 ID:YaNZJWA2]
>>757
ム板とか行ってみるとわかるんだが
大体の技術系スレは殺伐としてる

759 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 15:32:55 ID:fd+roZoC]
年齢層が結構高いという理由もある。スレにもよるが。

760 名前:名前は開発中のものです。 mailto:sage [2008/09/23(火) 15:33:30 ID:2tYhKJm3]
C#orVB.netのManaged DirectXはかなり遅いのが難点。
ただし作るのが楽チン。スキンメッシュとかうごかしたらかなり
遅いからすぐにわかるとおもう。
逆にいうと、動かさない、3Dシュミレーションゲームとかなら
ぜんぜんこっちのほうが速く作れるからお勧め。
HLSLもつかえるし。



761 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 06:05:47 ID:mdCTmiao]
>>759
昔は若かったがなw
そのまま住人が居つくから平均年齢が高くなってきたんだな。

762 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 07:35:30 ID:/MicH7DQ]
スレによって年齢層違うっしょ。
バイク、車、他各専門系のスレに小中学生とかが大半を占めてるはずないし。
ここは比較的技術・専門系ということになるのでは

763 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 10:02:33 ID:yBTZmmoT]
Cのインターフェイスそのままじゃなくて、C#向けにちょっとだけ整理したラッパーを作ってみようかな
需要ないだろうけど

764 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 10:26:09 ID:KcJa/Ki0]
いくつかやってるとこあるみたいだけど途中で止まってるみたいだね。
本家のは使えないしな。

765 名前:名前は開発中のものです。 mailto:sage [2008/09/24(水) 11:11:18 ID:yBTZmmoT]
まあDXライブラリくらいだったら、ラッパー書くんじゃなくて
自分で1から作っても手間はそんなに変わらなかったりするしなあ

766 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 16:53:52 ID:uI0814jI]
>>735
見ようみまねでつくった爆発。
DXライブラリがよくわからなかったのでDirectXで作りました。
ttp://f42.aaa.livedoor.jp/~imawaka/imgboardphp/src/1222415388760.jpg

767 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 17:28:56 ID:sIk1E79K]
静止画で出されても困るような・・・
そういう小さい爆発なら生成ツールがいくつかあったぞ
俺は発色弾というのを使ったことがある




768 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 18:26:54 ID:uI0814jI]
>>767
動画にしてみました。
ttp://www.nicovideo.jp/watch/sm4746296


769 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 18:42:43 ID:4I0Ae3rZ]
いい出来だと思うけどUPするならGIFのほうがいいよ

770 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 21:24:32 ID:p7KUPS5V]
おー見ましたよー素晴らしい。いいですねぇ。
手の込んだ事をするならDirectXでってことになっちゃいますよね。
なんとかDXライブラリで出来ないものか・・。

この動画をキレイに一つの素材として黒い背景に動画をαブレンドすればいいんでしょうけど、
背景が真っ黒じゃなかったら光ったエフェクトになりそうですね。
動画にPNGみたいな「透過色」ってのがあったらいいのに・・。

PNGの背景透過色にして、PNGでこの爆発エフェクトを連続写真のようなもので
出力することって出来ないんでしょうか?

771 名前:名前は開発中のものです。 mailto:sage [2008/09/26(金) 23:36:24 ID:vO2a+ZXl]
必死でPrtScr!

772 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 01:50:43 ID:yFXnQ0DO]
いや、これならDXライブラリでもできるでしょう
火炎部分の加算と黒煙部分のアルファブレンドの組み合わせだよ

773 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 04:58:22 ID:S56hocnM]
>>771
動画を静止画に分割したとしても、背景が白ではそのままでは加算するしか・・。

>>772
そう言われてみたら何となく出来そうですね。やってみます。

774 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 11:20:08 ID:sqmsiBjv]
確かに一つ一つをモワッと広げながら表現すればそれっぽくなりそうですが・・
火炎部分の絵をフォトショで頑張って描いてみましたが大した絵がかけず失敗orz
う〜ん、素材がうまく作れないので絵心が無い人は損ですね・・。

>>772
もし簡単に出来る方法があれば、教えてもらえないでしょうかm(_ _)m

775 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 16:17:16 ID:0o9es7Z8]
シューティングとか作ってて気がついた。敵にショットが当たって炸裂する爆発が快感なんだと。

爆発エフェクトって大事だよね。

776 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 16:26:47 ID:co8TOWn8]
でも爆発エフェクトのせいで見難くなったら逆にストレスたまる。

777 名前:名前は開発中のものです。 mailto:sage [2008/09/27(土) 22:59:52 ID:6fULJcpY]
DXライブラリでゲームを作ろうと先週『14歳で〜』シリーズの一番新しい奴買ってきたんだが、
確かにわかりやすいけどえらい誤字脱字多いのな。
そういうのも含めて勉強になるから別に良いんだけど、初版の参考書って皆こんなもんなんだろうか。



778 名前:名前は開発中のものです。 [2008/09/28(日) 00:13:39 ID:2mgnfi1g]
>>777
そんなに多いの?俺の持ってるその作者の別の本は初版でもほとんど間違いなかったけど。
その作者の本は神認定されるのとクズ認定されるのとがあるらしいからなぁ。

779 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 03:18:28 ID:j9AQSBAF]
ちょっと読んでみたけど、書くべきではないコードの書き方があちこちあった。
全体的にもそうだけど、部分的にも。
あのコードのままコンパイルしたら通っても、
ちょっと改造しようとすると応用が効かないというか。

780 名前:名前は開発中のものです。 [2008/09/28(日) 04:50:05 ID:2mgnfi1g]
>>779
分かりやすければいいんじゃない?
サンプルは応用じゃなくとりあえず理屈が分かるのが大事だから。
まぁ個人HPならともかく書籍なのにコードが間違ってるのは致命的だけどw

781 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 11:51:21 ID:rt+m1aEe]
>>778
買ったのはこれ、今年の5月が初版になってる。
ttp://www.amazon.co.jp/dp/4899772173

まだ半分も読んでないんだが、誤字や脱字、あと気になる箇所をメモったのが↓
ttp://upload.jpn.ph/10/bin/bin0016.txt

最初に書いたコードから追加していくタイプの参考書なので、
追加する際に置換・削除するコードはグレーで表示して欲しかった。
それを除けば理解しやすいし、良質な参考書だと思う。

782 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 12:58:09 ID:j9AQSBAF]
>>781
>▼P90
そうそう、779で言ったのはこれの事。
立ち読みしただけだから所々しか読んでないけどそれでも
色々おかしな記述があったの覚えてる。
0xffffffとか何色示したいか知ってる人にはわかるけどね、
何ビット表示かでかわるし、まさか18273みたいな指定の仕方する人は少ないかと。

それから1リフレッシュより短時間の待機はWaitTimerよりもSleepでするべきだと
思うけど(WaitTimerはメッセージ処理するから、Sleepより重くなる)Sleep使ってない。
ゲーム画面をDxtoryやDxrecでキャプチャさせること考えると
ゲーム中なるべくSleepした方がいい。

著者は知ってて端折ってるならいいけど、あちこち後々必要になりそうな
気のきいた記載がないんだよね。

783 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 13:01:44 ID:0G4fpLoL]
しかしこれだけの間違いを理解できる人が、
『14歳で〜』シリーズなんて買う必要があるのだろうかw

784 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 14:47:52 ID:AquToWxE]
>>783
まったくだw

785 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 15:29:04 ID:+XQvTJub]
SleepはDXライブラリの関数じゃないからその指摘は酷じゃないか?

786 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 15:52:18 ID:rt+m1aEe]
>>783
自分はDXライブラリ初めて触るので、ほんとに1ページから順に読んでいってるのよ。
C言語も自分の中では少し怪しいので、第二章のC言語講座の部分も含めて。

787 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 19:34:55 ID:7o0RXMy3]
Sleep関数はDXライブラリの関数じゃないにしても、
DXライブラリの中でインクルードしてあるから、デフォルトで使えるし、
いいんでないかと思ったけど。
まぁ本の題名からしたら14歳が理解出来る程度のことがかいてあればいいのか・・。



788 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 20:58:48 ID:B4kDiXQP]
14歳からゲーム作ってたらさぞかし技術高いだろうな・・

789 名前:名前は開発中のものです。 mailto:sage [2008/09/28(日) 21:08:13 ID:q2E7P3mH]
雑誌見ながらぽちぽちBASIC打ち込んでた頃だな……。
未だにあの頃からレベル変わってねー。

790 名前:名前は開発中のものです。 mailto:sage [2008/09/29(月) 01:33:40 ID:xeNsWOz5]
>>788
実際には14で神童・・20過ぎればみたいに3,4年で飽きてしまうやつがほとんどだと思う。
それは昔のBASIC(DXライブラリの作者もこの時代の風潮を参考に開発してる)も証明してるし。

791 名前:名前は開発中のものです。 mailto:sage [2008/09/29(月) 04:35:27 ID:/M4YHcOb]
>>788
80年代の雑誌見てると小学生が投稿しているからなぁ

792 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 20:57:59 ID:rXm6vOwJ]
ゲーム開発で必ず付き纏う問題の一つにゲームスピード調整があるけど、
色んなやり方や宗派があるからあまり触れられないよね。最重要なのに。
BASIC時代は無意味なforループでウェイト掛けたりしてたけど、
DXライブラリ使って初めてゲーム作る人は、第一作目はそんな感じの環境依存コードになるよね。

793 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 21:06:49 ID:xFCytqH2]
ScreenFlipが勝手にウェイトかけてくれるもんでそれをあてにしてたら
結構あてにならん事を後に知って色々いじる事になった……。

794 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 21:28:05 ID:rXm6vOwJ]
>>793
モニタ毎のリフレッシュレート依存だし、リフレッシュレートに追いつかない重い処理だった時に処理落ちするからね。
でも結構そういう人多いんじゃない?
仮にリフレッシュレート固定だとしたらかなり精度の高いタイマーだけどね。

795 名前:名前は開発中のものです。 mailto:sage [2008/10/02(木) 22:59:58 ID:xFCytqH2]
理論的にはそのはずだけど
俺、かなり無茶で非効率なプログラミングしてるのに
リフレッシュレート60でほとんど処理落ちしてない。
メインPCはそこそこ高性能だから当然だとしてもちと古い型のノートPCでもそうだから
よっぽど無茶な事をするか非効率なプログラミングでもない限り処理落ちの心配はないんじゃないかなぁ。

ScreenFlipの問題点はそういう処理落ちの部分じゃなくて、
リフレッシュレートを60以外にしている人の場合とか、
ウィンドウモード時にどうなるかよく解らない点とか、
環境によってはScreenFlipで垂直動機信号待ちをされない場合があるとか、だね。

796 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 00:19:28 ID:yPJm/pNJ]
>>795
えと、要するにそういう事が言いたかったんだが。。

797 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 01:42:26 ID:hF4QIbOk]
この場合、「ゲームスピード」って表現はおかしくないか?



798 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 02:36:20 ID:yPJm/pNJ]
どの環境でも同じスピードで動く、って意味だからいいんじゃない?
たとえばキャラクターがゲーム画面の端から端(仮に800dot)まで動くのに1秒掛かる仕様だとしたら
どの環境でも同じ1秒掛からなくちゃいけない。
この場合、800dot/秒を基準にすればScreenFlipでも問題ない。
リフレッシュレートが上がれば上がるほど滑らかに動いてるように見える。
ただ、この場合、時間を基準にしてるのでゲームがアクティブじゃなくてもその分動く。
>>795のようにリフレッシュレートによって移動量が変わっちゃうのはメインループの1ループ単位で移動量を計算してるからだと思う。
プログラミング的には全体を一つのインクリメントカウンタで統一するとわかりやすいけど、
ScreenFlipでウェイトする時間がリフレッシュレート依存だからマルチスレッドでカウンタを取るのがいいのかな?
あと、ScreenFlipしてるのに(垂直同期を待ってるのに)fps制限してる人を見かけるけど、
デメリット以外ないと思う。

799 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 03:13:27 ID:hF4QIbOk]
でもまあ、単に「ゲームスピードの調整」って言われると
「処理能力や画面の更新に伴う、開発者が意図しないゲームスピードの上下」をなくすこと
……だとは連想しないんじゃないかな?

少なくとも自分なら、
名作「パックマン」は、製品化するときに移動速度を開発版の半分に下げた……という逸話とか
そっちを思い出す。

最初の>792に関しては、その後に「FOR文」や「環境依存」の一文があるから、ちゃんと伝わったっていうだけで。


>798
メリットはあるんじゃない?
最初からリフレッシュレートが一定という前提なら、開発は楽だと思う。



800 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 03:18:21 ID:PvtXyZlD]
>800dot/秒を基準

移動量を時間で算出するってやり方自体は知ってるけど、
シューティング等のリアルタイムゲームにはまだ使った事ない。

1ループにかかった時間で移動量を計算して当たり判定とかしてると
リプレイで微妙に違う結果が出たりしそうな気がするけど
そういうのはどうしてるんだろ。
結果ごとリプレイデータとして記録すんのかな。
(俺はプレイヤーのキー入力のみを記録してリプレイさせてる)

ここまでくるとDXライブラリとは関係ない話になるな……。

801 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 10:11:58 ID:IDZqQXIh]
>>732
遅レスだけど、ありがたく使わせていただきます。

ところでDXライブラリのWikiができたね。
公式の掲示板で紹介されてる。


802 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 10:32:53 ID:Kjf6RT0i]
書籍へのリンクにアフィリエイト咬ませてるけど、
こういうの嫌いな人はこなくなっちゃうよ

803 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 12:06:45 ID:STmnJXOA]
>>802
同感

804 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 12:06:59 ID:Oi7lrYWp]
つまり、他人が作ったもの(DXライブラリ)をネタにして
他人に知識を収集(Wiki)させておいて、
自分だけが稼ごうとして
宣伝してまわってるわけですか。

805 名前:802 mailto:sage [2008/10/03(金) 18:01:41 ID:Ot6EbYXZ]
うは、誰か本家の掲示板にも書いたのね
アフィリはしてもいいと思ってるんだよね。ジャンルは違うけど俺もwikiにアフィリつけてたりするし
DXライブラリ使ってる人はパソコンとかネットに詳しいから、アフィリ嫌いの人多そうだな、と


806 名前:名前は開発中のものです。 [2008/10/03(金) 18:10:10 ID:Ot6EbYXZ]
モザイクを使ったトランジションを試したいがさっぱりやり方がわからん

画面上の各ピクセルの色を取得

画面を4*4とか16*16とかのブロックに分ける

取得した各ピクセルの色からブロックごとに塗る色を決める

ブロックごとに色を塗る


みたいな感じなのか?
リファレンスにも載ってるけどGetPixelで620*480ピクセルの色を取得すると
処理に時間がかかるよー

807 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 18:17:38 ID:dkSGiujY]
アフィくらい別にいいだろ、と思ってwiki開いてみたら、
一番目立つ場所に何カ所もベタベタ貼ってあって噴いた
儲ける気満々ですな

無料wiki借りた方がマシじゃねえか・・・
これで「皆様に役に立てば」はねーだろw



808 名前:名前は開発中のものです。 [2008/10/03(金) 18:27:00 ID:VQ82xcw5]
ブロックの処理を1ピクセルずつじゃなくて、2とか4ピクセルずつにすればどうだろ
2だと( for( x=0 ; x < BLOCK_SIZE ; x +=2 ) for( y=0 ; y < BLOCK_SIZE ; y += 2) )
処理量は1/4、4だと1/16だよ

809 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 18:32:29 ID:IDZqQXIh]
>>806
リファレンスのGraphLockのサンプルを見るべし。
画面が入っているメモリを直接触れます。

810 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 19:04:13 ID:Ot6EbYXZ]
>>808-809
なるほど、試してみます
ありがとうございます

811 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 21:10:17 ID:STmnJXOA]
Wikiやるなら形だけでもいいからあの管理人様に是非開いてもらいたい。
後は有志が編集すればいいんだから。

812 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 21:38:21 ID:IDZqQXIh]
wiki増えた。2つもどう使えとw
おそらく旧wikiは自サイトの1コンテンツという位置づけなんだろうけど。
なんか私の発言のせいでややこしくなったみたいで申し訳ないなぁ。


813 名前:名前は開発中のものです。 mailto:sage [2008/10/03(金) 21:47:22 ID:dLMvhKrF]
儲けようという魂胆が見えてヤだ、というよりは、
よほどの大手でも無い限りたいした収入があるわけでもなし、見やすさを選ぶべきでは?
……と思ったり。

単に目立っているだけの広告はクリックされない、という説も。
アフィで儲けようとするなら、まずは中身を充実させ、読みやすさを確保しないと誰もクリックしないのよ。

814 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 00:15:42 ID:zK8i70T1]
そもそもWikiなんているんかいな。

815 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 00:27:51 ID:ijutKGs3]
確かに
公式のリファレンスさえあれば、あとはロジックの問題だし

816 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 05:03:32 ID:qgQalxJc]
どうせやるならDXライブラリの非公開関数の解説やってほしいですねぇ。
すごくいい機能の関数なのにリファレンスで紹介されていないもの山ほどありますし。
いちいちヘッダファイルみて一行しかない注釈で使い方想像しながら
試行錯誤してみるのはめんどうですよねぇ・・。

817 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 05:28:37 ID:SaRl2Wd2]
>>814
確かに公式があれだけ充実して以上必要性薄いよね



818 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 05:37:31 ID:SaRl2Wd2]
>>812


www.dkut.flnet.org/dxlibwiki/

www.dkut.flnet.org/DxLib/

なるほど。広告は減ってるね。

819 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 07:30:52 ID:IJgnY5No]
非公開関数の解説はいいねー
あとはリファレンスに乗ってない引数の使い方解説とか

820 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 08:47:37 ID:aj2d0pp/]
非公開関数はあくまで非公開(動作保証対象外)なんだから
可能な限り使うべきじゃないと俺は思うんだけどなー。

821 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 12:51:38 ID:DC8s5W3X]
そうなんだ
バンバン使ってるおwwww

822 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 16:12:07 ID:qgQalxJc]
でも使いたい人は使ってくれってことでヘッダファイルにわざわざキレイに
注釈付きでかいてあるんだろう?
DXライブラリの幅は非公開関数でグンと広がるし、
ドンドン使っていけばいいと思うけどなぁ。
製作者さんは忙しい人みたいだけど、ライブラリ製作自体が趣味みたいだし、
関数のバグの報告や提案なんかはしてもらって嬉しいはずだとオモフ

823 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 17:43:56 ID:PjoOiVzu]
非公開関数を使わずに開発だなんて、もう考えられない。
例えるなら、Cでポインタを覚えた時の感覚?

824 名前:名前は開発中のものです。 mailto:sage [2008/10/04(土) 23:50:50 ID:V+0uaSqw]
非公開関数のwikiはいいね。
あくまで非公式非推奨だって認識で住み分ければ製作者さんや公式に迷惑掛からないし。

825 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 05:49:53 ID:/FNrxoPC]
現状の問題は、「同じWikiが2つ存在すること」だよな

826 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 08:52:24 ID:vTxXjVFg]
>>825
旧wikiはあの人が自分のサイトを移行したいみたいだから、
新wikiをみんなで自由に編集するものと考えれればいいんじゃなかろうか。
wikiのタイトルもちょっと違うし。

もっとも、そのうち思い直してwikiを1つに統合しちゃうんじゃないかと
心配だけど。

827 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 10:02:30 ID:BD4SzJl6]
というかWikiに関しては管理人様が週明け以降に声明だしそうだし今は保留でいいんじゃない。



828 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 13:31:06 ID:UM3/B1nU]
こんな混乱を作り出すなら無料wikiの方がマシだなー。
今のところあのアホ管理人は全く余計なことしかしてないね。

829 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 17:42:14 ID:6np9SFhP]
>827と>828の指す「管理人」は、それぞれ別人なのな


830 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 18:14:25 ID:BD4SzJl6]
確かに無料Wikiの方が個人情報の扱いとか永続性とか考えるといいかもしれない。
個人的にはやはりDXライブラリの管理人さんに開設だけはやってほしいな。
それならアフィ入っててもいいのに

831 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 18:22:15 ID:vTxXjVFg]
>>829
公式掲示板のやり取りからして、
827の「管理人」はDXライブラリの作者さんのことかと。

832 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 18:29:24 ID:6np9SFhP]
別の人がコンテンツを管理/運営するというのもそれなりにメリットはあるんだけどね。

もともとの目的は負荷分散らしいしさ。
他にも、DxLibの悪いところみたいな、公式じゃないからこそ書けるものもあるだろう。



DxLibに限らず、たまに初心者スレで

  ゲームを作りたいのですが、
  DxLibを使うのとDirectXを勉強するのとではどっちがいいでしょうか?

といった類の質問を見かけるけど、公式だと基本的にDxLibを薦めるような形になっちゃうっしょ?
質問者に対して適切な回答があったとしても、それが他の言語や他のライブラリだとしたら答えにくい。


833 名前:829 mailto:sage [2008/10/05(日) 18:30:13 ID:6np9SFhP]
>831
だからそう言ってるんじゃないか

834 名前:名前は開発中のものです。 [2008/10/05(日) 18:49:47 ID:vRdfR60s]
>830
>832
同意。この中で誰か無料Wikiに開設すればこの問題は無くなるんじゃないか?

835 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 19:01:53 ID:vTxXjVFg]
>>833
ほんとだ。ごめんなさい。
「別人なのかな」に見えたorz

836 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 19:25:00 ID:6np9SFhP]
>834
Wikiが3つになるのは致命傷過ぎる

837 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 19:30:08 ID:9v5G4j7i]
そしたら俺が予備としてwiki作っとくわ



838 名前:名前は開発中のものです。 [2008/10/05(日) 19:31:48 ID:vRdfR60s]
>836

830の
>無料Wikiの方が個人情報の扱いとか永続性とか考えるといいかもしれない。

を読んでくれ。
今のWikiだと問題があるじゃないか。無料Wikiの方がよいんじゃないか?
無料WikiをDxLibの管理者さんに公認してもらうか、問題のWikiを無くしてもらうように頼むかすればよいんじゃないか?


839 名前:名前は開発中のものです。 [2008/10/05(日) 19:33:47 ID:vRdfR60s]
>837
ありがとう。作ったら公式掲示板やこのスレに書いておけば問題は無くなるね。

840 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 19:41:46 ID:G8wiKs9F]
新しくwiki作っておいたお(^ω^)おれいい子?

841 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 19:46:59 ID:6np9SFhP]
なんかまた進展があったようだ……。

842 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 20:22:36 ID:ayKOs7hk]
wktk

843 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 20:57:18 ID:BD4SzJl6]
ハイパーオチンチンタイムはじまるよ〜!

844 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 21:25:36 ID:G8wiKs9F]
ハイパーωωオチンチンタイムー!!はーじーまーるーよー!!!!

845 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 21:29:48 ID:G8wiKs9F]
いえいえ、だからリカちゃん人形をつかうといいですよ

846 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 21:30:30 ID:G8wiKs9F]
誤爆

847 名前:名前は開発中のものです。 mailto:sage [2008/10/05(日) 23:02:55 ID:9v5G4j7i]
>>839
いや、さらにwikiが増えて4つになるっていうネタだったんだが…。ごめん…。



848 名前:名前は開発中のものです。 [2008/10/05(日) 23:10:31 ID:vRdfR60s]
>>847
なんだ。ネタだったか。俺も本気にしてしまった。ごめん。
作らないなら俺が作っておくが…。
忙しいから完璧に管理できるとは言いがたいぞ。

ま、そもそも、今まで有志でWikiが出来なかったんだから必要かと言われれば疑問が残るんだけどね。


849 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 07:37:19 ID:UfzFDaAZ]
男 「お父さん!娘さんを僕にください!」
父 「チミィ…チミのような高卒に娘はやらん!」
男 「んなっ!!?」
女 「ちょっと!お父さん!!」
猫 「んなー」
男 「大切にします!!僕には確かに…学歴も…彼女に指輪一つ買ってやれないふがいない男です!」
女 「要らない!そんなものいらない!!私には…貴方さえ居てくれたら…」
父 「無理だ!君は娘を幸せにすることなど出来ん!!!!帰ってくれたまえ!!」

       _ , ― 、
    ,−'  `      ̄ヽ_
   ,'              ヽ
  (                )
 (   ノ'ー'ー'ー'ー'ー'ー'ヽ    )
 (   ノ (●)  (●) (    )
  `ー' @  (__人__) @ (    ) 母「オチンチンタイム始まるよーーーーーー!!!!!」
    ヽ   ` ⌒´    /`ー'
    /          \


男 「いやっほおおおおおおおおおおおおお!!!!」

娘 「オチンチンタイムきたーーーーー!!!!!!」

父 「ぶるわあああ!!!!チンチン来たーーーー!!!!」

猫 「ひょおおおお!!!!オチンチンタイムだあああああ!!!!」

850 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 11:46:56 ID:5Px6VmFZ]
みんなwikiが好きだなぁw

851 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 13:31:34 ID:EJnUz/Vz]
実行したらウィンドウは表示されずにプロセスだけ動いてやがる
なんぞこれ

852 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 14:17:45 ID:Ykr4CVZN]
Windowsアプリにしてないとか?

853 名前:名前は開発中のものです。 mailto:sage [2008/10/06(月) 15:04:03 ID:EJnUz/Vz]
事故解決
DxLib_Initの前にLoadGraphを呼んでたのが原因ぽい

854 名前:名前は開発中のものです。 mailto:sage [2008/10/08(水) 17:10:47 ID:3k3C1foI]
DXライブラリで効果音を鳴らすと
効果音がなってる間、BGMの音量が小さくなってしまうのですが気のせいでしょか
直す方法あったら教えて下さい

ちなみにPlayMusicでBGM、PlaySoundMemで効果音を鳴らしてます

855 名前:名前は開発中のものです。 mailto:sage [2008/10/08(水) 19:46:00 ID:yF6YrIzI]
きのせいでしょう

856 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 07:39:57 ID:jpAXTtNp]
うん

857 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 09:33:31 ID:+hf6fEkc]
>>854
昔の話だが
同じ効果音を40個位いっぺんに(同フレーム内で)
鳴らした時にそんな感じになったことがあるようなきがするな。
そこら辺を確認してみてくれ。



858 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 10:10:57 ID:Ub9/sQw8]
40個も同時に鳴らさないように制御するべきでは・・。


859 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 10:15:11 ID:Ub9/sQw8]
FFの内部のデータ見てみたことあるけど
同時にならさないといけない場合がある効果音は全部あらかじめ同時にならした素材として入ってた。
効果音1と効果音2の同時
効果音1と効果音3の同時
効果音1と効果音4の同時
効果音1と効果音5の同時
みたいに全ての組み合わせの素材があってビックリした。
最初異様にファイル数多いなと思ってたけど確認して納得したw

860 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 10:48:58 ID:GxPPxNWZ]
音源の貧弱さをメモリでカバーしたわけか。

861 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 13:44:04 ID:W6kktJvq]
>>859
興味深い。他にあればもっと聞かせてくれ

862 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 18:42:08 ID:Ub9/sQw8]
859です。
>>861
他にもと言われても何を言えばいいんだw
同じ話だけど
「やぁ!」って声の効果音と「えぃ!」って声の効果音、ほぼ同時に鳴らすときの為に
前者が若干早い時はくっついて
「やえぃ!」
後者が若干早い時はくっついて
「えやぁ!」
って感じで同じ組み合わせでも順番まで考えてデータ作ってあったよ。
多分完全に同時だと聞こえなくなるからあえて全部ちょっとずらしてあるんだと思う。
タイミング命系のアクションゲームとかじゃなかったら
FFみたいなゲームなら掛け声とか0.1秒位ずらしてもなんちゅーことないしね。
いやはや有名なゲームはよく考えてありますね。

863 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 18:56:02 ID:qUBF8r6z]
それってFFのどれ。

864 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 22:18:37 ID:UCe7+/VV]
そういやドラクエ4のデスピサロ戦では
最終形態移行時の「ゴゴゴゴゴ」のためにBGMの和音数が一時的に減らされてたっけな

ごめん スレチだね

865 名前:名前は開発中のものです。 mailto:sage [2008/10/09(木) 22:42:46 ID:W6kktJvq]
>>862
なるほどーおもしろいねそういう話。

>>864
いいぞもっとやれ

866 名前:名前は開発中のものです。 mailto:sage [2008/10/11(土) 19:20:47 ID:WCrwwd6s]
右端と一番下に1ドットの隙間ができない?
すごく気になるんだけど、どうにかできないかな

867 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 02:36:36 ID:0UjA6dun]
>866
それだけ言われても分からん。


エスパーすると、ソフトウェア描画と比較してみ。



868 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 02:55:39 ID:SoL04hdM]
>>863
初期〜中期のファイナルファンタジーは声が出なかったから、
初代ファイナルファイトだと予想してみるw

869 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 10:14:02 ID:tEG66pVK]
掛け声だけしゃべるならFF11じゃねーの

870 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 19:01:33 ID:OAiuWa1a]
>>866
エスパーすると

例えば500×500のウインドウで

for(i=0;i<499;i++){
  for(j=0;j<499;j++){
    座標(i,j)色を変える。
  }
}

とすれば、右端と一番下に1ドットの隙間ができるが

for(i=0;i<=499;i++){
  for(j=0;j<=499;j++){
    座標(i,j)色を変える。
  }
}

とすれば、隙間はできない。

871 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 19:26:44 ID:U28t+20v]
ああ、DXライブラリってそこらへん、余計な事してるんだよな……。
いつも迷うぜ。

872 名前:866 mailto:sage [2008/10/12(日) 20:17:40 ID:vIpSBElN]
#define WX 480
#define WY 480
ChangeWindowMode(true);
SetGraphMode(WX, WY, 16);

DrawBox(0, 0, WX+1, WY+1, GetColor(255,0,0), true);

こうした時に1ドット隙間が出来るんだ
+1のところを+100に変えても隙間ができる
こんな風に www1.axfc.net/uploader/Img/so/22620.png

>>867
ソフトウェア描画って?

>>870
それが問題じゃないみたい

873 名前:866 mailto:sage [2008/10/12(日) 20:19:06 ID:vIpSBElN]
ごめん
URLミスった
www1.axfc.net/uploader/Img/l/2913099659/Img_22620.png

874 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 21:11:31 ID:U28t+20v]
赤い部分を切り抜いてみたところ480*480だった。

えーとつまりどういうことだ。
(0,0,480,480)で描画したら0〜479の480ピクセル分が塗られるはず。

つまり
(0,0,480+1,480+1)で描画したら0〜480の481ピクセル分が塗られるはず。

しかしSetGraphでは(480,480)となってるから、
画面上は0〜479の480ピクセル分しかないはず。
つまり、赤く塗られている部分は正しいという事になる。

隙間が出来てるのはSetGraphで(480,480)にしたはずなのに
なぜか1ピクセル分余分にできてる。

……って事かな??

875 名前:名前は開発中のものです。 [2008/10/12(日) 21:41:00 ID:gLc2eLS+]
>>870
つまりこれでもいいんだよね?

for(i=0;i<500;i++){
  for(j=0;j<500;j++){
    座標(i,j)色を変える。
  }
}

876 名前:名前は開発中のものです。 mailto:sage [2008/10/12(日) 23:04:47 ID:vIpSBElN]
>>874
そうみたいですね
しかもその余分にできたスペースには描画ができないんです
皆さんはこうならないんですか?

877 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 00:01:00 ID:6zGpRl/9]
いや、てかそもそもそれ隙間じゃなくて枠じゃないか?



878 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 08:22:34 ID:N+ktUREE]
>872
>ソフトウェア描画
SetUse3DFlag がture/falseで違いはあるか?ってこと

879 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 08:23:20 ID:N+ktUREE]
tureじゃねぇ、true

880 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 15:33:09 ID:+BgxII2m]
>>877
今API直打ちで画面全体塗りつぶしをしてみたんだけど隙間はできなかった

>>878
違いはなかった

クライアントエリアの問題かと思ってSetDrawAreaも試してみたけど効果なし
ダブルバッファリングも関係なかった
みんなもこうなってるのか、それとも自分だけなのかが知りたい

881 名前:877 mailto:sage [2008/10/13(月) 15:43:26 ID:NvE7YaYt]
>>880

872で見せてもらった画像を、拡大してよくみると、
上側と左側には薄い灰色と濃い灰色の2ピクセル分の枠がある。
が、右側と下側にはその色はなく、
代わりにうっすーい灰色と白色の2ピクセル分がある。

その部分を隙間って言ってるんだよね?
枠の色が薄すぎるだけの話じゃないのかな?


882 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 16:32:41 ID:+BgxII2m]
>>881
本当だ
拡大して比較してみるとDXライブラリのウィンドウは枠ありのウィンドウだった
なるほど、これ枠だったのか・・・
ウインドウスタイルって変更できないのかな

比較の画像一応貼っとく
www1.axfc.net/uploader/Img/l/7930573026/Img_22689.png


883 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 16:37:46 ID:1LlTRytx]
404じゃねえかアホ

884 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 16:42:36 ID:+BgxII2m]
自分は見えるんだけどな;
専ブラなら普通のブラウザで直接飛んでみてくれないか

885 名前:877 mailto:sage [2008/10/13(月) 16:49:49 ID:NvE7YaYt]
873は俺は見えないが872なら見えた。

同様に882は俺にも見えないが

www1.axfc.net/uploader/Img/so/Img_22689.png

これなら俺も見えるw

886 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 17:19:34 ID:1LlTRytx]
クソみてえなアップローダ使うなよ

887 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 20:36:22 ID:8/f9V+rI]
っていうか、この画像持って公式で聞いて来いw



888 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 21:25:16 ID:+BgxII2m]
そうですね
公式で聞いてみます
ありがとうございました

889 名前:名前は開発中のものです。 mailto:sage [2008/10/13(月) 21:57:36 ID:Kshw6a23]
確かにそうなるな。
クラシックウィンドウ使ってるから気にならなかった。

890 名前:866 mailto:sage [2008/10/15(水) 17:55:03 ID:Yimr3vsO]
解決したので報告します

SetWindowLong(GetMainWindowHandle(), GWL_EXSTYLE, WS_EX_WINDOWEDGE);
SetWindowPos(GetMainWindowHandle(), NULL, NULL, NULL, NULL, NULL, SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);

891 名前:名前は開発中のものです。 mailto:sage [2008/10/15(水) 23:59:28 ID:Emw9vuwB]
質問。
プログラムの素人レベルがシューティングを作るのにどれぐらいかかる?

・自機がジョイパッドで動く
・ショットが出る
・敵が出てきて動く(sin波ぐらいは実装したい)
・敵がショットを出す(2wayとか3wayとか全方位とか自機狙いのだけ、凝ったのなんてまだ技術的にムリだし)
・ザコが一定でた後にボス戦
・自分にあたったら残機が減って、0になったら最初から
・敵に当たったらスコアが増えて、敵が消える
・ボスを倒したらゲームクリア
・1面のみ

本気だせば1ヶ月ぐらいで作れるかな?
リソースはドットだけなら自分で書くつもり、音楽はムリ。

892 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 00:35:15 ID:a+E7tl+p]
素人レベルってのがどれくらいかによる。

893 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 00:43:12 ID:wEpmfpuy]
プログラム全く分かりません、でなければいけると思う。

894 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 00:44:07 ID:L3LJ4NiJ]
>>892
上手く言えないけど今出来る事は

関数を作る(void なんとか(){ の奴)
cppを分割してexternで呼び出してmainで実行
三角関数は一応出来る

何も見ないで自力で出来るのは、画像を→↓←↑と四角く永遠と移動させるぐらい

今やっててジョイパッドの移動ぐらいなら楽に実装できた。

でも当たり判定とか弾を出すコードのイメージがあまりつかめないって感じ。

895 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 00:53:06 ID:IdgqtOe/]
C++でexternて使ったこと無いかも

896 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 00:55:21 ID:wWxMuhcD]
>>894
ちょっと待ったー。
外部ファイルにある関数をexternで呼び出す必要はないぞ。
ヘッダファイルにプロトタイプ宣言する方法を勉強した方がいい。(ロベールとかで。)
そっちの方がスマートに書けるし、それが定番。

897 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 01:16:18 ID:L3LJ4NiJ]
>>896
ん、ごめんまだ素人レベルだから言ってる事の意味が微妙に分からないんだけど
つまり
何々.hのファイルにプロトタイプ宣言って言うのをすると、extern void 何々で呼び出す必要がなくなるって事?




898 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 01:27:19 ID:wWxMuhcD]
>>897
んー、実はexternの効果忘れた。>>895が言うように、使う場面が無いんだよね。

○○.hにプロトタイプ宣言しておくと、その#include "○○.h"とするだけで、プロトタイプ宣言された関数が使えるようになる。
通常、一つにファイルに対して、一つのヘッダを作るよ。

例:
hogehoge.cpp → hogehoge.h
piyopiyo.cpp → piyopiyo.h

人によってはヘッダの拡張子がhppになったりする。(むしろ、C++のヘッダならこっちが主流かもしれないけれど)

確かにプロトタイプ宣言さえあれば、extern使う必要は無くなる。

899 名前:名前は開発中のものです。 mailto:sage [2008/10/16(木) 01:39:21 ID:L3LJ4NiJ]
>>898
そうなのか、初めて知った。
ちなみにexternの場合だと
player.cpp内の例えば

void move(){
何々
}

って関数をextern.h内で「extern void move();」って宣言するだけで別のcpp内(main.cppでもnaninani.cppでも)使えるようになる。
externも勿論使うファイル内で#include "extern.h"とする必要があるけどね。

でもプロトタイプのが主流みたいだし、そっちを使ったほうがいいのかな?

因みに俺のプログラムの流れはこういう感じにしようと思ってる↓
main.cppって言うコードを作る、最低限の事を書いたら一旦放置。

キャラ移動とか敵の移動とか音楽を読み込むとかのコードを別ファイルに書く

externで一つのヘッダーファイルにすべてのコードを読み込ませる

main.cpp内で読み込んだヘッダーファイル内の別々に書いたコードを「○○();」メインループに読み込ませる。

って感じでつくろうかなーって頭の中で思ってたんだけど、間違ってるのかな?


プログラム難しいけど楽しすぎwwwww







[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<243KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef