X



■吉里吉里/KAG/TJS雑談質問スレ■その30 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
垢版 |
2016/06/09(木) 14:48:47.49ID:UJVM4w1p
ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。
マルチポストはやめましょう。個人叩きも禁止です。

※スレで質問をするときは※
KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、
FAQ、Google等で調べてからにしましょう。
努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ!

吉里吉里スレ過去ログ倉庫
ttp://bbs.bokunatu.com/krkr/
吉里吉里2/KAG3雑談質問スレ_過去ログ
ttp://www.geocities.jp/kirikiri_log/

吉里吉里ダウンロードページ
ttp://kikyou.info/tvp/
ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は
初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。
■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。
大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。
■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる
数々のTipsが記載されています。
■TJSをもっと使うために
ゲームのインターフェイスをカスタマイズしたい、また
KAGの命令に無いことをしたくなったらまずここを読んでみよう。

必要に応じて>>3-6の公式掲示板や講座等を併用してください。
(併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)

前スレ
■吉里吉里/KAG/TJS雑談質問スレ■その29
http://echo.2ch.net/test/read.cgi/gamedev/1433436610/
0002名前は開発中のものです。
垢版 |
2016/06/09(木) 14:49:07.11ID:UJVM4w1p
過去スレ
29 http://echo.2ch.net/test/read.cgi/gamedev/1433436610/
28 http://peace.2ch.net/test/read.cgi/gamedev/1391503520/
27 http://toro.2ch.net/test/read.cgi/gamedev/1358185635/
26 http://toro.2ch.net/test/read.cgi/gamedev/1339311446/
25 http://toro.2ch.net/test/read.cgi/gamedev/1323994344/
24 http://toro.2ch.net/test/read.cgi/gamedev/1307083588/
23 http://hibari.2ch.net/test/read.cgi/gamedev/1296706327/
22 http://hibari.2ch.net/test/read.cgi/gamedev/1285897465/
21 http://hibari.2ch.net/test/read.cgi/gamedev/1274510516/
20 http://pc11.2ch.net/test/read.cgi/gamedev/1264933876/
19 http://pc11.2ch.net/test/read.cgi/gamedev/1254711054/
18 http://pc11.2ch.net/test/read.cgi/gamedev/1244218314/
17 http://pc11.2ch.net/test/read.cgi/gamedev/1234356309/
16 http://pc11.2ch.net/test/read.cgi/gamedev/1227735828/
15 http://pc11.2ch.net/test/read.cgi/gamedev/1216865800/
14 http://pc11.2ch.net/test/read.cgi/gamedev/1204006714/
13 http://pc11.2ch.net/test/read.cgi/gamedev/1195603475/
12 http://pc11.2ch.net/test/read.cgi/gamedev/1186395177/
11 http://pc11.2ch.net/test/read.cgi/gamedev/1175480292/
10 http://pc11.2ch.net/test/read.cgi/gamedev/1166252149/
9 http://pc8.2ch.net/test/read.cgi/gamedev/1160427850/
8 http://pc8.2ch.net/test/read.cgi/gamedev/1147590108/
7 http://pc8.2ch.net/test/read.cgi/gamedev/1138099311/
6 http://pc8.2ch.net/test/read.cgi/gamedev/1116774771/
5 http://pc8.2ch.net/test/read.cgi/gamedev/1095183786/
4(タイトルは3) http://pc5.2ch.net/test/read.cgi/gamedev/1081199649/
3 http://pc5.2ch.net/test/read.cgi/gamedev/1067436686/
2(再利用) http://pc2.2ch.net/test/read.cgi/gamedev/1044256119/
1 http://pc2.2ch.net/test/read.cgi/gamedev/1021890648/
0003名前は開発中のものです。
垢版 |
2016/06/09(木) 14:55:42.93ID:UJVM4w1p
【公式】
kikyou.info
ttp://kikyou.info/
吉里吉里/KAG 掲示板
ttp://kikyou.info/tvp/bbs/
公式掲示板過去ログ検索
ttp://www.kirikiri.info/bbslog/
吉里吉里開発サイト
ttps://sv.kikyou.info/trac/kirikiri/

【ドキュメント】(最新版のオンラインマニュアル)
KAG System リファレンス
ttp://devdoc.kikyou.info/tvp/docs/kag3doc/contents/
吉里吉里2 リファレンス
ttp://devdoc.kikyou.info/tvp/docs/kr2doc/contents/
TJS2 リファレンス
ttp://devdoc.kikyou.info/tvp/docs/tjs2doc/contents/

【FAQ】
逆引きマニュアル
ttp://homepage1.nifty.com/gutchie/kirikiri_kag2/faq.html

【網羅的リンク集】
OUTFOCUS Wiki ブックマーク
ttp://hpcgi1.nifty.com/gutchie/wifky/wifky.pl?p=%A5%D6%A5%C3%A5%AF%A5%DE%A1%BC%A5%AF
0004名前は開発中のものです。
垢版 |
2016/06/09(木) 14:56:05.75ID:UJVM4w1p
【講座】
吉里吉里2/KAG3によるノベルゲーム開発
ttp://homepage1.nifty.com/gutchie/kirikiri_kag3/game_dev.html
Studioついんくる - 吉里吉里2/KAG3講座
ttp://contest2004.thinkquest.jp/tqj2004/70619/subindex.html
RUTA'S GAME - 初心者のための吉里吉里講座
ttp://www.manitoux.net/ruta/game/kiri/
TJSに挑戦!
ttp://www.geocities.co.jp/tjschallenger/

