トップページgamedev
1001コメント411KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2006/10/10(火) 06:04:10ID:gTzd6sC4
ノベル製作ツール吉里吉里/KAGを使用している人達が雑談や質問をするスレッドです。
本家BBSで聞きづらい質問や初歩的な質問などでもよいのでわからないことがあればどうぞ。
自分のゲームの進行状況や製作ツール等についての話、TJS等の質問もお待ちしています。
マルチポストはやめましょう。個人叩きも禁止です。

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/

吉里吉里2/KAG3雑談質問スレ_過去ログ
http://www.geocities.jp/kirikiri_log/

【公式】
kikyou.info
http://kikyou.info/

吉里吉里ダウンロードページ
http://kikyou.info/tvp/
0683名前は開発中のものです。2006/12/02(土) 03:47:09ID:BXdkmTi/
>そんな人がいきなり吉里吉里に手を出すんだろうね
ここら辺頑張ってTJS書いてる奴は良いがKAGの既存のコード書き変えてる奴とか質問にそういう答え方する奴とかは
KAG本体にパッチ当てちゃうと実装変わって動かなくなるかもってのは考えないんだろうか?

何のためにわざわざAfterInit.tjsがあるのかと・・・
実際初めからイジル気満々の奴はあんなもん使わずに必要な部分をサブクラス化しちゃうのに。
その場合良くてブートストラップ的な使い方しかしないからなきゃ無いで良いし。

KAGの設計がdeeたんの意図している使われ方とズレてるのかもな。
MainWindow.tjsはパッチ当て過ぎでリファクタリング出来たもんじゃないし
MainWindowとは明らかに関係無い処理が含まれてたり別クラスかもせんと。

KAG3もいままで頑張ったよな。そろそろソース捨てる時期だw
MainWindow.tjsさえ捨てれば何とかなるがそれやると根本から設計やり直しな罠orz
MainWindow.tjsをリファクタリングしようと思ってソース読んだ瞬間挫折した奴は居るはずだぞw

#KAG4の開発はメーリングリストちょっと出て以来音沙汰なしだな
0684名前は開発中のものです。2006/12/02(土) 04:05:13ID:P5CvhrtV
>MainWindow.tjsをリファクタリングしようと思ってソース読んだ瞬間挫折した奴は居るはずだぞw


まあ数年前の話だがな。
0685名前は開発中のものです。2006/12/02(土) 04:15:16ID:szGQHOpM
Fateが吉里吉里/KAGで作られてるって聞いて飛びついた俺が来ましたよ。
実際にやってみたり、Fateのソース見て甘くはないなぁと思う今日この頃。
パクる気も失せるほど膨大だったので普通にイチから勉強してる。
まぁわからんままコピペしても虫取りの時泣くだけだしね。

