ティラノスクリプト備忘録8

コンフィグを右クリックで閉じたかったので、閉じるように改造しました。
参考:右クリックの変更
なんかsleepgameだとf変数だと反応してくれなかったのでsf変数に。
自分用なのでタイトルからコンフィグ呼び出す時とゲーム中からコンフィグ呼び出す時で違いますがタイトルでもsleepgameで呼び出しているのであれば分岐は一つでいいと思います。

KeyConfig.jsの78行目あたりからマウス関係のところを全部改造。
スマホのジェスチャーは今回触っていませんが改造としてはこれと同じです(多分)

ティラノスクリプトによるミュージックモード実装(という名のメモ)

ブログで一覧表示するにはソースコードが長いので折り畳み。
しかばねジャックで実装しているミュージックモードのやつです。

こういうのを実装します。

説明が面倒なので、説明してません。
コードを読めばわかる人向け。
基本的にこのスクリプトを記述したmusic_mode.ksをscenerioフォルダなどに入れれば使えます。素材は自前でご用意いただければと思います。

続きを読む

ティラノスクリプト備忘録7

どうも。MHWでも相変わらずライトボウガンの蔵野杖人です。僕の考えた最強の美少女でプレイしているので、ムービーに入るたびワクワクです。まあ正直あんま進めてないんですが。まだ下位クエをうろうろしている。

そんなわけで今回は「半角スペースを含むフォントをdeffontやptextのfaceに適用する」についての備忘録だよ!! あとなんか他色々。

ユニコードを使う。

================================

@eval exp=”f.text_font”

[iscript]
var text_face = ‘\u0027’+’Rounded’+’\u0020’+’Mplus’+’\u0020’+’1c’+’\u0027’;
f.text_font = text_face;
[endscript]

[ptext text=”いろはにほへと” face=”&text_font” …]

================================

こうなります。使っているのはグーグルの早期アクセス日本語フォントのRounded M+ 1cです。
シングルクオーテーションかダブルクオーテーションのユニコードでちゃんと囲むこと。
見た目が煩雑になるので、なんかうまいことやりたいです。気が向いたらうまいことやる方法も考える。

あと、日野谷さんの【ティラノスクリプト】ローディング画面をつくる(プログレスバー付き)を参考に画像プログレスバーも作ったりしてた。
でもソースやデザインがまとまっていないので、また今度追記するか備忘録7.5あるいは8としてまとめます。

しかばねジャックがやっぱり尋常ではなく重たいので、軽量化が必須と言う感じです。preloadしてみるかなと思うんですけど、結局起動が重たいのはファイル数とファイルの大きさのせいなので、ブラウザを捨ててしまってもいいのかなと思い始めました。そうなると楽曲と動画が半分になる。ていうか、スーパーブラウザ形式で自分のサーバーにアップしてSSL環境下で実験してみた結果として、全キャッシュすると重たすぎて話にならなかったので、いよいよ本当にブラウザ向きではなさそうです。あとレイヤ構造を見直して構築し直したりしたいなとは思っています。私が開発していた時、というか、私がしかばねジャック形式のゲーム用にマクロを組んでいた時、maskタグがまだ実装されておらず(マクロ自体はv440で作っていた)、そのまま流用したためレイヤがアホみたいに多いんですね。去年の八月が狂ったように修羅場で修正する時間もなかったので、そろそろ修正していきたいところです。ただそれをしてしまうと、またセーブデータが使えなくなってしまう可能性が大なので、頭が痛いです。おそらくチャプターデータは残るから許してください……。既読スキップもつけるよ!! もうよくわかんないので、チャプタージャンプみたいな機能をつけるよ。これは元々つけたかった機能なので、色々やってみます。
あとセーブしないタイトルやエクストラ周りをアップデートしたら細かいバグが出ました。ルビ用のcssを入れ忘れていたりとか、アペンド画面から戻ろうとするとバグるとか……。大きいアップデートはないのですが、このあたりの細かいバグを修正していくかもしれません。

そしてアンドロイドアプリにしようと思ったら、動画が再生されなくて私は……タイトル画面もOPもEDも動画なので動画が再生されないのはわりと致命的……。古いOSのエミュレーターを使ったせいかもしれません。最新OSのアンドロイドをエミュってみます。そして実機がない罠。

ロボットと過ごした五人の話をリメイクしたいなぁとか、古い作品もリメイクするかそのまま移植でゲームにしたいなぁとか、新作用に機材を買ったりとか、あいぱっどを買ったので、ガレージバンドをぽちぽち触りながら「音が出る! 楽しい! でもどう使えばいいのかよくわからん!」と幼児のような状態になっていたりとかしています。比較的元気です。多分。まあ胃腸を傷めてオエ……とか最近なってますが。あと久しぶりに頭痛が襲ってきていてこれもまたオエ……と言う感じです。でもこの頭痛は多分肩こりです。

そんなわけで以上です。

ティラノスクリプト備忘録6

今回はセーブロードのデザイン変更だよ!

現時点(2017/05/02)において最新安定版であるv451での動作を確認したのでまとめます。

※エンジンの中身をいじっているので、この改造をする時は、自己責任でお願いします。この改造で何らかの不具合が起きても当方は一切の責任を負いません!

参考にしたサイト(プラグイン):めも調-セーブ関係機能追加プラグイン

=============save.html、load.html、tyrano.cssの改造===============

自分用備忘録なので、書くのが面倒なここは省略。未来の自分がここを見たい時は勝手にhtmlを見るだろう。
そしてエンジンの改造ができる人はjsのソースコードから察することができるだろうということで……。

=============kag.menu.jsの改造===============

上述のサイトさんを参考にして、doSaveに格納したい変数の記述を追加しつつ、今回一番いじりたいのは見た目なので、kag.menu.jsの中のdisplayLoad、displaySaveを以下のように改造。コードが同じなので、ここに載せたのはdisplayLoadのみです。それでも長いですね。インデント間違えてるし。気になる人はお使いになる時直してください。
構造はスマホ向けボタンを参考にしました。フェードで中身を切り替えるのは上述のサイトを参考にしてもなお実装が面倒くさそうだったので、デフォルトでスクロール機能があるのだからそれを使おうという方向にしました。時間は有限だからね!
そしてfor文の中でクリック処理をさせる段階で地味にハマってしまい、かなり頭を悩ませましたが.data()で数値をバインドして解決。無事解決してよかったよかった。
なお、これだけだとマウスホイールで動かした時にバグるので、htmlの方にマウスホイールさせないようにソースを書いてください。
そのあたりは時間がある時にまた追記するかもしれません。とりあえず今は未来の自分のためにこれを残すのみです。というか未来の自分はどうせhtmlを覗くはずですからね……ここに書いてない部分を確認するために……。

ティラノスクリプト備忘録5

=============Live2Dプラグインの改造===============
現行のプラグインだとモデルを倍掛けで制作してさらにゲーム中で2.0倍しないと意図したサイズにならないという仕様だったので、勝手に改造しました。
デバッグも何もかも適当なので、改造する際は自己責任でお願いします。
なお、サンプルでは通常通り動いています。
(併せて読む:Live2Dでモデル表示するレイヤーを変える

考え方の参考にしたサイト:UnityでLive2Dモデルを表示した際の拡縮率は?
このスレッド(多分)によると、行列計算に原因があるようだったので、ティラノスクリプトのプラグインの方も行列を確認してみました。

というわけで、data\others\live2dの中に入っているLive2Dtyrano.jsを変更。
334行目くらいから始まる行列を変更します。

これでglscale=1.0にて「モデル原寸」で表示することが可能になりました。
ただし、キャンバスサイズ以上の部分、つまり見切れている部分は、回転させたりすると見切れたままなので、サイズ調整には気を付けてください。←that.live2DModel.getCanvasWidth()から考えると修正可能な気はするけど今めんどくさいので後で気が向いたらやる。(だがそんな時は来ない)

============ptext(及びmtext)マクロとそれに対応したptextバックログ==========
とにかく配列無双。for文の中でティラノスクリプトを変更したくてたまらなかったのだがlayoptタグによる要素変更をjsで行うのとか正直無理だったので、製作wikiにあった
*loop
(スクリプト)
@if exp=”回転用条件式”
@jump target=”*loop”
@endif
で始末しました。ただしこの方法ではマウスホイールや上下キーへの対応がうまくいかずゴリ押したので後々バグが出るかも。バグったらその時考えるさ……。
なお、マクロ内のjumpはスタック的にヤバいかもなと思ったので、すべてfor文で対応可能だったこともありfor文で対応しています。
気が向いたら(あるいは需要があれば)プラグインにするかもしれません。

ティラノスクリプト備忘録4

===============ptextにおいて文頭全角スペースを表示する==================
<span></span>や<b></b>などのタグでスペースを囲む

===============ptext内の文章を改行する==================
<br>でよし

==============ptextの文章をバックログに表示=============
@macro name=”マクロ名”
@eval exp=”strArry = mp.text”
@ptext layer=0 x=%x y=%y size=%size color=white time=1000 face=”フォント変更” text=”&strArry”
@iscript
TG.pushBackLog(strArry);
@endscript
@endmacro
参考:【ティラノスクリプト】タイプライター風に文字を表示するマクロ

文字数で折り返したいので配列だしと思ってsplice()使ったらなんかまったくダメダメだったので手作業でどうにかしてるけど効率悪いからどうにかしたい。
諦めた!!! めんどくせえ!!! 誰か気になる人お願いします。そもそも配列じゃないのかもしれない?
→あんまりにもひどいので、以下、文字数で簡単に改行入れる方法

==========文字数で折り返し改行を入れる方法=============
1.サクラエディタを起動。何かと便利なので、ない場合はインストールをオススメします。
2.サクラエディタの「設定」タブから、「タイプ別設定」を開く。
3.「スクリーン」タブを編集。「折り返し桁数」を好きな文字数*2に(日本語は全角なので)。禁則処理も編集。OKして閉じる。
4.「設定」タブから「折り返し方法」を選び、「指定桁で折り返す」を選択。ルーラーを見て、指定桁で折り返しているかを確認して、折り返していたら次へ。
5.「設定」タブから「共通設定」を開く。編集タブを開き、「コピー」項目の中の「折り返し行に改行を入れてコピー」にチェックを入れたら、OKで閉じる。
6.テキストをコピーして別のエディタなどに貼り付けてみて、改行されていたら終了。

以上。

ティラノ備忘録3

=============時限式選択肢をglinkやbuttonにしてトランジションで消す===============
製作wikiに書いてあるスクリプトを実行したのち、animで消してからcm

=============nameとは=============
属性nameはcssのclass定義であるっぽい(中身見てない)
$(.class).func()で色々できる fadeOut()したり

ティラノスクリプト備忘録2

=========マルチバイト文字===========
ティラノードを使うならファイル名にマルチバイト文字は使えない
マジで言ってんのかよ既に画像50枚近くあるんだが!?
吉里吉里と互換性なくない!? なくない!!!???
だって移植するとしたらこれ普通隠蔽したいしティラノード使うしそしたらこれ……日本語ファイル名とか
めっちゃ使ってたらそれ手作業で修正だしお前transタグの使い勝手は死んでるしお前これ……

まあ、普通はそりゃあマルチバイト文字とか使えないので、当たり前っちゃあ当たり前である。htmlやcssやjsで日本語ファイル使う馬鹿はいない……。

=========謎の現象=========
なぜか8で開発したプロジェクトを7で起動するとLive2D部分が全部ごっそり抜け落ちるんだが 原因がもう思いつかない。何が起こってんだこれ? 将来的に10なんかで開発したらどうなっちゃうんだこれ? まだ7のシェアは大きいからさすがに8で開発したんで7は対応してませ~ん☆は無理だろうこれ
7でライダー使ってパッケージングしたら7でも8でも動くことを確認したのでそうするしかないなと思っていたら作り進めていくうちになぜか7でパッケージングしようとしたらライダーが落ちるようになった プロジェクトサイズ自体は全然ない、まだ175MBしかない ブラウザ版はパッケージングできる そして7でパッケージングしても7では見られない なんでや なんでやねん!!!(仰け反り
当然8でパッケージングすると7でキャラが消える。意味不明。本当に何が起こっているのかわからないし意味不明。なんでやねん……。
あと7でデバッグしてもらってるとなんか挙動が不安定になるらしい(私の7では未確認)がそれすら再現性がなくて原因特定不可能という有様 なんでやねん もうホンマに意味わからん……誰か助けてくれ……。
→ティラノードでパッケージングして吐き出したら動くようになった でもやっぱり何が原因だったのかは全くの不明 処理落ち? なんなんだ?
 
 
 
ほんまにティラノスクリプトが未だかつてないくらい開発しにくくて爆笑してる 妥協&妥協&妥協。なんかもうUI周りとか妥協だらけですよ 多分ここまで妥協したの初めてだと思う 中身はほぼ妥協してないけどUIはかなり心折れまくってる Live2Dが使えなかったらもうほんと もうほんと「AIRNovelでいいんじゃねーかな……」って言ってる あとゲームフェスで賞金が出なかったらとっくの昔に諦めてる
でもLive2Dが強すぎるんですよねーもーほんとにねー!! やっぱり動くのって強いんですよー! もーね、見た目が派手。無音だろうが無言だろうがまばたきしてるだけでもう「あっ俺今ゲーム進めてる」感あるもんね。強い、Jにも導入したい。っていうか、導入したらたぶん私の労力を増やせばいいだけだから、むしろ夜月さんの負担が少なくなるんじゃないか……?と思ってる。ハハハなーに、私の右肩があがらなくなったり歩けなくなるくらい腰が痛くなるくらいですよ 死線を見れば、いいものが作れるんだ……そうさ……。既に右腕が痛くてやばいんだが……。

ティラノスクリプト関係備忘録

==========live2d導入時キャラクターモデル表示レイヤ変更==================
Live2Dtyrano.jsの中の
var target_layer = TYRANO.kag.layer.getLayer(“0″,”fore”);
の0を任意の数字に変更
キャラクタ表示を参考に表示レイヤをスクリプトの方から変更できるようにしようと思ったけどめんどくなってやめた バージョンアップで追加されたら嬉しいなって感じ
個人的に前景レイヤのz-indexをもう全部一覧でくれって気持ちになる っていうか最初キャラクターが前景レイヤ0に表示されると知らなくて、0に入れてた画像を移動させたりした

==========transタグ=============
大体こいつのせい もう使いたくない
backに作ってないものも当然transする(裏と表の入れ替えだから)
layer指定はchildren=falseしてないと無意味(ver4.02現在)
あとなんかよくわからないけどlayer指定せずに全部ひっくるめてトランジションするとやっぱりなんかンン?って挙動するからなんかもうアレ
今現在進行形でさっき表示されてたはずのlayer=1に置いたモデルがこいつのせいでどっか行ってる transは敵
下に書いたやり方でやれば一括トランジションも容易だからマジでこれが要らない 完全に吉里吉里からの移植用

=========Live2Dモデリングに関して==========
※私はlive2dのあの動きがわりと真剣に不気味の谷で「ンンッ」と思うので、ちょっとした髪揺れやまばたき程度にとどめてあまり立体的に動かさないという前提
髪の毛は前髪と横髪と分けた方がいい 横髪をパスで変形しようとしたらひっついてきた上にポリゴンがくしゃくしゃになってクソめんどかった
ぶっちゃけ隠れればいいので、なんか適当に影と肌のポリゴンを作っておいて後で引きのばすのが楽 ていうか瞼あたりのポリゴンをコピペして下瞼とかにすればいいと思う ポリゴンの頂点打ちは3Dモデリングより楽かなと思った
中割り描かなくていいからアニメよりは要領がわかると多少楽かも
グラデーションマップかけたりしたいなら、一回素の色でpsd読み込ませてからテクスチャ吐いて一括でかけて差し替えた方が楽 気付かずに全部のパーツにエフェクトかけたのが僕です

=========stopanimタグ==========
kanimの後に使うときは対象物の持つnameとkanimのnameが違ってないと後々めっちゃ表示関係がバグる(当然と言えば当然というか横着したのがよくなかった)(だって動いたから……)
正直もう、ライダー使っても出てこないコンソールエラーのないバグはマジでつらいから死にたくなる
あとアニメーション関係は必ずwaタグを使わないとメッセージレイヤがなんかめっちゃ量産?されてる?みたいな状態になるからwaしないと死ぬ 私が

========縦中横=========
できない ティラノスクリプトは縦書きに向いてないと思う所以 吉里吉里で言うところのhchタグが存在してないっぽい タグリファレンスにないのでないんだろうと思う これも作ろうかなと思って中身見てたけどめんどくさくなってやめた
画像で表示するという手もあるにはあるが、正直サイズの調整とかめっちゃ面倒だから諦めた バージョンアップで追加されたら地味に嬉しいやつ筆頭

======nowaitに関して======
長い文章をnowaitで表示させようとしたら重すぎてラグがやばい おすすめしないし私も断念した make.ksで全テキスト読み込ませておいたらなんかできるんかもしれん 知らん 私は画像作った方が楽だったのでそうした

=====UI関係====
!!!!!アップデートの時には気をつけること!!!!!
基本はcss 3*3の9マスセーブ画面にしようと思った 無理だった なんだっけ どっかのjsでたしかなんか回してた 忘れた

======freeimage======
ティラノは1レイヤ1画像というわけではない これがわりと重要で、画像は大体これを忘れると痛い目にあう
普通にimageタグでトランジションしようとしたら前に表示した画像が消えずに残った トランジションさせたいならfreeimageで一度すべての画像を解放する必要がある

======トランジションで一気に消したい・表示したい========
imageで表示させたいものの上のレイヤに黒でも白でもNOW LOADINGでも好きな画像を表示しておいてその下に全部time=0で用意、そののち表示しておいた画像をfreeimageでトランジション

================live2d_transのtimeパラメータ===============
なんか……最初に入れたtimeで数値が固定されるっぽい。困る。配布されてるやつでも一緒だったので、バグかもしれない そしてもうこれを自力で解決する気力も気合も体力も……ない……

=============live2dタグ関係=============
live2d_transの移動の処理のアレ、マニュアルには「現在の位置から」って書いてあるけどどうも違うくさい どう見ても、「最初にnewで指定した位置から」の処理になってる 別に気付けば困らないからいいけど、首はひねった
あとなんかモーションを勝手に再生するの意味不明だけどなんなのかわからないし表示するときはどうせ画像の下で特定のモーションをさせてから表示するからまあいいかってなってるjsonのモーション一覧の一番上を最初のアイドルとして読み込んでいた 正直今なお疲れてる 普通に寝てない UI作った時点でだいぶ心折れそうだった ていうかセーブロードもjqueryのスクロールバーの対応ができなくてンンンってなるけどもうまず完成させるところから……と思って諦めた また時間がある時に考える

 

 
吉里吉里、AIRNovel、ティラノスクリプトと触ってみたけど、ぶっちゃけ、ティラノスクリプトはまったく初心者向けではないと思った いや、中級者? でも私は私を中級者とは思わないのでアレ
ティラノスクリプトはデザインが結構固まってしまった状態で配布されているので、いじろうと思うとわりと地獄が見える 見えた というか今も見えている あとなんでLive2Dを導入しようと思ったんだ私は? 別にいいが(よくはない)
ただティラノは動的演出にめっちゃ強い animが強い live2dとanimでこう こう、すっごいことができそうだけど、これ使いこなすにはイラストレーターさんがガチで必要だと思う 私は……もう吐きそうだ……
あとなんか わりとしょっちゅう不審な挙動をする ライダーで見ててもおかしいところはない、だが……ってことがままある 特にtransがやばい 怖い