【解説】
Inside KAG3
ttp://hpcgi1.nifty.com/gutchie/wifky/wifky.pl?p=Inside+KAG3
TJS入門
ttp://homepage1.nifty.com/gutchie/kirikiri_kag/tjs_primer.html
0005名前は開発中のものです。
垢版 |
2016/06/09(木) 14:56:43.37ID:UJVM4w1p
【KAGEX】
KAGEX
ttp://ruriko.denpa.org/2006_ca.html#W_%E5%90%89%E9%87%8C%E5%90%89%E9%87%8C
KAGEXのダウンロードの仕方(Subversionリポジトリへのアクセスの仕方)
ttp://kikyou.info/diary/?200610#i4_3
↑の解説の「リポジトリのURL」は↓に変更されています
ttps://sv.kikyou.info/svn/kirikiri2/branches/kag3ex3

※注意
KAGEXを含め、公式以外のプラグインやコードを使用する場合は
それらが作者の好意によって公開されているいうことを理解し、
バグや、吉里吉里のバージョンアップに伴う不都合に対して、
泣いたり怒ったりしないようにしましょう。

また、スレで話題にする時は、プラグイン名や出所を明記しましょう。
使っている人とそうでない人とで、話が噛み合わない場合があります。
0006名前は開発中のものです。
垢版 |
2016/06/09(木) 15:02:04.12ID:UJVM4w1p
【吉里吉里Z】
http://krkrz.github.io/
「吉里吉里Zは、だいたい吉里吉里2と同じものです。
 吉里吉里2は開発されてから時間が経過しており、保守や改善を行うに当たって困難な場面に遭遇することが増えてきました。
 今までよりも早くリリースされる新しいWindowsやタブレットなどの変化するデバイスに対応するために吉里吉里Zは開発されました。
 吉里吉里Zによって開発環境の入手性が改善され、古いものを削除し、開発しやすさが改善されたことで本体の開発速度のスピードアップが可能になりました。」
以上公式より。

特にTJSを触れる中上級者にとって嬉しい吉里吉里Z。ただ「文字コードってなんですか」的な初心者にとっては吉里吉里2→吉里吉里Zの移行が
大変かもしれないので頑張ろう。現在は64bit版も登場。Android版開発中で、さらにマルチプラットフォーム化も計画中のもよう。
0010名前は開発中のものです。
垢版 |
2016/06/13(月) 00:58:53.08ID:L695k7rl
Android版他を作ろうとしているのはいいけれど、最初から「互換性を削った制限版」を目指しているのが引っかかって、クラウドファンディングの出資に躊躇してる。
KAGが今のまま(または少し改造しただけ)で動かないのなら、わざわざAndroid上で吉里吉里使う意味がないと思うんだよなー。ティラノなんとかとか、今既にあるAndroid上のプラットフォーム使えばいいじゃん、と思っちゃう。
出資額が大きくなれば実装されるとはいっても、この方針だとどこかで互換性削ってくるんじゃないかなぁと不安。
結局吉里吉里Zも、微妙な互換性の問題で乗り換えできてない人多いし。

俺は同人だからそう思うんだけど、商業だったらまた違うのかな。
0011名前は開発中のものです。
垢版 |
2016/06/13(月) 01:47:20.63ID:YDa9nnIp
自分は逆にKAGを完全に捨てるためにフレームワーク自力で開発してるからその辺りはあんまり気にしてないかなぁ
0013名前は開発中のものです。
垢版 |
2016/06/13(月) 08:04:40.36ID:Iwftm5Sq
どっちかというと「TJSで色々作れる環境をAndroidにも移植する」と言ったほうが正しいのかもしれない
案外吉里吉里と同じ手軽さで組める環境って少ないからねえ

巨大なツールがないと開発できなかったりインストールするのに依存ライブラリがあれこれあって大変だったり
できたものを配布するときにデカいライブラリがついてきたり
0014名前は開発中のものです。
垢版 |
2016/06/13(月) 09:30:51.21ID:L695k7rl
>>11 >>13
もしそうだとしたら、やっぱり俺は要らないかなぁ。
どうしてもTJS使いたい!というわけじゃないし。
今までの資産が再利用できないなら、あえて古いものを使い続ける必要ないし。
Unity使ったほうが、楽だし自由度高いし汎用性があるしツブシも効くし。

うん、出資しない決心ついたよ、ありがとう。
0016名前は開発中のものです。
垢版 |
2016/06/13(月) 09:50:04.00ID:4XGLYeme
ノベルゲームエンジンが乱立してるのは
開発言語が指定されてることとマルチプラットフォーム対応できないってのが原因だと思ってる
jsのような何かのtjsを嫌ってる人は結構多い
0017名前は開発中のものです。
垢版 |
2016/06/13(月) 10:11:07.84ID:Iwftm5Sq
でも正直jsは書きにくいことこの上ない
TypeScriptやらが乱立しているのを見てもわかる通り
tjsは基本的にクセのない言語

