#contents * SkinScript とは? [#y9775c6e] Ver.6 形式のスキン([[PSSdev/FreeDesign]])を Lua ベースのスキンで置き換えたものです. PSS の学習画面のデザインを容易に変更できるよう設計されています. * 概要 [#k21953ec] PSSの学習画面で再描画が必要となった時点で,ある1つの Lua の関数(フック関数)が呼び出される. Lua の関数からは,学習画面を操作する様々な関数を呼び出せるほか,学習画面の状態を取得することもできる.これらの機能を用いて,学習画面を自在にデザインすることが可能である. * スキン作成ガイドライン [#le911d2f] [[./スキン作成ガイドライン]] に移動しました。 * リファレンス [#vf1f2777] ** フック関数 [#le790ebd] 学習画面がある状態に変化したときに必ず呼び出される Lua 側の関数. これらの関数はスキンに必ず記述しておく必要がある. *** OnInit : 初期化 [#vbb5d287] PSSの学習画面が始まったときに呼び出される関数. 例えばイメージファイルの登録などに利用される. *** OnUpdate : 再描画 [#m422c23c] 再描画が必要となったタイミングで呼び出される関数. ほぼ全ての処理はここに書くことになる. *** OnTimer : タイマー [#u4a66666] インターバルタイマー. 非常に短い間隔で呼び出される関数. アニメーションの実装などに利用できる. *** OnKeyDown : キー押下 [#la89ad30] ユーザのキー押下イベント. ユーザがキーを押したときに呼び出される. 引数はキーの文字列.対応表は下記の通り. |キー|引数に渡される文字列|備考|h |'A' 〜 'Z'| "A" 〜 "Z" | *1 | |F1 〜 F12 | "F1" 〜 "F12" | *2 | |SPACEキー| "SPACE" || |Enterキー| "ENTER" || *1 タイピング系(タイピング,タイピングR,ディクテーション,スピードリプライ)モードでは無効です. *2 F1 キーではヘルプが必ず表示され,1 以上を返してもキャンセルできません. 返り値を 1 以上にすると,PSS のデフォルト動作をキャンセルすることができる. ** PSS 操作関数 [#l955e6a3] - [[./操作関数]] ** PSS 変数群 [#lb8550aa] - [[./変数]] ** ユーザ変数 [#o08212dd] ユーザが PSS の設定画面から簡単にいくつかの設定を変更できるようにするための 仕組みである. Skin7 のユーザ変数は,Skin6 よりも簡単に,かつ構造的に記述することができる. ''例'' PSS.CreateFont( 0, PSS.LoadUserVar( "問題文のフォント", "font", "18, 1, 0, 0, 0, MS ゴシック") );