- 1 名前:名前は開発中のものです。 mailto:sage [2007/12/12(水) 23:06:39 ID:Ns2HwhRB]
- Cを習得した程度のスキルでも、
GUIのゲームを比較的容易に作成する事を可能にする、 「DXライブラリ」に関するスレッドです。 DXライブラリの詳細ついては homepage2.nifty.com/natupaji/DxLib/ を参照して頂きたい。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。
- 359 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 00:57:29 ID:ovz20LE+]
- 何もしてないのにー!何でこんなに重いんだと思ったら
ScreenFlipのせいだったのか…
- 360 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 01:06:04 ID:D2/CSn6V]
- なんで?
ScreenFlipが垂直同期信号待ちしてるせい?
- 361 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 11:42:28 ID:XC7SG82L]
- DXライブラリ3D開発停止キタコレ
- 362 名前:名前は開発中のものです。 mailto:sage [2008/06/27(金) 16:34:01 ID:R30hbcbu]
- そらそうだ
- 363 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 08:14:39 ID:7eoOLImo]
- 真偽はともかく、パソコン壊れたに次ぐ、辞める時の言い訳ベスト3だな
あと一つは脳内嫁に離婚されたか?
- 364 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 08:34:27 ID:WDd+KucR]
- タダでやってる以上、こうなるのは別におかしい事じゃない。
そういう意味で、本家の方はかなり頑張ってらっしゃる。
- 365 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 11:21:50 ID:HmzEmemy]
- 開発が一段落してサポートが面倒臭くなるまでは続くと思ってたんだが・・・早かったな
- 366 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 11:58:58 ID:5+ZirPmZ]
- 本家って更新自体はもうしてないんじゃないっけ?
- 367 名前:359 mailto:sage [2008/06/28(土) 19:29:20 ID:xOOHiRHZ]
- ScreenFlipを使うのをやめて
SetDrawScreen と GetDrawScreenGraph と DrawGraph を組み合わせたらCPUへの付加が30%から5%に激減した!! 今までこれで苦労してたから嬉しさで涙が出そう >>360 理由はわからないな…
- 368 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 19:34:13 ID:Z7/K5uB7]
- そうなる前にやめるのは投資家としては正しい判断
- 369 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 19:35:08 ID:xOOHiRHZ]
- WaitVSyncもつけたら負荷が戻ったorz
でも垂直同期を取る・取らないの選択ができるようになったということで我慢しよう…
- 370 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 20:09:56 ID:UA0XbkFG]
- Wait()挟んだら負荷下がるよ
- 371 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 22:11:08 ID:z6I/MJXK]
- >>369
ScreenFlipでも撮る撮らないの選択が出来るよ
- 372 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 22:22:10 ID:WDd+KucR]
- これだね。
宣言 int SetWaitVSyncFlag( int Flag ) ; 概略 ScreenFlip関数 実行時にCRTの垂直同期信号待ちをするかのフラグセット >>369 念のために訊くけど、ウィンドウモードでやってないよね?
- 373 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 23:46:16 ID:ZECO6Ry9]
- >>366
2008/3/23までの更新履歴はあるな。 まぁ、DXライブラリも2001年から始まっているから3Dの人も、いつでも再起おk。
- 374 名前:名前は開発中のものです。 mailto:sage [2008/06/28(土) 23:52:55 ID:wEkVBZPc]
- 中の人が大学留年したり 生活もままならないような人だから全然驚かん
- 375 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 10:08:01 ID:PPCk3LCp]
- やっぱ大学関係だったようね
- 376 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 12:24:07 ID:m21VzqQv]
- >>371-372
フルスクリーンだとモニタの関係でアスペクト比が狂うからウィンドウモードでやってた そんな関数があったんだ、ありがとう
- 377 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 12:26:18 ID:m21VzqQv]
- マイナー関数のとこにのってたんだ
そんな関数あるわけないと決め付けてたから気がつかなかった せめてリファレンスくらい目を通しておくべきだった。すまん
- 378 名前:名前は開発中のものです。 mailto:sage [2008/06/29(日) 12:46:12 ID:agzt01kM]
- リファレンスにも乗ってない関数があったりするから
DxLib.hの中身を検索してみたりするといいかもわからんね
- 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未満なら描画しなければいい
実際は敵の大きさを考慮しなければいけないが
|

|