サイトロゴ

フリーのRTSRPG「Millennium Legend」をメインとしたブログ、その他すぴブレの改造講座など。
 
久々の改造(?)講座です、しかも上級編らしいのですが・・・

最近はPCによってバトル時のキャラ画像が反転するという謎仕様の対策として
ほぼ全部の画像定義ファイルを書き換えています。
True.jpg false.jpg
  こちらが正しい表示    こちらが問題の表示

さて、本題ですが今回はすぴブレに使われているCallTransについての講座です、
まず最近まで私は全く仕組みがわかりませんでした、使われないすぴブレタグナンバー1です。

すぴブレに付属しているエディタマニュアルには殆ど詳しいことが書いていないために
使い方がわからないといった方が多いと思います。
ということでCallTransの仕組みを解説していきたいと思います。

実はこの<CallTrans/>タグは物凄い特殊な処理が可能となっています、
JavaScriptによる計算ができたり、実質プログラミングにて計算ができたりと・・・・

Q.プログラミング(Java.VB)などの知識が必要ですか?
A.今回の解説ではプログラミングに関しては絡めません、ご安心ください
ただしこの-CallTrans編-にはきっとPart2以降が出るかもしれません
そこで簡単なJavaScriptについて解説する予定です。

というわけで実際に例を見て解説を始めましょう。
まずはすぴブレの中(Millennium Legendにもあります)のEvent/Common/GetDate.xslを見てみましょう。
GetDate.xslは確か・・・すぴブレ本編には使われてませんね

<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xslhttp://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:spibre="http://geroha.ld.infoseek.co.jp/spibre/">
<xsl:output method="xml" version="1.0" encoding="Shift_JIS" indent="yes" />

<msxsl:script xmlns:msxsl="urn:schemas-microsoft-com:xslt" language="JavaScript" implements-prefix="spibre">
function getDate(){
var dateObj=new Date();
var nowDate=dateObj.toLocaleString();
return(nowDate);
}
</msxsl:script>


<xsl:template match="CallTrans">
<Event>
  <xsl:element name="Param">
     <xsl:attribute name="name">_temp_msg</xsl:attribute>
     <xsl:attribute name="val"><xsl:value-of select="spibre:getDate()" /></xsl:attribute>
   </xsl:element>
</Event>
</xsl:template>


</xsl:stylesheet>

Q.なんでこんなにも輝かしいのですか?
A.説明のためにこんなにも色分けしています

青色の文字で書かれているところは必ず必要な部分です
黄色の文字で書かれているところは、どうやらホームページを書くスペースみたいです、
       実質なんでもいいのですが必ず一文字は入れてください(a とかで結構です)
赤色の文字は見なかったことにしましょう、プログラミング部分です、今回はスルーしてOKです。
緑色の文字で書かれているところが今回のメインですが特殊な説明はしません、今回はこのファイルの使い方を説明します。

試しに以下のxmlファイルを作ってみてください。
ファイル名・保存箇所等は自由です。
----------------------------------------------------

<?xml version="1.0" encoding="shift_jis" ?>

<List>
<CallTrans params="_temp_msg" path="Event/Common/GetDate.xsl"/>
<Msg msg="=_temp_msg"/>
</List>

----------------------------------------------------
作り終えたらそのファイルをゲーム画面にドラッグ&ドロップしてください。

結果的に年月日時分秒が表示されるはずです。
<List/>タグ内の説明ですが
2行目は知っている通りパラメータをMsgウィンドウで出力しています。
問題は1行目・・・、paramsには_temp_msgが入ってます
pathにはGetDate.xslのパスが入ってます。
結論としては_temp_msgにある処理をするためにGetDate.xslを呼び出しているということです。

続いてGetDate.xslのこの部分についての解説

  <xsl:element name="Param">
     <xsl:attribute name="name">_temp_msg</xsl:attribute>
     <xsl:attribute name="val"><xsl:value-of select="spibre:getDate()" /></xsl:attribute>
   </xsl:element>


これをすぴブレ風に直すとこうなります↓
<Param name="_temp_msg" val="時間取得のパラメータを出力させるプログラム"/>

Q.ところで紫色の文字は?
A.紫色の文字はすべて同じ内容でお願いします、
 もし書き換えたい場合は同じ色の場所をすべて書き換えてください。


一応ここまでをひと段落としておきます、今回の要点はxslファイルの使い方です、
使う際は必ず<CallTrans/>を使用してください。

近いうちにPart2も出す予定です、もちろん質問も受け付けております。
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事のトラックバックURL
http://stnsllethouse.blog.fc2.com/tb.php/92-5efb908b
この記事にトラックバックする(FC2ブログユーザー)
この記事へのトラックバック