TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
RPGコンストラクションソフトを作りたい
ウディタコモン作成依頼所
flashでネトゲー作らない?
素人だけどゲーム作りたい
今更だけどNESエミュ作りたいし
ドラクエみたいな電脳空間RPGみたいなMMORPG
これからは家族でゲーム製作
DarkBASIC 使っている奴情報交換してください 3
作りたいのに作れないワナビースレ
3D格闘ゲームを作るスレ

■吉里吉里/KAG/TJS雑談質問スレ■その30


1 :2016/06/09 〜 最終レス :2017/12/31
ノベルゲーム製作ツール吉里吉里/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.sc/test/read.cgi/gamedev/1433436610/

2 :
過去スレ
29 http://echo.2ch.sc/test/read.cgi/gamedev/1433436610/
28 http://peace.2ch.sc/test/read.cgi/gamedev/1391503520/
27 http://toro.2ch.sc/test/read.cgi/gamedev/1358185635/
26 http://toro.2ch.sc/test/read.cgi/gamedev/1339311446/
25 http://toro.2ch.sc/test/read.cgi/gamedev/1323994344/
24 http://toro.2ch.sc/test/read.cgi/gamedev/1307083588/
23 http://hibari.2ch.sc/test/read.cgi/gamedev/1296706327/
22 http://hibari.2ch.sc/test/read.cgi/gamedev/1285897465/
21 http://hibari.2ch.sc/test/read.cgi/gamedev/1274510516/
20 http://pc11.2ch.sc/test/read.cgi/gamedev/1264933876/
19 http://pc11.2ch.sc/test/read.cgi/gamedev/1254711054/
18 http://pc11.2ch.sc/test/read.cgi/gamedev/1244218314/
17 http://pc11.2ch.sc/test/read.cgi/gamedev/1234356309/
16 http://pc11.2ch.sc/test/read.cgi/gamedev/1227735828/
15 http://pc11.2ch.sc/test/read.cgi/gamedev/1216865800/
14 http://pc11.2ch.sc/test/read.cgi/gamedev/1204006714/
13 http://pc11.2ch.sc/test/read.cgi/gamedev/1195603475/
12 http://pc11.2ch.sc/test/read.cgi/gamedev/1186395177/
11 http://pc11.2ch.sc/test/read.cgi/gamedev/1175480292/
10 http://pc11.2ch.sc/test/read.cgi/gamedev/1166252149/
9 http://pc8.2ch.sc/test/read.cgi/gamedev/1160427850/
8 http://pc8.2ch.sc/test/read.cgi/gamedev/1147590108/
7 http://pc8.2ch.sc/test/read.cgi/gamedev/1138099311/
6 http://pc8.2ch.sc/test/read.cgi/gamedev/1116774771/
5 http://pc8.2ch.sc/test/read.cgi/gamedev/1095183786/
4(タイトルは3) http://pc5.2ch.sc/test/read.cgi/gamedev/1081199649/
3 http://pc5.2ch.sc/test/read.cgi/gamedev/1067436686/
2(再利用) http://pc2.2ch.sc/test/read.cgi/gamedev/1044256119/
1 http://pc2.2ch.sc/test/read.cgi/gamedev/1021890648/

3 :
【公式】
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

4 :
【講座】
吉里吉里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

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

また、スレで話題にする時は、プラグイン名や出所を明記しましょう。
使っている人とそうでない人とで、話が噛み合わない場合があります。

6 :
【吉里吉里Z】
http://krkrz.github.io/
「吉里吉里Zは、だいたい吉里吉里2と同じものです。
 吉里吉里2は開発されてから時間が経過しており、保守や改善を行うに当たって困難な場面に遭遇することが増えてきました。
 今までよりも早くリリースされる新しいWindowsやタブレットなどの変化するデバイスに対応するために吉里吉里Zは開発されました。
 吉里吉里Zによって開発環境の入手性が改善され、古いものを削除し、開発しやすさが改善されたことで本体の開発速度のスピードアップが可能になりました。」
以上公式より。

特にTJSを触れる中上級者にとって嬉しい吉里吉里Z。ただ「文字コードってなんですか」的な初心者にとっては吉里吉里2→吉里吉里Zの移行が
大変かもしれないので頑張ろう。現在は64bit版も登場。Android版開発中で、さらにマルチプラットフォーム化も計画中のもよう。

