クリッカブルマップで透過画像を使った場合の問題と対処方法
吉里吉里でクリッカブルマップを使用した時に、そのマップの画像に透過している部分がある場合、その透過部分にマップの処理を設定していてもマウスに反応してくれません。
例え、透けてる部分に領域画像でちゃんと設定をしていても、です。
これは、クリッカブルマップを設定したレイヤの「当たり判定の敷居値」の初期値が16だからです。
これにより「不透明度が16以下の場所は透けているとみなしてマウスイベントを発生させませんよ」という状態になってます。
なので、透けている部分でもイベントを発生させたい場合は、この「当たり判定の敷居値」にゼロを設定すればOKです。
例えば、レイヤ1にクリッカブルマップを設定している場合
@eval exp="kag.fore.layers[1].hitThreshold=0"
というスクリプトをクリッカブルマップを呼び出した後に書けばOKです。
layersのあとのカッコ内の数値がレイヤ番号です。
セーブ/ロード/クイックセーブ/クイックロードを非表示にする小技
Almightにて右クリックで表示されるサイドバーの、セーブ/ロード/クイックセーブ/クイックロードのボタンを非表示にする小技です。(無効にするのではなく完全にボタンを表示しないようにする)
とても短いシナリオ等で、セーブロード自体必要無いという時に使えると思います。
下記のスクリプトを記述します。
@eval exp="$('#list-quickload, #list-load, #list-quicksave, #list-save').hide();"
System.shellExecute
吉里吉里にて System.shellExecute を使用した際にちょっとはまったので、そのメモを。
shellExecute のパラメータでファイルを指定する場合、フルパスで指定する際にはgetLocalNameを使ってローカルファイル名に変換する必要があります。
var fullpath = Storages.getLocalName(Storages.getFullPath("test.txt"));
System.shellExecute(fullpath);
みたいな感じです。
上記の例だと「text.txt」のフルパスを取得して、それをローカルファイル名に変換してテキストエディタで起動します。
なんでこんなことしてるの?と思う人もいるかもしれませんが、実行環境によっては一度フルパスを取得する必要があるのですよー。