[表示 : 全て 最新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ライブラリユーザのスキルの向上に役立てたら幸いです。

99 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 00:21:00 ID:wEjviALO]
>>98
落としたけどまだ使ってない、サセーン
がむばれひそかにおうえんしてうr

100 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 00:34:34 ID:Z3yo6dVP]
>>98
>本家DXライブラリ
>終了宣言(DxLib_End)が必須

>DXライブラリ3D
>終了宣言は無くてもOK

>そうした理由 
>プログラムの途中で終了させたい場合を除き、終了する時は勝手に呼び出されるから

これはmain内でreturnすると呼び出されるってことかな?

>プログラムの途中で終了させたい場合
これがどういう場合なのかよくわからない

101 名前:50 mailto:sage [2008/02/11(月) 03:03:48 ID:yFxk12ne]
>>100さん
そういうことです。
ユーザーが×ボタンを押したりした場合などの終了は自動検出して必要な処理を
呼び出しますが、たとえばプログラムの途中でプログラム自体を終わらせたい時とか
ありますよね。ゲーム中に「終わり」メニューなどを入れたい場合はプログラムを
終わらせる処理が必要がありますのでそういうときにのみ使えばいいということです。
わかりにくいようで申し訳ないです。。

102 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 03:57:20 ID:SHzsuPRA]
>>101
中身見てないからなんともいえないんだが
いわゆるデストラクタの処理が通ったり通らなかったりするって事?

103 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 14:37:10 ID:91sdKra2]
>>98
DXライブラリ3Dを使ってみようとしたんだが、atlstr.hがなくてコンパイルできなかった。
PlatformSDKもインストールしてみたけど一緒だった。
ATLとかMFCってExpress Editionで使う方法あるの?
あと、atlstr.hのインクルードをコメントアウトして続けようとしたが
dmusici.hがないといわれてしまった。
ちなみに環境は
WindowsXP
VisualC++2008 Express Edition
DirectX SDK November2007

104 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 15:53:29 ID:Z3yo6dVP]
PlatformSDKインストール済みVC++2005EEでも同じくコンパイル不可
>fatal error C1083: include ファイルを開けません。'atlstr.h': No such file or directory

105 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 16:58:17 ID:GN2MWboz]
ATL関係は確かEEでは無理だと思う
作者さんにはLIB形式かDLLでの配布を希望

106 名前:名前は開発中のものです。 [2008/02/11(月) 17:00:44 ID:iu78+7FI]
>>104
おれもおなじだ

107 名前:50 mailto:sage [2008/02/11(月) 21:31:11 ID:yFxk12ne]
>>102さん
う〜ん、そういうわけではないのですが、事実上終了処理は完全に必要ないという
表現の方がふさわしいのかもしれません。
よくよく考えるとループの途中で終了させたい時などにはexit(0)などがありますしね。

>>100-106さん
申し訳ないです。。無料版でのATL関係については今のところ対応策がありません。。

Visual Studio無料版でのATLの使用について
ttp://fatalita.sakura.ne.jp/3DLib/Install/



108 名前:名前は開発中のものです。 mailto:sage [2008/02/11(月) 21:58:34 ID:91sdKra2]
>>107
リンク先見たけど
// Copyright (C) Microsoft Corporation
ってあるからVSについてるやつのコピーかなんかだと思う。
もし使えたとしてもDXライブラリ3Dが有名になるにつれて
問題になると思う。

もしATLで使ってるのがCStringだけなんなら
std::stringかなんかで置き換えて無料のExpressでもビルドできるようにしたほうがいいと思う。
金出さん奴が偉そうなこと言うなと思うかもしれんけど
せっかくこれだけのものを作ったんだから
自分で門戸を狭めるようなまねをするのはもったいないと思うよ。

109 名前:50 mailto:sage [2008/02/11(月) 23:01:51 ID:yFxk12ne]
>>108さん
確かにそうですね。良く見たらCopyrightがある以上問題になりますね・・。
std::stringは使っていますが、CStringの目的は文字列を保存するためではなく
マルチバイト文字列とユニコード文字列を相互変換してstd::stringや
std::wstringに保存したりする為の一時的な目的に使っているので他のものに
置き換えるのは難しかったりします。
(変換には専用の関数がありますがCStringの方がはるかに優秀で開発がしやすいので)
まぁユニコードかマルチバイトかどちらかを切り捨てれば簡単なんですけど
現在SeleneやLuna、DXライブラリなど国産で主流のマルチバイト開発と
今後主流になるユニコード開発は両方に対応したかったので現状では無料版での開発は
>>105さんの言うように.lib化とか.dll化しないと(まだ経験無いので詳しくは知りませんが・・)難しい
のかもしれません。