一方でKAGの文法はなんだかんだでノベルゲーム界の
デファクトスタンダードになってるな
0018名前は開発中のものです。
垢版 |
2016/06/14(火) 09:34:49.35ID:7hxH5Tv1
jsの新しいやつは、クラスの組み方とかtjsと良く似た形になったよ。時代を良く先取りしてたと言える
0019名前は開発中のものです。
垢版 |
2016/06/14(火) 09:39:20.31ID:e0jSiuqx
新しいjsを気軽に使っても「ゴラァァァァァうちのIE11ではうごかんやろがあああああ」みたいに言われなくなるのはいつですかね
0024名前は開発中のものです。
垢版 |
2016/06/14(火) 14:40:02.02ID:e0jSiuqx
マルチプラットフォームをうたっているゲーム開発ツールの地味な弱点として
「Windows版がなんか微妙」ってのがあったりするんだよな
もちろんスマホ版も遅い・微妙なの結構おおいし

吉里吉里Z Android版の速度がいい感じなら、Windowsも重視している
メーカーや同人サークルにとって非常にバランスの良い選択になるかもしれない
0025名前は開発中のものです。
垢版 |
2016/06/14(火) 14:44:16.17ID:XgVRL5wm
最近、unityがrenpyをサポートするってニュースがあって
renpy最強じゃね?って思ったんだけど
日本じゃ使ってる人少なすぎて残念
やっぱpythonは日本人に合わないせいかな
そう言いながら自分も吉里吉里使い続けてるわけだが
0026名前は開発中のものです。
垢版 |
2016/06/14(火) 14:48:24.15ID:e0jSiuqx
連敗
縁起わるそう

とにかく「移行するメリット」が大きくないとねえ
最大の原因はAndroidでノベルゲーム作ったところで
今はプレイ人口が大したことないってのがあるんだろうけど

吉里吉里Zは、おそらく吉里吉里Android版があることに
一定のメリットがあるであろう開発者が、一定の資金を
出してくれたことで動き始めたんだろうな
0027名前は開発中のものです。
垢版 |
2016/06/14(火) 15:09:50.67ID:hmlgWXW5
だって、VIP板なんかのゲーム製作スレで仲間募って紙芝居ゲを作ったとして、PC持ってる人にしか遊んでもらえないわけじゃん
スマホだけ持ってる人達にも遊んでもらいたいじゃん?
0028名前は開発中のものです。
垢版 |
2016/06/14(火) 15:58:56.43ID:e0jSiuqx
その労力を惜しまない人はとっくにティラノスクリプトやらに移行したかと

んで今でもそういう風に頑張る人はフリゲ作家が多い印象で、
吉里吉里みたいな大幅な拡張性は別に要らない人が多そう

現在の吉里吉里はやっぱプロ・セミプロ向けだよねえ
0029名前は開発中のものです。
垢版 |
2016/06/14(火) 16:25:49.43ID:w53eEXa0
吉里吉里って単なるツールじゃなく開発環境だからな
テンプレ的な紙芝居作るだけならオーバースペック
0030名前は開発中のものです。
垢版 |
2016/06/14(火) 19:43:01.28ID:y9XO87+n
せっかくAndroid上で吉里吉里が動いても、KAGが動かないんなら普通の人はノベルゲームなんて作れない。
KAGの別の実装が出てきてそれを覚えるくらいなら、ティラノスクリプト覚えた方がいい。
KAGを作ればいいじゃん!といわれたら、Unity上の実装作った方が移植が楽。

KAG動かないんだったら、ほとんどのユーザにとっては意味がない。
KAGが動くかどうかが、Android版吉里吉里の普及の鍵になる。
KAG動かないんだったら、絶対使うことはないだろうなぁ。
0032名前は開発中のものです。
垢版 |
2016/06/14(火) 22:27:54.39ID:e0jSiuqx
実際のところは商業メーカー+「ノベルゲームというよりアクション性の無い静的ゲームを作りたい高技術系同人サークル」が
恩恵受けるものになると思う
0034名前は開発中のものです。
垢版 |
2016/06/14(火) 23:55:13.31ID:tp4KeS5l
「ノベルゲームというアクション性の無い性的ゲームを作りたい低技術系同人サークル」は
恩恵受けないの
0038名前は開発中のものです。
垢版 |
2016/06/17(金) 01:50:11.55ID:clYkCaVV
>>37
で、Layerクラスがなくな(る可能性があ)って、今のKAGは完全に使えなくなる、と。
ただの追加なら歓迎するけど、その分ほかを削るのは賛成できないな
0040名前は開発中のものです。
垢版 |
2016/06/17(金) 12:22:06.03ID:kxAB3eU6
KAGだけでいいよ ←既にあるKAGのみ互換のスマホ対応ソフトでいいのでは
TJSも必要だよ  ←PC版の仕様のままじゃ無理や