7 :
レスなくても大丈夫?

8 :
たぶん

9 :
>>7
ダメだよ! さあ話題を振って!

10 :
Android版他を作ろうとしているのはいいけれど、最初から「互換性を削った制限版」を目指しているのが引っかかって、クラウドファンディングの出資に躊躇してる。
KAGが今のまま(または少し改造しただけ)で動かないのなら、わざわざAndroid上で吉里吉里使う意味がないと思うんだよなー。ティラノなんとかとか、今既にあるAndroid上のプラットフォーム使えばいいじゃん、と思っちゃう。
出資額が大きくなれば実装されるとはいっても、この方針だとどこかで互換性削ってくるんじゃないかなぁと不安。
結局吉里吉里Zも、微妙な互換性の問題で乗り換えできてない人多いし。

俺は同人だからそう思うんだけど、商業だったらまた違うのかな。

11 :
自分は逆にKAGを完全に捨てるためにフレームワーク自力で開発してるからその辺りはあんまり気にしてないかなぁ

12 :
マジかよ泥炭コスイ商売始めやがったな

13 :
どっちかというと「TJSで色々作れる環境をAndroidにも移植する」と言ったほうが正しいのかもしれない
案外吉里吉里と同じ手軽さで組める環境って少ないからねえ

巨大なツールがないと開発できなかったりインストールするのに依存ライブラリがあれこれあって大変だったり
できたものを配布するときにデカいライブラリがついてきたり

14 :
>>11 >>13
もしそうだとしたら、やっぱり俺は要らないかなぁ。
どうしてもTJS使いたい!というわけじゃないし。
今までの資産が再利用できないなら、あえて古いものを使い続ける必要ないし。
Unity使ったほうが、楽だし自由度高いし汎用性があるしツブシも効くし。

うん、出資しない決心ついたよ、ありがとう。

15 :
Unityでノベルゲーム+α作るって正直大げさすぎる気はするんだよなあ

16 :
ノベルゲームエンジンが乱立してるのは
開発言語が指定されてることとマルチプラットフォーム対応できないってのが原因だと思ってる
jsのような何かのtjsを嫌ってる人は結構多い

17 :
でも正直jsは書きにくいことこの上ない
TypeScriptやらが乱立しているのを見てもわかる通り
tjsは基本的にクセのない言語

一方でKAGの文法はなんだかんだでノベルゲーム界の
デファクトスタンダードになってるな

18 :
jsの新しいやつは、クラスの組み方とかtjsと良く似た形になったよ。時代を良く先取りしてたと言える

19 :
新しいjsを気軽に使っても「ゴラァァァァァうちのIE11ではうごかんやろがあああああ」みたいに言われなくなるのはいつですかね

20 :
(function (){
  //hogehoge;
}());

jsのこれほんま気持ち悪くてきらい

21 :
>>15
ノベルだと3D要らないからな

22 :
>>12
マルチ対応版はZの人でしょ?

23 :
ネタにマジレスなんとやら

24 :
マルチプラットフォームをうたっているゲーム開発ツールの地味な弱点として
「Windows版がなんか微妙」ってのがあったりするんだよな
もちろんスマホ版も遅い・微妙なの結構おおいし

吉里吉里Z Android版の速度がいい感じなら、Windowsも重視している
メーカーや同人サークルにとって非常にバランスの良い選択になるかもしれない

25 :
最近、unityがrenpyをサポートするってニュースがあって
renpy最強じゃね?って思ったんだけど
日本じゃ使ってる人少なすぎて残念
やっぱpythonは日本人に合わないせいかな
そう言いながら自分も吉里吉里使い続けてるわけだが

26 :
連敗
縁起わるそう

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

吉里吉里Zは、おそらく吉里吉里Android版があることに
一定のメリットがあるであろう開発者が、一定の資金を
出してくれたことで動き始めたんだろうな

27 :
だって、VIP板なんかのゲーム製作スレで仲間募って紙芝居ゲを作ったとして、PC持ってる人にしか遊んでもらえないわけじゃん
スマホだけ持ってる人達にも遊んでもらいたいじゃん?

28 :
その労力を惜しまない人はとっくにティラノスクリプトやらに移行したかと

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

