SDXFrameWork  0.10
SDXFrameWork
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
Q&A

よくありそうな質問



Q.何故緩いライセンスではなくAGPL ver3なの?

A.
 最大の理由は利用者同士がお互いにコードを共有した方が、開発者とユーザーの利益になるとの結論に至ったからです.
詳しくはSDXとは?を読んで下さい.
AGPLなのはWebGLに対応する可能性が0では無いからです


Q.旧バージョンはzlibだけどこれはどうなるの?

A.
 以前に公開していたverのライセンスはそのままなので、旧バージョンはzlibライセンスで利用する事が出来ますし、再配布も可能です。
ただややこしいので、公式に旧verの配布はしていません。


Q.ライセンスが英語なのでよくわからないです

A.
 非公式ですが、こちらが参考になると思います
http://www.ipa.go.jp/osc/osslegal.html#GNUGPL1
 このライブラリを使ったソフトウェアを配布する場合ソースコードを入手可能にしライセンスをAGPL ver3にする必要があります、
画像や音声、シナリオ、スクリプト等の外部ファイルのライセンスはAGPL ver3にする必要はありません。

入手可能であれば良いので
①誰でもダウンロード出来る形でGithub等で公開する
②プログラムと一緒に配布する
③問い合わせ先を明記して要求があればコードを送る
のように手段は問いません


Q.不注意や勘違い、あるいは故意にライセンス違反したらどうなるの?

 ライセンス違反を発見した場合、是正を要求します。即訴訟とかはまずありません。
ただしライセンス違反は好ましくありませんので、疑問があればフォーラムで質問して下さい。
故意に違反するのはやめましょう。


Q.破壊的変更って何?

A.
 ライブラリ利用者が新しいVerに上げた時、今までのコードにエラーが出たり挙動が変わったりする修正の事です。
バグの修正や未実装機能の実装によってそういう事が起こる場合は破壊的変更と言わない事もあります。
 SDXでは必要があったり、使いやすさが向上する場合破壊的変更を行うので、Verを上げたら大量のエラーが出る事があります。
修正内容については更新履歴を確認して下さい。

 Verを上げた時に利用者のコードを修正する必要があるのは好ましくないのですが、破壊的変更を行わず使いにくいままにするより、修正を行ったほうが良いと考えているので、ご了承下さい。


Q.Appstoreで配布出来ない?
このような事情があり配布は出来ません。
年齢制限等は緩和されましたが他はあまり変わっていません。
http://sourceforge.jp/magazine/08/04/17/0141213
 いわゆる脱獄アプリとして配布する事は可能ですが、メーカー保障が切れるので推奨はしません。
Appstore等で配布したい場合、別のライブラリを使う事をお勧めします。
Appstore以外でも秘密保持契約が必要だったり、DRMを付けないといけないプラットフォームでは配信出来ません。

Q.SDXFrameworkのソースも一緒に配布する必要はありますか?

A.
 ライブラリに何らかの修正を加えた場合は、ライブラリのコードも配布する必要があります。
それ以外の場合はSDXFrameworkのバージョンと入手方法を明示していれば、ライブラリの部分は配布しなくてもかまいません。


Q.関数の使い方はどうやって調べるの?

A.
 リファレンスやサンプルコードを読んでください。

"Sample/Sample.h"をincludeして、Sample~で始まる関数を呼び出すとサンプルコードを実行する事が出来ます。


Q.未実装機能とは?

A.
 クラスの詳細か関数の説明の後に[未実装]とある場合は未実装です、今後実装しない可能性もありますが、出来たら実装したい機能です.
未実装関数とクラス一覧


Q.図形描画機能が貧弱だし、動画も扱えなくて不便、ネットワークや3D機能はなんで実装しないの?

A.
 原則として、ライブラリ開発者がゲーム開発に必要としている機能を優先して開発する方針があります。
そうでないとレビューが困難になるからです。
 SDLの動画とか、ネットワークとか、図形描画諸々は必要としている開発者がいないため実装されません。
特定の色を透過色に指定する機能も透過pngを使ったほうが確実なので、実装していません。



Q.なんで引数だけ日本語でクラス名とかは英語なの、ルー語?

A.
 普段日本語で思考しているので、日本語の方がライブラリが使いやすく開発が楽だからです。
というかわざわざ全部の識別子を英語にする理由がありません。

 仮引数やローカル変数だけの理由は、android-ndkの対応状況を考慮したのと、
利用者が増えたので英訳してSDL公式に取り込んで貰おうとかなった場合も、仮引数だけなら翻訳が楽だからです



Q.何故管理がGithubとSorceForgeに分かれているんですか?

A.
 Githubの方が使いやすいので、ソースはGithubで管理しています。
安定版をSorceForgeに置いているのは、Githubより検索にかかる可能性が高いのと、バイナリの配布が楽だからです。


Q.SDXの意味は?

A.
 SDの部分はSDL、DXの部分はDXLibから取っています。最初はDXFrameworkという名称でした。
DXLibのラッパーとして開発していたのを途中で内部実装をSDLに変更したので、現在DXLibは使っていません。
しかしながら機能分割の粒度や関数の命名等でDXLibを参考にしているので、敬意を表して名称に含めています。


Q.何故DXLIB版の開発を辞めたの?

A.
機能はDXLibの方がSDLより豊富ですが、プラットフォーム対応の関係でSDLに専念する事にしました。


Q.SDL2.0の参考サイトとかありますか?

A.
こちらや
http://lazyfoo.net/tutorials/SDL/index.php
ドキュメント日本語訳のプロジェクトが参考になると思います
https://sourceforge.jp/projects/sdl2referencejp/


Q.分からない事があったら、どうすればよいですか?

A.
 掲示板で「新しい話題を始める」から質問して下さい。
SDXFramework:ヘルプフォーラム
書き込んだら作者にメールが行くのでそれなりの早さで反応します。

 作者のtwitterや、メール、ブログ等で質問されると確認が手間なのと情報を一元管理して共有しにくいので、
出来るだけ掲示板を利用して下さい。(twitterはbotなので、殆どチェックしません)