[編集]画像の指定の仕方(建物) †プログラマの方はよくご存知ですが、画像の指定は多次元配列(これはちょっと違うけど)になっています。それのシーケンス BackImage[0][0][0][0][0]=./syo-yu.0.1 BackImage[0][1][0][0][0]=./syo-yu.0.0 BackImage[0][0][1][0][0]=./syo-yu.0.1 BackImage[0][1][1][0][0]=./syo-yu.0.0
[向き]は0,1,2,3,4,5,6,7で、それぞれ南、東、北、西、南東、北東、北西、南西の各向きを表しています。 こんな感じに定義されます。この範囲内に建造物を書きましょう。高さを指定する事で上に伸ばす事も可能ですが、 こうなります。気をつけて描きましょう。 アニメーション番号を指定すると、その部位のチップがどんどん切り替わってoilrigやsinemaのようにアニメーションします。 元画像の座標は、(pak64なら)64ピクセル刻みで設定します。つまり、ひとつのピースは、64*64ピクセルです。256*256ピクセルの画像だと、 [編集]補足資料1 †下図のような2x2の土地に建物を作る場合を考えます 1枚のタイルで表示できる範囲は下図の範囲です。これを4枚用意します これを、それぞれのタイルの上に置いてみると、下図のようになります これが2x2の土地に表示できる範囲です。高さが1の場合には建物はこの範囲内に描画する必要があります。 これをdatファイルで指定できるように、再び分割すると図のようになります 重なり合った部分はあってもなくても構いませんが、ないほうが画像データは軽くなります。 ※重要な注意点 ・・・・・・こんなことをしなくても、TileCutter を使えば簡単に画像の分割とdatファイルの作成をしてくれます。 [編集]補足資料2 †観光地・産業(dims=3,3,1)と(dims=3,2,2)の[横][縦]。dimsの[横][縦]は[東西のタイル数]・[南北のタイル数]の順だが、BackImageの[横][縦]は[南北の配列位置]・[東西の配列位置]の順。指定する順序が逆なのに注意。[向き]は1,2,4が基本(※例外として後述のような特殊な設定もある)。正方形のようにゲーム上でマップを回転させたとき4方向すべてが同じ形の場合は1で良い。長方形のように2パターンの形がある場合は最低2つの画像が必要なので2。4方向すべての形が異なる場合は4。 観光地・産業 これもdims=3,3,1。88.10.3(makeobj36)以降で不定形な建物が可能で、建物内に道路などを通すことができる。ただし、BackImage[0][0][0][0][0]は必ず必要。 車庫・ターミナル駅・港(dims=1,1,4)の[向き]と、バス停・鉄道駅(dims=1,1,2)の[向き]。 [99.09以降]
市内建築物の向きは、自動設置の場合必ずしも正しく表示されません。下記の説明も間違っている可能性があります。
市内建築物[110.0以降] dims=1,1,1の場合は[0]のみが使用される ここからの駅ビルの説明は、simutrans 100.0までのバージョンでは正しく表示されますが、今後のバージョンでは正しく表示されなくなります。[1]と[3]が逆になります。 駅ビル(dims=1,1,4)の[向き]。車庫などとはN,Sの方向が逆なのに注意。dims=1,1,1の場合は[0]のみが使用され、dims=1,1,2の場合は[0][1]のみが使用される。 駅ビル(dims=2,1,4)の[向き][横][縦]。dims=1,1,1の場合は[0]のみが使用され、dims=1,1,2の場合は[0][1]のみが使用される。駅ビルの場合、dims=x,yがx<yであってはいけない。 ここからの駅ビルの説明は、simutrans 101.0以降のバージョンで正しく表示されます。過去のバージョンでは正しく表示されません。[1]と[3]が逆になります。 駅ビル(dims=1,1,4)の[向き]。dims=1,1,1の場合は[0]のみが使用され、dims=1,1,2の場合は[0][1]のみが使用される。 駅ビル(dims=2,1,4)の[向き][横][縦]。dims=1,1,1の場合は[0]のみが使用され、dims=1,1,2の場合は[0][1]のみが使用される。駅ビルの場合、dims=x,yがx<yであってはいけない。 港(dims=1,2,4)の[向き][横][縦]。港は4つの向きが必要です。 港(dims=1,1,16)の[向き][横][縦]。(simutrans 101.0以降のバージョン、makeobj49以上でのみ使用可) [編集]補足資料3 †BackImage[0][0][0][0][0][0]=offset.0.0,64,64 のように任意で座標を指定すると、表示位置を相対的にずらすことが可能です。マイナスの値も指定可能です。 datでの表記は上記のとおりで、 ,x,y 。 ずれる方向を平たく言えば、 +x = 右 +y = 下 -x = 左 -y = 上 といった具合。 |