要するにこれだけ
0042名前は開発中のものです。
垢版 |
2016/06/17(金) 16:12:26.46ID:/Xbc0oPE
流れ切ってすみません、セーブロードについて質問させてください
吉里吉里2使用の初心者です
配列、辞書配列の保存と読み込みが上手くできません

(Function.ks)
function SaveFunk()
{

}
(start.ks)
f.event=new Dictionary();
f.action=new Array();
0044名前は開発中のものです。
垢版 |
2016/06/17(金) 16:34:20.18ID:/Xbc0oPE
再度書き込みします、セーブロードについて質問させてください
吉里吉里2使用の初心者です
配列、辞書配列の保存と読み込みが上手くできません
;-----------------------
(Function.ks)
function SaveFunk()
{
(Dictionary.assign incontextof f.event)(event);
f.action.assign(action);
}
function LoadFunk()
{
(Dictionary.assign incontextof event)(f.event);
action.assign(f.action);
}
;-----------------------
(start.ks)
f.event=new Dictionary();
f.action=new Array();
;-----------------------
SaveFunk() の時点でテキストに出力して確認してみたところ、
f.eventもf.actionも保存はできているようです
start.ksでの宣言がだめなのかと思い、変更してテスト
start.ksでのf.action=[];をなくして、SaveFunk() をf.action=action;と変えてみると配列

は上手くいきました
ですが、辞書配列の方は上記どちらのやり方でもだめでした
変数の保存読み込みの正しい方法を教えてもらえませんでしょうか
0045名前は開発中のものです。
垢版 |
2016/06/22(水) 16:55:47.61ID:g+QcZqjs
ゲーム変数またはシステム変数に保存じゃだめなん?
そういうことじゃなくて技術的なことを知りたいならすまないが俺もわからん!
004644
垢版 |
2016/06/23(木) 19:37:07.40ID:enBL0ND+
>>45
レスありがとうございます
辞書配列の中に配列を入れていたりで記述が長く、シナリオファイルのあちこちに書き散らかしているのもあって
できればセーブ時にまとめてゲーム変数に代入したかったんです
今回は初めからゲーム変数に変えてみることにします

もし他によい方法ご存知の方おられましたら、よろしくお願いします
気長に待ってますので
0047名前は開発中のものです。
垢版 |
2016/06/23(木) 19:47:06.27ID:UqI0gOhf
・望む動作は何か
・実際の動作はどうか
を最小限のコードと一緒に書くといいかもね
0048名前は開発中のものです。
垢版 |
2016/06/24(金) 00:46:59.79ID:HvcT2Bvs
ダメだった場合は何がダメだったのかの状況が分からんのでエスパーするしかないよね

>辞書配列の中に配列を入れていたりで記述が長く
とのことなのでassignじゃなくてassignStructを使えば解決、などとエスパーしてみる。
assignだと参照コピーなので元のactionやらeventやらの子配列や辞書を書き換えると
assign先の内容も合わせて変わってしまう罠がある:
var a = [], b = [ %[ hoge:0 ] ];
a.assign(b);
b[0].hoge = 1;
Debug.message(a[0].hoge); // ->1
みたいな。assignStructだとディープコピーなので完全に別物になる

あとはまあ保存可能ラベル(*〜|)を通過してない系の罠かなあ
配列や辞書以外のオブジェクト(クラスインスタンスとか)は
そもそもファイルにセーブできないってのもあるけど、そんなオチはないよね…
004944
垢版 |
2016/06/25(土) 17:02:55.39ID:OgOMkyl4
>>48
レスありがとうございます
最初からゲーム変数に変えたら、読み込みできたようです
色々動かして確認中なので、成功かは分かりませんけど、今回はこれでいこうと思います
ちゃんと読み込んでくれたので嬉しくなって、ゲーム変数に変えたもので失敗分のフォルダを上書きしてしまいました
もし次に何か作る時にも配列は使うと思うので、今のが済んだら確認用のフォルダを作って試してみます

↓答えになってないかもしれませんが、こんな感じでした
【だめだった時の状況】
ラベルのあるファイルを通過毎にセーブ→終了→起動→ロード
>>44の場合
  セーブ後に、ゲーム変数の方をテキストに出力して確認、配列に代入した内容が出力されていた
  ロード後は、セーブしたファイルから開始されたが、配列、辞書配列ともに中身はvoid

>>44の下文章、assignでなく、=で代入しただけの場合
  セーブ後に、ゲーム変数の方をテキストに出力して確認、配列に代入した内容が出力されていた
  ロード後は、セーブしたラベルから開始されたが、辞書配列の中身がvoid、配列はセーブ時点での内容を読み込み成功
  辞書配列は、二次元配列でないものも読み込まれず

【クラスインスタンスについて】
それ自体が分かりません、ググッたんですけど、せっかくの助言を理解できずすみません
保存したいのは、フラグや行動履歴を代入した変数です、下のような形でイベントや行動毎に代入してます
event =%["eventA"=>"敗北","eventB"=>"勝利"];

