[表示 : 全て 最新50 1-99 101- 201- 301- 2ch.scのread.cgiへ]
Update time : 01/26 04:07 / Filesize : 102 KB / Number-of Response : 321
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 mailto:sage [2016/06/09(木) 14:48:47.49 ID:UJVM4w1p.net]
ノベルゲーム製作ツール吉里吉里/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
echo.2ch.net/test/read.cgi/gamedev/1433436610/

32 名前:名前は開発中のものです。 mailto:sage [2016/06/14(火) 19:43:01.28 ID:y9XO87+n.net]
せっかくAndroid上で吉里吉里が動いても、KAGが動かないんなら普通の人はノベルゲームなんて作れない。
KAGの別の実装が出てきてそれを覚えるくらいなら、ティラノスクリプト覚えた方がいい。
KAGを作ればいいじゃん!といわれたら、Unity上の実装作った方が移植が楽。

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

33 名前:名前は開発中のものです。 mailto:sage [2016/06/14(火) 20:23:14.04 ID:w53eEXa0.net]
まあKAG自作は
車輪の再発明だからやりたくないよな

34 名前:名前は開発中のものです。 mailto:sage [2016/06/14(火) 22:27:54.39 ID:e0jSiuqx.net]
実際のところは商業メーカー+「ノベルゲームというよりアクション性の無い静的ゲームを作りたい高技術系同人サークル」が
恩恵受けるものになると思う

35 名前:名前は開発中のものです。 mailto:sage [2016/06/14(火) 22:52:49.94 ID:y9XO87+n.net]
やっぱり弱小同人サークルは歯牙にもかけられてないかなぁ…。
やめどきかな…

36 名前:名前は開発中のものです。 mailto:sage [2016/06/14(火) 23:55:13.31 ID:tp4KeS5l.net]
「ノベルゲームというアクション性の無い性的ゲームを作りたい低技術系同人サークル」は
恩恵受けないの

37 名前:名前は開発中のものです。 mailto:sage [2016/06/14(火) 23:59:53.48 ID:e0jSiuqx.net]
吉里吉里2かティラノスクリプトで事足りると思う

38 名前:名前は開発中のものです。 mailto:sage [2016/06/15(水) 11:47:15.69 ID:KtmU3BeV.net]
ユーザーとしてはRPGツクールMV辺りと競合する感じになっていくんじゃないかな

39 名前:名前は開発中のものです。 mailto:sage [2016/06/16(木) 19:34:52.95 ID:n6s5fEO5.net]
www.kaede-software.com/2016/06/android_9.html

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

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

40 名前:名前は開発中のものです。 mailto:sage [2016/06/17(金) 01:50:11.55 ID:clYkCaVV.net]
>>37
で、Layerクラスがなくな(る可能性があ)って、今のKAGは完全に使えなくなる、と。
ただの追加なら歓迎するけど、その分ほかを削るのは賛成できないな



41 名前:名前は開発中のものです。 mailto:sage [2016/06/17(金) 01:52:30.02 ID:kxAB3eU6.net]
というかスマホがPCと比べて遅すぎるというだけの話なのでは

42 名前:名前は開発中のものです。 mailto:sage [2016/06/17(金) 12:22:06.03 ID:kxAB3eU6.net]
KAGだけでいいよ ←既にあるKAGのみ互換のスマホ対応ソフトでいいのでは
TJSも必要だよ  ←PC版の仕様のままじゃ無理や

要するにこれだけ

43 名前:名前は開発中のものです。 mailto:sage [2016/06/17(金) 14:46:18.28 ID:KRfFAkfN.net]
中途半端になるよな

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

(Function.ks)
function SaveFunk()
{

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

45 名前:名前は開発中のものです。 mailto:sage [2016/06/17(金) 16:13:20.45 ID:/Xbc0oPE.net]
書き込み途中で送信してしまいました
最後まで準備してから、書き込みします

46 名前:名前は開発中のものです。 mailto:sage [2016/06/17(金) 16:34:20.18 ID:/Xbc0oPE.net]
再度書き込みします、セーブロードについて質問させてください
吉里吉里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での宣言がだめなのかと思い、変更してテス

47 名前:
start.ksでのf.action=[];をなくして、SaveFunk() をf.action=action;と変えてみると配列

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

48 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 16:55:47.61 ID:g+QcZqjs.net]
ゲーム変数またはシステム変数に保存じゃだめなん?
そういうことじゃなくて技術的なことを知りたいならすまないが俺もわからん!

