- 1 名前:名前は開発中のものです。 [2010/05/22(土) 15:41:56 ID:tZCB+yDd]
- ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。 マルチポストはやめましょう。個人叩きも禁止です。 ※スレで質問をするときは※ KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、 FAQ、Google等で調べてからにしましょう。 努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ! ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 吉里吉里2/KAG3雑談質問スレ_過去ログ ttp://www.geocities.jp/kirikiri_log/ 吉里吉里ダウンロードページ ttp://kikyou.info/tvp/ ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は 初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。 ■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。 大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。 ■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる 数々のTipsが記載されています。 ■TJSをもっと使うために ゲームのインターフェイスをカスタマイズしたい、また KAGの命令に無いことをしたくなったらまずここを読んでみよう。 必要に応じて>>3-5の公式掲示板や講座等を併用してください。 (併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります) 前スレ ■吉里吉里/KAG/TJS雑談質問スレ■その20 pc11.2ch.net/test/read.cgi/gamedev/1264933876/
- 284 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 21:26:56 ID:RUJut2XG]
- 他に同様の報告無い時点で
自分のPCが異常なだけなことに気づけよ
- 285 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 21:36:32 ID:Vu3eQk1a]
- 吉里吉里勉強会。
作品発表とあるがKAGに何か機能を実装してそのコードリーディングとかなら面白そうだが、 実際は淡々とゲームの中身を説明されるんだろうな・・・。
- 286 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 21:50:11 ID:UrKJkH0x]
- 本体実装/プラグイン実装の話題でエキスパート勉強会なんてやらないだろうか。
- 287 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 21:59:15 ID:a068Pm81]
- 人が集まらないだろうしそんなレベルの人なら勉強会なんて必要ない
- 288 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 22:12:20 ID:Vu3eQk1a]
- >>284
D言語でプラグイン実装解説とか面白そう
- 289 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 22:22:16 ID:UrKJkH0x]
- D言語でプラグインか。たしかバイナリ互換性はあったからD向けのtp_stubがあれば書けるのかな。
htodとか使えば変換できるのか?
- 290 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 22:47:36 ID:C1MrWpT9]
- こういう規模のものの勉強会って顔合わせしてチャットする程度のもんなんじゃないの?
- 291 名前:名前は開発中のものです。 mailto:sage [2010/07/01(木) 23:22:11 ID:2x9MrNNY]
- むしろメインはそのあとの宴会
- 292 名前:名前は開発中のものです。 [2010/07/01(木) 23:45:06 ID:Qaf7rZnA]
- 質問です。
画像からムービー再生へのトランジションを行いたいのですが、 トランジションが黒の画像で終了し、それから動画が再生されてしまい うまくいきません。 また逆の場合はうまくいきました(画像をback、動画をforeの場合) 何かヒント等お願いいたします。 [image layer=1 page=fore storage="EV01_01" visible=true] [video visible=true mode="layer"] [video loop=true] [videolayer layer=1 page=back channel=1] [layopt layer=1 page=back visible=true] [openvideo storage="EV01-01.mpg"] [preparevideo] [wp for="prepare"] [playvideo] [trans layer=1 time=1600 method=crossfade]
- 293 名前:名前は開発中のものです。 mailto:sage [2010/07/02(金) 01:21:40 ID:mAIsEAI3]
- 吉里吉里を実行したら、224.0.0.252にアクセスしようとしてFWに検知されたんだけど
これは何をしようとしているの?
- 294 名前:名前は開発中のものです。 mailto:sage [2010/07/02(金) 03:02:07 ID:qrBhCZjE]
- 関係ない話だが、俺も永年使ってるとあるプレイヤーで
特定のファイルだけ再生がカクカクになってって最後は停止・・・というのになってる。 新しいDivXを入れた辺りからそうなったみたいだ。
- 295 名前:名前は開発中のものです。 mailto:sage [2010/07/02(金) 03:09:53 ID:GnhoDBHQ]
- >>293
たしか DirectDraw でフルスクリーンにするときのバージョンチェック処理で DirectX コンポーネントが勝手に外部通信しようとする なお、224.0.0.252 の通信自体は、Vista 以降に搭載されているLAN用の自動アドレス割り当て処理が使う通信で、 これをひっかけるFWソフトはなにかおかしい
- 296 名前:名前は開発中のものです。 mailto:sage [2010/07/02(金) 03:13:09 ID:GnhoDBHQ]
- >>279
再生モードはなに使ってる? デバイスドライバの更新とかでオーバレイが腐った可能性があると思われる。 ミキサー(VMR) やレイヤ再生してみて差をみるべし それでも異常なようなら短いサンプルでいいからup 他人の環境でチェックしてもらうのが良いと思われ
- 297 名前:名前は開発中のものです。 mailto:sage [2010/07/02(金) 03:15:46 ID:QAmrYELt]
- 224.0.0.252つうとvist以降か。
吉里吉里はドライバのバージョンを確認しに行くんだっけ?
- 298 名前:名前は開発中のものです。 mailto:sage [2010/07/02(金) 03:18:12 ID:QAmrYELt]
- 被ったか、おまえら夜中なのに考えることは一緒なんだな・・・。
たしかに224.0.0.252を検出するFWは設定がきつすぎる。
- 299 名前:名前は開発中のものです。 mailto:sage [2010/07/02(金) 15:43:20 ID:b5T/g5L2]
- >>292
どうもトランジション処理とレイヤ動画処理との間で不整合生じてるぽい。バグだけどわりと根が深そう。 [trans time=1600 method=crossfade] として全体トランジションにしておけば、動画描画先になる子レイヤ自体は内部レベルでの差し替えは発生しないので正しく表示される模様 どうしてもレイヤ単位にトランジションしたければ、ダミーのレイヤを一つつくって、動画の描画先レイヤはそれにして、 VideoOverlay.onFrameUpdate で対象レイヤに assign するような構造にすればたぶんなんとかなると思われる
- 300 名前:名前は開発中のものです。 mailto:sage [2010/07/02(金) 23:31:52 ID:j75c+nEe]
- まぁ、いくらFW突破しても
すぐ対策されるわけで・・・
- 301 名前:名前は開発中のものです。 mailto:sage [2010/07/03(土) 02:45:33 ID:kxpqTxJq]
- >>292
>>299 はちょっと間違いだった レイヤトランジション中に裏動画の絵がまったく出ないのは、 クロスフェードトランジションがソース画像のα値を参照してしまうことによるもののようだ。 これはおそらく描画先画像の type 基準で動作しているためで、両方同じでないといけないものなので明確な「仕様」ってことになる 対策としては、ムービーの画像描画後に該当レイヤのαを 0xff でうめるようにするか、 [image layer=1 page=fore storage="画像" visible=true mode=opaque] と、元画像をロードするときに opaque 指定にしておけばよい なお >>299 の「不整合」自体は直接原因ではないが別のバグだった。 動画再生したままで2回トランジションを行うと、本来なら元レイヤの画像が表示されるべきだが、 この画像が、内部的にずっと動画で上書きして破壊される状態になってしまっている。 レイヤを手動で update() するとどんどん内容が更新されてしまっているのがわかる。 単発レイヤトランジションでも全体トランジションでもどちらでもおこる現象で、 おそらく動画再生処理側の更新バッファ処理のさしかわり判定のがおかしいのだろうと推定される。 描画先が狂ってるだけでメモリ破壊自体はしてないようなので、とりあえず更新時は常に新しい 描画内容を指定するようにしておけば致命的なことにはならないとは思われる
- 302 名前:名前は開発中のものです。 mailto:sage [2010/07/03(土) 13:23:29 ID:cmVod1gA]
- >>300
そんな話誰もしてねーよ。 LAN内の名前解決を行うプロトコルが使うマルチキャストアドレスが 見張られててこのアドレス使ったらFWが過剰反応したって言ってんだろ。
- 303 名前:名前は開発中のものです。 mailto:sage [2010/07/04(日) 10:30:38 ID:Bl0MmFqw]
- レイヤの指定に変数を使いたいのですが、エンティティ使うと
「(Void)からobjectへ型を変換できません。」というエラーが出ます。 [eval exp="tf.hoge=3"] [emb exp="tf.hoge"]ほげげ [image storage="フレーム.png" layer="&tf.hoge" page=fore visible=true top=0 left=0 opacity=255] なにがマズイのでしょうか? embタグでは、ちゃんと3が表示されます。 数値が必要なところに文字が渡ってるのかなとも思ったんだけど storage属性のファイル名に変数使っても、同様に落ちるんです。
- 304 名前:名前は開発中のものです。 mailto:sage [2010/07/04(日) 10:34:50 ID:pWMdUQfa]
- >>303
エンティティ使わずに直接 layer="3" でやってみる それでエラーでるならエンティティ以外のところがまずいのでリファレンスとかもっかい読んでみ laycount のあたりとか
- 305 名前:名前は開発中のものです。 mailto:sage [2010/07/04(日) 12:19:41 ID:Bl0MmFqw]
- >>304
layer="3" と直接指定すると動きます。 なので、他の属性とかがまずいわけではないと思うのですが… エンティティをdisableとかenableとかするフラグがあったりしないですよね?? なんでだろう…
- 306 名前:名前は開発中のものです。 mailto:sage [2010/07/04(日) 13:46:01 ID:NPNr6aGl]
- 検証してる暇がないので適当だけど
[eval exp="tf.hoge='3'"]とやってもだめ?
- 307 名前:名前は開発中のものです。 mailto:sage [2010/07/04(日) 19:34:09 ID:Bl0MmFqw]
- >>306
ありがとうございます、シングルクォートつけたらエンティティでも動きました! でもそのあとクォートはずしてみても、ちゃんと動きました。なんだったんだ… なにか見落としてたのかもしれませんが、とりあえず動きました。
- 308 名前:名前は開発中のものです。 mailto:sage [2010/07/05(月) 02:46:33 ID:Wwbywlow]
- KAGがレイヤ指定を解決する際に文字列であることを前提に組まれているから。
KAGWindow.getLayerFromElm(elm)とかだったかな。 KAG標準としては「必要以上にTJSは使わないで」ってことなのかな。 TJS使うならコンソール(特に逆アセ結果)とのにらめっこが必要ってことだと自分は思っている。
- 309 名前:名前は開発中のものです。 mailto:sage [2010/07/05(月) 02:49:34 ID:s+61392X]
- いや、ふつうに数値で通るよ>レイヤ指定
どちらでも大丈夫なようなコードになってる。 単に >>303 がレイヤ数増やしたあと再起動してなかったとかそんなオチだろう。 レイヤ数オーバー時の典型的なエラーだし
- 310 名前:名前は開発中のものです。 mailto:sage [2010/07/05(月) 03:40:13 ID:Wwbywlow]
- そういえば「(Void)から〜」か。自分の意見では「(int)3 から〜」になるはずだものな…。
しかも>>307の後半を見落としていた スマソ ところで数値で指定できたっけ? コンソール使ってkag.getLayerFromElm(%["layer", 0, "page", "fore"])を実行すると レイヤがあるにもかかわらずエラーになるんだが(int0からObjectに変換できない)。 シナリオに記述してコンダクタ通すと違うのか?
- 311 名前:名前は開発中のものです。 mailto:sage [2010/07/05(月) 10:44:44 ID:dVcS22zz]
- KAGのタグの処理の過程上、数値でもなんでも文字列で渡るので、処理する側は文字列前提のものが
多いけど、たいていは単純に整数化されるから、整数を与えても問題ないものばかり 可能ならば文字列で渡したほうが無難 レイヤ数オーバーで (void) から Object へ〜ってやつは、2枚しかレイヤがないときに kag.fore.layers[3] としたら void が返って、それにたいして void.loadImages とか しようとしてるから、そういったエラーが返ってくる >>310 のは、確かに KAGWindow.getLayerFromElm は文字列要求だから メッセージレイヤかどうか調べるため1文字目が "m" かしらべるときに layer[0] としてて、 そこで 0[0] となって、 (int)0 から Object へ〜ってエラーがでちゃってる
- 312 名前:名前は開発中のものです。 mailto:sage [2010/07/06(火) 10:05:21 ID:Exhl2hqU]
- もうasキーワード導入して型明示できるようにしてくれ
- 313 名前:306 mailto:sage [2010/07/06(火) 19:27:07 ID:EJEk8oid]
- 以前マクロ内でmp.layerを弄っていたときに引っ掛ったことがあったので
もしやと早とちりしたm(_カメ_)m >>307 ありがちなのは、栞にレイヤ数が保存されるのを失念しているケース。 @macro name=image2 [eval exp="mp.layer='0'"][image layer=%layer…]←OK [eval exp="mp.layer=0"][image layer=%layer…]←これは(int) 0から Object へ〜ってエラー。 [eval exp="mp.layer=0"][image layer=&mp.layer…]←OK @endmacro
- 314 名前:名前は開発中のものです。 mailto:sage [2010/07/07(水) 00:56:52 ID:pje+ipEr]
- 質問させてください。
コンフィグ画面で、フォントを左右ボタンで一つづつ変更させたいのですが、 ←現在のフォント名→ のような形で。 このように、「次のフォント」もしくは「一つ前のフォント」を指定するには、どうしたらよいのでしょうか。
- 315 名前:名前は開発中のものです。 mailto:sage [2010/07/07(水) 01:05:51 ID:oyqeFVJb]
- 単純に「使用可能なフォントの配列」を用意してやってそれを参照すりゃいいんじゃないのかい。
オレが前に書いたコードだとこんな感じだったけど。(KAGではなくTJSとして実行) // フォントリスト作成 var fonts = font.getList(fsfNoVertical); var use_fonts = []; /* use_fontsに日本語文字の含まれるフォントを登録する 細かく調べるのが面倒なのでとりあえず『フォント名に日本語が含まれている』奴を */ for(var i=0; i<fonts.count; i++){ if( /[^a-zA-Z 0-9!-@&\[-`{-~]+/.test(fonts[i]) ) use_fonts.add(fonts[i]); } var currentFont = use_fonts.find(sf.fontFace) | 0; // 現在選択済になっているフォントをその中から探す。ここで見つかるのはフォント名ではなく、use_fonts配列の中の「何番目にあるフォントが指定されているか」という情報 // 現在選択済フォント名(例: MS明朝とか)はsf.fontFaceに記憶させる あとは「次のフォント」もしくは「前のフォント」ボタンを押した時に、上記のuse_fontsを参照して if(currentFont < 0) currentFont = use_fonts.count-1; if(currentFont > (use_fonts.count-1)) currentFont = 0; sf.fontFace = use_fonts[currentFont]; for(var i=0; i<kag.fore.messages.count; i++){ kag.fore.messages[i].comp.setDefaultFont(%[face:sf.fontFace]); kag.fore.messages[i].comp.decideSizeChange(); kag.back.messages[i].comp.setDefaultFont(%[face:sf.fontFace]); kag.back.messages[i].comp.decideSizeChange(); } みたいな具合に「選択されたフォントをすべてのメッセージレイヤに適用する」処理を書いてやればよろしいんじゃないかしら。 ちゃんと動くかどうかは知らないけど
- 316 名前:314 mailto:sage [2010/07/07(水) 01:44:19 ID:pje+ipEr]
- >>315
うわぁ、リファレンス見てませんでした。ほんとすいません。 ありがたく参考にさせていただきます・・・。
- 317 名前:名前は開発中のものです。 mailto:sage [2010/07/07(水) 01:55:20 ID:xGd78xCf]
- KAGの仕様にあわせるなら、フラグは fsfSameCharSet | fsfNoVertical | fsfTrueTypeOnly | fsfUseFontFace にするのが妥当だぞっと
固定ピッチなら fsfFixedPitch も追加。詳細は MainWindow.tjs の selectFont 参照 fsfSameCharSet の指定があれば、たとえばデフォルトがMS明朝/ゴシックとかなら、それ以降選ばれるのも日本語フォントだけに なるから絞り込みとか別にいらない
- 318 名前:314 mailto:sage [2010/07/07(水) 10:39:37 ID:pje+ipEr]
- >>315
>>317 おかげさまでうまくいきました。本当に有難うございます。
- 319 名前:名前は開発中のものです。 mailto:sage [2010/07/08(木) 11:20:36 ID:YgOo1VSe]
- お前らレイヤってどうしてる?
俺はいちいち名前をつけて &sf.前 な感じでやってるんだが、 もっとスマートな方法はないかね
- 320 名前:名前は開発中のものです。 mailto:sage [2010/07/08(木) 15:04:23 ID:Q5zdrGxs]
- 「&sf.前」として何をしたいんだ?
目的語がねーよ。
- 321 名前:名前は開発中のものです。 mailto:sage [2010/07/08(木) 16:33:16 ID:V+Su1Z5G]
- >>319
エスパーしてみる。 前景レイヤの番号を管理するのに、用途によって番号を固定したいと。 キャラより前なら、sf.キャラ前 とか、そういうふうに名前をつけて管理してるけど、 もっとスマートな方法はないかとこういうことですかね? マクロに組んじゃえばレイヤ番号意識することなんてほとんどないし、 そのやりかたでいいんじゃない? 空いてるレイヤ番号探して自動で使うとかもできるだろうけど、indexあたりが面倒くさそうだし。
- 322 名前:名前は開発中のものです。 mailto:sage [2010/07/09(金) 10:07:19 ID:HICD+Kx0]
- >空いてるレイヤ番号探して自動で使う
その機能を次のバージョンで是非
- 323 名前:名前は開発中のものです。 mailto:sage [2010/07/09(金) 16:57:12 ID:+BMJeF2v]
- >>322
KAGEX
- 324 名前:名前は開発中のものです。 mailto:sage [2010/07/09(金) 17:16:54 ID:1T+f5Mju]
- どんだけバカなんだよ
- 325 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 09:03:48 ID:KIjV6uW0]
- KAGEXって何か問題があって使えなかったんだよなぁ
- 326 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 09:07:15 ID:ISEdd959]
- 昔使ったKAGEXは訳分からないバグがあって使うのやめた
- 327 名前:名無しさん@そうだ選挙に行こう [2010/07/10(土) 17:35:15 ID:y5Qxbddb]
- なんでエラーになるか追える人でないと(KAGEXを使うのは)難しい
- 328 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/10(土) 22:05:58 ID:rIc001M0]
- 追えるけどドキュメントがまともにないから何が正しいかわからん。
修正しようがない。そんなもんは使いもんにならんぜ。
- 329 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 00:29:36 ID:KaFz96aD]
- ぶっちゃけドキュメント未整備でシステム周りの挙動が不審、エラーのデバッグも含めて自己責任なんていうKAGEX使うくらいなら
自分でTJS使ってシステム整備した方が最終的に楽。自分で書いたスクリプトならエラー吐いても修正箇所の目処付けやすいしな
- 330 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 02:31:05 ID:XKuInvYV]
- まともなデバッガすらない吉里吉里でドキュメントのないKAGEXデバッグしろとか鬼畜過ぎるしな。
なんの得にもならん。
- 331 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 14:51:04 ID:8DP8qpvm]
- いいじゃん。 タダなんだから。
オレは使ってるよ? 初心者だったけど、バグ直してるウチに、少しはTJSとかKAGの仕組みが判ったよ。
- 332 名前:名無しさん@そうだ選挙に行こう mailto:sage [2010/07/11(日) 19:56:48 ID:AOVnnOHt]
- 時間が浪費されまくるけどな
- 333 名前:名前は開発中のものです。 mailto:sage [2010/07/12(月) 14:27:23 ID:GKML8p1H]
- 仕組みがわかったよとかいってる辺りもう全然初心者じゃない。レスから漂う実力。
- 334 名前:名前は開発中のものです。 mailto:sage [2010/07/12(月) 15:25:20 ID:nQnCjFqX]
- 我々が求めるのは仕組みの理解ではなく生産性なんですよね
- 335 名前:名前は開発中のものです。 mailto:sage [2010/07/12(月) 15:49:28 ID:qPVxp5B4]
- 生産性が必要なら金だして発注するのが一番だな。たぶん。
- 336 名前:名前は開発中のものです。 mailto:sage [2010/07/12(月) 16:45:45 ID:Twv0jeau]
- ところでレキシカルクロージャマダー!?
- 337 名前:名前は開発中のものです。 mailto:sage [2010/07/12(月) 17:15:01 ID:U87s1/CA]
- レキシカルクロージャ入れるならクラスは撤廃してほしいなあ
クラスはRubyの真似してるんだろうけど中途半端
- 338 名前:名前は開発中のものです。 mailto:sage [2010/07/12(月) 17:20:08 ID:GKML8p1H]
- ごめん素人なんでさっぱりわかんないんだけど、
そのクロージャをいれるとクラスをなくせるの?
- 339 名前:名前は開発中のものです。 mailto:sage [2010/07/12(月) 18:35:12 ID:Twv0jeau]
- >>337がおかしいだけだから気にするな
- 340 名前:名前は開発中のものです。 mailto:sage [2010/07/12(月) 18:42:11 ID:1x+SuQyA]
- レキシカルクロージャは欲しいが、
class無くすってのは全部functionに変数を束縛するってこと? ClassInstanceInfoで処理ディスパッチしたりできなくなるとかマジ勘弁。
- 341 名前:名前は開発中のものです。 mailto:sage [2010/07/13(火) 13:04:05 ID:yexPRalg]
- コンフィグ画面を作りましたが、上のメニューからも設定を変更できるようにしたいです。
コンフィグ画面からの変更は、上のメニューに反映されてチェックが付くのですが メニューからの変更をコンフィグ画面に反映させるにはどうすればいいでしょうか。 kagの変数の変更監視ループみたいなものを仕込もうと思いましたが、 クリッカブルマップを使っていて[s]で停止しているのでそれができず、困っています。 こういう場合同期ってどうやって取るもんなんでしょうか?
- 342 名前:名前は開発中のものです。 mailto:sage [2010/07/13(火) 13:44:03 ID:ajs1cP9o]
- >>341
メニュー部は kag.onなんたらMenuItemClick を呼び出すような構造になってるので、 それらの必要な部分を全部フックして必要な処理を書く
- 343 名前:名前は開発中のものです。 mailto:sage [2010/07/13(火) 13:58:12 ID:GmsJN3A5]
- 俺だったらメニュー消しちゃうなぁ 無粋だし
- 344 名前:名前は開発中のものです。 mailto:sage [2010/07/13(火) 18:16:59 ID:HCj+8wgM]
- 俺は自前のGUIにのっけてるのでメニューも自前だ。
全部TJSなんで気にならん程度に重いが。 まあ、メニューからの変更だろうがコンフィグからだろうが オブザーバーパターンで総括的に処理するのがすっきりするだろうな。
- 345 名前:名前は開発中のものです。 mailto:sage [2010/07/13(火) 21:38:18 ID:34K67KN6]
- コンフィグ画面での処理を「メニューの○○が押されたもの」と一致させりゃ楽でいいんじゃない?
コンフィグで「文字速度=最速(あるいはそれに似たような立場のボタン)が押された」時はメニューの 「一度読んだところは→ノーウェイト」が押されたとみなして処理をする……みたいなの
- 346 名前:名前は開発中のものです。 mailto:sage [2010/07/13(火) 22:05:39 ID:01lq/ZgM]
- せっかくクロージャもどきがあるんだからオブザーバーなんて回りくどいことしないで
インスタンスメソッドをそのまま渡せばいいのに 実質全く同じだよ
- 347 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 03:19:43 ID:esF+6Afs]
- ファーストクラスなだけでクロージャとか言われても。
その場凌ぎのデリゲートが大量発生してるC#コードや動的に関数定義しまくって わけわかめなjsコードみたいにならなければそれでいいと思うよ。 まあ、コードの見え方が違ってくる以上実質同じなんて言えんが。
- 348 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 08:08:38 ID:9otRy6Gy]
- ゲームにメニューバーってなんだかなあ
- 349 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 13:28:57 ID:RtMMVffX]
- オブザーバーだってその場凌ぎの無意味なクラス大量発生でしょ
吉里吉里でいうクロージャ(メソッドがインスタンスを引きずる)は たぶんオブザーバーというかイベントの簡略化のためにあるんだろうし
- 350 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 17:16:25 ID:y70Gf1u3]
- そもそもオブザーバーとかクロージャを一々意識してプログラミングする奴なんて吉里吉里使いにゃほとんど居ない気もするが……。
そこまでコーディングについて意識せず「めんどくせえしよく判らんから変数はすべてsfかfかtfの中で処理するお^q^」って奴でも動かせちゃうのがKAGだし
- 351 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 17:31:53 ID:VQa33D9U]
- そんな人にはTJSは使えないけどな
わざわざスクリプト言語上でイベントベースの非同期プログラミングを強要するという 何がしたいのかわけのわからない設計だからな
- 352 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 18:33:18 ID:4WbJIIhR]
- Twitterクライアントプラグインを開発→W.Deeたんの呟きを取得してKAGシナリオとして保存、再生する
『ツインテニーソ☆ビューワ』として公開、というプランを考えたんだけど面白そう(技術的に)?
- 353 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 19:03:53 ID:2r7FotAk]
- >>351
TJSに非同期なところは存在してないんだがなんか根本的な思い違いしてないか?
- 354 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 19:12:14 ID:VQa33D9U]
- 非同期ってマルチスレッドのことじゃないよ
一連の処理がイベントで分断されてしまうという意味 吉里吉里ではドキュメントでもまさにそういう意味で非同期という 言葉が使われてるから(AsyncTriggerなど)分かってくれるかと思ったけど
- 355 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 20:07:32 ID:2r7FotAk]
- >>354
TJS的な「一連の処理」はイベントで分断はされない。分断されないからこそ AsyncTrigger や Timer があるわけで。 イベントドリブンシステムにのせるべきスクリプトシステムとしては一貫性のとれた設計だ。 これを「わけのわからない」って言うほうがわけがわからん まあ、「一連の処理」ってのが、「ユーザが逐次実行したいこと」ってことで、 その実現のためにはまわりくどい書き方をしないといけないのはうざいってのが言いたいことなんだろうとは思うが。 イベントドリブン設計は、モジュールやコンポーネントつくるのには向いてるけど逐次実行記述には 向いてないってのは確か。 ただ、イベントドリブン処理系の上に逐次実行処理系を実装するのは比較的容易だが、 逆はとても大変なので、吉里吉里の設計は「汎用」エンジンとしてはすこぶる妥当だと思うがいかが?
- 356 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 21:10:05 ID:w6dp0TS/]
- 商業利用だと、吉里吉里+カスタマイズで十分なんだよな。
動作安定してるし。 足りない機能とかエフェクトはプラグインDLL作ればいいし。 吉里吉里2このまま不具合修正だけにして、安定版にしてほしいぐらい。
- 357 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 21:12:33 ID:CqEkscKI]
- まあシナリオファイル自体がイベントストリームで馬鹿正直にファイルの上から下に実行してるわけじゃないからな。
これならわざわざ別フォーマットつくるよりtjsをDSLとしてevalしちゃうのもありだとおもう。 rubyのmiyakoとかSGEのluaとかスクリプトを直接実行してるだろ。 >逆はとても大変なので HSPでXMLパーサ書いたときは地獄だった。
- 358 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 21:23:06 ID:4WbJIIhR]
- 名前空間はおろか構造体もないHSPでパーサかw
Cでベタ書きしたほうがましなくらいだなあ。
- 359 名前:名前は開発中のものです。 mailto:sage [2010/07/14(水) 21:42:39 ID:YAioA96+]
- パーサをCで書いてもコールバックする仕組みがないからハンドラ渡せないぞ
- 360 名前:名前は開発中のものです。 mailto:sage [2010/07/15(木) 17:27:11 ID:I1eHiMll]
- eruby、なんかタテになるんだが
が[eruby text="も" str="燃"]える で、 が 燃 える みたいになる
- 361 名前:名前は開発中のものです。 mailto:sage [2010/07/15(木) 19:02:41 ID:68OzebYf]
- SAXでなくDOMならコールバックを考える必要はないだろ。
- 362 名前:名前は開発中のものです。 mailto:sage [2010/07/15(木) 21:32:31 ID:NmSF5iXU]
- DOMはパーサじゃねーよ
- 363 名前:名前は開発中のものです。 mailto:sage [2010/07/15(木) 23:12:45 ID:68OzebYf]
- 構文解析機≒パーサなんだからDOMはパーサに決まってる(正しくはXMLパーサのサポートするAPI)だろ。
- 364 名前:名前は開発中のものです。 mailto:sage [2010/07/15(木) 23:15:45 ID:8ZpwUtIz]
- DOM自体はパーサじゃないがドキュメントを元にDOMを組み立てるのはパーサだ
吉里吉里のTJSパーサだって吉里吉里のソースを読んで抽象構文木(≒DOM)を組み立てるのが仕事だ
- 365 名前:名前は開発中のものです。 mailto:sage [2010/07/16(金) 01:11:50 ID:asQrSjDB]
- DOMはデータ構造のことでなくAPIだと何度言えば。
- 366 名前:名前は開発中のものです。 mailto:sage [2010/07/16(金) 01:18:54 ID:QqwpUINE]
- DOMは用語の定義とその操作には関与しているがほかは一切関与してない。
パースどころか表現がツリーであることすら定めてない。 中立的な仕様を提供してるに過ぎん。 DOMが実際に扱うソースはHTMLである必要はない。 だからxmlも扱えるしinfo set準拠であるならバイナリですら扱える。 xmlをバイナリにする場合ストリームを順に読めば処理できるようなフォーマットにするのが普通だからいわゆるパース作業も必要ない。 かならずしもパーサがあるとは限らん。 これは実装が決める事であって仕様は関係ない。実装と仕様を混同するな。 パーサはDOMを用意するものの一部でDOMはDOMだ。 DOMがはさみならパーサははさみ工場だ。 これで分からんなら無駄だからこれ以上騒ぐなよ。該当スレでやれ。
- 367 名前:名前は開発中のものです。 mailto:sage [2010/07/16(金) 05:32:34 ID:Den8rq9l]
- とりあえず Javascript のせてみたよー
- 368 名前:名前は開発中のものです。 mailto:sage [2010/07/16(金) 12:25:37 ID:SQrp+A7F]
- TJS→KAG→JavaScriptの三重構造ですか
- 369 名前:名前は開発中のものです。 mailto:sage [2010/07/16(金) 12:47:55 ID:MiPlIYkX]
- 美味しんぼなら決め技の料理にでてきそうな構造だな
- 370 名前:名前は開発中のものです。 mailto:sage [2010/07/16(金) 13:02:43 ID:Den8rq9l]
- ソース&ドキュメント
ttps://sv.kikyou.info/svn/kirikiri2/trunk/kirikiri2/src/plugins/win32/javascript/ バイナリ ttps://sv.kikyou.info/svn/kirikiri2/trunk/kirikiri2/bin/win32/plugin/javascript.dll サンプル ttps://sv.kikyou.info/svn/kirikiri2/trunk/kirikiri2/tests/javascript/ 吉里吉里の上に直接プラグイン実装したので TJS と同格。レキシカルクロージャ欲しい人はどうぞってことでw
- 371 名前:名前は開発中のものです。 mailto:sage [2010/07/16(金) 13:40:05 ID:2peXGs4w]
- >>360だけど、DLしたKSファイルが[ ]で\がないタイプだったからだわ。
俺は自動改行にしてるからだな。\追加したら治った。スレ汚しスマソ
- 372 名前:名前は開発中のものです。 mailto:sage [2010/07/16(金) 18:13:30 ID:+6m0pC/W]
- もともとDee氏のオナニーに付き合わされてるだけなんだよなw
一般的なスクリプト言語処理系を組み込むのに比べてわざわざ独自に実装するメリットは皆無 ユーザーはみんな幸せになれる 言語処理系の部分が無くなれば吉里吉里自体もシンプルになるし その分機能の充実に労力を回せる
- 373 名前:名前は開発中のものです。 mailto:sage [2010/07/16(金) 18:26:17 ID:vNp6Y0fO]
- >>372
当初Win標準の JScript つかってたけど遅すぎたから TJS 作ったという歴史的経緯を無視しちゃあかんよ。 TJSの性能はサイズ対性能比で考えると今でもかなり高い。V8 Javascript とか Ruby とかむちゃくちゃ富豪的 実際、10年来のアプリに最新スクリプト処理系が簡単に組み入れることができるってこと自体が異常で、 これは dee たんが言語マニアだったから言語処理用の基礎部分をきっちりつくりこんだことに寄ってる。TJSがあってこそだ。
- 374 名前:名前は開発中のものです。 mailto:sage [2010/07/16(金) 18:29:21 ID:MiPlIYkX]
- >その分機能の充実に労力を回せる
ここがイミフすぎる
- 375 名前:名前は開発中のものです。 mailto:sage [2010/07/16(金) 18:37:40 ID:2peXGs4w]
- TJSってコレ以外だとどんな分野に使われてるの?
- 376 名前:名前は開発中のものです。 mailto:sage [2010/07/17(土) 00:04:33 ID:ZBCq/brK]
- TJSは記述を楽にする機能が無さすぎ
せめてfor eachくらいあってもいいのに まあ吉里吉里のソースコード見てると、ダラダラと低レベルなコードを書くのが好きな人みたいだから TJSもそういう仕様になってるんだろうなとは思う
- 377 名前:名前は開発中のものです。 mailto:sage [2010/07/17(土) 00:19:32 ID:OQc3ol6+]
- foreachが無くて困るのならDictionary.assign()やArray.assign()とforを組み合わせて実質同等な処理書けばいいんじゃね?
記述を楽にするのはツールじゃなくて「ツールを見て『これ使えそうだな』と気づく人間」だと思うんだ
- 378 名前:名前は開発中のものです。 mailto:sage [2010/07/17(土) 01:03:55 ID:T1MiapF8]
- 自作しろよ。
EnumMembersでのコールバックとClassInstanceInfoでのディスパッチ組み合わせれば for-eachくらいは汎用に実装できる。
- 379 名前:名前は開発中のものです。 mailto:sage [2010/07/17(土) 02:01:50 ID:GQG5ovis]
- TJSはマイナーすぎて世界が広がらないのが駄目なところだな。
まあファンにも問題があるってことだな。
- 380 名前:名前は開発中のものです。 [2010/07/17(土) 03:56:51 ID:WEbvMDAL]
- 広がらなくてもそんなに困った事無いな。欲しいものは自分でやるか、ここで手に入るし。
吉里吉里そのもののプラグインはごうさんをストーキングしてれば大概間に合うしー。
- 381 名前:名前は開発中のものです。 mailto:sage [2010/07/17(土) 04:11:53 ID:ywooJ9I0]
- キャーごうさんなんかツクッテー
- 382 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 23:21:23 ID:MaMJ8IDw]
- 同人作りたい友達がさ、
「プログラムは吉里吉里と参考書があるからプログラマ2人しかいないし片方駆け出しだけど大丈夫!」って言ってるんだけど このソフトそんなに簡単なもの・・・? ここ見る限り凄い難しく見えるんだが。
- 383 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 23:25:08 ID:ccQDyBA8]
- >>382
おまえの頭が弱いだけだから大丈夫だ。
- 384 名前:名前は開発中のものです。 mailto:sage [2010/07/18(日) 23:31:28 ID:MaMJ8IDw]
- >>383
まあ実際弱いからなぁ・・・ 実際さっき書いた友人の発言が不安すぎてつい質問してしまった次第だし。
|

|