シェルの差分の作り方・基礎†このページでは、サーフェスの変化のある部分だけを切り抜いて、ベースサーフェスに重ねる方法を紹介します。 シェルのサーフェスすべてを、表情など変わる部分以外の絵もふくめて用意すると、すごい容量になります。 0.初めに†すごく簡単な例として、Surface Manを用意しました。 &attachref(./surface_basic.nar); 1.必要な部分をピックアップする†まず、Surface Manのマスターシェルを見てください(shell/master)。ごく普通の差分のないタイプのシェルです。 &attachref(./i_sb01.png); 変わっているのはグリーンの部分だけなので、surface01.pngとsurface02.pngはこのようになりました。 2.surfaces.txtを書く†今の状態でサーフェスを適用すると、差分失敗のシェル(shell/difference)と同じように、生首だけ表示されてしまいます。 surface1 { collision0,9,153,141,182,Change } と現在書かれています。これに「element」を記述します。 surface1 { element0,overlay,surface00.png,0,0 element1,overlay,surface01.png,20,20 collision0,9,153,141,182,Change } となります。 element0,overlay,surface00.png,0,0†この指示を文章として読むと「0のエレメントにsurface00.pngをx0・y0の位置に重ねます」です。 element1,overlay,surface01.png,20,20†これもelement0とほぼ同じ指示です。
一つだけ違うのは、位置指定がされていることです。 &attachref(./i_sb02.gif); 顔部分の左横と上の暗いピクセル数が、surface01.pngの位置指定の値です。 3.余分な部分を塗りつぶす†この状態で差分としてはぼぼできているのですが、たぶん差分成功/pna処理失敗のシェル(shell/almost)を適用したときのように、表情が変わると目の上のフチにわずかなジャギーが出ているはずです。 &attachref(./i_sb03.png); これだけです。 コメント† |