現在の吉里吉里はやっぱプロ・セミプロ向けだよねえ

29 :
吉里吉里って単なるツールじゃなく開発環境だからな
テンプレ的な紙芝居作るだけならオーバースペック

30 :
せっかくAndroid上で吉里吉里が動いても、KAGが動かないんなら普通の人はノベルゲームなんて作れない。
KAGの別の実装が出てきてそれを覚えるくらいなら、ティラノスクリプト覚えた方がいい。
KAGを作ればいいじゃん!といわれたら、Unity上の実装作った方が移植が楽。

KAG動かないんだったら、ほとんどのユーザにとっては意味がない。
KAGが動くかどうかが、Android版吉里吉里の普及の鍵になる。
KAG動かないんだったら、絶対使うことはないだろうなぁ。

31 :
まあKAG自作は
車輪の再発明だからやりたくないよな

32 :
実際のところは商業メーカー+「ノベルゲームというよりアクション性の無い静的ゲームを作りたい高技術系同人サークル」が
恩恵受けるものになると思う

33 :
やっぱり弱小同人サークルは歯牙にもかけられてないかなぁ…。
やめどきかな…

34 :
「ノベルゲームというアクション性の無い性的ゲームを作りたい低技術系同人サークル」は
恩恵受けないの

35 :
吉里吉里2かティラノスクリプトで事足りると思う

36 :
ユーザーとしてはRPGツクールMV辺りと競合する感じになっていくんじゃないかな

37 :
http://www.kaede-software.com/2016/06/android_9.html

>グラフィックはハードウェア描画用のインターフェイス(クラス)が追加され

2Dゲームとかで良くあるような、毎フレーム画面をクリアして
絵や文字を描画 みたいな感じになるんかな?

38 :
>>37
で、Layerクラスがなくな(る可能性があ)って、今のKAGは完全に使えなくなる、と。
ただの追加なら歓迎するけど、その分ほかを削るのは賛成できないな

39 :
というかスマホがPCと比べて遅すぎるというだけの話なのでは

40 :
KAGだけでいいよ ←既にあるKAGのみ互換のスマホ対応ソフトでいいのでは
TJSも必要だよ  ←PC版の仕様のままじゃ無理や

要するにこれだけ

41 :
中途半端になるよな

42 :
流れ切ってすみません、セーブロードについて質問させてください
吉里吉里2使用の初心者です
配列、辞書配列の保存と読み込みが上手くできません

(Function.ks)
function SaveFunk()
{

}
(start.ks)
f.event=new Dictionary();
f.action=new Array();

43 :
書き込み途中で送信してしまいました
最後まで準備してから、書き込みします

44 :
再度書き込みします、セーブロードについて質問させてください
吉里吉里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;と変えてみると配列

は上手くいきました
ですが、辞書配列の方は上記どちらのやり方でもだめでした
変数の保存読み込みの正しい方法を教えてもらえませんでしょうか

45 :
ゲーム変数またはシステム変数に保存じゃだめなん?
そういうことじゃなくて技術的なことを知りたいならすまないが俺もわからん!

46 :
>>45
レスありがとうございます
辞書配列の中に配列を入れていたりで記述が長く、シナリオファイルのあちこちに書き散らかしているのもあって
できればセーブ時にまとめてゲーム変数に代入したかったんです
今回は初めからゲーム変数に変えてみることにします

もし他によい方法ご存知の方おられましたら、よろしくお願いします
気長に待ってますので

47 :
・望む動作は何か
・実際の動作はどうか
を最小限のコードと一緒に書くといいかもね

48 :
ダメだった場合は何がダメだったのかの状況が分からんのでエスパーするしかないよね

>辞書配列の中に配列を入れていたりで記述が長く
とのことなので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だとディープコピーなので完全に別物になる

あとはまあ保存可能ラベル(*〜|)を通過してない系の罠かなあ
配列や辞書以外のオブジェクト(クラスインスタンスとか)は
そもそもファイルにセーブできないってのもあるけど、そんなオチはないよね…

49 :
>>48
レスありがとうございます
最初からゲーム変数に変えたら、読み込みできたようです
色々動かして確認中なので、成功かは分かりませんけど、今回はこれでいこうと思います
ちゃんと読み込んでくれたので嬉しくなって、ゲーム変数に変えたもので失敗分のフォルダを上書きしてしまいました
もし次に何か作る時にも配列は使うと思うので、今のが済んだら確認用のフォルダを作って試してみます

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

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

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

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

でもまずは、今のを完成させて、それからassignStructを試してみます

50 :
>>49
ものすっごい単純なコードを書いてみた
ttp://www1.axfc.net/u/3684310.zip
参考になれば

51 :
>>50
見にきてよかった
今DLしてきたところです
とりあえずお礼のみ書きにきました
ありがとうございます

52 :
とりあえずじゃない、とりいそぎです
偉そうな間違いで、すみません
中身これから見させてもらいます

53 :
>>50
頂いた物を手本に新しいフォルダで試しました、配列、辞書配列ともに読み込んでくれました
前回失敗した理由が分からないので、理解できたとは言い難いのですが、成功したのは嬉しいです
次に作る時は、初めから変数の保存を意識して作ろうと思います
>ものすっごい単純なコードを書いてみた
ifとforしか知らなかった自分でも部分的に読めました、短いのも嬉しかったです

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

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

とにかく成功して嬉しいかったので、お礼言わせてください、ありがとうございました
遅くなってすみません

54 :
>>53
このレスで説明しようと思ったけど、どうにも長くなったので
ttp://www1.axfc.net/u/3687071.zip

要約すれば

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

【回答2】
@"a${b}c" は "a" + string(b) + "c" の省略記法
@"a&b;c" でも同じ

55 :
>>54
今DLしてきました、これから読ませてもらいます
何度も出てきてすみません、そして何度も質問に答えてくださってありがとうございます
お手本のおかげで、保存読み込みの助言の他、新しい便利そうな書き方も知ることができました
きちんと理解できたかは分かりませんが、次作る時に使ってみようと思います
連続の書き込みはよくないようなので、これで消えます
丁寧に教えてくださって、ありがとうございました

56 :
エロ声絶叫注意

しつこいサイトだな。何年同じネタひっぱる気だ。
http://0bbs.jp/pugyaaaaa9m/
http://upload.bokunatu.com/krkr/
http://aaa01474.vis1.shinobi.jp/

57 :
レンダリング済みフォント作成ツールで
デフォルトの24より大きいサイズのフォントを作って使うとこんな表示になります。

http://www.null-box.com/cgi-bin/so/No_32201.jpg

どこを設定すればいいのでしょうか?

58 :
すみません、>>57自己解決しました。
toolフォルダの中にデフォルトで入っているツールはダメですね

59 :
どうやら、高校3年の学園祭という○○で見た何か起こりそうなイベントは儚い夢として消えてしまうようだ。

60 :
クリッカブルマップを実装しても1回しかクリックが出来ません
サンプルのシナリオでも同じ現象が起きます

61 :
unlocklink
ってクリッカブルでも効いたっけ

62 :
吉里吉里Zを使い登場人物の多いゲームを作っています。
表示するキャラ名もコロコロ変わるため使い勝手の良いマクロが作りたいです。
理想としては
[名前 ヒーロー]で男主人公の名前の変数を表示する。青で表示。
[名前 ヒロイン]で女主人公の名前の変数を表示する。赤で表示。
[名前 text=○○]で脇役の名前をその場で入力する。
このような事がしたいのですが出来ますでしょうか?アドバイスを頂けたら幸いです。