こんな俺みたいな奴が大量発生してるだろうけど頑張って>>偉い人
ROMって肥やしにしてますよ〜
0686名前は開発中のものです。2006/12/02(土) 05:39:17ID:jzEb8c9Z
KAG4なんて要らないよ。
そんなもんはDeeたんじゃなくても作れるし、
吉里吉里3の開発に専念して欲しい。
KAG4開発は吉里吉里3に対応させる必要が出来てからで十分。
0687名前は開発中のものです。2006/12/02(土) 09:32:00ID:GV2z+npM
>>686
KAG4はW.Dee氏ではなくてsugi氏が担当(?)たった気がするが。
↓ソース
http://ml.kikyou.info/pipermail/kirikiri-dev/2005-October/000004.html
0688名前は開発中のものです。2006/12/02(土) 13:00:26ID:Nn9lkJ+C
キミキスの体験版とやらが吉里吉里製らしいと聞いてダウンしてみた
目パチとかどうやってんだろこれ
0689名前は開発中のものです。2006/12/02(土) 13:01:24ID:jWp0PAA6
URLキボン
0690名前は開発中のものです。2006/12/02(土) 13:17:21ID:Nn9lkJ+C
ほい
ttp://kimikiss.jp/tg/
0691名前は開発中のものです。2006/12/02(土) 13:18:47ID:jWp0PAA6
ありがとう
今は眠いのであとでやってみる
06923522006/12/02(土) 13:46:25ID:Nt06spb/
遅くなりましたがスレ352です。
ちょっと仕事で作るの遅くなったぽ(;´Д`)

ご許可頂けた方のサンプルを掲載いたしました。
何かミスありましたら、ここででもご連絡ください。
アドレスはこちら
ttp://akiba.geocities.jp/kirikiri_sp/index.html
06933522006/12/02(土) 13:50:19ID:Nt06spb/
連投失礼
前回の書き込み後、現在おさかなで公開されてる方からも
ご連絡とご許可を頂けましたが
既におさかなさんの方で全て公開されている事もあり、
当方では扱わない結論で進めました。
0694名前は開発中のものです。2006/12/02(土) 14:10:16ID:FRISUBqC
ご苦労様です!
私は落としてなかったので嬉しいです!
0695名前は開発中のものです。2006/12/02(土) 14:15:32ID:T5d/7SwD
>692
ルーレットプラグインDLしたら時間依存メッセージプラグインだったくさい。
06963522006/12/02(土) 14:19:09ID:Nt06spb/
うおマジだ。
修正しておきます。
0697名前は開発中のものです。2006/12/02(土) 14:30:36ID:+A1+6GD/
>>683
プログラミングできなくてもADVが作れるみたいに言われてるのを拡大解釈して
何も知らなくてもかっこいいのが作れるんだと勘違いしているのが多いんだろうて
0698名前は開発中のものです。2006/12/02(土) 15:34:49ID:4Ro95zGB
>692
おお、お疲れ様。
作りもシンプルで分かりやすいね。
0699名前は開発中のものです。2006/12/02(土) 15:41:28ID:43ZblYgw
>>685
ソースどうやって見るの?
0700名前は開発中のものです。2006/12/02(土) 15:43:13ID:QP8xuOEu
また沸いてきた…
0701名前は開発中のものです。2006/12/02(土) 16:15:23ID:F3exgbgP
独自暗号を簡単に導入できるようにすりゃ
汎用解析プログラムは意味なくなるんだがな

ゲーム配布側が暗号生成のキーを弄れば
独自暗号化できるというようなのは無理なんだろうか
0702名前は開発中のものです。2006/12/02(土) 16:46:01ID:RLmj8P3I
懇切丁寧に暗号化プラグインの作り方書いてあるだろ
0703名前は開発中のものです。2006/12/02(土) 18:42:34ID:szGQHOpM
これのことか
http://www.poringsoft.net/cnt/program/xp3filter.html
0704名前は開発中のものです。2006/12/02(土) 18:48:25ID:Pt+/Lyoj
また馬鹿が一人
0705名前は開発中のものです。2006/12/02(土) 18:52:53ID:RLmj8P3I
>>703
(;^ω^) Deeたんに氏んで侘びてください
0706名前は開発中のものです。2006/12/02(土) 19:27:51ID:5OEwpe3D
最近KAGを知って初めてのゲーム作りに挑戦してるんですが
あとから配列や辞書といった便利なのが出てきて
次々取りこんでいるうちスクリプトがごちゃごちゃしてきました。
それで一度
「最初にこれを使ってこれを設定しておくと楽」みたいな
ベテランの技を参考までに聞いておきたいなぁと思うのですが
よかったら聞かせていただけないでしょうか。
0707名前は開発中のものです。2006/12/02(土) 19:49:02ID:NlWQrbtL
>>686
>KAG4はW.Dee氏ではなくてsugi氏が担当(?)たった気がするが。
これに加えてKAG4って吉里吉里2対応じゃなかったか?


>>690
おkテックジャイアン買ってくる


>>697
それは拡大解釈じゃなくて御都合主義(ry)


>>699
見たところでfate用に作られてるんだから再利用性は低いし、あんなもん書ける奴には簡単に書ける。
NGChartEditorにfateで使ったプラグインのごく一部が付いてるから落としてみれば?
ライセンスは吉里吉里独自だから自由にいじれる


>>703
吉里吉里のソース読んでみろ

0708名前は開発中のものです。2006/12/02(土) 21:36:38ID:G6K+lp4F
[showhistory] に相当する処理を行うには [eval exp="kag.showHistory();"][waittrig name="history"] 
の2つが必要ですけど、この2つに相当する処理を TJS から直接行うことは可能ですか?
onClick などのイベントハンドラから上記操作を行おうとしても、Conductor に -2 を返せないので KAG が進行してしまう点が困っています。

当方が考えていることは、画面上のボタンを押すことで 「セーブ画面」「ロード画面」 などを出すことです。
callExtraConductor を使用して一度 KAG に戻れば上記の操作を行えるのですが……できれば TJS だけで行いたいなーと。
0709名前は開発中のものです。2006/12/02(土) 21:57:16ID:IJugM/wO
>>707

なら書いてみろと。

学歴なんて関係ないと東大出てからいってみたい、ってCM昔あったじゃん。
Fateなんて簡単だと それ以上のもん組んでから言ってみたいぜ俺は。
0710名前は開発中のものです。2006/12/02(土) 22:00:37ID:Ir0vKEV6
>>709にご意見無用。
0711名前は開発中のものです。2006/12/02(土) 22:08:52ID:oxNumxlU
>>708
要は[showhistory]をTJSでやりたいのだな?
MainWindow.tjsを見ると[showhistory]ではshowHistoryByScenario()
を使ってる。それだけではダメなのか?

もしくはkag.tagHandlers.showhistory()でタグ呼んでもできるはず
0712名前は開発中のものです。2006/12/02(土) 22:21:48ID:Nn9lkJ+C
TJSでやらなきゃダメな理由を教えていただければ解決策が見つけやすいかもしらん
0713名前は開発中のものです。2006/12/02(土) 22:22:41ID:G6K+lp4F
>>711
実は、そのどちらもダメなんです。
showhistory は、『showHistoryByScenario を呼び出し』 て 『Conductor に -2 を返す』 処理を行うんですけど、
停止に必要なのは後者の処理みたいなんです(というより、waiting の実体は後者)

だから単純に showHistoryByScenario を呼び出すだけでは停止しないっス…… (´・ω・`)

