- 1 名前:名前は開発中のものです。 mailto:sage [2009/02/11(水) 21:45:09 ID:vk8ZBBdD]
- ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。 マルチポストはやめましょう。個人叩きも禁止です。 ※スレで質問をするときは※ KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、 FAQ、Google等で調べてからにしましょう。 努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ! 前スレ:■吉里吉里/KAG/TJS雑談質問スレ■その16 pc11.2ch.net/test/read.cgi/gamedev/1227735828/ 吉里吉里2/KAG3雑談質問スレ_過去ログ ttp://www.geocities.jp/kirikiri_log/ 吉里吉里ダウンロードページ ttp://kikyou.info/tvp/ ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は 初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。 ■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。 大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。 ■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる 数々のTipsが記載されています。 必要に応じて>>3-5の公式掲示板や講座等を併用してください。 (併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)
- 868 名前:名前は開発中のものです。 mailto:sage [2009/05/20(水) 21:14:31 ID:d5FuKKJa]
- またキタ('A`)
- 869 名前:名前は開発中のものです。 mailto:sage [2009/05/20(水) 22:16:51 ID:1UHRIwuf]
- 宣伝うんぬんより過剰反応過ぎて>>868がきめぇ
吉里吉里使ってる奴的に考えりゃ、表現できる場が増えるってのに何のデメリットもないしな
- 870 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 00:22:50 ID:mXb7WpTp]
- スレ建ててそっちでやれば?
- 871 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 01:00:51 ID:LraeSZ2r]
- そういう段階でも無い、
荒らし目的でレスしてるんじゃなければスルー推奨。
- 872 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 02:54:15 ID:ILCM8dZq]
- まあKagParserがごっそり変わってる俺には関係ないか。
- 873 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 04:05:50 ID:6FQi2KNL]
- そもそもKagParserなんて使わない俺も関係なし。
- 874 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 17:42:52 ID:+TdkrSOE]
- 蒸し返しで申し訳なんだけど、俺は
ttp://pokeita.4ever.jp/modules/wfdownloads/singlefile.php?cid=5&lid=10 で問題ないんだけどな。 わざわざ自分で頑張ろうとする意図が分からん
- 875 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 17:45:38 ID:+TdkrSOE]
- って、↑のやつのreadme見てたら
(注2) シナリオを書き換えた後、シナリオを書き換える前のセーブデータを読み込むと 既読チェックが正しく行われなくなったり、エラーが発生する場合がありますので、 シナリオを書き換えた後は、書き換える前のセーブデータを読み込まないようにしてください。 って書いてあった。おわた。
- 876 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 18:13:17 ID:xVw3qHTd]
- シナリオ全部完成させてから
*連番| を一括挿入 パッチ当てるときは続きの数字から 最初は*を散らかすのに抵抗あったけど なんだかんだで一番メンテしやすい気がしたし 書いてみると会話の区切りがわかりやすくなった気がした
- 877 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 23:27:06 ID:mQqQlRys]
- >>873
KAG使わない吉里吉里の用途ってなんだ?
- 878 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 23:30:21 ID:pyofNKSm]
- 俺も吉里吉里は使うがKAG使えないよん
- 879 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 23:31:09 ID:HMWGRAiM]
- 最初はKAGで組んでいたはずなのにいつのまにかほとんどtjsに書きかわっていたでござるの巻
- 880 名前:名前は開発中のものです。 [2009/05/21(木) 23:37:56 ID:oG9xodDZ]
- ……とのことです。>>877
ある程度のレベルになると、KAGはフレームワークとして使いづらいものである ことが分かってくる。KAGに相当するものを自分で作った方が効率的に開発できる。 そういうものなんです。 俺は最初からKAGは眼中にはなかったけどな。 ↑のような偉そうな理由ではなくて、他人のソースを読んで拡張したりする のが嫌だというのが主な理由だけど。 俺以外にもいるはずだ。車輪の再発明が大好きな愚か者がw
- 881 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 23:50:56 ID:pyofNKSm]
- 確かに自分でライブラリを作る作業は楽しいなw
- 882 名前:名前は開発中のものです。 mailto:sage [2009/05/21(木) 23:53:26 ID:mQqQlRys]
- いや俺もKAGは原形をとどめてないがTJSでごちゃごちゃやるくらいなら他の言語なり組み込み言語使えばいいと思うんだ。
いくら再開発とはいえど流用できる所は使ってるし。 学習しやすい仕様で規模の小さいTJSという言語で書かれた資産を流用しない場合の吉里吉里の価値ってなんだ? て聞いた方がよかったな。
- 883 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 00:02:37 ID:NZUOC8y4]
- 「レイヤー」が答えの一つになると思う
- 884 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 00:03:24 ID:TPiivfJE]
- なんかKAGオンリーの自分が恥ずかしくなるな・・・。
- 885 名前:880 mailto:sage [2009/05/22(金) 00:11:25 ID:9BH3OGpU]
- 俺は>>880で言ったとおりだな。
合理的な理由があるわけじゃなく、単にプログラマとしての適性がないんだと思う。 人が作った資産を効率的に使い回すよりも、自分ルールで1から資産を作りたい。 そういう気質。 他の言語とか組み込み言語については、頭が悪いから俺では無理ということで回避。 吉里吉里とtjsの組み合わせって、2Dゲームエンジンとしては破格の汎用性と シンプルなアーキテクチャを兼ね備えた素晴らしいシステムだと思ってます。
- 886 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 00:29:42 ID:if6LL0l7]
- その割りに吉里吉里発のゲームが少ないのはどういう事なんだろうなぁ
アクションとか皆無に近いし
- 887 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 00:37:36 ID:679pfLDn]
- 小さいアプリとか作るのもわりかし便利だけど
実行ファイルがでかいので配布するのに向いてない気がする
- 888 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 00:48:05 ID:b+UwqgMg]
- 俺の場合は、KAGを拡張してるけどな。
KAGが安定しているので(かなりのユーザに動作検証されているので)、使った方がいいと判断。 フリーズバグとかあった日には回収がしゃれにならんからな。 そのおかげでKAGはカオスなことにw >>886 俺の周りにtjsだけで作ったアクションとかシューティングを作った人はそこそこいる。 ただ、仲間内で遊んで自己満足で終了。
- 889 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 00:54:19 ID:MaQuDTyz]
- 吉里吉里は2Dエンジンというより(汎用性の高い)マルチメディア再生エンジンじゃないか?
レイヤはあるけど2Dエンジンとして使った場合、 スプライトとか当たり判定を自分で実装しなきゃならんのは面倒だ。 レイヤはスプライトとして貼りまくると重いしな。 レイヤの実装見直してくれんかね。
- 890 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 00:57:50 ID:WiLPYz25]
- 職人気質だと作り直したくなるんじゃない?
現役プログラマだと手間をかけないで再利用と言う方向に走る。
- 891 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 01:01:34 ID:2xoFYKJ3]
- レイヤの実装がかわったら吉里吉里の価値が減るべ
- 892 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 01:08:07 ID:MaQuDTyz]
- いや俺が言ってるのは内部実装軽くしてくれって事だよ。
非互換性のでるような話はしてない。
- 893 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 01:28:38 ID:2xoFYKJ3]
- あれ以上最適化するのはかなり難しいと思われ
- 894 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 01:34:26 ID:WiLPYz25]
- tjsでアクションゲーム作るなら汎用言語使ってもいいような気がしないでもない.
- 895 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 01:35:45 ID:KzOKA9R2]
- TJSでミニゲーム作ったりはするけど
ある程度のアクション系はAS3.0で作るわ。
- 896 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 02:43:01 ID:MaQuDTyz]
- ES4がぱぁでAS3なみだ目だな。
fateのミニゲーム並みのものは汎用言語使いたいよね。
- 897 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 02:44:54 ID:2xoFYKJ3]
- 実はツールつくるのにすごい便利だったりする>吉里吉里
人様にみせれる状態じゃない俺俺ツールだから日の目を見ることはないだろうけど…
- 898 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 03:49:22 ID:BTQkAqxb]
- >>897
参考までにどんなものかkwsk
- 899 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 04:05:22 ID:2xoFYKJ3]
- >>898
・PSDをレイヤ分割して切り出してUI素材を生成したり、asdを自動生成したり ・合成済み画像を逆に差分データ化 ・テキストのリストから仮素材を自動生成して保存 こんなかんじ。 画像処理用の環境として優秀だよ。 あと、COM制御できるんで、EXCELとかを扱うツールも JavaScript や VBScriptじゃなくてTJSで書いちゃう。
- 900 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 04:22:48 ID:MaQuDTyz]
- >・テキストのリストから仮素材を自動生成して保存
この発想はなかったわ。俺もつくろ
- 901 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 04:39:52 ID:BTQkAqxb]
- >>899
是非ソースコード付でうpしてほしい
- 902 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 06:44:10 ID:2w1Xon07]
- > ・テキストのリストから仮素材を自動生成して保存
これくれ
- 903 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 06:53:00 ID:LkP5IbLj]
- 縦サイズ,横サイズ,ファイル名のcsvファイルから画像仮素材を生成するツールなら俺も自作して使ってるね
仮素材なんていちいち作るのめんどいし
- 904 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 08:58:34 ID:AoLfhqtL]
- 背景表示マクロの中に指定ファイルが存在しなければ仮画像を生成するとか思いついた。
フォルダ覗けば足りない素材が感覚的に分かる。素材埋めるのが自分の役目だったらもうね……
- 905 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 10:25:01 ID:5nQWAFGA]
- >>904
そんなのは1000年前に通った道なわけだが。 実はそれ、初期時に、ものすげーデバッグの邪魔になる。だって間違って指定した 画像が勝手に作られて表示されてしまうんだもの。実際にそれが必要な画像かどうか 正しい画像一覧と比較する必要が出来て、なんというかほとんど意味がなかった。 結局、適切にダミー生成するツールを使った方が良いという結論に落ち着いた。
- 906 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 17:44:13 ID:NClyFtY/]
- 文字をずらずらっと表示して、画面下から文字が溢れたら、自動で改ページするやん?
そのときの処理を拾うことは出来ないの? 改ページ[p]の代わりに新しいマクロ作って、ページが変わるごとに何かを降らすってことやってるんだけど 自動で改ページされるとスルーされちゃうんだよね
- 907 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 18:22:02 ID:OuKcRlGu]
- 今みてきたらMainWindow.tjsのshowPageBreakAndClear()が自動改ページされるときに呼ばれるらしいよ
- 908 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 18:23:13 ID:hVe7kveM]
- そこはMessageLayer.processCh(ch)でやってるからそれいじる。
- 909 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 19:38:41 ID:LkP5IbLj]
- 自動改行ならprocessChのreturnがtrueになるからそれを利用すればいいかと思う
- 910 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 19:43:05 ID:LkP5IbLj]
- 改行じゃなくて改ページか
- 911 名前:名前は開発中のものです。 mailto:sage [2009/05/22(金) 20:41:04 ID:NClyFtY/]
- tjsは初心者なんだけど、リファレンスでも読めばなんとかなるん?
まぁとりあえず読んでくる。 ”いじる”とか”利用する”とか言われても、よく分からんTT どうせtjsは必要になるよね、きっと!
- 912 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 02:24:37 ID:ZrYd0oH6]
- 一度シナリオを最後まで終え、タイトル画面に戻ったときに枠画像が残ってしまいます。
タイトル画面ではボタンを使って各種メニューを表示しており、枠画像が出てしまうかメッセージレイヤーそのもの が非表示になるかのどちらかしかできません。 ボタンも枠画像を使ったメッセージも同じレイヤーです。 [jump storage=first.ks]\ ←シナリオの最後です [s]\ *start|start ←タイトル画面(first.ks) [er]\ [startanchor]\ [loadplugin module="wuvorbis.dll"]\ [history enabled=false output=false]\ [layopt layer=message0 page=back visible=false left=30 top=425 width=740 height=160 marginl=40 margint=20 marginr=25 marginb=0 frame=枠画像]\ [rclick enabled=false]\ [position layer=message0 page=back visible=true left=0 top=0 width=800 height=640 marginl=0 margint=0 marginr=0 marginb=0 opacity=0]\ [image layer=base page=back storage=タイトル画像]\ [trans method=crossfade time=500]\ [wt]\ [locate x=20 y=360]\ [button graphic=ボタン画像 target=*メニューへ]\ 〜 枠画像をリセットして起動時と同じようにボタン表示するにはどうすれば良いのでしょうか…。
- 913 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 02:32:33 ID:DFj8OCTi]
- いろいろ気になるところはあるけど、とりあえず
[jump storage=first.ks]\ を [gotostart]\ で希望の動作になるかな
- 914 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 07:00:31 ID:sdiCf25Y]
- 質問があります。
強制スキップさせる時に kag.onSkipToNextStopMenuItemClick(kag)=1 と指定しているのですが それよりもこうした方がいい、というやり方はありますか? あったら教えていただきたいなー、と。
- 915 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 09:39:56 ID:RseaAKnM]
- 強制スキップってのを何処で使うか知らんがシステムボタンやメニューバーなら
kag.skipModeEnabledCheck = function(){ return tflags.強制スキップの許可 || ( !historyLayer.visible && inStable && !skipMode && !transCount && !tflags.スキップの不許可 ); }incontextof kag; kag.skipToNextStopMenuItem.click() if kag.skipModeEnabledCheck(); でどうだ?
- 916 名前:914 mailto:sage [2009/05/23(土) 12:02:43 ID:sdiCf25Y]
- >>915さん
返答ありがとうございます。 ぱっと見でどこにどう書けばいいか分からなかったので (buttonタグのexp属性のcallExtraなんたらの呼び出し先あたりかとは思いますが) リファレンス眺めながら分かったつもりになりたいと思います ありがとうございました。
- 917 名前:名前は開発中のものです。 [2009/05/23(土) 16:06:19 ID:lNEHUuyk]
- 全ての吉里吉里ユーザーの目標はふひきーに結集していたりして
- 918 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 16:32:03 ID:WAfJR23H]
- 前景レイヤについての質問です。
この度、KAG3からKAGEX2への鞍替えを試みてみたのですが、 KAG3では動かせていたアニメーション付き立ち絵が読み込まれなくなっていました。 ・Infomation 『タグ:image (void)からObjectへ型を変換できません。 Object型が要求される文脈で Object型以外の値が渡されるとこのエラーが発生します』…とありました。 なお、scenarioファイルの立ち絵アニメーションのスクリプトには、 例:[layopt layer=1 page=fore visible=true][image stopage="○○" page=fore pos=c] [animstart layer=1 seg=1 target="△△" loop=true] ……と記述しております。 どなたかKAGEXでもこのアニメーションが使用できるようになる方法をご教授頂けませんでしょうか?
- 919 名前:名前は開発中のものです。 [2009/05/23(土) 19:04:52 ID:bJY2XX76]
- >>918
KAGEX2は知らんから違うかもしれんけど、 stopage → storage の誤記は関係ない?
- 920 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 19:33:39 ID:WAfJR23H]
- >>919
すみません、そこは誤記です。 実際にはご指摘の通りの記述となっています。
- 921 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 21:41:59 ID:JJi+4+fW]
- そういうのは、再現スクリプトを添えて作者に送るって聞くのが妥当
- 922 名前:名前は開発中のものです。 mailto:sage [2009/05/23(土) 22:02:00 ID:MYYxVz1H]
- KAGEXかあれ使うくらいなら自分で作るな。
- 923 名前:名前は開発中のものです。 [2009/05/24(日) 00:21:25 ID:pnmCsuvc]
- >>918
ちょっと自信ないけど、[image] と [animstart] の間に [eval exp="kag.fore.layer1.onPaint()"] を追加すれば直るかもしれない。
- 924 名前:923 mailto:sage [2009/05/24(日) 01:47:55 ID:pnmCsuvc]
- 訂正
× [eval exp="kag.fore.layer1.onPaint()"] ○ [eval exp="kag.fore.layers[1].onPaint()"]
- 925 名前:名前は開発中のものです。 mailto:sage [2009/05/24(日) 02:32:18 ID:EAJfAA1K]
- >>913
ありがとうございました。
- 926 名前:名前は開発中のものです。 mailto:sage [2009/05/24(日) 20:52:24 ID:Z7fI+5AZ]
- 数字のみ入力可能で、
最大値や最小値とかも設定できるEditLayerのプラグインって どこかで配布してないかな? 自分で作るのめんどいお・・・
- 927 名前:名前は開発中のものです。 mailto:sage [2009/05/24(日) 21:07:55 ID:Ueit/9Lw]
- そんなん作るほどでもなくね・・・
- 928 名前:名前は開発中のものです。 mailto:sage [2009/05/24(日) 22:25:24 ID:/itBFIHz]
- EditLayer継承して適当にサブクラス作って、onKeyPressとか必要なところをちょっとオーバーライドするだけだな…
- 929 名前:名前は開発中のものです。 mailto:sage [2009/05/24(日) 23:45:07 ID:Z7fI+5AZ]
- いや割とめんどいと思ったんだけど、
数字以外の入力は弾いて、 範囲外の数字入力されたときに他レイヤーにフォーカス移ったら 値入れ替えて・・・ あ、書いてみたら簡単な気もする 面倒に感じるのはVCL使ってたせいだな
- 930 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 01:31:16 ID:27NZkDJc]
- >>923
ご返答ありがとうございます。 早速記載のタグを試させて頂いたところ、 ・Infomation 『タグ:image(void)から〜(以下同文)』…と出ました。 どうやらlayoptエラーからは抜け出せたようなのですが、続いて今度はimageから同じ症状が検出されたという…。; 度々の質問で申し訳ないのですが、これは同様のタグで解決できるものなのでしょうか?
- 931 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 03:06:23 ID:jqPaGBLl]
- kagのcallタグってどこで書き変えたらいいんだろうか
探してるんだが見逃してしまっているようで見つからない…… kag.callExtraConductorがcallタグに相当するというのはわかったんだが、 callタグとは動作が違うからcallタグそのものを書き変えたいんだ
- 932 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 03:34:44 ID:E0M6mYRC]
- >>931
なにをしようとしてるのか知らんが、jump とか if とかと同様、KAGParser の組み込み機能だから 書き換えようと思ってもムリ。call/return 時に付随した処理は onCall と onReturn で可能
- 933 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 03:54:54 ID:jqPaGBLl]
- >>932
解決した ありがとう
- 934 名前:923 mailto:sage [2009/05/25(月) 19:29:29 ID:TWw7Q1DM]
- >>930
エラー内容が変わらないのだから、「layoptエラーからは抜け出せた」というのは理解できない。>>923-924はダメっぽいので忘れてください。 ちなみに、下記のテストコードはKAGEX2 でも動くのを確認したから、 これと比較しながら検証してみては? テストコードは ttps://sv.kikyou.info/trac/kirikiri/browser/kirikiri2/tags/2.30rc1/kag3/tests/scenario/animtest.ks 画像ファイルとアニメーションファイルは ttps://sv.kikyou.info/trac/kirikiri/browser/kirikiri2/tags/2.30rc1/kag3/tests/image/ の ch.png, ch_a.png, ch.asd
- 935 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 23:03:19 ID:S+anN2v1]
- >>932
KagParserをDLL作れる言語で継承すればいいだけじゃね?
- 936 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 23:20:43 ID:ObrkX5k1]
- >>935
仕組みわかってないのに発言するのはやめとけ。 KAGParser の仕様ながめて、「継承」で call 機能の上書きが 可能かどうかじっくり考えてみるといい もちろん getNextTag を含む全部のメソッドを再実装すれば可能だが、 それはもはや継承する意味がない。
- 937 名前:名前は開発中のものです。 mailto:sage [2009/05/25(月) 23:56:20 ID:S+anN2v1]
- そりゃC++なら継承しかできないんだから継承して全部再実装するしかないわな。
お前と継承の問題点を話す気はないよ。
- 938 名前:名前は開発中のものです。 mailto:sage [2009/05/26(火) 00:00:59 ID:HIUE+sG7]
- 何を言っているのかさっぱりわからないんだけど。
- 939 名前:名前は開発中のものです。 mailto:sage [2009/05/26(火) 00:44:47 ID:5n+5k0iQ]
- >>937
C++とか関係ないから。KAGParser の仕様を把握した上での発言なら おまえの目はフシアナ。さもなくば、仕様もみずに適当ぶっこいてるだけ。 どっちにしてもロクなもんじゃない。
- 940 名前:名前は開発中のものです。 mailto:sage [2009/05/26(火) 00:51:21 ID:wPoNtikU]
- 無駄に煽ってるのには何か理由があるのか?
- 941 名前:名前は開発中のものです。 mailto:sage [2009/05/26(火) 01:05:47 ID:ywP+Ag7s]
- 931は俺なんだけど、もう>>932で解決してしまったから、
正直なところ、なんでこの話題伸びてるんだろう、みたいな
- 942 名前:名前は開発中のものです。 mailto:sage [2009/05/26(火) 15:45:46 ID:uPGTHKpr]
- もう発端はどうでもいいんだろ
- 943 名前:名前は開発中のものです。 mailto:sage [2009/05/26(火) 16:17:39 ID:JvkuC56a]
- ほったんほあーほあー
- 944 名前:名前は開発中のものです。 mailto:sage [2009/05/26(火) 22:14:25 ID:nI59lGR6]
- 質問させてください
所持アイテムでイベント分岐するゲームを考えています。 数が多いのでtjsで作ろうかと思ったのですが 頭が回らず苦しんでいます。 起動時に配列をつくり f.果物[] アイテムが出たら、配列に順次入れていく ルートによって入手する物が違う (マクロで代入?) f.果物[0]=りんご f.果物[1]=みかん 分岐判定は f.果物の配列に何かしらあったらその名前で分岐 f.果物を何も入手していない場合は、していない分岐 (if exp="f.果物.count==0")? マクロ代入まではおぼろげに形がつかめそうなのですが 分岐判定をどうしていいのかが解りません ご助言いただけましたらお願いします。
- 945 名前:名前は開発中のものです。 mailto:sage [2009/05/26(火) 22:36:27 ID:nWyrUshI]
- どんなんにしたいのかしらんけどArray.find()でも使えばいいんじゃね
- 946 名前:名前は開発中のものです。 mailto:sage [2009/05/26(火) 23:47:50 ID:AnCyA5Lz]
- >>944
1.アイテムが出たら、配列に順次入れていく f.果物 = []; f.果物.add = 'りんご'; f.果物.add = 'みかん'; ↓ f.果物[0]=りんご f.果物[1]=みかん 2. f.果物の配列に何かしらあったらその名前で分岐 f.果物を何も入手していない場合は、していない分岐 if( f.果物.count < 1 ){ // なにも入手していない場合 kag.process('なにも入手していない場合のシナリオ.ks', '*適当なラベル' ); } else { }
- 947 名前:名前は開発中のものです。 mailto:sage [2009/05/26(火) 23:51:29 ID:AnCyA5Lz]
- >>946追記
if( f.果物.count < 1 ){ // なにも入手していない場合 kag.process('なにも入手していない場合のシナリオ.ks', '*適当なラベル' ); } else { //あとはここにswitchで分岐するなりifで書くなりして分岐 //分岐の仕方が明記されていなくてどう分岐したいかわからない。ここは自分で考えてくれ }
- 948 名前:名前は開発中のものです。 mailto:sage [2009/05/27(水) 01:00:06 ID:pY2nF+Fw]
- まあ、まずは KAGの範疇で考えるこった
; 変数初期化用マクロ [macro name=initfruit] [eval exp="f.果物 = []"] [endmacro] ; 果物追加用マクロ [macro name=addfruit] [eval exp='&"f.果物.add(\""+mp.name+"\")"'] [endmacro] [initfruit] [addfruit name=りんご] ; なにも拾ってない [jump target=何もない cond='f.果物.count==0'] ;りんごみかんの順に拾った [jump target=りんごみかん cond='f.果物.count > 1 && f.果物[0]=="りんご" && f.果物[1]=="みかん"'] ;みかんりんごの順に拾った [jump target=みかんりんご cond='f.果物.count > 1 && f.果物[0]=="みかん" && f.果物[1]=="りんご"'] ;どこかでメロンをひろった [jump target=りんご cond='f.find("メロン")>=0'] ; 最初にりんごを拾った [jump target=りんご cond='f.果物[0]=="りんご"'] ; 最初にみかんを拾った [jump target=みかん cond='f.果物[0]=="みかん"'] ; 以下必要なだけ順番を考えて条件列挙 [jump target=どれでもない]
- 949 名前:名前は開発中のものです。 mailto:sage [2009/05/27(水) 01:04:23 ID:W46O6gll]
- tjsを書けるようになると、kagで書くほうが制限あってめんどくさく感じてしまう俺……
- 950 名前:名前は開発中のものです。 mailto:sage [2009/05/27(水) 03:44:46 ID:pf7jHxG5]
- つーかkagっていつの間にかelseタグが実装されてるんだな。
昔else if がkagで出来なかったから200列ぐらいのifタグを書いた記憶が…
- 951 名前:名前は開発中のものです。 mailto:sage [2009/05/27(水) 07:01:07 ID:z/2WzjLs]
- タグリファレンスに載ってないような
- 952 名前:名前は開発中のものです。 mailto:sage [2009/05/27(水) 08:18:47 ID:qcE159Yw]
- KAGのelse実装は結構嬉しかったな
- 953 名前:名前は開発中のものです。 mailto:sage [2009/05/27(水) 10:31:33 ID:PvUPUukp]
- 新しいリファレンスには,
タグリファレンスの変数・TJS 操作のところに、elseとelsifが追加されているね 気がつかなかった
- 954 名前:名前は開発中のものです。 mailto:sage [2009/05/27(水) 11:09:04 ID:YROPw1jJ]
- >>945->>948
ありがとうございます! やりたい分岐は 果物を1個もっていれば、その果物専用のラベルへ 2個以上あれば選択画面をだして選択させて 分岐していく物を考えていました f.果物の種類が多いので、持ってる物だけ要素に入れて f.果物の要素内を種類名で検索、分岐という形です 変数を種類ごとに作り、それをifで分岐を書けばいいのですが、 種類が多いためkagだと長くなりすぎるような気がしまして 頂いたレスを参考にかんばってみます
- 955 名前:名前は開発中のものです。 mailto:sage [2009/05/27(水) 11:30:16 ID:pY2nF+Fw]
- >>954
; 1個もってればその果物専用のラベルへ [jump target='&"*label_"+f.果物[0]' cond='f.果物.count==1'] ; 複数の場合は選択 [eval exp='tf.count=0'] *fruit_sel_loop [link target='&"*label_"+f.果物[tf.count]'][emb exp='f.果物[tf.count]']を食べる[endlink][r] [eval exp='tf.count++'] [jump target=*fruit_sel_loop cond='tf.count<f.果物.count'] [s] これであとは *label_果物名 のラベルつくっとけばおk & の使い方と、あと cond をうまく使うと、KAGでも凝った処理をすっきり書ける もっと複雑になるようなら、tjs 判定かけつつ KAGのタグを差し込み生成するのがわかりやすい。 詳細は過去スレ。
- 956 名前:名前は開発中のものです。 mailto:sage [2009/05/27(水) 14:39:38 ID:YROPw1jJ]
- >>955
おおお、ありがとうございます! kagでもこんなにすっきり書けるんですね 参考にさせていただきます tf.countの使い方が目からうろこが落ちました tjsでforのループ文はリファレンス等で解ったのですが それをkagでどう書くかというのが浮かばなかったので とても勉強になりました tjs判定の差込生成も気になるので 過去ログあさってこようと思います ありがとうございました!
- 957 名前:930 mailto:sage [2009/05/27(水) 18:23:20 ID:1BYtdhr9]
- >>934
ご指定頂いたソースで試みたところ、かろうじて動きました! まだ動作が少々不安定な箇所があるので、試行錯誤しながら確実な物にして行こうと思います。 長い間この問題で詰まっていただけに、本当に助かりました。 的確なアドバイス、ありがとうございました!
- 958 名前:名前は開発中のものです。 mailto:sage [2009/05/29(金) 12:51:38 ID:kIF/7q9A]
- ちょっとスレ違いになってしまうかもしれませんが、質問させてください。
ttp://ymtkyk.sakura.ne.jp/krkr.STG/ こちらのサイトで公開されている、extNagano.dllのMorphingトランジションを使いたいのですが、 使用する頂点座標の計算方法が分かりません。 どなたかお教えいただけないでしょうか? よろしくお願いいたします。
- 959 名前:名前は開発中のものです。 mailto:sage [2009/05/29(金) 12:59:20 ID:JerzIL+x]
- どのスレいっても筋違いだろ、そのサイトに質問しろよwww
- 960 名前:名前は開発中のものです。 mailto:sage [2009/05/29(金) 14:35:09 ID:MT1BeTVZ]
- >>958
同じくモーフィング使いたかったんだが、ダメだったんだよな。 トライしたのが1年以上前なので、どんなエラーだったか忘れてしまった。 三角形の座標6点は、まず自力で三角形をいくつか作って座標を出して、 それを元にexcelで、800×600画面を埋めるようにコピーして増殖させた記憶がある。 もっとスマートに出来そうなもんだけど、それしか思いつかず。 試しに動かして見たかっただけだったので、作者さんには質問せずに投げてしまったので、参考にならずにスマン。
- 961 名前:名前は開発中のものです。 mailto:sage [2009/05/29(金) 14:45:55 ID:9k6g/CgJ]
- これ以外にも吉里吉里でSTGやらアクションやらやってるところってないんかな?
- 962 名前:958 mailto:sage [2009/05/29(金) 18:07:47 ID:kIF/7q9A]
- >>959
分かりにくい書き方ですいません。 四角形(レイヤ)の中に三角形をタイルのように敷き詰め、その三角形の座標を使うのですが。 サンプルには座標が羅列されたファイルが入っていて、それを使用しているんです。 ……われながらとても分かりにくい説明だと思います。 ただ、数学的な問題なので、作者様に聞くのもどうかと思いまして。 更新も長らくされていないようですし。 >>960 レイヤからはみ出さないように乱数を作成してやってみたんですが、途中で止まってしまいました。 開始は出来るのでトランジション中の問題だと思うのですが、エラーになる条件がいまいちわかりません。 >>961 横スクロールとかはあったような……。 開発環境さえあれば、もっと作りやすいと思うのですけれど。
- 963 名前:名前は開発中のものです。 mailto:sage [2009/05/29(金) 18:52:22 ID:EMt4AjIi]
- モーフィングの頂点座標の指定って
てっきりフィーリングでやるもんだとばかり…定石な計算方法とかあるのか? (ex.例えば顔同士なら、両方の画像に同じ数、同等に頭の天辺、目尻、顎の先、って感じで点を決める。 点を結び重ならない三角をつくり、2つの画像で対応する三角の座標を順次指定…) モーフィング以外でも958のとこのトランジション、カッコイクテイイー でも、重そ……と思った以前、来年あたり挑戦してみたいのー
- 964 名前:名前は開発中のものです。 mailto:sage [2009/05/29(金) 19:15:09 ID:HcgO41nD]
- >>958のはdllのソースがないとわからん
cppどこかにあるの? ないなら作った本人以外は詳細な仕様はわからんよ。試行錯誤するしかない これは制作者に聞くべき
- 965 名前:名前は開発中のものです。 mailto:sage [2009/05/29(金) 19:22:40 ID:GC5STOyT]
- extNagano.txtに
befor: 変形前の三角形を、整数の配列で指定します。 三角形一つにつき6つの整数で指定します。n個の三角形にたいして 6n 個の整数を使用します。 [ ax1, ay1, ax2, ay2, ax3, ay3, bx1, by1, bx2... after: 変形後の三角形を、整数の配列で指定します 三角形一つにつき6つの整数で指定します。n個の三角形にたいして 6n 個の整数を使用します。 [ Ax1, Ay1, Ax2, Ay2, Ax3, Ay3, Bx1, By1, Bx2...
- 966 名前:958 mailto:sage [2009/05/29(金) 23:55:19 ID:kIF/7q9A]
- ごった煮プラグインの中に、triangulateという三角形分割関数があるのを発見。
頂点の配列をこれに投げれば、なんだかできそうな気がしてきました。
- 967 名前:名前は開発中のものです。 mailto:sage [2009/05/30(土) 02:15:53 ID:asQBr6X7]
- 久々に公式日記見たら、
吉里吉里3はお蔵入りするんじゃないかと思えてきたw 2010年中に出来るかなあ・・・
- 968 名前:名前は開発中のものです。 mailto:sage [2009/05/30(土) 19:51:53 ID:YFwMIN6U]
- >2010年中に出来るかなあ・・・
一瞬次期C++の話かと思った。Boostでいいよもう。
|

|