テンプレート:CustomSprite
Luaモジュールを使用しています: |
ショートカット
{{Sprite}}
を、よりカスタマイズを容易にしたスプライトテンプレート。Webツールでスプライトシートを作成すればMOD専用のスプライトシートも作成可能です。
このテンプレートは基幹部品であり、そのまま使用するよりもこのモジュール:CustomSpriteをカプセル化した別のテンプレートを作成することをおすすめします。
Example
Source
{{CustomSprite| width=32 | height=32 | image=InvSprite.png | sheet-width=1024 | sheet-height=1728 | posx=160 | posy=448 | title=リンゴ }}
Result
Parameters
パラメーター | 説明 | {{Sprite}} 用データモジュール利用時の互換
|
---|---|---|
|image= |
スプライトシート画像のファイル名を指定します。必須 | データ上にimage がない場合はItemCSS.png が使用されます。
|
|sheet-width= |
スプライトシート画像の幅を数値で指定します。デフォルトは256 |
sheetsize がデータ上にある場合その値が利用されます。
|
|sheet-height= |
スプライトシート画像の高さを数値で指定します。必須 | 互換のため省略できますが、scale が利用できなくなります。
|
|width= |
スプライトの幅を数値で指定します。デフォルトは16 |
size がデータ上にある場合その値が利用されます。
|
|height= |
スプライトの高さを数値で指定します。デフォルトは16 |
size がデータ上にある場合その値が利用されます。
|
|scale= |
拡大率を数値で指定します。デフォルトは1 sheet-height が省略されると 1 に強制されます。 |
|
|posx= |
アイコンの位置 X を数値で指定します。デフォルトは0 スプライトシート中のアイコンの座標。起点は左上です。 |
pos がデータ上にある場合その値で計算されます。
|
|posy= |
アイコンの位置 Y を数値で指定します。デフォルトは0 スプライトシート中のアイコンの座標。起点は左上です。 |
pos がデータ上にある場合その値で計算されます。
|
|link= |
クリックしたときのリンク先のページ名を指定します。省略可 |
ツールチップ用拡張パラメーター
Name | Usage |
---|---|
|notip=1 |
ツールチップを非表示にします。 |
|nocap=1 |
Capitalizeを無効にします。ツールチップの単語毎の先頭を自動的に大文字にしない。 デフォルトではCapitalizeは有効。先頭は大文字、それ以降は小文字になる。 |
|title= |
指定するとツールチップの文字列を変更できます。 |
|rarity= |
指定するとツールチップの文字色が変化します。未指定:白色、uncommon :黄色、rare :水色、epic :ピンク
|
|description= |
指定するとツールチップのデータ部に文字列を追加できます。|description2=...|description3... と行を増やすことができます。
|
|posi=1 |
description の文字列がポジティブな効果を表すテキスト色(青)になります。|posi2=...|posi3... と対象のdescription の番号を指定できます。
|
|nega=1 |
description の文字列がネガティブな効果を表すテキスト色(赤)になります。|nega2=...|nega3... と対象のdescription の番号を指定できます。
|
Functions
{{#invoke:CustomSprite|<function>}}
を使って呼び出すことができるモジュール関数。
Function | Description |
---|---|
base |
データモジュールを読み込まずに引数のみの情報でスプライトを表示する関数。 |
sprite |
|data= にデータモジュール名を指定してアイコン名でスプライトを表示できる関数。
|
doc |
|1= にデータモジュール名を指定すると、スプライトの一覧を出力できる関数。
|
オリジナルのスプライトテンプレートの作成方法
スプライトシート画像とデータ用のモジュールを用意して モジュール:CustomSprite を使用するとオリジナルのスプライトテンプレートが作成できます。
「スプライトシート生成ツール」 こちらのWebツールでシート画像とデータモジュールの生成ができます。
(エンチャントされたアイテムは「エンチャントスプライト生成」から生成することもできます)
画像の準備(複数の32x32のアイコン画像から)
あらかじめ、32x32で分割したアイコン画像を作ります。画像の作り方の詳しい方法については、ヘルプ:画像の作成方法 § MODで追加されたアイテムの画像を参照。
ブラウザで「スプライトシート生成ツール」を開き、32x32の画像をまとめてドラッグ・アンド・ドロップします。 すると、アイコンがそのまま読み込まれ名前をつけられるモードになります。 |
スプライトシートとLUAデータモジュールの雛形を作成 ボタンを押すと、スプライトシート画像とデータモジュールが自動で生成されます。 |
画像の準備(スクショから生成)
MODのJEIを使って作りたいアイテム画像のインベントリアイコンの一覧を表示してスクリーンショットを取ります。 |
画像編集ツールで、アイコンの部分を切り抜きます。アイコンの矩形の2ピクセルの余白を取るのがコツです。 |
切り抜きたい部分をコピーして、ファイルに保存します。 |
このように画像ツールできれいに透明にしておくと良いかもしれません。 一応スプライト生成ツール側でも透明化処理を行いますが、背景がすべて同じ色で塗りつぶされていないと完全に透明化されない場合があります。 |
ブラウザで「スプライトシート生成ツール」を開き、先程の切り抜いた画像をドラッグ・アンド・ドロップします。 すると、アイコンが分割され名前をつけられるモードになります。 |
スプライトシートとLUAデータモジュールの雛形を作成 ボタンを押すと、スプライトシート画像とデータモジュールが自動で生成されます。 |
データモジュールの構造
return {
-- デフォルトセッティング
settings = {
image = "HogeSprite.png", --スプライトシートの画像名
['sheet-width'] = 256, --スプライトシートの幅(必須)
['sheet-height'] = 512, --スプライトシートの高さ(必須)
width = 16, --1個のスプライトの幅。省略時は 16
height = 16, --1個のスプライトの高さ。省略時は 16
posx = 0, --スプライトが見つからない場合に表示する[?]マークのスプライトの位置。省略時は 0
posy = 0, --スプライトが見つからない場合に表示する[?]マークのスプライトの位置。省略時は 0
scale = 1 --スプライトの倍率。省略時は 1
},
-- アイコンのカテゴリ(アイコン一覧作成時に使用)
sections = {
{
name = "食品",
id = 1
},
{
name = "武器",
id = 2
},
{
name = "道具",
id = 3
},
{
name = "防具",
id = 4
},
},
-- アイコンの情報
ids = {
["custom axe"] = {
posx = 16, -- アイコンのX座標
posy = 0, -- アイコンのY座標
section = 2, -- アイコンのカテゴリ
},
["custom hoe"] = {
posx = 32,
posy = 0,
section = 3,
},
["special apple"] = {
posx = 48,
posy = 0,
section = 1,
rarity = "rare", -- レアリティ(ツールチップ表示用)
title = "すごいリンゴ", -- ツールチップ文字列
},
["super apple"] = { --↑の別名
posx = 48, -- 別名でも座標は必須
posy = 0, -- 別名でも座標は必須
section = 1,
rarity = "epic",
title = "超リンゴ",
},
........
}
}
スプライト用のテンプレートページの作成
{{HogeSprite}}
というスプライトテンプレートを作る場合、Template:HogeSprite
という名前でページを作成します。
そして以下の内容を記述して保存します。データモジュールをモジュール:HogeSprite
として保存した場合です。
<includeonly>{{#invoke: CustomSprite | sprite | data = HogeSprite }}</includeonly><noinclude>
{{documentation}}
</noinclude>
アイコン一覧の生成
ドキュメントページに使用するアイコンの一覧表の呼び出し方法
{{#invoke: CustomSprite | doc | HogeSprite }}
その他注意点
各アイコンの名称IDについて
Minecraft Wikiでは、各アイコンの名称は(InvSprite以外)基本小文字で、スペースはハイフンで置き換えています。
これはキーワードの検索効率を柔軟にさせる意味があり、キーワードを大文字で入力しても小文字で入力しても表示できるようにしています。
ただしこれには少し問題があり、ツールチップでCapitalize(先頭を大文字で)表示させるためにはInvSpriteのようにデータそのものをCapitalizeする必要があります。
しかしそれを行うと今度はキーワードが厳格になり、大文字小文字をしっかり正しく入力しないと表示できなくなります。(実際にMinecraft WikiのInvSpriteは大文字小文字に厳格です)
当WikiのSpriteテンプレートは自動Capitalize機能があり、小文字のみのデータであっても変換されて先頭大文字で表示されます。
表示する名称が大文字小文字混在でない場合は基本小文字のデータを使うと良いでしょう。
Module:Spriteのデータ形式との互換
Module:Spriteのデータ形式に互換性がありますが、settings
内にimage
が必要です。
またsheet-height
が設定されていない場合、scale
による拡大/縮小はできません。
別のWikiからデータをコピーしてきた場合、image = "ファイル名",
と、['sheet-height'] = <画像の高さ>,
を必ず追加して下さい。
- 使用例
- ソース
{{#invoke: CustomSprite | sprite | data=ItemSprite | Item Frame }}
- 結果
サブページ一覧
- CustomSprite/Botania
- CustomSprite/Botania/doc
- CustomSprite/BuildCraft
- CustomSprite/BuildCraft/doc
- CustomSprite/ComputerCraft
- CustomSprite/ComputerCraft/doc
- CustomSprite/HeatAndClimate
- CustomSprite/HeatAndClimate/doc
- CustomSprite/Immersive Engineering
- CustomSprite/Immersive Engineering/doc
- CustomSprite/IndustrialCraft²
- CustomSprite/IndustrialCraft²/doc
- CustomSprite/Industrial Revolution by Redstone
- CustomSprite/Industrial Revolution by Redstone/doc
- CustomSprite/Mekanism
- CustomSprite/Mekanism/doc
- CustomSprite/Test
- CustomSprite/Test/doc
- CustomSprite/TinkersConstruct
- CustomSprite/TinkersConstruct/doc
- CustomSprite/TinkersConstruct/doc/list
- CustomSprite/TofuCraftReload
- CustomSprite/TofuCraftReload/Enchanted
- CustomSprite/TofuCraftReload/Enchanted/doc
- CustomSprite/TofuCraftReload/doc
- CustomSprite/doc