49 名前:44 mailto:sage [2016/06/23(木) 19:37:07.40 ID:enBL0ND+.net]
>>45
レスありがとうございます
辞書配列の中に配列を入れていたりで記述が長く、シナリオファイルのあちこちに書き散らかしているのもあって
できればセーブ時にまとめてゲーム変数に代入したかったんです
今回は初めからゲーム変数に変えてみることにします

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

50 名前:名前は開発中のものです。 mailto:sage [2016/06/23(木) 19:47:06.27 ID:UqI0gOhf.net]
・望む動作は何か
・実際の動作はどうか
を最小限のコードと一緒に書くといいかもね



51 名前:名前は開発中のものです。 mailto:sage [2016/06/24(金) 00:46:59.79 ID:HvcT2Bvs.net]
ダメだった場合は何がダメだったのかの状況が分からんのでエスパーするしかないよね

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

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

52 名前:44 mailto:sage [2016/06/25(土) 17:02:55.39 ID:OgOMkyl4.net]
>>48
レスありがとうございます
最初からゲーム変数に変えたら、読み込みできたようです
色々動かして確認中なので、成功かは分かりませんけど、今回はこれでいこうと思います
ちゃんと読み込んでくれたので嬉しくなって、ゲーム変数に変えたもので失敗分のフォルダを上書きしてしまいました
もし次に何か作る時にも配列は使うと思うので、今のが済んだら確認用のフォルダを作って試してみます

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

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

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

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

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

53 名前:名前は開発中のものです。 mailto:sage [2016/06/27(月) 22:08:59.48 ID:EQALWYUo.net]
>>49
ものすっごい単純なコードを書いてみた
ttp://www1.axfc.net/u/3684310.zip
参考になれば

54 名前:49 mailto:sage [2016/06/27(月) 22:38:45.21 ID:nrvVv5FJ.net]
>>50
見にきてよかった
今DLしてきたところです
とりあえずお礼のみ書きにきました
ありがとうございます

55 名前:49 mailto:sage [2016/06/27(月) 22:49:46.81 ID:nrvVv5FJ.net]
とりあえずじゃない、とりいそぎです
偉そうな間違いで、すみません
中身これから見させてもらいます

56 名前:49 mailto:sage [2016/07/02(土) 16:20:18.27 ID:qzOjeXlW.net]
>>50
頂いた物を手本に新しいフォルダで試しました、配列、辞書配列ともに読み込んでくれました
前回失敗した理由が分からないので、理解できたとは言い難いのですが、成功したのは嬉しいです
次に作る時は、初めから変数の保存を意識して作ろうと思います
>ものすっごい単純なコードを書いてみた
ifとforしか知らなかった自分でも部分的に読めました、短いのも嬉しかったです

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

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

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

57 名前:名前は開発中のものです。 mailto:sage [2016/07/04(月) 00:16:58.78 ID:5DGHsnu4.net]
>>53
このレスで説明しようと思ったけど、どうにも長くなったので
ttp://www1.axfc.net/u/3687071.zip

要約すれば

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

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

58 名前:53 mailto:sage [2016/07/04(月) 19:43:10.53 ID:LWZemmdO.net]
>>54
今DLしてきました、これから読ませてもらいます
何度も出てきてすみません、そして何度も質問に答えてくださってありがとうございます
お手本のおかげで、保存読み込みの助言の他、新しい便利そうな書き方も知ることができました
きちんと理解できたかは分かりませんが、次作る時に使ってみようと思います
連続の書き込みはよくないようなので、これで消えます
丁寧に教えてくださって、ありがとうございました

59 名前:名前は開発中のものです。 [2016/07/09(土) 13:15:56.38 ID:5/kF7cZt.net]
エロ声絶叫注意

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

60 名前:名無しさん@そうだ選挙に行こう! Go to vote! mailto:sage [2016/07/10(日) 18:50:12.77 ID:TyP4UY4V.net]
レンダリング済みフォント作成ツールで
デフォルトの24より大きいサイズのフォントを作って使うとこんな表示になります。

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

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



61 名前:57 mailto:sage [2016/07/10(日) 19:46:11.36 ID:TyP4UY4V.net]
すみません、>>57自己解決しました。
toolフォルダの中に

62 名前:デフォルトで入っているツールはダメですね []
[ここ壊れてます]