Conductor に -2 が返されたときの処理を自前でやってしまえば良いような気もするんですが、
それだと現在実行中のシナリオに影響が出るかもしれないな……と不安でして…… orz
0714名前は開発中のものです。2006/12/02(土) 22:24:44ID:G6K+lp4F
>>712
要は、TJS からレイヤを色々操作している間、KAG スクリプトの進行を一時停止しておきたいんス (´・ω・`)
0715名前は開発中のものです。2006/12/02(土) 22:38:08ID:RLmj8P3I
>>713-714
何がやりたいのかさっぱり分からないけど
コンダクタのコンテキストで↓をやるんじゃ駄目ってこと?

timer.interval = 0;
inProcessing = false;
reentered = false;
0716名前は開発中のものです。2006/12/02(土) 22:40:16ID:G6K+lp4F
>>715
う、うん。それは考え付いたんだけど、それをやることで後々面倒なバグに悩まされるのは嫌だな、と (^-^;;
今 Conductor の中を眺めている最中ス
0717名前は開発中のものです。2006/12/02(土) 22:59:24ID:Nn9lkJ+C
waittrigをやりたいのなら、
kag.tagHandlers.waittrig(%[name=>'history');
かな?
まだ渡すべきものがあるかもしんない。
0718名前は開発中のものです。2006/12/02(土) 22:59:55ID:G6K+lp4F
>>715
……ごめん。ダメだった orz

[eval exp="kag.showHistoryByScenario(); window.conductor.sleep();"]

を実行しても、eval が返る時点で sleep() の変更が帳消しになってしまいます orz
eval を介さずに行ったとしても、その時点で実行していたタグが帳消しにしてしまう予感……


やりたいことはただ1つ

function onClick() {
    // ここで KAG を停止させる
    loadlayer.show();  // ロード画面表示
    window.conductor.wait(%[ my_config_close: function { /* ここで KAG を再開させる */ } incontextof this ]);
}

……これだけなんですけどね orz
素直に KAG 経由したほうが早い気がしてきた orz
0719名前は開発中のものです。2006/12/02(土) 23:00:38ID:Nn9lkJ+C
kag.tagHandlers.waittrig(%[name=>'history']);
後ろの]が抜けてた
0720名前は開発中のものです。2006/12/02(土) 23:03:24ID:G6K+lp4F
>>719
[eval exp="kag.showHistoryByScenario(); kag.tagHandlers.waittrig(%['name' => 'history']);"]

これ、止まらないんスよ orz
0721名前は開発中のものです。2006/12/02(土) 23:04:25ID:12krhiwF
>>716
経験上は

停止
mainConductor.interrupted = true;
extraConductor.interrupted = true;
setMenuAccessibleAll();

復帰
if (mainConductor.interrupted) { mainConductor.interrupted = false; }
if (extraConductor.interrupted) { extraConductor.interrupted = false; }
setMenuAccessibleAll();

が無難ぽい。interrupted は Conductor の機能としては組まれてるけど、KAG 本体では
全くつかわれてないようなので、こういった用途のために存在してるのだと認識してる。

setMenuAccessibleAll() は Conductor の制御そのものには関係ないけど
制御が流れなくなってるので念のためメニューの状態を手動補正ってことで。

0722名前は開発中のものです。2006/12/02(土) 23:10:52ID:12krhiwF
あ、ちなみに俺は、「終了しますか?」とかのダイアログとかをレイヤで処理する時に使ってる。

0723名前は開発中のものです。2006/12/02(土) 23:11:02ID:+A1+6GD/
そこまでして拘るのは何故なんだぜ
0724名前は開発中のものです。2006/12/02(土) 23:17:29ID:G6K+lp4F
>>721-722
[iscript]
function __my_stop() {
    kag.mainConductor.interrupted = true;
    kag.extraConductor.interrupted = true;
    kag.setMenuAccessibleAll();
}
[endscript]
[eval exp="__my_stop();"]
[l]

first.ks に↑だけ書いて実行しても、[l] が実行されてしまうのは何故なんだぜ? orz


>>723
もはや意地です。ごめんなさい。・゚・(ノД`)・゚・。
0725名前は開発中のものです。2006/12/02(土) 23:21:22ID:RLmj8P3I
ちゃんと呼んでなかったけど、
シナリオファイル内の任意の場所を進行中のコンダクタを止めたいってことだったのね。