110 名前:名前は開発中のものです。 mailto:sage [2008/02/13(水) 00:41:09 ID:LX9NuLoS]
DXライブラリ3D(50氏)にはがんばって欲しい。

15歳から始めるDirectX9ryを読んでいるが、2007年2月のDirectXと
2007年11月のDirectXとでは本通り進めたら100ページもあればコケル。
ゲーム開発者の要求で、数ヶ月ごとにSDKの入れ替わりになっているが、
本で勉強する話なら、ちょい凄い展開・・・。

111 名前:50 mailto:sage [2008/02/13(水) 01:59:59 ID:/tk1ihKI]
>>108さん
CStringライクなクラスを作ったのでCStringを取り除いてみました。
私のPCのHDDが残り容量が数メガ程度しか無く、VSEEがとても入れられそうにないので
もしベータ3でコンパイルできたら教えていただけると幸いです。

>>110
おお、その本、私も去年の10〜12月あたりに読んでました。
それが私の入門書なので著者には本当に感謝してます。
でもDirectXはOpenGLと違って抽象化されていないので数年ごとに
技術自体が陳腐化してしまうのが残念だったりします・・。
MSかソニーあたりが抽象化した3D技術をC++向けに提供してくれたら
結構日本の3Dゲームも面白くなるんじゃないかなと思っています。

112 名前:名前は開発中のものです。 mailto:sage [2008/02/13(水) 02:34:21 ID:n9Cpx534]
>>50
VC++2005/DXライブラリ3Dβ3

導入の手引きにてビルド時にエラー発生

エラー内容
\mylib\ml_text.cpp(2) : fatal error C1083: include ファイルを開けません。'atlstr.h': No such file or directory

この行をコメントアウトすることでビルド・実行できウインドウ表示ができた

113 名前:名前は開発中のものです。 mailto:sage [2008/02/13(水) 02:37:42 ID:n9Cpx534]
公式サイトの
>私が開発に使用しているPC(ノート型。このPCで軽快に動くことを目安に作られている)
スペックkwsk!特にグラフィックチップを!!

114 名前:名前は開発中のものです。 mailto:sage [2008/02/13(水) 13:16:59 ID:8dbltEvw]
DXライブラリ導入したばかりの初心者ですが
プログラム組むたびに以下の操作しなくちゃいけないんですかね?

  @ VisualC++ 2008 Express Edition のメニューの
      『プロジェクト』→『(プロジェクト名) プロパティ』を選びます。
    ((プロジェクト名)の部分は、今回は『test』になっている筈です)

  A プロパティダイアログが開いたら、ダイアログの左のリストから
     『構成プロパティ』→『全般』を選びます。

  B ダイアログ右側に表示されている『文字セット』の項目を
     『マルチ バイト文字セットを使用する』に変更します。

  C 左側のリストから今度は『構成プロパティ』→『C/C++』→『コード生成』を
     選びます。

  D ダイアログ右側に表示されている『ランタイム ライブラリ』の項目を
     『マルチスレッド デバッグ(/MTd)』に変更します。

  E 次にダイアログ左上に表示されている『構成』の項目を『Release』に変更します。

  F ダイアログ右側に表示されている『ランタイム ライブラリ』の項目を今度は
     『マルチスレッド(/MT)』に変更します。

  G 最後にダイアログの下の方にある『OK』を押してダイアログを閉じます。

115 名前:名前は開発中のものです。 mailto:sage [2008/02/13(水) 14:02:16 ID:8aNjIQ3v]
>>114
プロジェクトはコピーできる

116 名前:名前は開発中のものです。 mailto:sage [2008/02/13(水) 14:36:13 ID:8dbltEvw]
>>115
あーなるほど。
ありがとうっす。感謝っす。

117 名前:50 mailto:sage [2008/02/13(水) 17:10:24 ID:/tk1ihKI]
>>112さん
すみません・・完全にうっかりしていました。おっしゃられるとおり
#include <atlstr.h>
の一行は消し忘れです。その点などを修正してベータ4を公開しました。

>>113さん
価格.comで見つけたのですがこれと同じ奴のようです。
ttp://kakaku.com/spec/00201715470/



118 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 00:09:57 ID:1vND0iX0]
しかし、地味に盛り上がるな。

>>50氏は、続ける気があるのならトリップを付けた方が良いな。

119 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 03:21:12 ID:t1F92WGz]
>>117
>Intel 910GML Express
ノートにしては性能いいっぽいな

120 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 03:39:39 ID:t1F92WGz]
コンパイルできねぇorz

121 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 05:37:27 ID:WfFj/EK1]
>>50に純粋に質問なんだが
マルチバイトとUnicodeの相互互換とかいるのか?
API系の関数は自動で入れ替わるし
stringは下のよう感じにしといたら
相互変換する手間はいらん気がするんだが。