63 名前:名前は開発中のものです。 mailto:sage [2016/07/10(日) 20:14:47.66 ID:FYa8fkRU.net]
どうやら、高校3年の学園祭という○○で見た何か起こりそうなイベントは儚い夢として消えてしまうようだ。

64 名前:名前は開発中のものです。 mailto:sage [2016/07/18(月) 17:43:40.39 ID:axoqs8/W.net]
クリッカブルマップを実装しても1回しかクリックが出来ません
サンプルのシナリオでも同じ現象が起きます

65 名前:名前は開発中のものです。 mailto:sage [2016/07/18(月) 19:29:08.43 ID:jDvLfQrn.net]
unlocklink
ってクリッカブルでも効いたっけ

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

[macro name=

67 名前:名前は開発中のものです。 mailto:sage [2016/07/22(金) 10:44:56.23 ID:BoT17ZIH.net]
切れてしまったので連投失礼いたします。また途切れたら申し訳ございません。
[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]

68 名前:名前は開発中のものです。 mailto:sage [2016/07/25(月) 02:13:27.85 ID:3aCy4W4r.net]
>>63
今のKAGParserなら、AGタグに指定された引数(値なし)は、マクロ側でmp.引数名がtrueになる。
だから、
[名前 ヒーロー]
と呼ぶマクロなら、
[macro name=名前]
[if exp=

69 名前:名前は開発中のものです。 mailto:sage [2016/07/25(月) 02:15:06.08 ID:3aCy4W4r.net]
わォ確かに切れるな!

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

70 名前:名前は開発中のものです。 mailto:sage [2016/07/25(月) 09:51:42.11 ID:zqkwq+Da.net]
>>65
なるほど!ちゃんと主人公名表示されました有難うございます
小ワザ集も参考にさせて頂きます



71 名前:名前は開発中のものです。 mailto:sage [2016/07/31(日) 20:43:14.71 ID:gz8TSPHh.net]
質問です。
吉里吉里で←↑↓→の方向キーはどうやって受け取るのでしょうか?
出来ればtjsを使わずkagだけでどうにかしたいのですが……

72 名前:名前は開発中のものです。 mailto:sage [2016/08/01(月) 08:19:14.21 ID:hbCGCmS4.net]
どういう書き方を想定してるの?

73 名前:名前は開発中のものです。 mailto:sage [2016/08/01(月) 13:45:11.03 ID:f1IcStDQ.net]
*loop
[jump target=*左へ cond=

74 名前:名前は開発中のものです。 mailto:さげ [2016/08/01(月) 14:00:25.03 ID:f1IcStDQ.net]
"System.getKeyState(VK_LEFT)"]
*左へ
←へ移動の処理
[jump target=*loop]
切れてしまったので連投失礼します。
およそこのような形を想定しているのですがうまくいかないでいます

75 名前:名前は開発中のものです。 mailto:sage [2016/08/01(月) 14:48:47.34 ID:BVEfI6at.net]
AfterInit.tjsでこんな感じの関数登録して
必要な箇所でOnにするってのが簡単かな。tjsだけど

function myKeyDownHook( key ){
if( f.myKeyDownHook_enabled )

76 名前: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
[]
[ここ壊れてます]

77 名前:名前は開発中のものです。 mailto:sage [2016/08/01(月) 14:55:04.57 ID:jVNgw38b.net]
このアドバイスは
ID:f1IcStDQにとっては
ショックだった

78 名前:名前は開発中のものです。 mailto:sage [2016/08/01(月) 16:09:58.78 ID:f1IcStDQ.net]
やはりtjs無しは厳しいのでしょうか
[if exp="System.getKeyState(VK_LEFT)"]
処理
[endif]
といった形でも試しているのですがどうにもならず。
そもそもSystem.getKeyStateの使い方を間違えているのでしょうか……

79 名前:名前は開発中のものです。 mailto:sage [2016/08/01(月) 16:45:24.47 ID:jVNgw38b.net]
少し単純化して

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

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


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

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

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



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

82 名前:名前は開発中のものです。 mailto:sage [2016/08/09(火) 00:37:20.10 ID:I2enjDNf.net]
[iscript]
x=0
for(var 1=0;1<290;i++){
if(オブジェクト配列[i]==5 && マップ配列[i]==3){
x=x+1
}
}
[endscript]

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

83 名前:名前は開発中のものです。 mailto:sage [2016/08/09(火) 00:40:31.72 ID:3NfJlQ9b.net]
とりあえずx = 0とかの後にセミコロン打ったらどうかな

84 名前:名前は開発中のものです。 mailto:sage [2016/08/11(木) 01:02:42.82 ID:1J35dw11.net]
二つ以上のレイヤーを同時にトランジション掛けながら移動させたりとかできる?

85 名前:名前は開発中のものです。 mailto:sage [2016/08/11(木) 03:50:34.82 ID:i4fUub3u.net]
どうしても再生できずエラーになって落ちてしまって先に進めなくなるムービーをスキップするようスクリプトを編集するにはどうしたらいいですか

86 名前:名前は開発中のものです。 mailto:sage [2016/08/11(木) 10:10:32.95 ID:EULA9m/V.net]
try catchでどうにかなるのかね?

87 名前:名前は開発中のものです。 mailto:sage [2016/08/11(木) 18:38:16.46 ID:BBb2hVdN.net]
そういやtjsってfinallyないんだよね
なんでだろ

88 名前:名前は開発中のものです。 mailto:sage [2016/08/13(土) 00:56:52.53 ID:0zq4XMCm.net]
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のような、【キーを上げれば移動する】ように改造するにはどうすれば良いのでしょうか?

89 名前:名前は開発中のものです。 mailto:sage [2016/08/ ]
[ここ壊れてます]

90 名前:13(土) 09:05:24.92 ID:+MWWuypB.net mailto: // キー押しっぱで動作が異常になるのはキーダウンごとに 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;

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



91 名前:名前は開発中のものです。 mailto:sage [2016/08/14(日) 04:20:43.08 ID:wsEm5Cfw.net]
ありがとうございます!おかげさまで、ほぼ意図した通りに動くようになりました!

92 名前:名前は開発中のものです。 mailto:sage [2016/08/18(木) 18:13:58.31 ID:zEkms1Gx.net]
a

93 名前:名前は開発中のものです。 mailto:sage [2016/08/18(木) 18:26:17.50 ID:zEkms1Gx.net]
吉里吉里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();}

94 名前:87 mailto:sage [2016/08/18(木) 18:27:57.37 ID:zEkms1Gx.net]
吉里吉里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;
}
}
}
}