何の為にそんなことしたいのか分からないけど、
正直言ってあまりお勧めしない。かなり不安定な動作になるよ。
タイマ止めたところで、
すでにTimerCallBack()を処理中だった場合はそのタグを
外から止めることなんて出来ないし、oneshotトリガ引かれちゃったらそれで台無し。
無闇にinterruptedなんてしちゃった時にはシナリオ進行がそこで止まっちゃう恐れがある。

何かもうConductorの実装方針ガン無視だね。
0726名前は開発中のものです。2006/12/02(土) 23:23:58ID:12krhiwF
ああ、流れよんでなかった。すまん。処理に割り込みかけたいなら以下のテクニックを。

(1) kag.tagHandlers に処理起動のため独自タグを登録しておく

kag.tagHandlers.myfunc = function(elm) {
myfuncstart(); // じぶんの必要な機能を起動
return waitTrigger(%[ name : "myfuncend"]); // 適当なキーワードでトリガ待ちさせる
} incontextof kag;

(2) 処理を行いたくなった時点でそれを conductor に割り込み登録する

function onClick() {
kag.conductor.pendings.insert(0, %[ tagname : "myfunc" ]);
}

これで KAG がその処理を最優先で呼び出して合法的に停止してくれる

(3) 必要な処理がおわったら kag.trigger("myfuncend"); でトリガを送って KAGを起こす

0727名前は開発中のものです。2006/12/02(土) 23:25:05ID:G6K+lp4F
OK 姉さん。interrupt() 使って main と extra の両方を止めたらちゃんと止まりました。・゚・(ノД`)・゚・。

>>725
了解……です orz
0728名前は開発中のものです。2006/12/02(土) 23:27:41ID:G6K+lp4F
>>726
その手があったか!!
それを使います。本当にありがとうございました m(_ _;)m
0729名前は開発中のものです。2006/12/02(土) 23:37:55ID:RLmj8P3I
KAGから操作するのは駄目で
pendingに直接insertはOKってどういう基準なんだよ。
むしろ逆だろうと。

混乱して頭痛くなってきた(つД`) タスケテ・・・
0730名前は開発中のものです。2006/12/02(土) 23:38:35ID:YeQzs6uY
>>692
乙ですー。
これから盛り上がっていくといいねー。

あーメルアド公開にしちゃったんだ。
まあ別にいいんだけど

BBSとかは置かないの?
0731名前は開発中のものです。2006/12/02(土) 23:45:41ID:12krhiwF
KAGの中で eval で処理しても Conductor に決して -2 は帰らないからね。
waitTrigger で情報を登録した上で -2 を Conductor に返せないと処理としては意味を成さない。
あ、次回のなにかしらの wait処理で登録した情報が有効になっちゃてバグの原因になるね(笑)
pending にタグとして登録して実行させることで、waitTriggerして、さらに -2を返すことができるわけ。

0732名前は開発中のものです。2006/12/03(日) 00:10:28ID:R3i0aeWx
>>731
pendingに直接アクセスすることが好ましくないってことを
言いたいわけなんだが(;´Д`)
TJSはアクセス制限子ないからあれだが、
pendingは間違いなくprivateとして扱われるべき変数だろ。
変なバグを出さないためにもむやみに外部から参照すべきじゃないよ。
本来の実装方針無視してキモいコード書くことに何の意味があるのかと。
TJSのみこれからも使っていくんなら構わないかもしれんが、
おかしなコーディングばっかに慣れちまってどうする。

そもそも不満をこの際ぶちまけちまうと、シナリオファイルの中から
ところ構わずkagの関数に直接アクセスして中身書き換えたりが
ほとんど当然のようになっちゃってるあたりとか、
MainWindowクラスのごちゃごちゃっぷりとか、
Conductorの挙動とか、
kag自体の設計が何かおかしなことになっちゃってるよね
もう本当に捨て時なのかもしれない(´・ω・`)
0733名前は開発中のものです。2006/12/03(日) 00:12:06ID:mrQXZ4Lp
>>729
KAG から操作するにしても callExtraConductor っスから、
どっちもどっちって感じはしますけど……どうなんだろう。
0734名前は開発中のものです。2006/12/03(日) 00:34:13ID:bABO2Gal
まぁ、βでなくなった時から考えても2002年から4年以上に渡って切った貼ったされてきてるからなぁ…
2002年の段階で、数年後ここまで膨れ上がるとはdeeさん自身正直予想もしてなかったんじゃないだろうか。


