Nagarei

Results 117 comments of Nagarei

とりあえずDxrectXのリファレンスとかを見てそれっぽい訳語を集める。

とりあえずあのコードの方針を説明しておきます。 - DXライブラリ本体は極力変更しない - namespaceでDxLibの各機能をくくってその中にDxLibの関数を入れる (vicさんのいうようにVisualStudioのインテリセンスで表示できたほうが良いと思ったからです) - 関連するnamespaceの中に独自の機能(C++ likeやXAN likeなど)を入れる - doxygenでのリファレンス生成ができるようにコメントを入れる - VisualStudioのインテリセンスで表示できるようにコメントを入れる nMouseの中は独自の機能の例になると思います。

不安になったので書き込ませてください。 GitHubはよくわからないのですが、もしかして組織のアカウントでリポジトリを作り直したほうが良いのですか? わかる人教えてください...。

doxygen形式のコメントを入れておけばそのコメントがVisualStudioのインテリセンスでも表示されます。 ``` //! コメント void f(); ``` ならばdoxygenでは「コメント」とVisualStudioのインテリセンスでは「! コメント」と表示されます

DXライブラリ掲示板の方で > namespace でのくくりすぎがstd::chrnoのつかいにくさの一因だと思っています。 と書いてありますが、僕の知る限りでは「namespace stdは大きすぎる。なぜC++はこれをまとめてしまったのか。」という意見が多いと思っています。 ところでここのファイルを更新できますでしょうか?できないようだったら組織のアカウントを作ってみます。

- namespaceの名前の長さの問題 - 使いやすさを考えると、そのほうが良いですね。略語表を作ってそれに従うというのはどうでしょうか。 - namespaceのネストの深さの問題 - `using namespace DxLibEx`や`using namespace DxLibEx::DxLibEx_Classes`を使うことを前提に組んでいたのでこうなっています。 省くとしたら一番大きいnamespace DxLibExですかね...。 - コンパイラ、とくにVisual Studioをどこまでサポートするか - どこまでの機能を実装するかによりますね...。 可変長引数をもつ関数のオーバーロードは可変長引数テンプレートが使えないVC2012では使えないです。(そこだけusingという逃げはあり得る) また、僕のコードで#ifでコメントアウトしてあるMemory系はmoveが使えないVC2010では使えないです。 - Dxlib.hを隠蔽するか - ごめんなさい。Dxlib.hを隠蔽とはなにを指しているのでしょうか? - C++11/14の機能をどこまでサポートするか、というより何をサポートしないか(1とも絡む) - 僕の頭の中にはMemory系くらいしかないので何とも...。 議論対象の具体例が欲しいです。...

機能表を作りましたが、時間がないので書きかけです。 こんな感じで機能表を書いていきましょうという以外意味がないです。

> Dxlib.hを隠蔽 隠ぺいしつつDxLibのラップをしようとするとラップ関数がinlineにできないので関数呼び出しのオーバーヘッドが発生してしまいます。 僕のイメージだとDxLibとの併用なので、この場合隠ぺいのメリットがあまりないと思います。 追記:現状で問題になるマクロはmin,maxくらいしかないのでは? > コンパイラをどこまでサポートするか そうですね。VC2013以降で行きましょう。 ただ、VC依存の機能は極力使わないようにしましょう。 > usingで逃げる 可変長引数テンプレートが使えるので必要ないとは思いますが。 例えば ``` template inline int sscanfDx(const TCHAR *String, const TCHAR *FormatString, Args&&... args); ``` を ``` using DxLib::sscanfDx;...

DoNotPushGameのコードを見て「例外をどうするか」の意味が分かりました。 例えばDxLib_Initの失敗は重要な問題なので例外を投げるべきだと思います。 しかし、各種ハンドルの読み込みの失敗は想定内の可能性も高い(連番画像を失敗するまで読み込む等)ため例外を投げるべきではないと思います。 このあたりも何か規格を決めておいたほうが良いですね。 なんか自分が規格人間になっている気がする...。

機能候補(ほんとに作りたいものから必要性に疑問符が付くものまで入ってます) - 各ハンドル系のラッパー - 特殊化:MakeKeyInput系 - 特殊化:グラフィック関係 - DxLib全体のラッパー - マウス入力クラス - キー入力、パッド入力ラッパー - 入出力ラッパー - GetNowCount系のラッパー - DxAlloc系のラッパー - ネットワーク系のラッパー