[macro name=

63 :
切れてしまったので連投失礼いたします。また途切れたら申し訳ございません。
[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]

64 :
>>63
今のKAGParserなら、AGタグに指定された引数(値なし)は、マクロ側でmp.引数名がtrueになる。
だから、
[名前 ヒーロー]
と呼ぶマクロなら、
[macro name=名前]
[if exp=

65 :
わォ確かに切れるな!

[macro name=名前][if exp="mp.ヒーロー"][emb exp=sf.ヒーロー][endif][endmacro]
とかで[名前 ヒーロー]でsf.ヒーローが表示される。
以下参照。
http://www.geocities.jp/keep_creating/DojinDOC/kirikiriSmallTips.html#macroargtf

66 :
>>65
なるほど!ちゃんと主人公名表示されました有難うございます
小ワザ集も参考にさせて頂きます

67 :
質問です。
吉里吉里で←↑↓→の方向キーはどうやって受け取るのでしょうか?
出来ればtjsを使わずkagだけでどうにかしたいのですが……

68 :
どういう書き方を想定してるの?

69 :
*loop
[jump target=*左へ cond=

70 :
"System.getKeyState(VK_LEFT)"]
*左へ
←へ移動の処理
[jump target=*loop]
切れてしまったので連投失礼します。
およそこのような形を想定しているのですがうまくいかないでいます

71 :
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

72 :
このアドバイスは
ID:f1IcStDQにとっては
ショックだった

73 :
やはりtjs無しは厳しいのでしょうか
[if exp="System.getKeyState(VK_LEFT)"]
処理
[endif]
といった形でも試しているのですがどうにもならず。
そもそもSystem.getKeyStateの使い方を間違えているのでしょうか……

74 :
少し単純化して

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

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


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

とかした場合、if文を通り抜ける「その一瞬」に左を押しているかどうか判断されるだけ
KAGだけではまあむり

75 :
>>74
ありがとうございます!「その一瞬」の部分をずっと見落としていたようで
*loop
[if exp="System.getKeyState(VK_LEFT)"]
[wait time=1000]
処理
[endif]
[jump target=*loop]
とすれば動きました。が、これはPCへの負荷で問題あるのでしょうか?
System.getKeyState(VK_UP&VK_SPACE)にしたらwaitが全く入らずループするのも怖いですね……

76 :
>>71
お返事遅れてすみません、
case VK_LEFT : kag.process( 'first.ks', '*keydown_left' ); return true;
どうにも動かないと思ったら、*を足した上で、呼び出しもtrueとfalseが逆で表記されていたのですね。
本当はTJSで様々な作業をしたいのですが吉里吉里とTJSとで画像座標のズレ込みや、
そもそもTJSでの記述方式が解らない等で往生しておりました。ありがとうございます!

77 :
[iscript]
x=0
for(var 1=0;1<290;i++){
if(オブジェクト配列[i]==5 && マップ配列[i]==3){
x=x+1
}
}
[endscript]

試行錯誤しているのですが、TJS上でKAGで弄っている配列のデータをそのまま持ってきて〜
というのは不可能なのでしょうか?

78 :
とりあえずx = 0とかの後にセミコロン打ったらどうかな

79 :
二つ以上のレイヤーを同時にトランジション掛けながら移動させたりとかできる?

80 :
どうしても再生できずエラーになって落ちてしまって先に進めなくなるムービーをスキップするようスクリプトを編集するにはどうしたらいいですか

81 :
try catchでどうにかなるのかね?

82 :
そういやtjsってfinallyないんだよね
なんでだろ

83 :
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のような、【キーを上げれば移動する】ように改造するにはどうすれば良いのでしょうか?

84 :
// キー押しっぱで動作が異常になるのはキーダウンごとに 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;

// ←↑の同時押しの斜め移動とか、キーリピート対策とかは無理
// 諦めるか、タイマオブジェクトの勉強するしかない

85 :
ありがとうございます!おかげさまで、ほぼ意図した通りに動くようになりました!

86 :
a

87 :
吉里吉里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();}

88 :
吉里吉里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;
}
}
}
}

89 :
吉里吉里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というサイトのもぐら叩きをやりたいです)

【だめだった時の状況】
画像が表示された状態でキーを押しても、効果音がなりません/エラー表示なし

90 :
吉里吉里2使用の初心者です(4/3)
分割したら分かりにくくなってしまいました
最序盤で詰まってまして、助言いただきたいです
まずキーイベントからと思い、上記の記述以外は何も書いていません
質問ばかりですみません、よろしくお願いします

91 :
むしろkag側でキーが押されたときにレイヤの有無をチェックした方が良いと思う
レイヤのキーイベントはフォーカスがないと普通は届かない

92 :
>>91
レスありがとうございます
>レイヤのキーイベントはフォーカスがないと普通は届かない
上下キーを押したとき、選択肢とかにカーソルが乗っかるあれでしょうか

>kag側でキーが押されたときにレイヤの有無をチェック
getKeyStateとかになるんでしょうか
ググりながら、探ってみようと思います

93 :
少し前に、keyDownHookというのもあったんですね
節穴ですみません

>レイヤのキーイベントはフォーカスがないと普通は届かない
でも、onKeyDownがきかなくてonMouseDownがきいた理由は納得できて、すっきりしました
頑張ってみます