【assignについて】
assignした後、コピー元に代入した場合、自動的にコピー先にも数値が反映されるということですか?
そういえば、assignで色々試している時に、セーブしてないのにf.eventの数値が変わったことがありました
=で代入したときも似たようなことが起こったような気がします

でもまずは、今のを完成させて、それからassignStructを試してみます
005149
垢版 |
2016/06/27(月) 22:38:45.21ID:nrvVv5FJ
>>50
見にきてよかった
今DLしてきたところです
とりあえずお礼のみ書きにきました
ありがとうございます
005249
垢版 |
2016/06/27(月) 22:49:46.81ID:nrvVv5FJ
とりあえずじゃない、とりいそぎです
偉そうな間違いで、すみません
中身これから見させてもらいます
005349
垢版 |
2016/07/02(土) 16:20:18.27ID:qzOjeXlW
>>50
頂いた物を手本に新しいフォルダで試しました、配列、辞書配列ともに読み込んでくれました
前回失敗した理由が分からないので、理解できたとは言い難いのですが、成功したのは嬉しいです
次に作る時は、初めから変数の保存を意識して作ろうと思います
>ものすっごい単純なコードを書いてみた
ifとforしか知らなかった自分でも部分的に読めました、短いのも嬉しかったです

【質問1】
「f.eventに対する操作」と「global.eventに対する操作」の違いが分かりません
検索したら「全ての配列や変数の入っている辞書配列」とありましたが、やっぱり同じもののようなイメージしか湧かず・・・

【質問2】
s(a);にあった 「return @"%[${b.join(', ')}]";」
↑@が分からなくて、もしよければ教えていただきたいです

とにかく成功して嬉しいかったので、お礼言わせてください、ありがとうございました
遅くなってすみません
0054名前は開発中のものです。
垢版 |
2016/07/04(月) 00:16:58.78ID:5DGHsnu4
>>53
このレスで説明しようと思ったけど、どうにも長くなったので
ttp://www1.axfc.net/u/3687071.zip

要約すれば

【回答1】
「栞の保存」をしたとき、global.* は保存されない
f.* は保存される

【回答2】
@"a${b}c" は "a" + string(b) + "c" の省略記法
@"a&b;c" でも同じ
005553
垢版 |
2016/07/04(月) 19:43:10.53ID:LWZemmdO
>>54
今DLしてきました、これから読ませてもらいます
何度も出てきてすみません、そして何度も質問に答えてくださってありがとうございます
お手本のおかげで、保存読み込みの助言の他、新しい便利そうな書き方も知ることができました
きちんと理解できたかは分かりませんが、次作る時に使ってみようと思います
連続の書き込みはよくないようなので、これで消えます
丁寧に教えてくださって、ありがとうございました
005857
垢版 |
2016/07/10(日) 19:46:11.36ID:TyP4UY4V
すみません、>>57自己解決しました。
toolフォルダの中にデフォルトで入っているツールはダメですね
0059名前は開発中のものです。
垢版 |
2016/07/10(日) 20:14:47.66ID:FYa8fkRU
どうやら、高校3年の学園祭という○○で見た何か起こりそうなイベントは儚い夢として消えてしまうようだ。
0060名前は開発中のものです。
垢版 |
2016/07/18(月) 17:43:40.39ID:axoqs8/W
クリッカブルマップを実装しても1回しかクリックが出来ません
サンプルのシナリオでも同じ現象が起きます
0062名前は開発中のものです。
垢版 |
2016/07/22(金) 10:39:32.26ID:BoT17ZIH
吉里吉里Zを使い登場人物の多いゲームを作っています。
表示するキャラ名もコロコロ変わるため使い勝手の良いマクロが作りたいです。
理想としては
[名前 ヒーロー]で男主人公の名前の変数を表示する。青で表示。
[名前 ヒロイン]で女主人公の名前の変数を表示する。赤で表示。
[名前 text=○○]で脇役の名前をその場で入力する。
このような事がしたいのですが出来ますでしょうか?アドバイスを頂けたら幸いです。