#ifndef _UNICODE
#define _tstring std::string
#else
#define _tstring std::wstring
#endif

122 名前:名前は開発中のものです。 [2008/02/14(木) 08:47:39 ID:xKFMg5Ms]
>>117
1>..\myLib\mL_Text.cpp(21) : error C3861: 'vsprintf_s': 識別子が見つかりませんでした

123 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 09:58:14 ID:v9KvJp5J]
>>119
ノートにして性能悪いと思うが・・・。
最近はRadeonX1600とかGeForce8600積んでるノートがデフォかと思ってた。

124 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 16:16:13 ID:HH1MEW/i]
>>123
それ・・・・単に今、売ってる最新機種のミドルレンジクラスだろ。


125 名前:50 mailto:sage [2008/02/14(木) 19:11:10 ID:nzQZAZue]
>>118さん
麻薬は(ry

>>120さん
状況を詳しくお願いしますm(_ _)m

>>121さん
それだと90%はOKでも10%でダメなんですよ。DirectXAPIの中にはLPCSTRやLPCWSTRなど
どちらか片方のみのコード系での引数しか用意されていないことが稀にあるので
その書き方だとそういうときに面倒が起こります。(相互変換できないとDXライブラリ3Dに引数の不揃いが出てしまいます)
そういうときに非常に面倒が少ないので自動的に相互変換ができるCStringを愛用していたという経緯があります。
(今はCStringが使えない環境があると知り自作のTStringを使っていますが)

>>122さん
環境はVisualStudio2003以前ですよね?申し訳ないです。
セーフ系の関数はVisualStudio2005より前では使えないというのを忘れていました。
ちょうど今ベータ5を作っているところなのでそれで修正しときます。
情報ありがとうございました。

>>123さん
そうなんですか?少し前に使っていたノートPCなどはこれの半分以下の性能だったので・・

126 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 16:06:03 ID:bOykvXe+]
バカなことを聞いているとは思いますが、僕はマジなのでお願いします。
DXライブラリではC++は使えないのでしょうか??

127 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 16:09:14 ID:VPTgSQiM]
全く問題ない
逆にCで動かない事が問題になった事さえある



128 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 16:10:01 ID:4sibGp92]
>>126
ttp://homepage2.nifty.com/natupaji/DxLib/dxuse.html

129 名前:名前は開発中のものです。 [2008/02/15(金) 17:38:14 ID:GkeoXIUs]
コンパイルできねぇorz

1>リンクしています...
1>mL_Text.obj : error LNK2019: 未解決の外部シンボル "
__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> >
& __cdecl std::operator<<<char,struct std::char_traits<char> >(class std::basic_ostream<char,struct std::char_traits<char> >
&,char const *)" (__imp_??$?6DU?$char_traits@D@std@@@std@@YAAAV?
$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@PBD@Z) が関数 "
public: void __thiscall myLib_c::LogOut(char const *)" (?LogOut@myLib_c@@QAEXPBD@Z) で参照されました。

1>mL_Text.obj : error LNK2019: 未解決の外部シンボル "
__declspec(dllimport) public: void __thiscall std::basic_fstream<char,struct std::char_traits<char> >::
open(char const *,int)" (__imp_?open@?$basic_fstream@DU?$char_traits@D@std@@@std@@QAEXPBDH@Z)
が関数 "public: void __thiscall myLib_c::LogOut(char const *)" (?LogOut@myLib_c@@QAEXPBD@Z) で参照されました。


130 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 18:37:04 ID:yTSKGH/r]
stl使ってる?

131 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 19:49:23 ID:GvwbKPwJ]
boost使っててリンクしてないという懐かしいオチは?

132 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 19:51:21 ID:Rkucko5s]
>>130
>>131
俺には標準ライブラリ周りのエラーにしか見えないのだが

133 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 20:00:16 ID:nUvrkQvl]
ESPを使って透視してみると、
iostreamとfstreaがincludeされていないんだが、
ageる奴が困っても俺にはどうでもいいことなので、どうでもいい。

134 名前:名前は開発中のものです。 mailto:sage [2008/02/15(金) 23:13:29 ID:SRqMXzTx]
ああ、iostreamはライブラリもリンクしないといけないんだよな
そのエラーを消すにはALT+F7で開くオプション画面の
アレをアレにかえればいいんだろうけど、
どーせマルチ先で答え出てそうだし、間違えてると恥ずかしいのでパス

135 名前:名前は開発中のものです。 [2008/02/15(金) 23:32:35 ID:XAXzf6Jj]
>>127、128
ありがとうございます。

136 名前:名前は開発中のものです。 mailto:sage [2008/02/16(土) 20:39:10 ID:yYTsC494]
DXライブラリ3Dβを
VisualC 6.0で やりたいのだが どうやればいいのか 教えてください。

137 名前:50 mailto:sage [2008/02/16(土) 21:12:15 ID:HZPD09Yw]
体調を崩し2日寝込んでいました。
まだ頭が上手く回りませんが・・。

>>129さん
そんなエラーが出るんですか?
良ければ開発環境を詳しく教えてください。

>>136さん
6.0は使用経験が無いのでちょっと良く分からないです・・



138 名前:名前は開発中のものです。 mailto:sage [2008/02/17(日) 14:23:53 ID:XZCo5WTC]
>>136
プロジェクトファイルをテキストエディタで開いて何がリンクされててどのソースが必要か
確認してそれをそのまま6.0のでやればいいよ



139 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 16:14:11 ID:0NsXAvH0]
>>137
129です。BETA8では、普通にコンパイル出来、うごいた。
エラーがでたやつをもう一度やってみたらコンパイル出来なかった

なんでかな
VC++ Express Edition2005 (はじめて使ってみた)



140 名前:126 mailto:sage [2008/02/18(月) 22:05:33 ID:2TWjsJUr]
どうも、>>126です。作るものにもよるとは思うのですが、実際にゲーム会社などでもDXライブラリを使っていたりするのでしょうか??
自分は将来そういう仕事につきたいと思い勉強をしているのですが、気になったので・・・

141 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 22:13:39 ID:Wl8axOrh]
ゲーム会社では使わん

142 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 22:56:39 ID:aRjMeg92]
DX自体そういったプロ用途は一切考慮して作られてないし。

143 名前:126 mailto:sage [2008/02/18(月) 23:02:14 ID:2TWjsJUr]
ではプロの方たちはどういったもので作っているのでしょうか??

144 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 23:33:46 ID:Wl8axOrh]
とりあえずDXライブラリを勉強してゲームを何本か完成させるといい。
ライブラリはたいした問題じゃないから。


145 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 23:35:56 ID:7tiGy6L5]
ゲームの作り方がわかればどうにでもなるもんだ

146 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 23:46:50 ID:TpuEiTEb]
逆に聞きたいが、どの会社に入ってどんなゲームを作りたいんだ?

まぁ、DXライブラリで作れるレベルのゲームなら
ライブラリそのものから自作するのが普通だよな
3Dバリバリになってくると、ミドルウェアの購入を検討するかもしれんが…

そもそも、PCゲーを作ってるのはファルコムかエロゲぐらいしかしらねぇ…
あとはねとげか?

147 名前:名前は開発中のものです。 mailto:sage [2008/02/18(月) 23:53:41 ID:7tiGy6L5]
実はカプコンがすごい



148 名前:名前は開発中のものです。 mailto:sage [2008/02/19(火) 00:09:09 ID:z2VaPk26]
プロの方々は基本自社の開発部門が作成したライブラリを利用します。

149 名前:名前は開発中のものです。 mailto:sage [2008/02/19(火) 00:10:33 ID:IcyEM27M]
プロの方々はその場のノリと勢いで直接DirectXを利用します。

150 名前:50 mailto:sage [2008/02/19(火) 00:44:48 ID:Aqd0JPlI]
>>139さん
多分ベータ5以前の古いバージョンだったのでは無いでしょうか?
それか>>134さんの言うALT+F7で開くC/C++→コード生成→ランタイムライブラリが
マルチスレッド(/MT)状態になっていたとか。。
(本家DXライブラリではこの設定にする必要がありましたが、
 DXライブラリ3Dではこの設定にするとコンパイルできません。
 でもデフォルトの設定のままでOKなので導入の手引きには掲載していないですが)
まぁ動いているなら今更なので気にしなくて大丈夫だと思います。

>>140さん
アマチュアの意見なので参考程度にしておいて欲しいのですが、
私も1年半前にDXライブラリでゲームプログラミングに入門してそれを足がかりに
色々技術を吸収していったクチなので、ライブラリや使う技術は何でもいいので
とにかく色々作品を作ってみるといいと思います。完成したら作品をオープンソースに
するとソースコードがいつまでも頭に残りやすいのでさらにいいかもしれません。
もしまだ中学生とかなら少し遠回りしてHSPもいいのではと個人的に思ったりしていますが・・。

>>147さん
MTフレームワークとかいうやつでしたっけ?バイオ5とかの。
どんなのか一度くらい拝んでみたいです。

151 名前:名前は開発中のものです。 mailto:sage [2008/02/19(火) 08:12:59 ID:7nQF2ZwG]
>>150
139です。
動かなかった方をマルチスレッド(/MD)に替えてみたら
コンパイル通りました
お騒がせしました。

152 名前:126 mailto:sage [2008/02/19(火) 12:43:37 ID:TX94i0/5]
>>144>>149さん
いろいろありがとうございます。とりあえず何か一つくらい作れるくらいになってみようと思います。また分からないことがあれば質問させてくださいね

153 名前:名前は開発中のものです。 mailto:sage [2008/02/20(水) 18:35:04 ID:2XUwUXxz]
前使ってたとき妙にCPU使用率が高くなると思ったんだけど
どういう仕組みになってる?

154 名前:126 mailto:sage [2008/02/20(水) 23:48:36 ID:T3SELVJu]
どうも。
こんな僕に、なにかオススメの本はないでしょうか?とりあえず学びながらゲームを作っていくことが出来る、というものがうれしいです。
ちなみに今は「アクションゲームプログラミング 藤田 和久」という本がいいのでは?と思っているのですが、必要なもの(アマゾンレビュー参照)にDirectX9 SDK・Platform SDKと、聞いたことの無いものがあるので悩んでおります・・・
どうかアドバイスをお願いします。

155 名前:名前は開発中のものです。 mailto:sage [2008/02/21(木) 00:03:03 ID:QvK3uI1X]
>>150
MTフレームワークとは行かないけど、UnrealTournament3やらHalf-Life2・Crysis・Doom3・Call of duty4
等々の海外PCゲーならゲームさえ買えば拝めるぞ。実際にそれを元手にゲームを作って製品化された
ケースもあるし。向こうの連中は、時間と根性と愛が凄い。

>>126
まぁ、DXライブラリは書籍まで出ているのでゲームライブラリとしては使いやすいと思う。
DXライブラリの制作者のHPにも載っていたが

・「14歳からはじめるC言語わくわくゲームプログラミング教室」
・「14歳からはじめるC++ わくわくゲームプログラミング教室」
・「14歳からはじめるリアルに動く!ゲーム物理プログラミング教室 C言語編」

初心者向けゲームライブラリ解説書としては出血大サービスしている様なレベル。

156 名前:名前は開発中のものです。 mailto:sage [2008/02/21(木) 00:07:50 ID:c8uZTMYe]
>・「14歳からはじめるC++ わくわくゲームプログラミング教室」
これはCを使える前提で書かれてるから初心者はやめたほうがいい

157 名前:名前は開発中のものです。 mailto:sage [2008/02/21(木) 00:17:24 ID:QvK3uI1X]
書いた奴が言うのも何だが、C言語でも結構前提意識は強い方ですな。基本書は有る上勉強した方が良い罠。



158 名前:126 mailto:sage [2008/02/21(木) 01:57:17 ID:vC78HCyB]
とりあえず自分は やさしいC++第2版という本で基本的な勉強をしています。
こういうのって似たような本がいっぱいあるんですね…当たり外れが多そうですね。

159 名前:50 mailto:sage [2008/02/21(木) 03:11:35 ID:d9wnlOLj]
>>155さん
そうなんですか?いい情報をありがとうございます。
調べてみたら海外のゲームにはMODが存在するものが多いようですね。
今の私のPCじゃ推奨スペックに達していないのでいずれ触ってみようと思います。

>>158さん
それ1年ほど前に私も使ってました。C++の入門書は4冊ほど
(やさしいC++、C++の絵本、明解C++、独習C++)
買って5:10:6:9位の割合で読んで、個人的には導入部はC++の絵本が
分かりやすかったかなと思ったりしています。でもやさしいC++もいい本だと思いますよ。

160 名前:126 mailto:sage [2008/02/21(木) 12:08:11 ID:vC78HCyB]
>>159さん
たくさん持ってるんですね。絵本かぁ〜…なんか面白そうですね

161 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 02:01:36 ID:n/EC8VLW]
DXライブラリ3Dってどうなったの?

162 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 02:54:22 ID:jbB5M8UJ]
「DXライブラリ3D」でこのスレ検索したらいいんじゃね?

163 名前:50 mailto:sage [2008/02/23(土) 05:43:13 ID:v30yPbpo]
>>160さん
規模の大きな古本屋とか図書館に行ってもいろいろ本が手に入ったりするので
よさそうなのがあったら何でもトライしてみるといいと思います。応援しています。

>>161さん
続いていますよ。詳しくはサイトの更新履歴にも今までの履歴を載せています。

164 名前:126 mailto:sage [2008/02/23(土) 17:37:54 ID:P0melG7o]
>>163
ありがとうございます。頑張ります!!

165 名前:名前は開発中のものです。 [2008/02/23(土) 19:49:16 ID:dwAlKyqQ]
いつの間にこのスレこんなにのびてんだよ・・・

166 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 20:20:24 ID:n/EC8VLW]
ありがとう神さま

167 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 22:21:11 ID:t2RNXHyS]
>>50に期待カキコ。....〆(・ω・` )



168 名前:50 mailto:sage [2008/02/23(土) 23:47:51 ID:n/EC8VLW]
>>167
どうもどうも

169 名前:名前は開発中のものです。 mailto:sage [2008/02/23(土) 23:56:49 ID:pfdSWKrQ]
これは一体

170 名前:名前は開発中のものです。 mailto:sage [2008/02/24(日) 00:11:49 ID:8fPwe+HI]
(´・ω・) 頭がカワイソス

171 名前:50 mailto:sage [2008/02/24(日) 05:29:34 ID:bAaCNQDb]
初の偽物ですね・・。
まぁトリップを付ける気はあまり起きないのですが。。
どれが偽物なのかは想像にお任せしますw

172 名前:名前は開発中のものです。 [2008/02/24(日) 09:42:19 ID:gPT1EW+g]
餌から釣り針が見えてますよ

173 名前:50 ◆GmgU93SCyE mailto:sage [2008/02/25(月) 20:30:02 ID:PBPhXVWX]
何か上を見るとカオスなことになってるので今更ながらトリップをつけることにしました。

>>167さん
どうもありがとうございます。

174 名前:126 mailto:sage [2008/02/25(月) 22:44:04 ID:J8Foetq/]
どうも。質問させてください。一つ目のソースがエラーで出て、二つ目は問題ないです。しかしなぜかが分かりません。定義する場所でこんなに変わってくるものなのでしょうか?
#include "DxLib.h"

struct buta{
int x,y;
};
buta pipu;
pipu.x=320;
pipu.y=240;
char Key[256];
int PIPURU[16];

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理

SetDrawScreen(DX_SCREEN_BACK); //裏画面に設定
LoadDivGraph("pipuru.png",16,4,4,32,32,PIPURU);//画像ピプル読み込み

while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
//↑メッセージ処理 ↑画面をクリア ↑キーボード入力状態取得 ↑ESCが押されると終了

if( Key[ KEY_INPUT_RIGHT ] == 1 ) //右ボタンが押されたら
pipu.x++;
DrawGraph(pipu.x,pipu.y,PIPURU[0],FALSE);
ScreenFlip(); //裏画面を表に反映
}
DxLib_End();
return 0;
}

175 名前:126 mailto:sage [2008/02/25(月) 22:46:32 ID:J8Foetq/]
#include "DxLib.h"

struct buta{
int x,y;
};
char Key[256];
int PIPURU[16];

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理
buta pipu;
pipu.x=320;
pipu.y=240;
SetDrawScreen(DX_SCREEN_BACK); //裏画面に設定
LoadDivGraph("pipuru.png",16,4,4,32,32,PIPURU);//画像ピプル読み込み

while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
//↑メッセージ処理 ↑画面をクリア ↑キーボード入力状態取得 ↑ESCが押されると終了

if( Key[ KEY_INPUT_RIGHT ] == 1 ) //右ボタンが押されたら
pipu.x++;
DrawGraph(pipu.x,pipu.y,PIPURU[0],FALSE);
ScreenFlip(); //裏画面を表に反映
}
DxLib_End();
return 0;
}
長々と見にくいソースをすみません。何故ダメかを詳しく教えてくれればうれしいです。

176 名前:名前は開発中のものです。 mailto:sage [2008/02/25(月) 22:56:21 ID:x5b49b15]
どこでエラーが出たかくらい書けるだろ

日本語が不明だからエスパーすると

struct buta{
int x,y;
};
buta pipu; ←これは宣言
pipu.x=320;←これは処理
pipu.y=240;←これも処理

わかるよな?



177 名前:名前は開発中のものです。 mailto:sage [2008/02/25(月) 23:02:24 ID:x5b49b15]
buta pipu = { 320,240 };
初期化したいならこうとでも書いておけ




178 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 00:48:56 ID:FRQ5rRB+]
>>174-175
butaをtypedefしてないとか?

typedef struct buta{
    int x,y;
}buta;

みたいな感じで。

よくソース読んでないから分からんけど。



因みに俺は構造体使うときは必ずtypedefしている。

179 名前:126 mailto:sage [2008/02/26(火) 01:11:41 ID:LnSY+BT3]
ビルド?したときにエラーみたいになります。多分エラーはpipu.x=〜、pipu.y=〜のところだと思います。
>>176さん
…すいません。よく分からないです…。
>>177さん
初期化したいというかよく分からないのですが、とりあえず基本となる値を決めたかったのですが…よく分からなくなってしまい…。
>>178さん
typedefですか〜。…typedefがどういうものなのか調べてみます…。
二つ目のソースなら問題なく動くのですが理由がわからないのは嫌だったので

180 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 01:25:57 ID:WaIh8C19]
>>178
C言語時代の化石乙
C++から、お前がやってるそれを自動的にしてくれるようになった

>>179
pipu.x=320;
pipu.y=240;
この2行消せって事だ

181 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 03:40:37 ID:opOCJbaI]
久しぶりに見に来たら、何やら面白そうな物作ってるみたいですね。
埃被ってるVS起動して、弄って遊んでみようかなぁー

182 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 04:54:55 ID:Do4X3wBs]
DXライブラリ3DはCPU使いすぎジャマイカ?
SeleneとかIrrlichtは5%の内容を90%も使ってる
3Dにするなら簡単も重要だけど速いも重要だと思うんだ がんばれ

183 名前:50 ◆GmgU93SCyE mailto:sage [2008/02/26(火) 13:57:52 ID:Jpu7ixkL]
>>182さん
サンプルは私の環境での実行速度を常に一番早い状態でテストするために実行FPSを
かなり高めに設定しているので多くの場合私の環境でもPCが貧弱なのでどうしても処理が追いつかず
CPU使用率はフル回転になってしまって100%近いのですが、mL.AdjustFPSのところの値を下げると
30%程度にはできます。
(そうした場合はモーションなどの増やす時間値もそれに合わせないとスローモーに見えてしまいますが)
とは言え、おっしゃられる通り、簡単さを優先した仕様上、他のライブラリと同等の高速性を実現するのは
難しい面があるので、遅くなりすぎないようにはしようと思います。

184 名前:126 mailto:sage [2008/02/26(火) 14:18:49 ID:LnSY+BT3]
>>180さん
なるほど。ありがとうございます

185 名前:178 mailto:sage [2008/02/26(火) 14:36:26 ID:FRQ5rRB+]
>>180

>C言語時代の化石乙
>C++から、お前がやってるそれを自動的にしてくれるようになった

恥ずかしながら知らなかった。


が、言い訳させてもらうとそれは改悪だ。

JAVAなどでは変数を定義しただけで勝手に0クリアされる為、0クリアを忘れた場合でも正常に動作する場合がある。

しかし、そうした機能にプログラマが甘えることにより、ソフトウェアの品質が向上するかもしれないが、
その結果にプログラマの品質が低下してしまい、言語が変わっただけで使い物にならなくなる、
低品質なプログラマを量産する事になる。 (うちの大学教授の理論を引用。)

ですから私はtypedef宣言が本来必要な場合には明記します。
それが「動くだけで良いプログラム」と「可読性の良いプログラム」の分岐点の一つとなる事でしょう。

だから>>179はtypedefするニダ!


以上火病でした。

186 名前:名前は開発中のものです。 mailto:sage [2008/02/26(火) 21:38:30 ID:WaIh8C19]
C++だと、コンストラクタあるから、POD型ならしゃーないにしても
非POD型は自動初期化に身を任せるしかないんだけどな…
そこで、memsetなんか使った日にはvfptr潰してえらい目にあうぞ

187 名前:126 mailto:sage [2008/02/27(水) 00:09:17 ID:m5mBCwej]
何度もすみません・・・キャラが動いて、壁(hantei[]の1)より先には進めない、というものを作っているのですがどうしても左に移動したときがうまくいきません。
右の壁にいったときは問題ないのですが、左の壁の場合は歩く途中の動作中にキャラが止まってしまいます。ちなみにこの間でもFPS関数は動作しております。長すぎるので2回に分けて書き込ませていただきます。
#include "DxLib.h"
struct buta{
int x,y,img,muki,flag;
};
int RefreshTime;
int count=0,FpsTime[2]={0,},FpsTime_i=0;
int color_white;
double Fps=0.0;
char Key[256];
int kabe_e;
int PIPURU[16];
int hantei[20] = { 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 } ;
void SetColor(){
color_white=GetColor(255,255,255);
return;
}
void FpsTimeFanction(){
if(FpsTime_i==0)
FpsTime[0]=GetNowCount(); //起動〜1周目の時間
if(FpsTime_i==49){
FpsTime[1]=GetNowCount(); //1周目〜50周目の時間
Fps=1000.0f/((FpsTime[1]-FpsTime[0])/50.0f);//50周分の平均を出す
FpsTime_i=0; //平均を出した後カウントをリセット
}else
FpsTime_i++;
if(Fps!=0)
DrawFormatString(565,460,color_white,"FPS %.1f",Fps);//FPSを表示
return;
}




188 名前:126 mailto:sage [2008/02/27(水) 00:12:07 ID:m5mBCwej]
int can_or_cannot(int x,int y,int muki){//進む方向が通れるか通れないかを判定
if(muki==2)//左向きなら
if(hantei[x/32-1]==1)//通れないなら
return 1;//エラー
if(muki==1)//右向きなら
if(hantei[x/32+1]==1)//通れないなら
return 1;//エラー
return 0;//正常
}
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,LPSTR lpCmdLine, int nCmdShow ){
if( ChangeWindowMode(TRUE) != DX_CHANGESCREEN_OK || DxLib_Init() == -1 ) return -1; //ウィンドウ化と初期化処理
buta pipu;
pipu.x=320;
pipu.y=256;
pipu.flag=0;
pipu.muki=0;
kabe_e=LoadGraph("kabe.png");
SetDrawScreen(DX_SCREEN_BACK); //裏画面に設定
LoadDivGraph("pipuru.png",16,4,4,32,32,PIPURU);//画像ピプル読み込み


189 名前:126 mailto:sage [2008/02/27(水) 00:14:13 ID:m5mBCwej]
while(!ProcessMessage() && !ClearDrawScreen() && !GetHitKeyStateAll( Key ) && !Key[KEY_INPUT_ESCAPE]){
RefreshTime=GetNowCount(); //今の時間を取得
FpsTimeFanction();
if(pipu.x%32==0&&pipu.y%32==0){
pipu.flag=1;
if( Key[ KEY_INPUT_UP ] == 1 ) //上ボタンが押されたら
pipu.muki=3;
else if(Key[KEY_INPUT_LEFT]==1)
pipu.muki=2;
else if(Key[KEY_INPUT_DOWN]==1)
pipu.muki=0;
else if(Key[KEY_INPUT_RIGHT]==1)
pipu.muki=1;
else
pipu.flag=0;
}
if(pipu.flag==1) //もし歩くなら
if(can_or_cannot(pipu.x,pipu.y,pipu.muki)==1)//行き先が歩けないなら
pipu.flag=0; //歩かないフラグを立てる。
if(pipu.flag==1){
if (pipu.muki==3)
pipu.y--;
else if(pipu.muki==2)
pipu.x-=2;
else if(pipu.muki==0)
pipu.y++;
else if(pipu.muki==1)
pipu.x+=2;
}
すみません、4回になりそうです。ながながとすみません・・・

190 名前:126 mailto:sage [2008/02/27(水) 00:14:37 ID:m5mBCwej]
pipu.img=PIPURU[(pipu.x%32+pipu.y%32)/8+pipu.muki*4];
DrawGraph(pipu.x,pipu.y,pipu.img,TRUE);
ScreenFlip(); //裏画面を表に反映
count++;
while(GetNowCount()-RefreshTime<17);//1周の処理が17ミリ秒になるまで待つ
}
DxLib_End();
return 0;
}


191 名前:名前は開発中のものです。 mailto:sage [2008/02/27(水) 08:01:50 ID:tzifsiC4]
x/32-1 が0になる条件は x=32〜63

つまり、x=63になった瞬間、もう0番目の壁にぶつかってるんだよ

192 名前:126 mailto:sage [2008/02/27(水) 13:48:20 ID:9wtxnZrA]
>>191
[x/32ー1]の結果は、hantei[]の中身なので、例えば[x/32ー1]==1の計算の結果が8だとしたら、hantei[8]となるので、hanteiの八番目に1が入っているか?ってことです。…よね?間違ってたらすみません


193 名前:名前は開発中のものです。 mailto:sage [2008/02/27(水) 14:42:16 ID:r6hHH13Q]
hentai[i]

194 名前:名前は開発中のものです。 mailto:sage [2008/02/27(水) 14:43:36 ID:2UlhBHC9]
わからないならそーゆーコード組むなよ

195 名前:名前は開発中のものです。 mailto:sage [2008/02/27(水) 20:01:15 ID:tzifsiC4]
>>192
63/32-1 がいくつになるのか表示してみろ

196 名前:126 mailto:sage [2008/02/27(水) 22:03:24 ID:9wtxnZrA]
>>194さん
あるサイトを参考にしながらその通りにやっているはずなのですが、こうなっちゃいました…。
>>195さん
多分0だと思います。

197 名前:名前は開発中のものです。 mailto:sage [2008/02/27(水) 22:32:11 ID:tzifsiC4]
ソース丸々貼り付ける馬鹿は放置した方がいいんだろうが、まぁ暇なんで

x/32-1 って部分ををx/32 に書き換えろ
1ドットめり込むが、今よりましだろ



198 名前:126 mailto:sage [2008/02/27(水) 23:17:08 ID:Lmz6Mp6I]
>>197さん
・・・無理でした・・・画像がサイズがおかしいのでしょうか・・分からない・・。右は問題ないのに左がってのがよく分からないです。
別の方法でやってみることにします・・・。手間をかけさせてすみませんでした。

199 名前:126 mailto:sage [2008/02/28(木) 23:34:59 ID:lrVcbRPz]
どうも。結局 } の位置がおかしいだけでした・・・orz・・・
書き込み3回目の16行目の}を19行目の後につけると上手くいきました。本当にご迷惑をおかけしましたm(_ _)m






[ 続きを読む ] / [ 携帯版 ]

前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