94 :
>>91
mole.visibleを条件に追加した、もぐら叩き用のonKeyDown関数を作って、keyDownHookにaddしました
動きました、これでようやく先に進められます
ありがとうございました

95 :
すみません、その29でも質問があるようなのですが、
kagexの立ちキャラで、並び順の変更がうまく出来ません。
foreはちゃんと機能しているのですが、backが機能していないようでした・・・・
どこをどう修正すれば良いか、どなたかご存じないでしょうか
ネットであちらこちら探してみたのですがダメでした・・・・

96 :
KAGEXのfront/backの実装はちょっとbuggyな感じなんであまり使わない方がいいとは思うけど
ざっと見たところsystem/KAGEnvLevelLayer.tjsのfunction toBack()内の後半部分にある
if (target.absolute < index) {
の「<」を「<=」にしたらどうだろうか?
恐らくabsoluteが同値の場合どちらが手前にくるか不定になるからバグってるんじゃないかと思う
同様にtoFront()の方も同じような処理のところの「>」を「>=」にした方がいいかも?

動作確認してないので直らなかったらすまん

97 :
>>96
ご回答ありがとうございました。 ですが、ダメでした……

私もそこが問題だろうと思ったのですが、そこのabsoluteがどこからもって来たものか分からず断念してしまいました。(おそらくKAGEnvLevelLayerのセッター? 参照する値なのか、変えようとしてる値そのものなのかわからず)
mainwindow.tjsにもtoBackがあるのですが、こちらは通常の吉里吉里用に残された物でしょうか

98 :
流れの途中にすいません。初心者ですが、質問させていただきます。
ここのスレの過去ログにあったコードを用いて、「街〜運命の交差点〜」風TIPSを作成しました。
そこで文章中の単語からリンクしてTIPSを表示し、ワンクリックで下の画面にもどる、という基本は成功しました。
しかし、以下の二点の問題が発生しました。

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

以上の二点の原因や防ぐ方法をご存知の方がいらっしゃいましたら、ご助言をお願いします。
用いたのは■吉里吉里/KAG/TJS雑談質問スレ■その19の160〜162です↓
http://pc11.2ch.sc/test/read.cgi/gamedev/1254711054/
次のレスで少しだけ改変した自分のコードをコピペします。

99 :
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]

100 :
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]


以上です。
どなたか原因、もしくは防ぐ方法が分かりましたらご助言をお願いします。


100〜のスレッドの続きを読む
タワーディフェンスを作るスレ
マザー2.5を作ろうぜ!
シム人みたいな生活シミュゲームが作りたい
艦砲射撃新バージョン作成所
めっちゃ売れるローグライクを作る
戦略シミュレーションゲームを作るスレ
リアルタイムストラテジーの話
ドット絵最高ォォォ!!!
【初心者】課題をクリアしていくスレ【講習会】
製作者スレ SRPG Studio 31章
--------------------
米国紙「安倍3選は確実」「野党6党とメディアの批判はヒステリックなレベルだが、若い世代の有権者がそうした風に乗る気はない」
【スト】関西ナンパ仲間募集スレッド4【ナン】
スズキの検査不正、一気に拡大 隠蔽が常態化
精神保健福祉士養成 大阪バイオメディカル
【元吉本芸人】前田五郎「大崎会長がヤクザの仕事を持ってきて、それを出さんとええカッコ抜かしやがって」「発注先は山口組本家」
【信じるか】やりすぎ都市伝説SP 5【信じないかは】
カンニング竹山、西日本豪雨を全然報じない東京のメディアを批判 「他人事かよ」
☆ 有門大輔の政治思想 ★ Part.2
💩マベちゃん応援スレ💩
☆古美術市場・買っても損・売っても損
【日本ハム#5】大田泰示応援スレッド75代目【目指せH王】
吃音だけど人生ハード杉ワロタ
大募集!〜ひったくり被害防止の標語〜
中国語検定を受けようと思うのだが
混沌日和
AA練習スレ
高木美帆 19【Everything is possible.】
イトーヨーカドー社内噂話し
【肖像権侵害】エナツ Part46【荒らし生主】
【下手すぎ】どの地合でも儲けられない人専用スレ1266
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