[macro name=
0063名前は開発中のものです。
垢版 |
2016/07/22(金) 10:44:56.23ID:BoT17ZIH
切れてしまったので連投失礼いたします。また途切れたら申し訳ございません。
[macro name=名前]
;メッセージ1に表示させる、前回までの名前を消す
[current layer=message1][er]
;フォント設定
[font color=0xFBEEBD edge=true edgecolor=0xA63D15][nowait]
;名前入力:空欄にすると地の文になる
[ch text=%text]
;[名前 ヒーロー]と書いた場合は主人公名の変数を表示
[if exp=""]
[font color=0x0000ff]
[emb exp=sf.ヒーロー]
[ endif ]
;フォント設定をデフォルトに戻す
[endnowait][resetfont]
;メッセージ表示させるレイヤを0に戻し、履歴のみ改行する
[current layer=message0][hr]
[endmacro]
0064名前は開発中のものです。
垢版 |
2016/07/25(月) 02:13:27.85ID:3aCy4W4r
>>63
今のKAGParserなら、AGタグに指定された引数(値なし)は、マクロ側でmp.引数名がtrueになる。
だから、
[名前 ヒーロー]
と呼ぶマクロなら、
[macro name=名前]
[if exp=
0066名前は開発中のものです。
垢版 |
2016/07/25(月) 09:51:42.11ID:zqkwq+Da
>>65
なるほど!ちゃんと主人公名表示されました有難うございます
小ワザ集も参考にさせて頂きます
0067名前は開発中のものです。
垢版 |
2016/07/31(日) 20:43:14.71ID:gz8TSPHh
質問です。
吉里吉里で←↑↓→の方向キーはどうやって受け取るのでしょうか?
出来ればtjsを使わずkagだけでどうにかしたいのですが……
0070名前は開発中のものです。
垢版 |
2016/08/01(月) 14:00:25.03ID:f1IcStDQ
"System.getKeyState(VK_LEFT)"]
*左へ
←へ移動の処理
[jump target=*loop]
切れてしまったので連投失礼します。
およそこのような形を想定しているのですがうまくいかないでいます
0071名前は開発中のものです。
垢版 |
2016/08/01(月) 14:48:47.34ID:BVEfI6at
AfterInit.tjsでこんな感じの関数登録して
必要な箇所でOnにするってのが簡単かな。tjsだけど

function myKeyDownHook( key ){
if( f.myKeyDownHook_enabled ) return; // trueで無い時は無視
switch(key){
case VK_LEFT : kag.process( 'first.ks', 'keydown_left' ); return true;
case VK_UP : kag.process( 'first.ks', 'keydown_up' ); return true;
case VK_RIGHT : kag.process( 'first.ks', 'keydown_right' ); return true;
case VK_DOWN : kag.process( 'first.ks', 'keydown_down' ); return true;
}
}
kag.keyDownHook.add( myKeyDownHook ); // 関数を登録
(中略)

関数用いたい場所で
f.myKeyDownHook_enabled = true;
とすればおk
0073名前は開発中のものです。
垢版 |
2016/08/01(月) 16:09:58.78ID:f1IcStDQ
やはりtjs無しは厳しいのでしょうか
[if exp="System.getKeyState(VK_LEFT)"]
処理
[endif]
といった形でも試しているのですがどうにもならず。
そもそもSystem.getKeyStateの使い方を間違えているのでしょうか……
0074名前は開発中のものです。
垢版 |
2016/08/01(月) 16:45:24.47ID:jVNgw38b
少し単純化して

*loop
[if exp="System.getKeyState(VK_LEFT)"]
処理
[endif]
[jump target=*loop]

仮にこうした場合、左を押すまでKAGがひたすらループし続けてフリーズしたようになるはず


*loop
[if exp="System.getKeyState(VK_LEFT)"]
処理
[endif]
[s]

とかした場合、if文を通り抜ける「その一瞬」に左を押しているかどうか判断されるだけ
KAGだけではまあむり
0075名前は開発中のものです。
垢版 |
2016/08/01(月) 16:52:21.72ID:f1IcStDQ
>>74
ありがとうございます!「その一瞬」の部分をずっと見落としていたようで
*loop
[if exp="System.getKeyState(VK_LEFT)"]
[wait time=1000]
処理
[endif]
[jump target=*loop]
とすれば動きました。が、これはPCへの負荷で問題あるのでしょうか?
System.getKeyState(VK_UP&VK_SPACE)にしたらwaitが全く入らずループするのも怖いですね……
0076名前は開発中のものです。
垢版 |
2016/08/02(火) 23:41:21.04ID:YaPiHkpS
>>71
お返事遅れてすみません、
case VK_LEFT : kag.process( 'first.ks', '*keydown_left' ); return true;
どうにも動かないと思ったら、*を足した上で、呼び出しもtrueとfalseが逆で表記されていたのですね。
本当はTJSで様々な作業をしたいのですが吉里吉里とTJSとで画像座標のズレ込みや、
そもそもTJSでの記述方式が解らない等で往生しておりました。ありがとうございます!
0077名前は開発中のものです。
垢版 |
2016/08/09(火) 00:37:20.10ID:I2enjDNf
[iscript]
x=0
for(var 1=0;1<290;i++){
if(オブジェクト配列[i]==5 && マップ配列[i]==3){
x=x+1
}
}
[endscript]

試行錯誤しているのですが、TJS上でKAGで弄っている配列のデータをそのまま持ってきて〜
というのは不可能なのでしょうか?
0080名前は開発中のものです。
垢版 |
2016/08/11(木) 03:50:34.82ID:i4fUub3u
どうしても再生できずエラーになって落ちてしまって先に進めなくなるムービーをスキップするようスクリプトを編集するにはどうしたらいいですか
0083名前は開発中のものです。
垢版 |
2016/08/13(土) 00:56:52.53ID:0zq4XMCm
function myKeyDownHook( key,shift ){
if( f.myKeyDownHook_enabled ) return; // trueで無い時は無視

switch(key){
case VK_LEFT :
if((key == VK_LEFT ) && (shift & ssCtrl)){
System.inform("S←キーが押されました。");
kag.process( '', '*keydown_left2' ); return true;
}
kag.process( '', '*keydown_left' ); return true;

case VK_UP :
if((key == VK_UP ) && (shift & ssCtrl)){
System.inform("S↑キーが押されました。");
kag.process( '', '*keydown_up2' ); return true;
}
kag.process( '', '*keydown_up' ); return true;
}
}
kag.keyDownHook.add( myKeyDownHook ); // 関数を登録

これでキー入力が出来るようになったのですが、押しっぱなしにすると、どうしても処理がおかしくなってしまいます。
そこでonkeyUpのような、【キーを上げれば移動する】ように改造するにはどうすれば良いのでしょうか?
0084名前は開発中のものです。
垢版 |
2016/08/13(土) 09:05:24.92ID:+MWWuypB
// キー押しっぱで動作が異常になるのはキーダウンごとに kag.processでラベル移動しちゃうのが問題

function myKeyDownHook( key ){
if( !f.myKeyDownHook_enabled ) return; // trueで無い時は無視 ■enabled==trueで動かすのなら要修正
if( f.myKeyDownHook_lock ) return true; // ■キーロック時は無視 returnだけのがいいかも。自分で検証して

switch(key){ // ■キー押下時に一時ロック
case VK_LEFT : f.myKeyDownHook_lock=true; kag.process( 'first.ks', '*keydown_left' ); return true;
case VK_UP : f.myKeyDownHook_lock=true; kag.process( 'first.ks', '*keydown_up' ); return true;
case VK_RIGHT : f.myKeyDownHook_lock=true; kag.process( 'first.ks', '*keydown_right' ); return true;
case VK_DOWN : f.myKeyDownHook_lock=true; kag.process( 'first.ks', '*keydown_down' ); return true;
}
}
kag.keyDownHook.add( myKeyDownHook ); // 関数を登録
//(中略)

//関数用いたい場所で
f.myKeyDownHook_enabled = true; f.myKeyDownHook_lock=false;

// ■キーダウンのkag.processで飛んだ先のラベルで一通り処理が終わったら([s]タグの直前で)
f.myKeyDownHook_lock=false; // 一時ロック解除

// ■移動パート(?)を完全に終了する際に
f.myKeyDownHook_enabled = false; f.myKeyDownHook_lock=false;

// ←↑の同時押しの斜め移動とか、キーリピート対策とかは無理
// 諦めるか、タイマオブジェクトの勉強するしかない
0087名前は開発中のものです。
垢版 |
2016/08/18(木) 18:26:17.50ID:zEkms1Gx
吉里吉里2使用の初心者です(1/3) 改行多すぎと言われたので、分けます
class Mole extends KAGLayer
{
var hit_sound;
// コンストラクタ
function Mole(layer_num, pict_name, mole_x, mole_y)
{
super.KAGLayer(kag, layer_num);//スーパークラス
loadImages(pict_name);//画像
setSizeToImageSize();
setPos(mole_x, mole_y);
absolute=layer_num.absolute+1;
hit_sound = new WaveSoundBuffer(window);//音
hit_sound.open("hit.wav");
visible = true;
}
// デストラクタ
function finalize()
{super.finalize();}
008887
垢版 |
2016/08/18(木) 18:27:57.37ID:zEkms1Gx
吉里吉里2使用の初心者です(2/3)
// キーイベント
function onKeyDown(key, shift, process=true)
{
//super.onKeyDown(...);//不要?
if(key== VK_UP && visible==true)
{
if(shift == ssRepeat)
{}//何もしない
else
{
hit_sound.play();
return true;
}
}
}
}
008987
垢版 |
2016/08/18(木) 18:28:55.94ID:zEkms1Gx
吉里吉里2使用の初心者です(3/3)
;-------------------------------
var mole = new Mole(kag.back.layers[1], "up", 0, 0);
;-------------------------------
[backlay][image layer="0" storage="透明.png"][trans (略)][wt]
[s]
;-------------------------------
【やりたいこと】
特定のレイヤが表示されている場合に、onKeyDownで特定の動作をするように記述したいです
Timerで表示非表示をさせたりもしたいので、Moleクラスの中でonKeyDownを処理してしまいたいです
(OUTFOCUSというサイトのもぐら叩きをやりたいです)

【だめだった時の状況】
画像が表示された状態でキーを押しても、効果音がなりません/エラー表示なし
009087
垢版 |
2016/08/18(木) 18:31:41.15ID:zEkms1Gx
吉里吉里2使用の初心者です(4/3)
分割したら分かりにくくなってしまいました
最序盤で詰まってまして、助言いただきたいです
まずキーイベントからと思い、上記の記述以外は何も書いていません
質問ばかりですみません、よろしくお願いします
0091名前は開発中のものです。
垢版 |
2016/08/18(木) 18:34:56.78ID:MkSi85xL
むしろkag側でキーが押されたときにレイヤの有無をチェックした方が良いと思う
レイヤのキーイベントはフォーカスがないと普通は届かない
009287
垢版 |
2016/08/18(木) 18:48:54.35ID:zEkms1Gx
>>91
レスありがとうございます
>レイヤのキーイベントはフォーカスがないと普通は届かない
上下キーを押したとき、選択肢とかにカーソルが乗っかるあれでしょうか

>kag側でキーが押されたときにレイヤの有無をチェック
getKeyStateとかになるんでしょうか
ググりながら、探ってみようと思います
009387
垢版 |
2016/08/18(木) 23:19:33.83ID:RNiVx9xX
少し前に、keyDownHookというのもあったんですね
節穴ですみません

>レイヤのキーイベントはフォーカスがないと普通は届かない
でも、onKeyDownがきかなくてonMouseDownがきいた理由は納得できて、すっきりしました
頑張ってみます
009487
垢版 |
2016/08/20(土) 18:53:26.21ID:3ESE8bqB
>>91
mole.visibleを条件に追加した、もぐら叩き用のonKeyDown関数を作って、keyDownHookにaddしました
動きました、これでようやく先に進められます
ありがとうございました
0095名前は開発中のものです。
垢版 |
2016/08/27(土) 00:09:39.24ID:gdKLUUFl
すみません、その29でも質問があるようなのですが、
kagexの立ちキャラで、並び順の変更がうまく出来ません。
foreはちゃんと機能しているのですが、backが機能していないようでした・・・・
どこをどう修正すれば良いか、どなたかご存じないでしょうか
ネットであちらこちら探してみたのですがダメでした・・・・
0096名前は開発中のものです。
垢版 |
2016/08/29(月) 00:39:14.96ID:+V9bZ85P
KAGEXのfront/backの実装はちょっとbuggyな感じなんであまり使わない方がいいとは思うけど
ざっと見たところsystem/KAGEnvLevelLayer.tjsのfunction toBack()内の後半部分にある
if (target.absolute < index) {
の「<」を「<=」にしたらどうだろうか?
恐らくabsoluteが同値の場合どちらが手前にくるか不定になるからバグってるんじゃないかと思う
同様にtoFront()の方も同じような処理のところの「>」を「>=」にした方がいいかも?

動作確認してないので直らなかったらすまん
0097名前は開発中のものです。
垢版 |
2016/08/29(月) 10:44:21.85ID:D3GVlxli
>>96
ご回答ありがとうございました。 ですが、ダメでした……

私もそこが問題だろうと思ったのですが、そこのabsoluteがどこからもって来たものか分からず断念してしまいました。(おそらくKAGEnvLevelLayerのセッター? 参照する値なのか、変えようとしてる値そのものなのかわからず)
mainwindow.tjsにもtoBackがあるのですが、こちらは通常の吉里吉里用に残された物でしょうか
0098名前は開発中のものです。
垢版 |
2016/08/29(月) 17:44:10.48ID:RUVTxl++
流れの途中にすいません。初心者ですが、質問させていただきます。
ここのスレの過去ログにあったコードを用いて、「街〜運命の交差点〜」風TIPSを作成しました。
そこで文章中の単語からリンクしてTIPSを表示し、ワンクリックで下の画面にもどる、という基本は成功しました。
しかし、以下の二点の問題が発生しました。

@TIPSリンク先へ行く→元の画面に戻るを同じ単語で繰り返すと、勝手にリンク元文章のクリック待ちグリフが空白を挟み横へズレていきます。
試しに端までずらしていくと空白のまま改行し、次の文章との間に空行が生じてしまいました。
Aリンク元文章が全部表示し切る前にTIPSリンクをクリックし、下の画面にもどると必ずフリーズしてしまいます。
(これはリンク元文章をノーウェイトにすれば防げます)

以上の二点の原因や防ぐ方法をご存知の方がいらっしゃいましたら、ご助言をお願いします。
用いたのは■吉里吉里/KAG/TJS雑談質問スレ■その19の160〜162です↓
http://pc11.2ch.net/test/read.cgi/gamedev/1254711054/
次のレスで少しだけ改変した自分のコードをコピペします。
009998
垢版 |
2016/08/29(月) 17:45:33.55ID:RUVTxl++
macro.ks

[macro name=tipsstart]
[delay speed=nowait]
[locklink]
[history output=false]
[position layer="message1" frame="tips.png" draggable="true" left="0" top="0" opacity="255" left="16" top="16"]
[current layer="message1"]
[position layer="message" visible="true"]
[er]
[endmacro]
;-----------------------------------------------------------
[macro name=tipsend]
[waitclick]
[er]
[position layer="message" visible="false"]
[current layer="message0"]
[history output=true]
[unlocklink]
[delay speed=user]
[endmacro]
;-----------------------------------------------------------
[return]
010098
垢版 |
2016/08/29(月) 17:47:43.82ID:RUVTxl++
tips.ks

*tips0001
[tipsstart]
(ここにTIPSの内容を書きます)[r]
(ここにTIPSの内容を書きます)[r]
[tipsend]
[return]


first.ks(シナリオ)

*scene1-1|リンクさせたい文章
[link exp="kag.callExtraConductor('tips.ks','*tips0001')" color="0x00ffff"]はじめまして![endlink][r]
ごきげんいかがですか[l][r]


以上です。
どなたか原因、もしくは防ぐ方法が分かりましたらご助言をお願いします。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況