0735名前は開発中のものです。2006/12/03(日) 00:54:01ID:mrQXZ4Lp
[eval exp="kag.callExtraConductor('first.ks', '*test');"]
サブルーチン実行中にこの文章は表示されないはず。
[s]
ここにはたどり着かないはず。

*test
callExtraConductor がちゃんとサブルーチンを呼び出せていれば、この文章は表示されるはず。
[waittrig name="testtest"]
waittrig でちゃんと停止していたら、この文章は表示されないはず。
[return]


……結果は、『サブルーチン実行中に〜』 と 『callExtraConductor が』 が表示されました orz
callExtraConductor 呼び出しても、元の KAG ファイルの進行は止まらないのですね orz
0736名前は開発中のものです。2006/12/03(日) 01:06:40ID:mrQXZ4Lp
えーっと、タグを挿入する >>726 方式だと、クリック待ちの状態では一度クリックしないと挿入したタグを実行できなくて、
それを回避しようよ kag.skipToStop2() を挿入……っと。
すると、処理からクリック待ちのところまで戻りたいのに、クリック待ちは既に終わっていて…… orz


吉里吉里って本当に難しいですね。・゚・(ノД`)・゚・。
0737名前は開発中のものです。2006/12/03(日) 01:12:52ID:7rEDI0H1
@call

kag.extraConductor

の違いくらい理解しとけ。リファレンスに書いてあるから。
何の為にExtraConductorがあるのかも調べておいで。
本当いい加減うざいよ。死ねばいいのに。
0738名前は開発中のものです。2006/12/03(日) 01:14:00ID:7rEDI0H1
kag.callExtraConductorでした。callが抜けていました。
ごめんなさい、俺も死んどきます。
0739名前は開発中のものです。2006/12/03(日) 01:20:42ID:cEddTvN0
まぁおいおい理解していけばいいんでないかい
とりあえず素直にKAGで処理したほうが無難だと思うがいかがか。
0740名前は開発中のものです。2006/12/03(日) 01:21:05ID:9ryZMjv/
>>732

んー、pendings はわりとさわっていい部類に入るとおもうけどなー。処理を割り込みする手順としては正当だし。
まあ、このへんは感覚の差として、もう設計がぐちゃぐちゃになっちゃってるのは同意ね。
現実問題として内部関数よばないと要件みたせないことが多いからね。

個人的にはKAGそのものを拡張してタグを増やす方向で対応してるよー。
というかそれ以外は基本的にコンダクタの処理を妨害するからだめですね。
0741名前は開発中のものです。2006/12/03(日) 01:31:01ID:mrQXZ4Lp
ごめんなさい。色々と迷惑をおかけしました orz

一応、色々と割り切ってみることにします。
完全停止しなくとも、スキップとか自動読みとかを表示前に切るだけで大分違うでしょうし……
お騒がせいたしました orz
0742名前は開発中のものです。2006/12/03(日) 01:38:53ID:9ryZMjv/
>>739
KAGでは記述しようがないことだから困ってるんじゃない?

>>736
あー、それは方法論として間違い。
kag.conductor.status をみて待ち状態ならタグをつっこまないのが正解。
しかし、そのままだとクリックされると処理がすすんでしまって結局不幸に陥ると予想。
透明レイヤを全面にはってイベントが通らなくなくなるようにするとかこざかしい方法もあるけど、いまいち。

やっぱ一環した処理がほしいなら、
OnClick() など UI処理からの呼び出しなら conductor.interrupted は適切に機能する(次のコンダクタ呼び出しから
処理が停止する)から、それを使ってコンダクタの wait系の処理とは無関係にとめてしまうしかないんじゃないかなぁ。

ただ、conductor.interrupted は、処理中にタイトルに戻るとかの処理をされて復帰処理がよばれなかったりすると
地獄におちるので、kag.onConductorJump をフックして、別のシナリオに切り替わる流れではかならずその状態を
強制で戻す必要があります。自分ではまったのを忘れてたよ。あ、あと、そのレイヤ処理とやらの
強制後始末も忘れずにね。

本来は、こういった機構の汎用処理を KAG のコアが提供してくれると一番いいんだろうけどね。


0743名前は開発中のものです。2006/12/03(日) 02:27:25ID:ReIt0VCE
まあ贅沢な悩みだよな
何だかんだと多彩な実装は可能なんだし
人の欲望はげに恐ろしい
0744名前は開発中のものです。2006/12/03(日) 03:06:12ID:aNPfAlfu
いや贅沢なんかじゃない。
ゲーム作るのに煩わしい処理を隠蔽する為にフレームワークを使うんだから。

ただ単に当初予測されていた以上の使い方が現れただけ。

だから本当にKAG3を捨てる時期なんだろ。

利用のされ方に応じた同じジャンルのゲーム作るフレームワークがあっても良いジャマイカ?

同じ車でも軽のタイヤとダンプカーのタイヤは違うんだから再開発は必要なんだろう。

題してKAG3を窓から投げ捨てるプロジェクト(笑)
0745名前は開発中のものです。2006/12/03(日) 05:47:22ID:owAlk0Is
低レベルな質問なんだが「input」の入力画面と「edit」の入力画面の使い分けが分からん。
機能的にはほとんど大差ないよね? こんな時はこっち使えとか暗黙のルールあるの?
0746名前は開発中のものです。2006/12/03(日) 07:34:41ID:FY3hKabr
> 機能的にはほとんど大差ないよね
大差あるよ
0747名前は開発中のものです。2006/12/03(日) 10:38:19ID:ePu0k3WC
input のほうはモーダル(終わるまで次いけない)で edit はそうではない
というのが一番の違いなのでそこに着目して使い分けたい

決まった順番で順次入力するようにさせるときは input を使うといいし
自由な順番で何度も行ったり来たり直しながらのときは edit がいいね
0748名前は開発中のものです。2006/12/03(日) 17:33:48ID:muely7jR
今サラダけど>>706への回答ないのかな。
自分は706じゃないし吉里吉里での制作は未経験なんだけど、
こういう経験者ならではの話も聞いてみたい。

最初に設計をしっかりしておくってのは大前提だと思うけど。
0749名前は開発中のものです。2006/12/03(日) 17:48:19ID:cEddTvN0
それがよく言う「最初から大作は無理、まずは小さいのから」の中身でないかな、と。

確かに細かいTipsは知りたいかな。
ガキのころからやってる人だと「基本中の基本」で説明するまでもない事でも、
最近始めた人にとっては「そ〜なんだ!」だったりするし。
0750名前は開発中のものです。2006/12/03(日) 19:33:40ID:48tluaN0
その「基本中の基本」やTipsを纏めたものがリファレンスなんだけどな…。
0751名前は開発中のものです。2006/12/04(月) 01:36:57ID:2FVTVP4c
Tipsで思い出した、そういや熊野なんちゃらって奴の解説サイト、書いてる事が嘘八百だらけなんだが。
初心者向けに敢えて間違ってても理解し易く、とかじゃなくて本人の思い込みや脳内補完だらけだ

やる気のある中途半端ほど手に負えないもんはないな
0752名前は開発中のものです。2006/12/04(月) 01:53:35ID:I4UFE7Q2
>748
>最初に設計をしっかりしておくってのは大前提だと思うけど。

冗長性もたせてたけど、その冗長性を忘れて結局組み直す俺がいる。
っていうか読み直すよりそっちのが断然早いし、
当時よりもいろいろわきまえて使い勝手良い物作れるし。
コーディング完璧、これ以上直す事はそうそうないって人じゃないと意味ない。
0753名前は開発中のものです。2006/12/04(月) 02:12:24ID:DOv2qY8N
>>751
一部の例外を除いて、今ある講座の多くはシナリオライター出身が
書いてるみたいだから仕方ないんじゃね?
気になるなら指摘してやればいいと思う
0754名前は開発中のものです。2006/12/04(月) 03:36:52ID:0hrboRn9
そういうのをいちいち指摘してるとバカが叩かれてると思い込んで突然反乱起こすことがあるんだよな。
揚げ句の果てに人を悪者扱い。嘘八百が広まると究極的にweb pageがhome pageみたいな事になるから
嘘ばらまいてる奴のために言ってるんじゃなくて嘘を刷り込まれてる奴のために言ってんのに。

文だけじゃ分かり辛い話だな。

0755名前は開発中のものです。2006/12/04(月) 03:41:02ID:+Vq7dsL5
>>751
せっかくだからどのへんが間違ってるか例をあげてみてほしい。
そこのサイトをぱっと見た感じ、読んだ初心者が盲信しそうな雰囲気だと思った。
(きっぱりはっきり書いてあるあたりが)
ていうか初心者っておれだけど。
ぐぐって引っ掛かったのがこのページだったら100%参考にしてたと思う。
0756名前は開発中のものです。2006/12/04(月) 04:04:01ID:jXY2nQsU
>上級者向けの命令はあえて「出来ない」と書いたり、正しくない用語を使う場合があります。
まずこれの意味が分からない
0757名前は開発中のものです。2006/12/04(月) 04:40:45ID:nlYneCz/
>756
そのサイトしらんから見てないけど好意的に解釈するなら
・前者は、出来ないことはないけど、初心者にはややこしいから出来ないことにしておく。

・後者は、厳密には違うけど説明が煩雑になるので一般的に広まってる言葉で統一。
 スクリプト→プログラム ウェブサイト→ホームページみたいな。

ってところじゃないのかなぁ。
0758名前は開発中のものです。2006/12/04(月) 07:04:37ID:DOv2qY8N
軽く読んでみたけど、確かに間違い多いな

基礎知識編
1.吉里吉里の定義
  この時点ですでに怪しいorz
2.フォルダの中身を理解する
  フォルダの名前が間違ってる
5.KAGと tjs
  ksはKAGシナリオの略じゃ・・・
7.命令文の定義
  @も[]もKAG2の頃から使えた
作成準備編
2.文字装飾をつける
  R40% G90% B20% → 409020じゃねぇw
シナリオ編
3.別のシナリオに移動する
  同一シナリオ内のラベルは全て違う名前を付ける必要があります→推奨なだけ
音声編
1.音声ファイルの種類
  OGG(おっじ)形式→オッグですhttp://ja.wikipedia.org/wiki/Ogg

極め付けが企画管理編
8.動作環境
  CPU 200MHz、メモリ64MBなんて、そもそもXPが動かねえw

この様子だとほとんどのページに何かしら間違いがあると思われ
0759名前は開発中のものです。2006/12/04(月) 07:15:46ID:DOv2qY8N
h 切り忘れたorz
0760名前は開発中のものです。2006/12/04(月) 08:46:55ID:2fSZ6ID3
一つの講座サイトを作り上げた労力とやる気はすごいと思うんだが、
間違いが広まるのは何とも…
まぁ、ゲームは作れるだろうけどな

おっじ…
0761名前は開発中のものです。2006/12/04(月) 09:19:26ID:tCxRQ/Lo
プラグインが拡張機能だもんな。
どいつもこいつもわざと言ってるとしか思えん・・・Plug-insとExtensionsを何故同一視するんだろうか?

俺のKAGにはKAGPluginクラスを継承したExtensionクラスがあるんだがw

因みにプラグインに必要なものをXP3に固めてスクリプトからXP3をロードすれば必要な処理と管理は勝手にやってくれるようになってる。
0762tom@2006/12/04(月) 12:58:42ID:3g9V4ANI
 コンニチハ、今秋、KAGをはじめたモノです。
大体のことは、タグで間に合ってしまうけど、随所、tjsすると嬉しいこともあり・・・・・・
地道にノロノロ「吉里吉里&tjs」の腕を上げようか?小手先で済まそうか?思案の今日この頃。幾つか、質問させて下さい。

1.例えば、「MessageLayer.tjs」内の「setFocusToLink(n, true)」とか、KAGのtjsファイル内のメソッドとかで、
「もっとTJSを」に示唆はないけれど、シナリオファイルの中でも、
便利に使い回せそうなものを、まとめてあるみたいな文献ってWEB上で入手可能でしょうか?
解析の腕はないけど、手軽に利用できるものは、利用してみたいといったスタンスです。

2.「tjsマニュアル」を読んでも、「クロージャ」とか「incontextof」とか辺りの説明が、
ざっぱん理解できません、「猿でも解る」的な説明がどこかにないでしょうか?

3.もしかして、ストレージ(.mid)からファイルの属性(特にタイトルとコメントと作成者)を取得するプラグインとかってないでしょうか?

以上、よろしくお願いいたします。
(入手済みの資料には、「gutchie」氏の「TJS入門(ダンロード版)」があります)
0763名前は開発中のものです。2006/12/04(月) 13:39:59ID:IY4w0iPo
単発tipならやってる所はあるだろうがある程度体系だったものとなると
質以前にリファレンスとTJS入門の2ヶ所しかないのが現状。
0764名前は開発中のものです。2006/12/04(月) 14:11:11ID:/pcfR+Pd
>>762
closure とか incontextof とかは、javascript やっていると理解しやすい……と思う
ある程度他のプログラム言語弄ったことがあれば、TJS にもそのまま応用利くよー
0765名前は開発中のものです。2006/12/04(月) 16:07:12ID:Q8lVay/Q
下記のボタンを画面上に常に表示し、クリックすることでヒストリ表示を
させたいと思っています。

[button graphic="hoe.png" exp="kag.onShowHistoryMenuItemClick()"]

しかし文字が表示しきっていない時やトランジション中に実行すると
おかしなことになってしまうので、それらの動作中は実行しないように
したいのですが、どのようにしたらいいでしょうか?

上記タイミングだとメニューバーの文字がグレーになるので
それと同じようにしたいです。

過去ログでconductor関係が書かれていたのでそれをやってみましたが、
トランジションまで止めるわけではないんですね。
0766名前は開発中のものです。2006/12/04(月) 16:40:59ID:9WENqyLj
>>765
そのメニューバーのグレー処理を行っているところの判定文をまねればよろしい。
具体的には setMenuAccessibleAll() を覗くべし。

 まあ、すでにそのメニューバーがグレーになってること自体をつかって
 if (kag.showHistoryMenuItem.enabled) kag.onShowHisotyrMenuItemClick();
とやればいいんじゃないかと

0767名前は開発中のものです。2006/12/04(月) 17:05:01ID:OHZOS6l+
ボタンを押すと[stop〜]が実行されればいいんでないかい
0768名前は開発中のものです。2006/12/04(月) 17:14:55ID:JRHTujtH
>>765
ttp://kgs.tenkyu.com/s2/028.htm
まぁここまでせんでもボタン表示直後にロック、
クリック待ちの直前でアンロックしてやるマクロで充分な気もする
0769名前は開発中のものです。2006/12/04(月) 18:03:57ID:/pcfR+Pd
>>765
onShowHistoryMenuItemClick じゃなくて showHistoryByKey を呼び出せば良いはず
この関数は、メニュー項目の有効・無効を調べて有効だったらクリックを呼び出しているから、ちょうど良いと思う
07707652006/12/04(月) 18:16:31ID:Q8lVay/Q
>>766-769
みなさんありがとうございます!
>>768 さんに紹介していただいたプラグインで実現することができました。
確かに [l][s][p] で切り替えるマクロもありでしたね。

#発言番号「765(namco)」だったことに気付いてちょっと嬉しいw
0771名前は開発中のものです。2006/12/04(月) 20:03:32ID:MRBciHhI
>>764
tjsのクロージャはjavascriptとはまったく別物だぞ
0772名前は開発中のものです。2006/12/04(月) 20:45:31ID:JRHTujtH
チラシの裏ですよ。
右クリックサブルーチンで行きつ戻りつしていると、
[s]タグで停止しているのにページ末に出るクリック待ちのアレが出現。
操作に支障はないけど見苦しいから飛ぶ直前に、
kag.lastClickGlyphVisible = false;
として回避した。もう、力技w

検索しても出てこなかったのでメモってことで。
…普通は別の手を使うのかもしれんが。
0773名前は開発中のものです。2006/12/04(月) 21:48:24ID:/pcfR+Pd
>>771
挙動は違っても、本質は同じだと思ってる
0774名前は開発中のものです。2006/12/04(月) 21:57:34ID:jXY2nQsU
>772
サブルーチン中に無駄な改行かスペースがあるんじゃまい?
07757722006/12/04(月) 23:03:52ID:JRHTujtH
>>774
えーと、俺も最初それを疑ったけどないっぽい。
ゲーム本編>右クリサブ>タイトル[s]>
コンフィグ(サブルーチン)>タイトル「▼出現」
と移動すると起こる現象で、ゲーム本編のクリック待ちサインをKAGが
覚えてて、ジャンプ前の状態復帰をしようとしてこうなるみたい。
安易にサブルーチンの戻り先いじるとはまるよって事すかね。

解決に二日かかったです。一日は原因の切り分けに無駄実験で浪費orz
0776名前は開発中のものです。2006/12/04(月) 23:28:34ID:zL9FHGwp
こんにちは。
テキストの速度変更するのにこんな感じに書きました。

[button graphic="〜" exp="kag.chNoWaitMenuItem.click()"]
[button graphic="〜" exp="kag.chSlowMenuItem.click()"]

クリックするとメニューの「表示速度」は確かに目的のものに変わるのですが
実際の文字表示が変わってくれません。

もう一度クリックするとメニューのほうは同じように変わるのですが、
実際の文字表示は「直前にクリックした速度」になってしまいます。

なぜこんな現象になってしまうのでしょう?
メニューから選択すると目的の速度になってくれます。
07777722006/12/04(月) 23:51:15ID:JRHTujtH
>>776
未検証だが
exp="kag.chNoWaitMenuItem.click();onChSpeedMenuItemClick()"
ではいかがか。

Menus.tjs
Mainwindow.tjs
を見た感じコレでいいかと
0778名前は開発中のものです。2006/12/04(月) 23:54:09ID:JRHTujtH
ごめん、うそ言ったorz

0779名前は開発中のものです。2006/12/05(火) 00:07:04ID:yjUepm1A
exp="kag.chNoWaitMenuItem.click();kag.setUserSpeed()"
でいいとおも
俺も始めて一ヶ月未満w
0780名前は開発中のものです。2006/12/05(火) 00:21:51ID:nkFzTDNn
chNoWaitMenuItem.click() を呼び出した後に呼び出されるであろう onChSpeedMenuItemClick では
ちゃんと setUserSpeed やってるはずなんだけど……どうなんだろうね。

exp="kag.onChSpeedMenuItemClick(kag.chNoWaitMenuItem);"
↑できたら、これも試してみてくれ
0781名前は開発中のものです。2006/12/05(火) 00:24:15ID:A3xeX1Wk
>775
ああ、なるほど。
タイトルへはgotostartで戻ったほうがいいと思われ。
0782名前は開発中のものです。2006/12/05(火) 00:24:16ID:eQmwQzcD
>776
temploadとかしてるんじゃねえの
■ このスレッドは過去ログ倉庫に格納されています