95 名前:87 mailto:sage [2016/08/18(木) 18:28:55.94 ID:zEkms1Gx.net]
吉里吉里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というサイトのもぐら叩きをやりたいです)

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

96 名前:87 mailto:sage [2016/08/18(木) 18:31:41.15 ID:zEkms1Gx.net]
吉里吉里2使用の初心者です(4/3)
分割したら分かりにくくなってしまいました
最序盤で詰まってまして、助言いただきたいです
まずキーイベントからと思い、上記の記述以外は何も書いていません
質問ばかりですみません、よろしくお願いします

97 名前:名前は開発中のものです。 mailto:sage [2016/08/18(木) 18:34:56.78 ID:MkSi85xL.net]
むしろkag側でキーが押されたときにレイヤの有無をチェックした方が良いと思う
レイヤのキーイベントはフォーカスがないと普通は届かない

98 名前:87 mailto:sage [2016/08/18(木) 18:48:54.35 ID:zEkms1Gx.net]
>>91
レスありがとうございます
>レイヤのキーイベントはフォーカスがないと普通は届かない
上下キーを押したとき、選択肢とかにカーソルが乗っかるあれでしょうか

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

99 名前:87 mailto:sage [2016/08/18(木) 23:19:33.83 ID:RNiVx9xX.net]
少し前に、keyDownHookというのもあったんですね
節穴ですみません

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

100 名前:87 mailto:sage [2016/08/20(土) 18:53:26.21 ID:3ESE8bqB.net]
>>91
mole.visibleを条件に追加した、もぐら叩き用のonKeyDown関数を作って、keyDownHookにaddしました
動きました、これでようやく先に進められます
ありがとうございました



101 名前:名前は開発中のものです。 mailto:sage [2016/08/27(土) 00:09:39.24 ID:gdKLUUFl.net]
すみません、その29でも質問があるようなのですが、
kagexの立ちキャラで、並び順の変更がうまく出来ません。
foreはちゃんと機能しているのですが、backが機能していないようでした・・・・
どこをどう修正すれば良いか、どなたかご存じないでしょうか
ネットであちらこちら探してみたのですがダメでした・・・・

