メニュー‎ > ‎VSD for GPS‎ > ‎

スキンファイル 作成マニュアル


目次

  1. 概要
  2. スキンスクリプトの基本
  3. 基本オブジェクトと組込みオブジェクト
  4. VSD 組込みオブジェクトリファレンス

概要

VSD for GPS (以下 VSD) は,動画のメーター等のデザイン・レイアウトをユーザが自由に作成・変更することができます.これを「スキン機能」と呼びます.
スキンの実態は JavaScript で記述されたテキストファイルです.簡単にデザインを変更出来るだけでなく,JavaScript で制御することにより自由度の高いデザインを行うことができます.
以下,スキン用 JavaScript ファイルのことを「スキンスクリプト」と呼称します.   

スキンスクリプトの基本

スキンスクリプトの配置場所

スキンスクリプトは (vsd_filter_gps.auf が存在するディレクトリ)\vsd_plugins\ ディレクトリ下に,hoge.js のように拡張子 .js で作成します.拡張子が .js であればファイル名はなんでも良いですが例外として,ファイル名がアンダースコア '_' で始まるスキンスクリプトは VSD では無視され使用されません.

スキンスクリプトの文字コード

スキンスクリプトの文字コードは,必ず UTF-8 で記述します.

スキンスクリプトの基本構成

スキンスクリプトは,大きく分けて Initialize() と Draw() で構成されます.
Initialize() は,スキンが VSD システムにロードされた時に 1回だけ実行されます.
通常,スキンで使用する画像ファイルのロードやフォントの作成を行います.

Draw() は動画の毎フレームごとに呼び出される関数です.通常,動画のフレームに対して何らかの描画を行う処理が記述されます.

また,スキンスクリプトの先頭で以下を行ってください.

  • 作成するスキンが対象とする (つまり,スキン作成時に使用中の) VSD のリビジョン番号を,TargetVSDRevision に設定します.
  • _system/OldApiSupport.js を Include します.
VSD は,TargetVSDRevision に設定されたリビジョンから変更された JavaScript 仕様がある場合,古い仕様と互換性がある記述を OldApiSupport.js からロードします.これにより,今後 VSD の JavaScript 仕様が変更された場合も,可能な限りスキンの修正を抑えることができます.

スキンスクリプトの基本例:

// 古いスキンスクリプト仕様に対応するための Include.
TargetVSDRevision = 768; // ←例.実際はスキン作成時の VSD リビジョンを設定する
Include( "_system/OldApiSupport.js" );

function Initialize(){
    img = new Image( ... );     // Initialize() ファンクション
    font = new Font( ... );     //     〃
}

function Draw(){                // Draw() ファンクション
    Vsd.PutImage( ... );        //     〃
    ...                         //     〃
}                               //     〃

基本オブジェクトと組込みオブジェクト

JavaScript には,JavaScript 言語仕様によって標準で備えている基本オブジェクト (Date, Math 等) と,JavaScript が組み込まれたアプリケーション (代表的なのは Web ブラウザや Windows Scripting Host (WSH)) が独自に用意している組込みオブジェクト (例えばブラウザの window) があります.
基本オブジェクトは VSD でも使用できます.「とほほのJavaScriptリファレンス」の「基本オブジェクト編」を参考にしてください.
組込みオブジェクトは,VSD が独自に用意しているオブジェクト (Image, Font 等) が使用できます.VSD で使用可能なオブジェクトについては VSD オブジェクトリファレンスを参照してください.

逆に,Web ブラウザ等の組込みオブジェクト (window 等) は VSD では使用できません.JavaScript について検索するとよく引っかかるのが Web ブラウザや WSH の JavaScript 記述例なので,注意が必要です.


VSD 組込みオブジェクトリファレンス

こちら→VSD 組込みオブジェクトリファレンス