FreeTrain Ex AVer プラグイン

FreeTrain Ex AVer 用に作成したプラグインを公開しています。

地形情報ファイル入出力 Ver.0.41
「ファイル」メニューに「地形データ読込」「地形データ保存」が追加されます。
現状、「地形データ読込」は処理がものすごく遅いです。
「新規作成」の空マップを作成してから使用してください。
World位置、Location位置、の意味はページ下部をご覧下さい
jp.netgamers.file.xml_100419.zip

線路情報ファイル出力 Ver.0.51
「ファイル」メニューに「線路データ読込」「線路データ保存」が追加されます。
高架の線路には橋脚が表示されない不都合があります。
また、普通に資金を消費します。
World位置、Location位置、の意味はページ下部をご覧下さい
jp.netgamers.file.dxf_100419.zip

駅情報ファイル入出力 Ver.0.11
「ファイル」メニューに「駅データ読込」「駅データ保存」が追加されます。
現状、駅舎には対応しておらず、ホームのみです。
World位置、Location位置、の意味はページ下部をご覧下さい
jp.netgamers.file.csv_100419.zip

前面展望のようなもの Ver.0.51
「表示」メニューに「前面展望のようなもの」が追加されます。
現状、起動がものすごく遅いです。
対象列車は、配置済みのものの中でいちばん最初の列車です。
以下のプラグインが別途必要です。
・地形情報ファイル入出力 Ver.0.41以降
・線路情報ファイル入出力 Ver.0.51以降
・駅情報ファイル入出力 Ver.0.11以降
AVer2.0.2.9以降、AVer3.0.1.8以降対応
jp.netgamers.stk_100426.zip


FreeTrain EX AVer 関係リンク集

現在でも活動されている方を中心に紹介しています。

FreeTrain EX Av @ wiki
オープンソースで開発されている鉄道経営&箱庭製作ゲームソフト
「FreeTrain EX A-version」(FreeTrain EX Av)のFAQやtipsを
まとめようとするwikiです。
www19.atwiki.jp/freetrain-exav/

FreeTrain Ex AVer プロジェクト
FreeTrain EX Aver の実行ファイルやソースの配布場所です。
sourceforge.jp/projects/freetrain-exav/

FreeTrainプラグイン&スクショうpろだ
定期的に内容が消去されます。
消えてもいい一時的な画像のうpなどに。
www4.uploader.jp/home/freetrain/

FreeTrainアップローダー
容量100MBですが、内容が消えないのでプラグイン公開などに。
freetrain.ps.land.to/upload/upload.php

りおりおの「FreeTrain」配布所
「FreeTrain」の自作(改造)Pluginや動画をご紹介するサイトです。
www.hiyohiyo.info/~riorio/freetrain/

FreeTrain建設コンサルタント(株)
各種プラグインを公開されています。
freetrain.finito-web.com/

FreeTrain関係のページ
FreeTrain向けプラグインやスクリーンショットを公開しております。
foobar.ifdef.jp/

鉄道経営系ゲーム製作スレッド Ver.7
鉄道および都市経営シミュレーションゲーム制作の
情報交換スレッドです。
pc11.2ch.net/test/read.cgi/gamedev/1269954334/l50

リンクはご自由にどうぞ。
上記のリンクは勝手に張らせていただきました。
このリンク集から削除して欲しい、又は追加して欲しいという方は、お手数ですが下部に記述のメールアドレスまで連絡下さい。


FreeTrain EX AVer プラグインプログラミングメモ

FreeTrain のソースは C# で記述されており、
完全なオブジェクト指向で作成されています。
そして、ソースのコメントは全て英語です(笑)。

そんな FreeTrain ですが、これのプログラミングに
これから挑もうという方のために、私がつまづいた点を
メモしておこうかと思います。参考になれば幸いです。

マップデータ

マップデータというと、普通は正方形、または矩形を
思い浮かべます。
FreeTrain も内部データ的には矩形のようなのですが、
クォータービュー画面は X 軸や Y 軸が斜めですので
座標の変換を行なっています。

矩形のマップデータは World クラスによって管理
されており、そのサイズは World.size に格納されています。
例えば、X 幅を取得したければ、
 int sx = World.world.size.x // マップの横幅
等とすれば簡単に取得できます。

しかし、この値はゲーム内で「新規作成」の空マップ
作成時に設定する「サイズ」とは完全に同じではありません。
具体的にどう違うのかは調べていないので分かりませんが、
X 又は Y のどちらかが少し大きな値になるようです。

クォータービュー画面での座標に対応した値を取得する
には Location クラスを使用します。
World 座標から Location 座標へ変換するには
World.toXYZ()を使用します。例えば、
 Location lo = World.world.toXYZ( 3, 5, 2 ); // Xが3、Yが5、Zが2の座標
のように使用します。

World 座標と Location 座標の関係ですが、感じとしては、
World 座標と Location 座標の関係
のようになると思われます(自信無い)。

Location 座標を、World.toXYZ() から変換して
取得する場合は特に問題ありませんが、
Location を自分で new する場合、その座標が
World 座標の範囲外にならないように注意する
必要があります(図の赤色部分)。
そのための関数は、
 World.isInsideWorld() // 図の黄色部分かどうか
 World.isOutsideWorld() // 図の赤色部分かどうか
で判定できます。

Location座標の最大値を取得する方法は、今のところ
分かっていません(知っている方、教えて下さい)。

線路オブジェクトのクラス

SingleRailRoad……単純な2方向の線路
SlopeRailRoad……勾配の線路
JunctionRailRoad……分岐の線路


[戻る]
管理人:T.Umezawa
本日:1
昨日:2
総合:16894(2010年04月02日以降)
最終更新日時:2010/06/03