* シェルの差分の作り方・発展 [#a6dc7f79]

このページでは、MacOSX用伺かベースウェア・偽林檎対応の差分の指定Tipsを書いています。~
前提として、MacOSX・偽林檎で里々を用いて説明します。~
~
偽林檎では、差分の指定の方法によって、サーフェスがきちんと表示されない事があります。~
実際に以下で説明する事柄は、Windows・SSP上ではどれもきちんと表示されていますが、偽林檎上では差分のみ表示されているシェルがあります。~
それは偽林檎上でどのような状況で発生するのか、またどのような手段でふせげるのかをまとめました。~
~
 
** 0.初めに [#qa1c1e8c]
例として、Surface Man Advanceを用意しました。~
このゴーストを使って説明しています。~

&attachref(./surface_advance.nar);~
~
AdvenceでのSurface Manは、サーフェス指定の桁が1・2・3桁の辞書を持っています。~
腹のしましまをつつくと、辞書の切替えを聞いてきますので、説明に沿って切替えてください。~
~
 
** 1.差分なしシェル [#qa1c1e8c]
一番最初に起動させたままのシェル、マスターシェルです。~
このシェル(shell/master)のsurfaces.txtでsurface IDは2桁です。
 surface01
 {
 collision0,9,153,141,182,Change
 }
ですがマスターシェルでは、サーフェス指定の桁が1桁・2桁の辞書とも、特に不都合が見当たることはありません。~
~
問題は差分失敗のシェル(shell/difference)です~
~

** 2.差分失敗シェル [#qa1c1e8c]
このシェルでは、1桁・2桁の辞書とも生首状態でしか差分が表示されません。~
surfaces.txtのelement中のPNGファイルの指定もきちんとあっています。~
 surface01
 {
 element0,overlay,surface00.png,0,0
 element1,overlay,surface01.png,20,20
 collision0,9,153,141,182,Change
 }
1桁の辞書で表示されないのは桁数が足りないからかな、と思いますが、2桁の辞書まで表示されないのは不思議ですよね。~
~
&attachref(./i_sa01.gif);~
~
失敗理由の説明の前に、差分成功のシェル(shell/better)を見てください。~
~

** 3.差分成功シェル [#qa1c1e8c]
このシェルで違うところは、surfaces.txtのsurface IDの桁です。~
差分なしのシェルと差分失敗のシェルではsurface IDは2桁でしたが、差分成功1のシェルではsurface IDは1桁です。~
 surface1
 {
 element0,overlay,surface00.png,0,0
 element1,overlay,surface01.png,20,20
 collision0,9,153,141,182,Change
 }
そしてこのシェルでは1桁・2桁の辞書ともきちんとサーフェスが表示されます。~
このことから、偽林檎ではsurfaces.txt上で、0から始まるsurface IDはきちんと表示されないことが予測されます。~
~
&attachref(./i_sa02.png);~
~
個人的な推測ですが、辞書上ではサーフェス指定(0*)は(*)に変換されてsurfaces.txtでマッチするサーフェス指定を探しますが、surfaces.txt上ではsurface0*がsurface*に変換されないので、surfaces.txtを無視して、PNGファイルの名前でマッチするものを表示するからではないか、と考えます。~
~
補強として、差分 サーフェス指定3桁のシェル(shell/three)を説明します。~
サーフェス指定の桁が3桁の辞書に切り替えてください。~
~

** 4.差分 サーフェス指定3桁シェル [#qa1c1e8c]
このシェルでSurface Manをつつき回すと、「Oops!」のセリフの時に生首状態になります。~
これは、この表情はsurface IDが002、0で始まる番号だからです。~
「Whoa.」のセリフの時の笑い顔はsurface IDが102のため、きちんと表示されます。~
~
&attachref(./i_sa03.gif);~
~
最後に、安全策として差分リネームのシェル(shell/rename)に触れます。~
辞書はサーフェス指定の桁が1桁か2桁の辞書に戻しておいてください。~
~

** 5.差分リネームシェル [#qa1c1e8c]
安全策とは、差分にsurface*.pngという名前をつけないことです。~
このシェルで言えば、差分にはelement*.pngという名前がついています。もちろん名前はなんでもかまいません。~
なぜリネームするのかと言えば、もしベースウェアがsurfaces.txtを理解せず、PNGファイルを直接拾ったとしたら、やはり生首状態で表示されます。~
同じ不具合ならば、まだsurface0の無表情の方がまだマシです。~
同じ不具合ならば、surface0の無表情の方がまだマシです。~
surfaces.txtのelementできちんとPNGファイルさえ指定してやれば、何の問題もありません。~
~
~
以上でシェルの差分の作り方は終わりです。~
お疲れさまでした。~
~

** 補足 [#qa1c1e8c]
もしころぺたを導入済みであれば、差分失敗のシェル(shell/difference)を開いてみてください。~
たぶん差分失敗のシェル(shell/difference)はsurfaces01とsurfaces02が妙な表示な上に、個別設定しようとすると、"基本画像"と"Element"が選択できないはずです。~
~
&attachref(./i_sa04.gif);~
~
こんなところでもsurface IDの0*エラーに気付くことができるので、WindowsでMac環境を試せない方も差分だけの表示はふせぐことができます。~
~


**コメント [#v73fcc6a]
- もし、同じMacOSX・偽林檎で差分失敗のシェルも表示される方がありましたら、教えてください。 -- [[しお]] &new{2007-02-04 (日) 21:11:42};

#comment(below)

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS