untitled - 開発ブログ

なんかブログが生産されていたから使うことにしました。 ぼんやりサークルあんたいとるの開発ブログです。

作品製作記録

ティラノビルダー/スクリプトでキーボード対応の3DRPGを作る。その1

さて。

ティラノで3DRPGを作りたい!!! キーボード対応の!!!

と言うわけで簡単にテスト的な物を作っています。入院中の暇つぶしです。

またコイツ発売予定のゲーム放置して何やってんだ、と思うかもしれませんがすみません、入院中でエロいものにほぼ一切触れられないので(監視カメラ様が見てる)、エロゲーとかの制作が停滞しています。いやまじで数えただけで狭い病棟内に監視カメラ7つくらいあった。病室10個くらいの狭い病棟なのに! 見つけてないのもいくつかあると思う。もしかしたら10ある病室すべてについてるかも、プライバシーの面からあまり考えたくないけど。精神病棟なめんなって感じだわ。たぶん監視カメラではディスプレイの文字までは見えないとは思うけど、もしかしたらこの画面を監視カメラが録画しているかもしれないなんていう状態でエロテキスト書けるメンタルは私にはない。パネエわ精神病棟…

あとミカゲィトは、ティラノのバージョンの違いのせいで動かなくなってしまったので、どうしようか考えてます…
別に古いティラノビルダー使うままでもいいんですけど、でも最新のビルダーだと、ティラノスクリプトのバージョンも最新化されたのは魅力的かなと。
なので、メインPCとサブPCを二台並べて、最新のティラノへの移植作業を行おうと思っています…のでこっちも退院待ちだなあ。早く退院したいです…

閑話休題。

あ、ここで作る3DRPGと言うのは、古き良きウィザードリィやメガテン、魔導物語のような、疑似3DRPGのことであり、3DCGで作られた画面のRPGの事じゃないです。

というわけでティラノでキーボードを使えるようにします。
まずはキーボードを押したかどうかについてを取得するためのプログラムをJAVAscriptで記述します。
ティラノビルダーのコンポーネントから、スクリプト>jscriptを選んで、そこに

document.onkeydown = function(e) {
tf.onky_flag=true
var keyCode = false;
if (e) event = e;
if (event) {
if (event.keyCode) {
keyCode = event.keyCode;
} else if (event.which) {
keyCode = event.which;
}
}
f.osita=event.keyCode;
};

と記述しました。
ティラノスクリプトの場合は、[iscript]~[endscript]でくくってください。
最後の方の「f.osita」と言う変数にキーコードを入れる処理、が重要です。
そしてこのJAVAscriptの記述部分を、マクロ「keymati」にして、いつでも呼び出せるようにします。

次に、キーが押された、と判断する部分です。これはキー入力があってもなくても毎回通る部分になります。
内容は以下の通りです。

*hantei
[if exp="f.osita==38"] (キーコード38=↑キーが押された)
 [jump target="*前に移動"] 
[elsif exp="f.osita==40"] (キーコード40=↓キーが押された)
 [jump target="*方向転換"] (後ろを向きます)
[elsif exp="f.osita==37"]
 [jump target="*左を向く"]
[elsif exp="f.osita=="39"]
 [jump target="*右を向く"]
[endif]
[jump target="*start"]

こんな感じです。
一応ここではティラノスクリプトで記述しましたが、ジャンプ部分はビルダーのコンポーネントのジャンプからでも作れるよ。
まぁ実は他にもメニューボタンが押されたときの処理なんかもはさんだりするけど(たとえばキーコード77=Mキー、でマップを開く、とか)それはまぁアイディア次第でそれぞれいろんなキーに対応させたりすればいいと思います。

あと、ティラノビルダーのゲームセッティングから「キーボード・マウス」のキーの設定で「シフトキー→ゲームを進める」に設定しておくと、メッセージ送りもキーボードでできるようなります。


で、大まかに記述するとこんな感じ。

*start
[clearstack] (jumpとかマクロとかサブルーチン多用するためスタック(ごみ)を消している)
[eval exp="f.osita=0"] (f.ositaを初期化。しないと、前回何かボタンを押しているとその処理が連続で行われてしまう)
[keymati] (キー入力待ちマクロ呼び出し)
[wait  time="1500"  ] (キー入力を待つ時間。この間にキー入力されると移動・方向転換などを実行となる)
[jump  target="*hantei"  ]

ゲーム上では、これをひたすら繰り返すことになります。イベントが発生しても、終了次第、また*startに戻る形です。
あとは「*前に移動」「*右を向く」などのラベルを作って処理をしていくだけです。そっちの処理についてはまた別の記事にします。


ただ、これだけですと、キーボードのない環境、つまりスマホなどでは操作のできないゲームになってしまいます。
なので画面にボタンを作ります。

[macro name="button_main"]
[button  fix="true" target="*前に移動"  x="480"  y="310"  graphic="ue1.png"  width="101"  height="43"  enterimg="ue2.png"  ]
[button  fix="true"  target="*左を向く"  graphic="hidari1.png"  width="101"  height="43"  x="420"  y="358"  enterimg="hidari2.png"  ]
[button  fix="true"  target="*右を向く"  x="530"  y="358"  graphic="migi1.png"  width="101"  height="43"  enterimg="migi2.png"  ]
[button  fix="true"  target="*方向転換"  x="480"  y="410"  graphic="sita1.png"  width="101"  height="43"  enterimg="sita2.png"  ]
[endmacro]

これはのちに呼び出すことも考えて、マクロ化しています。
先ほど記述した分と合わせるとこんな感じです。

[button_main]
*start
[clearstack] (jumpとかマクロとかサブルーチン多用するためスタック(ごみ)を消している)
[keymati] (キー入力待ちマクロ呼び出し)
[wait  time="1500"  ] (キー入力を待つ時間。この間にキー入力されると移動・方向転換などを実行となる)
[jump  target="*hantei"  ]

で、*hanteiに飛んだあとは、*startに戻ります。
FIXボタンにするのは、「*start→*hantei→*start→…」を繰り返すたびに毎回ボタンを呼び出していると、画面が激しくちらつくため、常に画面に出しっぱなしにするという形にしています。
イベント発生時や、メニューを開いたときなどには一度消し、必要な時に[button_main]で呼び出します。
とりあえず、これで画面上のボタンを表示しても、キーボードの上下左右キーを押しても、ゲームが反応するようになりました。

まぁそれで、ボタン表示と同じくらいのタイミングで主人公キャラクターなどを画面に表示しつつ、あと主人公が見てる景色なんかも画面にはめ込んで作ったゲーム画面はこんな感じです。

WS001015

マップを動き回ることについてまで記事にすると長くなるので、とりあえず「キー入力のできるゲームが出来た」ということにして、一旦記事はここで区切ります。
メニューやマップボタンを押したときの挙動についても、スリープゲームタグとか使っててややこしいので、それもまた別記事にします。…気が向いたら。
…あくまでも覚書なので、記事にするかは私の気分次第でごわす。

文字にアンチエイリアスがかかってないゲームをティラノで作る解決案

「こんXXわ」って書き方して、こんにちわにもこんばんわにも対応する書き方あるけど、おはように対応してないやんけ…と毎回思うのなちゃんです、ペンギン村からおはこんばんちわ。
色々テストするためのプロジェクトとか作ってたらティラノビルダーのプロジェクト数が膨大になっていました…愛と平和…(??

さて、吉里吉里に浮気したり、解決案をいろいろ出してもらったりしたりした結果、結局ティラノでこんなことをする結果に落ち着きましたというメモです。
まだちゃんとゲーム本編を作ったわけではなく、テスト的に1シーンだけ作っただけなのですが。

まずゲーム画面の完成系はこんな感じです!

Ws002528
文字にアンチエイリアスかかってない! 素敵!!
実はこの記事の最後に描いた理由(アイコンのパレットが正確じゃない)によってこの画像は微妙に16色ではないのですが、まぁそれは今後整えていくとして…

それでですね、実はこれは、こういう文字列の何も入っていないメッセージウィンドウに、
Ws002525

こんな感じの二値で白部分に透明化をかけた画像をかさねているのです。
Ws002526
(ここではクリックすると背景が透明化されて文字が見えなくなっちゃうので、背景は白のままの画像を貼っています)

命令としてはこんな感じ。

>[image  time="1"  storage="default/moji_scene1_test.png"   x="50"  y="300"   zindex=1005 layer="message0" ]

つまり
  • レイヤー「message0(通常のメッセージレイヤー)」に、
  • 「zindex=1005(レイヤーの重なり準の指定、数が大きいほど前に来る)」を指定し、
  • 画像「moji_scene1_test.png」を重ねている
…というわけですね。

Ws002527

メッセージレイヤに画像を出しているので、メッセージレイヤーを非表示(右クリック)で、ちゃんと文字も消えます。おおー!!
…これだと、文字の表示スピード設定(1文字ずつ文字を表示していく)ができないんですが…
これはGIFアニメで1文字1文字表示していくやり方もあるんですが、それを表現しようとすると膨大な手間と時間がかかるので、今回は一括表示のみと言うことでお許しください。
まぁ時間短縮するやり方はいくらでもあるんですけど(文字を隠す白画像のgifを文字画像にかぶせて、一文字ずつ文字を隠す部分を捲っていくようなイメージのアニメーションgifを使うとか…、画面クリックでこれを消す処理を走らせれば、一括表示させるような表現も可能だけどね)

あとですね、このやり方だと、当然画像でしか文字を表示していないので、ティラノのシステムとしては文字列を扱っていないことになり、バックログに文章が記録されません。
バックログはゲームには必須ではないかもしれませんが、文末とか読み飛ばして再確認したいときもあるので、あった方がいいですよね。

そこで、ティラノには、「メッセージウィンドウに出してないメッセージでもバックログに表示させる」と言う機能があるので、それを使います。

タグはこう

>[pushlog text="などと思いつつ、エリューシュがこんななのはいつものことなので、あまり気にするのはやめるリィムであった。"]

この[pushlog]タグが、ログ画面にのみ表示させる文字列の指定になります。

すると、ほい、こんな感じになります。
Ws002529
バックログ画面には全く手を入れていないので、レトロ風も何もなってないのはお許しください。
そのうち手を入れます。
っていうか通常縦640あるウィンドウを縦400に縮めているので、画面外にメッセージ枠がハミ出してるしね…
とは言えこの画面は、文字にアンチエイリアスがかかってしまうため、16色に収めるのは無理になっちゃうんですけど…、まぁしかたないね。
メインのゲーム画面だけでも16色に出来れば満足と言うことにしておきます。


実は今回貼った画像、パレットがちゃんとしてなくて、ボタンなどの色味が微妙にずれていたことが判明したので、微調整しないといけなくなりました…見た目的には同じ色だけどRGBの数値としては1くらいずれてたのか、画面内全部を見ると16色超えていたことが判明。
何が原因だかはわかりませんが、色を置き換えるだけなら大した手間じゃないしやるけど、原因分かんないのヤダな。
ちゃんとパレット共通で作ったのになんでだろう、8bit化するときに減色ツールが悪さしたんだろうか…

アンチエイリアスのかかってないフォントでゲームが作りたい:吉里吉里Z編

PC98風の、画面デザインを16色内に収める、という試みでAVGを作っています。

ところが、私のメインの開発環境である、ティラノビルダー/スクリプトでは、Windows環境下では、強制的に文字にアンチエイリアスがかかってしまいます。
以下が理想と現実。

理想
risou


現実
genjitu

現実は厳しい。なんかぼけて青紫っぽくなってるし。
Macintosh環境下ではアンチエイリアスが切れるそうなのですが、Windowsの仕様によって切れなくなっているらしいです。

なので吉里吉里を試してみることにしました。
ティラノはkag派生のため、kagを使っている吉里吉里は、同じような命令で覚えやすいしね!!
まぁWindows(とスマホ)でしか遊べないのは欠点ですが…。

ところがですね…

こちらが、Windowsにインストール済みのフォントを指定し、なおかつユーザー側でアンチエイリアスを切った場合です(ただし、初期設定では、ユーザー側でのアンチエイリアス設定はオンになっています…)
nasi
おおっ、ボケずに表示されたぞ、これイケんじゃね?
ちなみに使用フォントは「KHドット小伝馬町16 幾何学的カナ」です。いい文字です。

ただし、この場合、ユーザー側でこのフォントがインストールされている必要があります。インストールされていない場合は、強制的にMSゴシックになります。

なので、フォントを配布時のファイルに同梱することにします。
こちらのレンダリング済みフォント作成ツール改を使用し、16x16ドットのフォントに変換、dot16.tftというファイルにして、吉里吉里のfirst.ksに[mappfont storage="dot16.tft"]と記述し、デフォルトで使うフォントを、こちらのフォントへと設定しました。
んで表示させてみる。

ari
ボ ケ た。
どうして…。私はドットフォントが使いたいだけなのに。どうしてこの世はドットフォントに厳しいの。私はただ文字からアンチエイリアスを切りたいだけなのに。

まぁ吉里吉里で作ると、マルチプラットフォーム化とかできないし、ティラノで便利だと思っている機能が吉里吉里にはなかったりしそうだし、ちょっと悩ましいのですが、一応アンチエイリアスが切れることも可能ということで、候補に入れておきます。
Readmeファイルに「KHドット小伝馬町16 幾何学的カナをPCにインストールしておくとより快適にプレイできます」と一言付け加えればいいだけだし…
最悪画面表示されるフォントがMSゴシックになるけど、ボケるよりはマシかなと。

あーもうWindowsの仕様のせいで何もかもが憎い。
ティラノ大好きなのに、Windowsの仕様のせいで、ティラノで作ると理想通りにならないのではどうしようもないです…。ティラノの運営・開発の方に直接尋ねたのですが、これはOSの仕様上の問題で、どうしようもないみたいなので…


あとは選択肢として
 ①文字のアンチエイリアスには目を瞑りティラノビルダー/スクリプトで作る(マルチ環境で動く)
 ②文字のアンチエイリアスを切れるソフトを探してジプシー(動作環境が限られる場合もあるし、スクリプトや言語の仕様を1から学びなおしになる)
 ③開発を諦める(どうしてもこだわりたいことができないならもはや仕方ない)
となってきますがはたしてどうすっかなあ…

こちらの望む条件としては
 ①文字のアンチエイリアスを切れる
 ②640×400のウィンドウサイズに設定できる
 ③できればマルチプラットフォーム対応
…という開発言語/スクリプトがベストなんですが、そんな都合のいいのそうそうないよねえ。

私は文字のアンチエイリアスが切りたいだけなのにどうして…
いやほんとにどうして…

ティラノゲームフェス、佳作受賞ありがとうございました!

とりあえず一時帰宅した際に景品を受け取りましたひゃっほい!!!

P_20190217_105358
ティラノゲームフェスの佳作受賞の景品です!!
ひゃっほい!!


こっちのブログでは書くタイミング逃した…っていうか受賞知った時にはまだあまりいろいろ使っちゃダメだったりネットなかったりで、あんまりちゃんとお礼を言える状態じゃなかったので、こっちのブログには書き忘れてましたが…
改めまして。こほん。

esfan_011_1920.1080
ティラノゲームフェス2018において、イミュ・アカナムの迷宮が佳作受賞となりました!

遊んでくださった皆様、運営の皆様、ありがとうございました!!
いやー感無量です。
そして、中途半端になっているバージョンも、ちゃんと修正重ねてきちんとしたいです…。


ではでは短いですがこれにて!!
重ね重ねありがとうございました!!!

ティラノビルダーでのゲーム制作に命を助けられた話。

イミュ・アカナムは、買ったけれどずっと放置していたティラノビルダーで何気なく作り始めました。
作り始めた動機は「手慰みにやっているペーパークラフトの展開図をパソコンで起動している間、後ろで起動させておくゲームが欲しかった」からです。
実際完成したら、放置すると厳しめの難易度になってしまいましたが…、これはちょっとアップデートで対応していこうと思います。

Image4

そもそもなぜペーパークラフトをやっていたか。
私にとって、頭をそこまで使わなくても熱中できることがそれだったからです。
私がペーパークラフトにハマるほんの少し前に、父がネットでDL出来るペーパークラフトをいくつか作って姪にプレゼントしていたのを見て、DLsiteさんでDL出来るペーパークラフトを買ったのが始まりでした。
つまり熱中出来て、楽しいこと。それでいて思考を組み立てねばならないわけじゃないもの。
ペーパークラフトはそういうものでした。

ペーパークラフトには、親切に展開図が付いており、それに山折りや谷折りが表記されているものもあります。
ですが線が細かく、うちのプリンターの性能では綺麗に線が出ません。
なので、PCの画面に展開図を表示したものを見ながら作っていました。
だけど、そのためだけにPCを起動しているもの勿体無く感じて、なにか、後ろで放置タイプのゲームなんかを起動させながら出来たらいいな、と思ったのがきっかけです。
いくつか教えてもらったのですが、ピンとくるゲームがなくて、じゃあ、自分で作ろう、と、ティラノビルダーを起動しました。

お話も凝ることもなくシンプルに、冒険者がダンジョンを見つけたから潜ろう、程度のものにしよう。
システムも凝ることなくシンプルに、自動でダンジョン内を進行していく。
放置して別のウィンドウを表示していたとしても、イベントが発生したらアラート音が鳴って気付ける作りにして…。
そんな感じで作り始めました。
徐々に、思考することができなかった頭が、まるで潤滑油を得たように回り始めました。
思ったよりも作業に熱中して、いつしかペーパークラフトから遠のいてしまったのは誤算でしたがw

製作中に、愛猫のがんが見つかりました。
がんと言っても、切除すればほぼ再発もあり得ないくらいのものではありましたが、検査の期間中、手術、そして手術後には大変に気を揉みました。
愛猫の治療のために私は実家と自宅を行き来し、作業時間が減ることになったため、ゲームの規模を少し減らしました。
結果的には、ちょうどいいボリュームに抑えられてよかったと思っていますが。
なんにしろ、愛猫のがん、という事態でも、ゲーム制作をすることで気を紛らわし、悲観などもすることなく過ごすことができました。


ティラノビルダーは、とにかく簡単なツールです。
もちろん、イミュ・アカナムの迷宮のように作りこもうとすれば手間はかかります。
ただ、初動が楽で、さくっと作り始めることができるのがいい。

イミュ・アカナムの制作のおかげで大きく救われました。
そして今、イミュ・アカナムの迷宮も参加していた、ティラノゲームフェスが終了しました。
ゲームフェスで、いろいろな方に遊んでもらい、1000DLも突破しました。
本当にありがたいことです。
今後もアップデートしていくつもりですが、正直、自分の状態はかなり追いつめられた状態で、だからこそ、今後もティラノビルダーで何かを作ることに救われていく予感がしています。

ありがとう、イミュ・アカナムの迷宮。
ありがとう、ティラノビルダー。

今年のティラノゲームフェスはまだいろいろと未定なようですが、今後も頑張ってやっていきたいと思っています。
いつもありがとう。そして、よろしくお願いいたします。

ティラノビルダーで最新のティラノスクリプトを使いたいメモ

*注意
先に言っておきますが、この方法はかなり非公式なやり方です。
ぶっちゃけ、予期せぬバグなどが発生する可能性がとても高いです。

ふと、ティラノビルダーをいじりつつ、最近のティラノスクリプト(Ver470_rc4)で導入された、キャラ差分機能が使えたらすげー便利なのになあー、と思ったのでメモ的に。
まず前提として、ティラノビルダーには、Ver4.50のティラノスクリプトが入っています。
ティラノビルダーとしてアレコレ操作できる機能に加え、Ver4.5までのタグと機能が使えるわけであり…、つまりは、ティラノビルダーでは、Ver4.70以降に実装されたキャラ差分機能は使えません。

でも使えるようにしてみました。
じゃじゃーん。
Image2Image3
これはティラノビルダーに最初から入っているガイドのメッセージですね。
ガイドが喋り始める前にキャラクターを表示、ガイドが喋り終わったら服を着替えさせ、表情も変更しています。

やり方としては、まずティラノビルダーで新規プロジェクトを作ります。
ここではテストとして専用のプロジェクトを作りました。まぁ普段からいじってるゲームのプロジェクトにいきなりこんな強引な真似をして動かなくなっても困るからですww
あと立ち絵が見やすいように画面も縦画面に。

ティラノビルダーのフォルダの中の「myproject/作ったプロジェクトフォルダ」を開きます。
そして最新版のティラノスクリプトをDLしてきてください。
んで、最新のティラノスクリプトの「tyrano」フォルダの中身を、上記で開いたプロジェクトフォルダの「tyrano」フォルダに上書きしてください。
これにより、ティラノビルダーで、最新のティラノスクリプトが扱えるようになります。

ただし、本来ならば、ティラノビルダーのプロジェクトフォルダ内の「tyrano」フォルダの中身は、ティラノビルダー向けにカスタマイズされたものが入っているはずなんです。
なので、予期せぬエラーが起きる可能性は大きいです。
今回もテストとして差分機能を試しただけなので、今後使い続けて、どんな不具合が起きるかは試してません。
早くティラノビルダーが、内部に入れてるティラノスクリプトを最新にしてくれたらありがたいのですけれどもねー、まぁ、それを待つ方が無難かな、とは思います。


なお、キャラ差分機能については、こちらをご参考に!

キャラ差分のタグは単純です。まず「fgimage/chara」フォルダ内に「test」というフォルダを作り、
Image4
中に、目や口、肌、そしてここで変化させた服などのパーツを入れます。

あとはキャラクターとパーツを定義していきます。

[chara_new name="test" storage="chara/test/kamusiro.png"] ←キャラ定義
[chara_layer name="test" part="sotai" id="1" storage="chara/test/sotai.png" zindex=1 ]
[chara_layer name="test" part="huku" id="1" storage="chara/test/huku1.png" zindex=10 ]
[chara_layer name="test" part="huku" id="2" storage="chara/test/huku2.png" zindex=10 ]
[chara_layer name="test" part="eye" id="1" storage="chara/test/me.png" zindex=20 ]
[chara_layer name="test" part="maegami" id="1" storage="chara/test/kami.png" zindex=19 ]
[chara_layer name="test" part="mayu" id="1" storage="chara/test/mayu.png" zindex=21 ]
[chara_layer name="test" part="kuti" id="1" storage="chara/test/kuti1.png" zindex=22 ]
[chara_layer name="test" part="kuti" id="2" storage="chara/test/kuti2.png" zindex=22 ]

ここで
[chara_show name="test"]  とキャラクターを表示させると、最初の画面になります。ここでは初期に表示させるパーツをどう判断して決めているのか謎だw

そしてガイドが喋り終わったところで、パーツ変更をします。
何で喋り終わったところかって、喋ってる途中に入れるのも面倒だったし、ある程度最初の服→変化後の服、と間隔があいた方がわかりやすいと思ったからです。

[chara_part name="test" huku="2" kuti="2" ]
これは、「huku」と「kuti」をそれぞれid=2に変更している、というのを意味しています。
これで、服が着替えさせられたと言うことですね。


最初、キャラ差分関係の結構タグが複雑に見えて、キャラ定義どうやるの?とか、結構悩んだんですけど、やってみたら楽しかったですね。
ティラノビルダーで使えれば本当に便利なのだけど…。不具合出たら作り直す覚悟でやってみようかなあー…。
だってほら、キャラグラって表情差分までガッツリ用意するとかなり容量食うじゃないですか。
ところがキャラ差分使えばそのあたり削減できるわけですよ。
組み合わせが増えるので、眉が同じでも口が違うから別の画像に、っていうのはなくなり、タグで指定すればよくなるわけで。

本当ティラノビルダーで使えたらなーーーー!!!

まぁティラノビルダーで骨子整えた後に、あとはティラノスクリプトで表情差分追加、とかすればいいだけなんだけど…それならtyranoフォルダの内部置き換えても、ティラノビルダーで読み込まなければバグも起きないんじゃないかなって…
でもティラノビルダーで作られたシナリオファイル、タグが独自のものに置き換わったりしてていじりづらいんだよね…なんかこの辺改良してくれよと思う私であった。

ティラノビルダー・黒背景でのクリック待ちボタン

ティラノビルダー…というかスクリプトのクリック待ちアイコンなのですが。
大体皆defaultのまま使っているので、割とティラノ作品=このアイコン、っていうイメージがついています。

ただ…
Image74
このように白っぽい背景だといいのですが…

Image73
このように黒い背景だと、□がぴょこぴょこしているみたいでちょっとカッコワルイときがありますよね。

Image77
なのでこういうアイコンに変更してみました。あ、背景はちゃんと透過させています。
黒背景というか、黒っぽい背景用です。

Image76
するとこんな感じに。
Gifアニメをいじれる環境の方なら比較的簡単に作れると思います。
私は「アニメーションショップ3」という、18年くらい前に発売された化石ソフトでなんとかしているのですが、現在はこういうサイトもあるので、自作も難しくないと思います。

製作したクリック待ちアイコンの再配布は、しても大丈夫なのかわからないので今回はしないですー、すみません…


ティラノビルダーでは、
ゲーム設定>メッセージウィンドウ>アイコン から、独自アイコンに変更できます。

ティラノスクリプトでは、
tyrano>images>system>nextpage.gif を書き換えることで変更できます。


また、シーンによってクリック待ちアイコンを変えたいときは[glyph line=nextpage_b.gif](黒背景用に変更後のもの)と[glyph line=nextpage.gif]をそれぞれ挟めば切り替えられるのかなと思ったけど出来ませんでした。
このあたりの処理を知っている方、教えていただけたら助かりますー


*追記
クリック待ちアイコンをpngにし、さらに回転などのアニメーションをかけるプラグインを公開している方もいらっしゃいますのでご参考までに!!
クリック待ちアイコンを素材として配布されているサイトさんは、透過png形式で配布されてる方も多いので、そういったものが使用可能になるのかなと思います。

ティラノビルダー・メニューとかちょっといじりたい

今度はメニューをいじりたい人向けのメモです。
メニュー用の画像は「tyrano/images/system」の中に入っています。
まず「bg_base.png」が、各種メニュー用の背景画像になります。
ここにも「bg_config.jpg」があるんですがこちらは使われていないようです。何か条件によってはこっちが使われたりするのかもしれませんがわかりません。

「arrow...png」の矢印シリーズは何に使うのかわかんないんですが、とりあえずいじります。
「button_menu.png」は、右下の歯車ボタンです。小さいので素材が使いづらく面倒ですが、いじっておくとかっこいいです。

「label...png」シリーズが各種メニューの上部に表示されるタイトルです。好みの書体を使った画像に変えておきましょう。
サイズが気に入らない場合、HTMLを使いサイズを調整することもできそうですが、ちょっと知識もいるので、とりあえず画像の余白を作ることで調整しておきましょう。
ここにもなぜかまた「data/image/comfig」にあった、CGモードタイトルやコンフィグタイトルなんかが入ってますが…まぁとりあえずコンフィグフォルダのほうでいじってたなら、そっちの画像で上書きしちゃっておいていいんじゃないかと…

Image3
そうやって画像を入れ替えて作ったシステム画面がこちr…
…見辛ッ!?

そうです、ティラノのデフォルトのバックログやセーブデータ情報の文字色は灰色…
背景を下手な画像に変換するとこういう悲劇が起こるのです。

「tyrano/html」から「backlog.html」をテキストエディタで開き、
        <div class="log_body" style="width:90%;height:65%;overflow-y:scroll;margin-top:50px;padding:8px;color:#999;border:1px solid #555;font-weight:normal" align="left"></div>
の部分を探し出して、colorを任意の色に変更しましょう。
ここでは、白にしたいので、#ffffffにします。
Image3
読みやすくなりました。あとさりげなくBACKボタンも変更しています。ティラノっていくつBACKボタン入ってんだ。
あとついでにセーブ/ロード画面も灰色文字のままで見づらいのでこちらも変更します。
こんどは「tyrano」フォルダの中の「tyrano.css」をいじります。
こちらの130行目くらいに「/* セーブデータのテキストの設定 */」というのがあると思います。
そこの下にある「color:666」の部分を、任意の色に変えるだけです。

ちなみに、menu.htmlの「<div style="margin-top:100px">」の数値をちょっといじると、メニュー画面の各メニューアイコンの位置を上下に移動させられます、特殊なサイズの画面のゲームを作るときに重宝するかも。
私は100のままだと、上部の装飾にかかるのでちょっと調節して150にしています。
各メニューアイコンの間隔の調節とかがわかれば、ウィンドウサイズ小さめのゲームでも困らないんですが…残念ながらそこまではわかってないです。
あと、メニューのタイトル(左上に表示されているもの)は、menu.htmlの
「    <img class="img_label img_label_menu block_menu" src='tyrano/images/system/label_menu.png' style='left:0;top:0;position:absolute;'>」の行を
「    <img class="img_label img_label_menu block_menu" src="tyrano/images/system/label_menu.png" style="left: 10px; top: 10px; position: absolute; width: 140px;">」と、こんな感じに変更すると、サイズや位置などをいじれます。
「left: 10px; top: 10px」が位置、「 width: 140px;」がサイズになります。

ちなみにメニュー画面を、ティラノビルダー側で多少コンフィグできますが(メニュータイトルの位置やサイズ、そもそもの画像の変更など)、これをやると、マウスオーバーでメニューアイコンの色変更が聞かなくなるので非推奨です。
…痒い所に手が届かないこの感じ…

ティラノビルダーメモ・コンフィグちゃんどうしたらいいの

コンフィグを自作の画像に変更しようと思ったんです。
が。
なんでbg_config.jpgがあっちにもこっちにもはいってるの…orz

と困惑しつつ、あっちこっち上書きして、やっと正解を見つけました。
「data/bgimage」に入っているbg_config.jpgを上書きするのが正解です。

とりあえず現状ここまで。バックボタンをまだいじってないので浮いてるけど許して。
ちなみに右上のバックボタンは「data/image/congig」のなかの、
「c_btn_back.png」「c_btn_back2.png」「menu_button_close.png」「menu_button_close2.png」とかです。なんかうまく変更されなくてどっちもいじっちゃったので。「c_btn_back」のほうか「menu_button_close」は忘れました!!
Image3

その他の設定などについては…

えーっとまず、音量などを設定するボタン、既読スキップオンオフなどのボタンは、「data/image/config」の中身をいじればいいみたいです。
また、同フォルダのなかの「message_box.png」は使われていないようなので、bg_config.jpgにメッセージ枠を作りましょう。「message_box.png」の編集は不要の模様。
ちなみにテキスト枠の中の、メッセージ速度変更時のサンプルメッセージはシナリオフォルダ内「config.ks」の後半に、テキスト速度、ってまんまの項目があり、そこの「■■■■■■■■■」を修正すれば好きなメッセージに出来ます。

同フォルダ内にある矢印アイコンである「arrow_next.png」「arrow_prev.png」は、おそらくCGモード・回想モードの時に使うんだと思う。
同じフォルダに「回想モード」「CGモード」のタイトル画像が含まれていることからの予想ですが、私はそれらのモードを使ったことがないので…
ついでにここに、コンフィグのタイトル画像も含まれてるんだけど、これ使われるのかなあ。コンフィグのタイトルって、背景画像(cbg_config.jpg)に一緒になってるんですよね…。

bg_config
ちなみにbg_config.jpgはこんな感じになっています。
アイコンなどがある以外は、bg_base.pngと同じ画像に統一しています。


あ、ちなみに「bg_base.png」もわけわかんなくて、これもあっちこっちのフォルダに入っているんですよね!!
正解は「tyrano/images」の中にあるbg_base.pngを上書き、です。
これで、メニュー画面やセーブ・ロード画面も、同一の画像になったはずです。
メニュー画面と、その他の画面の背景を分けたい場合は、ティラノの機能で「ゲームセッティング/メニュー」から、背景やアイコンなどを変更できるのでそっち使うといいよ。
ただし!こちらのメニューから、メニュー画面を変更した場合、メニューアイコンにカーソル乗せたときの色変えが聞かなくなるので注意。
それについてはまた記事を書きます…

そんなのわざわざティラノビルダーでやらずに、ティラノスクリプト使えばいいんじゃないの?って思うかもしれないけど、私はティラノビルダーを応援したいので、あえて「ティラノビルダーで困ってる人への記事」を書くんです!!!

というわけでアディオス!!!!

ティラノビルダーメモ・ロールオーバーのシステムボタン

はい、現在作ってる…とは言えませんね、とにかくそのうち作ろうと思ってるゲーム「時の果てのリィム」は、ちょっと画面に凝ろうと思い、デフォルトテンプレートは使用せず、自分でウィンドウなんかを製作しようと思った…んですけど…

まぁとりあえずウィンドウ画像は出来ました!
そして、画面下に並べる便利アイコンも自作しました!
ほんでUIデザインツールで、画面下に並べました!

Image154

ロールオーバーで色変えができねえええええ!!!
ティラノビルダーってほんと痒いところに手が届かない!!

なのでtitle_screen.ksに、[スクリプト>ティラノスクリプト]で入力欄を作り、そこにこういうものを入れました

■ここから

;セーブ
[button name="role_button" role="save" graphic="button/save.png" enterimg="button/save2.png" x=285 y=610]

;ロード
[button name="role_button" role="load" graphic="button/load.png" enterimg="button/load2.png" x=365 y=610]

;スキップ
[button name="role_button" role="skip" graphic="button/skip.png" enterimg="button/skip2.png" x=445 y=610]

;オート開始
[button name="role_button" role="auto" graphic="button/auto.png" enterimg="button/auto2.png" x=525 y=610]

;バックログ
[button name="role_button" role="backlog" graphic="button/backlog.png" enterimg="button/backlog2.png" x=605 y=610]

;メッセージウィンドウ非表示
[button name="role_button" role="window" graphic="button/window.png" enterimg="button/window2.png" x=685 y=610]

;コンフィグボタン
[button name="role_button" role="sleepgame" graphic="button/config.png" enterimg="button/config2.png" x=765 y=610 storage="config.ks"]

;タイトルに戻る
[button name="role_button" role="title" graphic="button/title.png" enterimg="button/title2.png" x=845 y=610]

■ここまで


Animation1
これでマウスオーバーでアイコンを切り替えることができるようになりました。
やれやれ。

ちなみにコンフィグボタンは、こ・ぱんださんのプラグインからソースを参考にさせていただいています。
ついでに、ティラノスクリプトのシステム面をカスタマイズのぺージには、「first.ksなどに記述」って書いてあるんですが、first.ksをエディタで開き、記述しても、ティラノビルダーからそのプロジェクトを開きなおすと、記述した部分は消えます
なんでや工藤ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー!!!!
まじでどうなってんのティラノビルダー――――!!?!?

なので今回、first.ksではなく、「title_screen.ks」に記述してます…テストプレイが若干面倒くさい(タイトルを通さずにシナリオの一部分だけテストプレイしようとするとボタンは出ない)んですが仕方ない。

というわけで、ティラノビルダーで自由にボタンを表示させるやり方でした。
まぁティラノスクリプトをいじる人だと基本テクなんですが、ティラノビルダーでやろうとしたときには、ちょっと引っ掛かりそうなポイントなのでメモ。

あっボタンは素材として置いときます。こちらから。
自分で使うもの以外はテストしてないので、透明度など、制作にミスがあったらすみません。
クリップスタジオファイルも一緒に入れてあるので、その場合は自作してくださいまし。
フォントはセイビサラゴです(ふつう持ってねえよ)
作品一覧
サークルプロフィール
ギャラリー
  • 再開しつつ。
  • 再開しつつ。
  • 入院が出来ません…
  • ティラノビルダー/スクリプトでキーボード対応の3DRPGを作る。その1
  • 文字にアンチエイリアスがかかってないゲームをティラノで作る解決案
  • 文字にアンチエイリアスがかかってないゲームをティラノで作る解決案
記事検索
QRコード
QRコード
  • RSS
  • Dlsite blog