102 名前:名前は開発中のものです。 mailto:sage [2016/08/29(月) 00:39:14.96 ID:+V9bZ85P.net]
KAGEXのfront/backの実装はちょっとbuggyな感じなんであまり使わない方がいいとは思うけど
ざっと見たところsystem/KAGEnvLevelLayer.tjsのfunction toBack()内の後半部分にある
if (target.absolute < index) {
の「<」を「<=」にしたらどうだろうか?
恐らくabsoluteが同値の場合どちらが手前にくるか不定になるからバグってるんじゃないかと思う
同様にtoFront()の方も同じような処理のところの「>」を「>=」にした方がいいかも?

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

103 名前:名前は開発中のものです。 mailto:sage [2016/08/29(月) 10:44:21.85 ID:D3GVlxli.net]
>>96
ご回答ありがとうございました。 ですが、ダメでした……

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

104 名前:名前は開発中のものです。 [2016/08/29(月) 17:44:10.48 ID:RUVTxl++.net]
流れの途中にすいません。初心者ですが、質問させていただきます。
ここのスレの過去ログにあったコードを用いて、「街〜運命の交差点〜」風TIPSを作成しました。
そこで文章中の単語からリンクしてTIPSを表示し、ワンクリックで下の画面にもどる、という基本は成功しました。
しかし、以下の二点の問題が発生しました。

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

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

105 名前:98 [2016/08/29(月) 17:45:33.55 ID:RUVTxl++.net]
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]

106 名前:98 [2016/08/29(月) 17:47:43.82 ID:RUVTxl++.net]
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]


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

107 名前:名前は開発中のものです。 mailto:sage [2016/09/02(金) 11:22:14.23 ID:IMVRhbU9.net]
>>97
入れ替わってるんだけど実は再描画されていないとかって落ちじゃないよね?

108 名前:名前は開発中のものです。 [2016/09/06(火) 00:15:44.83 ID:pQHmClaI.net]
素人まるだしな質問で恐縮ですが、

コンフィグファイルのSystem.titleに
タイトル+バージョンで設定しているのですが、
ロードと共に元に戻ってしまいます。
Systemフォルダの中を色々みたのですが、何処でロード時に設定してるか
わかりませんでした。
何となくですが、ロード時に設定してる場所を特定し、
コメントアウト出来れば問題が解決できると思っているのですが
どこで設定しているか教えて頂けませんか?

109 名前:名前は開発中のものです。 mailto:sage [2016/09/06(火) 13:25:57.95 ID:+TurBrM0.net]
そりゃそうだろ
ロードして過去のを読めばシステムフラグじゃないんだから戻るだろ

110 名前:名前は開発中のものです。 mailto:sage [2016/09/06(火) 13:35:20.11 ID:1MD6ZQ/p.net]
質問の内容自体がよくわからん



111 名前:名前は開発中のものです。 mailto:sage [2016/09/07(水) 03:44:51.29 ID:vVPK28ny.net]
System.titleはタスクバーに表示されるタイトルで
Window.captionはそのウィンドウのタイトルバーに表示されるタイトルだな
KAG3なら「ウィンドウキャプション」でgrepすればセーブデータに保存・復帰してる場所がわかる

112 名前:名前は開発中のものです。 mailto:sage [2016/09/07(水) 07:07:29.34 ID:er8Y/zHp.net]
>>102
MainWindow.tjsのrestoreFlags()の最後でcaptionを再設定すればおk

113 名前:名前は開発中のものです。 [2016/09/10(土) 09:25:03.41 ID:OOnTstji.net]
久しぶりに吉里吉里のゲーム製作再開したんだけど公式サイト死んでねーか?
今までわからないとこググッて公式のリファレンス読んで解決してたから
これだともう製作出来ないんだけど…
kikyou.info/tvp/

114 名前:名前は開発中のものです。 mailto:sage [2016/09/10(土) 10:44:28.10 ID:OEAityJk.net]
定期的に死ぬからリファレンスはダウンロードしておいたほうがいいよ

115 名前:名前は開発中のものです。 mailto:sage [2016/09/10(土) 11:45:10.67 ID:OOnTstji.net]
ちゃんと復旧するのかな?
作者もう吉里吉里に対してやる気なさそうだしこのまま開発終了とかになりそうで怖い

116 名前:名前は開発中のものです。 mailto:sage [2016/09/10(土) 12:07:06.36 ID:OEAityJk.net]
君は吉里吉里で作ることもできるし、作らないこともできる

