プラグインリファレンス
プラグインとは
ver.2 から、プラグインを用いて novelsphere.js の機能を拡張することができるようになりました。
プラグインを読み込むことで、既存のタグの機能が拡張されたり、新たなタグを利用できるようになります。
一部のプラグインは SDK に同梱されていますが、新しいプラグインは随時ノベルスフィアデベロッパープログラムなどで配布される予定です。このリファレンスでは、SDK に同梱されているプラグインの仕様を解説します。
ノベルスフィアデベロッパープログラム: https://developer.novelsphere.jp/
プラグインの使い方
プラグインは、JavaScript ファイルとして提供されます。プラグインによっては、JavaScript ファイルの他に画像ファイルなどのリソースが必要な場合もあります。
プラグインを使うためには、これらのプラグインファイルをプロジェクトフォルダ直下にある「plugin」フォルダに入れた上で、[o2_loadplugin]タグでそのファイルを読み込んでください。
[o2_loadplugin module="extrans.js"]
上記サンプルスクリプトでは、extrans.js というプラグインを読み込んでいます。
デバッグプラグイン (debug.js)
デバッグプラグインを読み込むと、コンテンツの再生の際にデバッグ機能が利用できます。現在はそれほど多機能ではありませんが、このプラグインは随時バージョンアップしていく予定です。
デバッグプラグインはデバッグのためのプラグインですので、コンテンツを完成させたらこのプラグインを取り除くのを忘れないようにしてください。
現在は、以下の機能があります。
- コンソールへのログ出力
- 各ブラウザの JavaScript コンソールに、逐一ログを出力することができます。コンテンツが途中で止まってしまったり、思い通りに動かない際には、どのファイルのどの行でその現象が発生しているのか等を探る上で役に立ちます。
- 各ブラウザで、JavaScript コンソールを表示する方法は以下のとおりです(2013年8月14日現在)。
Google Chrome (Windows) | Ctrl キー + Shift キー + J キーを押す |
Google Chrome (Mac) | ⌘(Command キー) + ⌥(Option キー) + J キーを押す |
Mozilla Firefox (Windows) | Ctrl キー + Shift キー + K キーを押す |
Mozilla Firefox (Mac) | ⌘(Command キー) + ⌥(Option キー) + K キーを押す |
Safari (Mac) | ⌘(Command キー) + ⌥(Option キー) + I キーを押す |
Internet Explorer (Windows) | F12 キーを押して現れる F12 開発者ツールの中の「スクリプト」タブをクリックする |
携帯端末については、機種やブラウザのバージョンによって JavaScript コンソールを表示する方法が異なります。 |
デバッガープラグイン (debugger.js)
デバッガープラグインを読み込み、ノベル起動中に「i」を押すと、デバッガーが起動できるようになります。
デバッグプラグイン(debug.js)はタグの進行やエラー内容をブラウザのコンソールログに出力するのみですが、デバッガープラグインは以下のような機能があります。
- グラフィカルにタグ進行を確認することができます。
- タグの行番号をクリックすることでbreakpointを作り、そのタグで進行を止めることができます(左上の再生ボタンで再開)。
- macroやcallの呼び出し元を辿ることができます。
- profileボタンを押すことで、押した間に実行されたタグごとの実行時間を計測できます。
- layerやsoundの現在の状況を確認できるとともに、拡大率や位置などをリアルタイムに変更・確認することができます。
トランジション拡張プラグイン (extrans.js)
トランジション拡張プラグインを読み込むと、[trans]タグが以下のように拡張されます。
trans | |||
属性 | 必須 | 値 | 説明 |
(プラグインと無関係の属性についての説明は省略しました) | |||
method | yes | "universal" / "crossfade" / "scroll" / "toss" / "fadethrough" / "cube" / "horizontalflip" / "multiflip" / "blindup" / "blinddown" / "zoom" ("universal") | プラグインを読み込むと、"universal"、"crossfade"、"scroll" 以外にも、トランジションに使用できるメソッドが追加されます。各トランジションの見た目や動作環境については、「トランジションについて」の「トランジション拡張プラグイン」の項目を参照してください。 |
トランジションを行います。 詳しくは「トランジションについて」を参照してください。 |
トランジション拡張プラグインにて提供されているトランジションの一覧と、ブラウザごとの対応状況は以下のとおりです。
メソッド名 | 動作例 | 特徴 |
toss | fore ページの画像の上に、紙を覆い被せるように back ページの画像が置かれるトランジションです。 | |
fadethrough | fore ページの画像がズームインしながら透明になっていき、その後ろに back ページの画像が表示されるトランジションです。 | |
cube | 直方体に貼りつけられている fore ページの画像と back ページの画像が回転しながら交替していくトランジションです。 | |
horizontalflip | fore ページの画像が回転しながら奥に倒れていき、そのまま back ページの画像に差し替わった状態で現れるトランジションです。 | |
multiflip | fore ページの画像が短冊状に縦にスライスされ、くるくると回転するようにして裏側から back ページの画像が現れるトランジションです。 | |
blindup | fore ページの画像が短冊状に横に区切られ、区切られたそれぞれの範囲において下から上へ徐々に back ページの画像へと切り替わっていくトランジションです。 | |
blinddown | fore ページの画像が短冊状に横に区切られ、区切られたそれぞれの範囲において上から下へ徐々に back ページの画像へと切り替わっていくトランジションです。 |
Chrome
(Win/Mac) |
Firefox
(Win/Mac) |
Safari
(Mac/iOS) |
IE
(Win) |
Chrome
(Android) |
|
toss | ○ | ○ | ○ | - | ○ |
iris | ○ | - | ○ | - | ○ |
fadethrough | ○ | ○ | ○ | - | ○ |
cube | ○ | ○ | ○ | - | ○ |
horizontalflip | ○ | ○ | ○ | - | ○ |
multiflip | ○ | △ | ○ | - | ○ |
blindup | ○ | ○ | ○ | ○ | ○ |
blinddown | ○ | ○ | ○ | ○ | ○ |
○:動作する/△:動作するが非推奨/-:動作しないので crossfade で代補する
テキスト浮きあがりエフェクトプラグイン (textslide.js)
トランジション拡張プラグインを読み込むと、[position]タグが以下のように拡張されます。
position | |||
属性 | 必須 | 値 | 説明 |
(プラグインと無関係の属性についての説明は省略しました) | |||
slide | no | true / false | テキスト浮きあがりエフェクトを使用するか否かを指定します。 |
slideoffsetx | no | ピクセル数 (0) | テキストがスライドしてくる位置の左右位置を指定します。 |
slideoffsety | no | ピクセル数 (20) | テキストがスライドしてくる位置の上下位置を指定します。 |
slideduration | no | ミリ秒 (100) | テキストがスライドしてくるのにかける時間を指定します。 |
slidefadeduration | no | ミリ秒 (350) | テキストが浮きあがってくるのにかける時間を指定します。 |
メッセージレイヤの様々な属性を変更します。 |
ノベルスフィアアシストプラグイン (ns_assist.js)
ノベルスフィアアシストプラグインは、ノベルスフィアで公開するコンテンツを再生する際に必要な機能を拡張するプラグインです。
読み込むと以下のタグが使用できるようになるほか、ノベルスフィア上で動作するために必要不可欠な機能を含んでいますので、ノベルスフィア用のコンテンツでは必ずこのプラグインを読み込むようにしてください。
ns_checklogin | |||
属性 | 必須 | 値 | 説明 |
storage | no | シナリオファイル名 | ログインに失敗したときにジャンプする先のシナリオファイル名を指定します。省略するとジャンプ先は現在のファイル内に存在するとみなされます。 |
target | no | ラベル名 | ログインに失敗したときにジャンプする先のラベル名を指定します。省略すると storage 属性で指定されたファイルの冒頭へジャンプします。 |
コンテンツを再生しているプレイヤーがノベルスフィアへログインしているか否かを調べ、ログインしていなければログインウィンドウを表示します。ログインウィンドウが表示されている間、コンテンツを進行させることはできません。 ログインに成功すると、ログインウィンドウは消滅しコンテンツの再生は次の行へと進みます。ログインに失敗すると、storage 属性と target 属性で指定された場所にジャンプします。 |