117 名前:名前は開発中のものです。 mailto:sage [2016/09/10(土) 19:36:34.55 ID:cFlkcjRU.net]
むしろ良い意味でもう枯れてるからこそ
安心して開発できると思うけど

開発中の新しいツールなんかだと
開発終了でお手上げだろう

118 名前:名前は開発中のものです。 mailto:sage [2016/09/10(土) 20:50:36.66 ID:siUmhfzS.net]
必要なページや詰まりそうな部分だけ保存してるけど、サイト丸ごととなると専用ソフトが必要

119 名前:ノなるからやってないんですが
簡単に保存できる方法ってありますか?
違法じゃないやり方で
[]
[ここ壊れてます]

120 名前:名前は開発中のものです。 mailto:sage [2016/09/10(土) 23:14:56.42 ID:qbfoVZnn.net]
wget とか curl じゃだめなの?



121 名前:名前は開発中のものです。 mailto:sage [2016/09/10(土) 23:37:30.54 ID:CaaSeJg6.net]
https://krkrz.github.io/krkr2doc/
2のリファレンスのミラーならZのサイトにある

122 名前:名前は開発中のものです。 mailto:sage [2016/09/11(日) 10:44:18.86 ID:Ebxe3Phl.net]
プレイ中の画面のサイズの縮小ってどうやればいいの?
よくあるプレイ中に複数の解像度からユーザーが好きに選んで変更できるやつ
1280x960から800x600に変えたくて下の2つのタグでやってみたけど画面の枠だけしか縮小されない…


123 名前:ちなみにウィンドウサイズをドラッグで変えるプラグインのWindowResizableは
他のプラグインと干渉してるのか使用してるとバグってゲームが落ちるので
それ以外の方法があれば教えて下さい

[eval exp="kag.setSize(800, 600)"]
[eval exp="kag.setInnerSize(800, 600)"]
[]
[ここ壊れてます]

124 名前:名前は開発中のものです。 mailto:sage [2016/09/11(日) 16:59:08.11 ID:JvmnFHbr.net]
>>113-114
知りませんでした
>>113は自分には少し難しそうです
調べてみよう、情報ありがとうございます

125 名前:名前は開発中のものです。 mailto:sage [2016/09/11(日) 17:40:56.20 ID:G6Lph6GG.net]
>>115
[eval exp=

126 名前:名前は開発中のものです。 mailto:sage [2016/09/11(日) 17:42:03.56 ID:G6Lph6GG.net]
ありゃ、切れちゃった。

>>115
kag.setZoom(kag.innerWidth,kag.scWidth)
で内側の表示サイズが変わる。

WindowResizableが動かないなら、作者の人に聞いてみたらどう?
前聞いたら、びっくりするくらい親切に教えてくれたよ。

127 名前:名前は開発中のものです。 mailto:sage [2016/09/11(日) 18:56:51.41 ID:Ebxe3Phl.net]
>>118
おー!一発で画面の縮小出来ました!ありがとうございます
なぜ落ちるのかわかりませんがWindowResizableの作者の方には一応報告してみます

128 名前:名前は開発中のものです。 mailto:sage [2016/09/12(月) 18:58:47.37 ID:joFC7W9y.net]
吉里吉里本家は枯れてるのに関連サイトは親切な人多いよな。
自分もその作者さんに助けてもらったわ
このスレでも度々助けてもらってるし、本当に有難い

129 名前:名前は開発中のものです。 mailto:sage [2016/09/12(月) 19:32:53.34 ID:2V6YfIVA.net]
リファレンスまだ復旧してないみたいですね

130 名前:名前は開発中のものです。 mailto:sage [2016/09/12(月) 21:17:28.68 ID:PzCkcp87.net]
吉里吉里3はでるでる詐欺でしたね^^;



131 名前:名前は開発中のものです。 mailto:sage [2016/09/13(火) 00:01:52.32 ID:lzTSq+b4.net]
だからスマホ版の吉里吉里を……


もう遅いか

132 名前:名前は開発中のものです。 mailto:sage [2016/09/13(火) 02:32:17.38 ID:QayPKeX2.net]
Android版吉里吉里はサクサク動くならそこそこ使われるでしょ
あとはHTML5版の未来がどうなるか

環境が整って吉里吉里HTML5が良い感じになれば小ネタを
やるのに便利って人はいそう
でも色々鑑みて最低3年後かな






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<102KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef