1 名前:名前は開発中のものです。 [2012/06/10(日) 15:57:26.54 ID:TMnyIjmA] ノベルゲーム製作ツール吉里吉里/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-5 の公式掲示板や講座等を併用してください。 (併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります) 前スレ ■吉里吉里/KAG/TJS雑談質問スレ■その25 toro.2ch.net/test/read.cgi/gamedev/1323994344/
285 名前:名前は開発中のものです。 mailto:sage [2012/08/12(日) 16:39:26.99 ID:ILpjKAhQ] 吉里吉里3まだー?
286 名前:名前は開発中のものです。 mailto:sage [2012/08/12(日) 20:52:53.69 ID:b+2mjcOD] >283 できるか? といえば、できるが、 容易にできるか? といえば、できない 初心者向けの解決策として、表示結果だけを求めるならば 件の問題を対処するには、 反転させた画像素材を、別途用意しておいて 必要に応じて pimage すれば 動作結果は、 pimage に flip属性があって 反転しているように見える pimageタグで、flip属性 を使用できるように、tjsで改造して機能を追加する なんてことをするのは、 自分自身が初心者であると感じているうちは、手を出さないほうがいい 中級者、上級者でも、てこずる解決方法です
287 名前:名前は開発中のものです。 mailto:sage [2012/08/13(月) 00:44:45.13 ID:Lux0SRZN] >286さん 283です。自分もそのように反転画像を作る解決策は考えていましたが、 立ち絵の表情差分にその方法を適用すると数が多いため、悩んでおりました。 しかしやはりtjsをカスタマイズする必要があるのですね… 上級者でもてこずる方法とは恐れ入りました。 flip属性は、レイヤそのものを反転させられてこそ、という 仕様における考え方なのでしょうか。 難しいという事実は残念ではありますが、 返信ご丁寧にどうもありがとうございました。楽をせずに頑張ってみます。
288 名前:名前は開発中のものです。 mailto:sage [2012/08/13(月) 00:58:00.65 ID:B4eV59Qm] ていうかflip属性ってなんだよimageにそんなのあったのか。 先週反転画像用意したばっかりだよバカじゃん。
289 名前:名前は開発中のものです。 mailto:sage [2012/08/13(月) 01:30:52.02 ID:sOLXU1to] 998 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2012/08/12(日) 04:30:37.03 ID:G9gQhxyp0 >>X Wheelは便利だけどさ、あれって吉里吉里製のゲームと相性悪いよね >>X Wheel起動したままだとホイールが効かなくなるんだよな >>吉里吉里のゲームはかなり多いし、何かX Wheelと似た機能の他のフリーソフトないもんかね エンジン設定ツールが付いてるものは、ホイール検出をウインドウメッセージにすればおk 付いていない場合は他の付いてるゲームのエンジン設定ツールをそのままフォルダにコピーすれば使える ただ、どっちにしてもホイールを使うとフルスクリーン時のメニューバーがグレイアウト点滅状態になって セーブロードとかEXITとかがここにしか無い場合は面倒なんだよね
290 名前:名前は開発中のものです。 mailto:sage [2012/08/13(月) 13:11:11.35 ID:Lux0SRZN] 再び283ですが、難しい方法でもやはり将来の向学のために pimageのプログラムによる画像反転について TJS改造他、何かしらの解決策をお伺いできればと思います。 ここに書けるだけのアドバイス、ヒントだけでも構いませんので どなたか、どうぞよろしくお願いいたします。
291 名前:名前は開発中のものです。 mailto:sage [2012/08/13(月) 15:22:51.35 ID:5I823miX] >290 MainWindow.tjs にて、pimage タグは以下のようになっている pimage : function(elm) { // 部分追加画像読み込み getLayerFromElm(elm).loadPartialImage(elm); return 0; } incontextof this, AnimationLayer.tjs にて、loadPartialImage()を定義している function loadPartialImage(elm) { // 部分追加読み込みを行う // この読み込みメソッドは レイヤそれ自体の // 色調補正、フリップなどの設定に従う // (従って pimage タグ自体には色調補正や // フリップ関連の属性はない ) 件の案件を解決するには、上記の2点を踏まえたうえで、 独自に pimage の挙動を tjs で作る必要がある
292 名前:名前は開発中のものです。 mailto:sage [2012/08/14(火) 13:46:46.03 ID:f50Zlp43] >291さん 290です。AnimationLayerのほうに書かれてあったのですね! 自分は作品内でアニメーションしないので、そちらの解説は読み込んでいませんでした。 場所がわかっただけでも非常に参考になりました、ありがとうございました。 TJSのことも含め、良い機会だと思って勉強してみます。
293 名前:名前は開発中のものです。 mailto:sage [2012/08/14(火) 20:53:09.28 ID:Hs9NZRCR] できませんで結論が出そうになってるけど、283のようなことは デフォルトでできるよ。 [image layer=0 page=fore storage=uni] [pimage layer=0 page=fore storage=unifore dx=10 dy=10] [p] [image layer=0 page=fore storage=uni] [pimage layer=0 page=fore storage=unifore dx=10 dy=10] [s] とやると、二番目のuniforeはlayer=0に付随して反転して 貼られる。座標も反転する。試してみて。
294 名前:名前は開発中のものです。 mailto:sage [2012/08/15(水) 00:06:46.36 ID:P4cLP8gu] ありゃ、二番目の[image]にfliplr付け忘れてた…
295 名前:名前は開発中のものです。 mailto:sage [2012/08/15(水) 12:08:23.44 ID:xMq6NM8w] >294さん 283です。ご丁寧にどうもありがとうございました。 その挙動は確認しております。自分も書き方が悪かったですね… 今回は、立ち絵が衣装デザインの関係で左右別の反転した状態で 作成されており、ただ表情だけは使い回しできると判断したはいいものの 表情素材だけの反転ができない、矛盾した状況になってしまっていました。 もともと立ち絵のベース画像も体の向きを同じに作ってフリップすれば 問題は解決するのですが、イラストの子に仕事を負担させる前に 先に自分で出来ることがあればと質問させて頂いておりました。 お手数をおかけしてすみません。お気遣い本当にありがとうございました!
296 名前:名前は開発中のものです。 mailto:sage [2012/08/15(水) 16:24:08.93 ID:XPgiqops] >>295 画像の反転なんて画像ソフトで左右反転して 差分ファイル用意するのに大した労力いらないじゃん フォトショならアクションとバッチで一発でできるし イラスト担当に負担掛けたくないなら フリーの画像編集ソフトでもDLして自分でもできる TJSの勉強にも意欲的なのはいいけどその程度のことで 開発の手が遅れるのは勿体無いよ
297 名前:名前は開発中のものです。 mailto:sage [2012/08/15(水) 19:27:57.09 ID:U6NcMWRm] >>296 手間はかからないけどファイルの容量は量が多ければかなり増えるよね。(上では表情に関してだけど、他の場合の話も含めて) 少しだけならそれでも問題ないんだろうけど。
298 名前:名前は開発中のものです。 mailto:sage [2012/08/15(水) 19:36:49.97 ID:lVLyLt5F] 画像の大・中・小を用意する問題と比べると、「別に画質は左右反転しても変わらない」 っていう違いはあるな
299 名前:名前は開発中のものです。 mailto:sage [2012/08/15(水) 22:01:34.37 ID:CcilJX3Q] いやいや、自分で絵を描いたことがあれば分かると思うけど 左右反転しても見れる顔をかくのって大変だよ 絵描きに話してやらせた方が良い
300 名前:名前は開発中のものです。 mailto:sage [2012/08/15(水) 23:13:40.55 ID:U6NcMWRm] >>299 そんなん最前提の話だろ
301 名前:名前は開発中のものです。 mailto:sage [2012/08/24(金) 04:16:52.78 ID:3iPyoMfF] 吉里吉里3は出る出る詐欺でしたね
302 名前:名前は開発中のものです。 mailto:sage [2012/08/24(金) 04:19:08.68 ID:dLzVl9KJ] Deeたんのある限り我々は何度でも蘇る
303 名前:名前は開発中のものです。 mailto:sage [2012/08/24(金) 20:05:17.39 ID:Ixy0/vmm] どこぞのゲームメーカーブランドの新作出す出す詐欺と合わせてお楽しみください
304 名前:名前は開発中のものです。 mailto:sage [2012/08/26(日) 20:57:32.65 ID:wQNjsAGz] 吉里吉里4クルー?
305 名前:名前は開発中のものです。 mailto:sage [2012/08/30(木) 00:29:54.20 ID:lv3hFZFG] TJS2の "const" は、ソースコード上は単純に無視されるようインプリされているように見えるのだけど、ArrayのsaveStructのところには意味があるように書いてあって、どっちが正しいかご存知の方教えてください。 ttp://devdoc.kikyou.info/tvp/docs/tjs2doc/contents/array.html
306 名前:名前は開発中のものです。 mailto:sage [2012/08/30(木) 02:22:46.03 ID:gMuJE7QQ] TJS中のconstはvarの代わりに使える(例:「const hogehoge = 0;」等) でも実際にはconst変数ではなく書き換えが可能(未実装なので) 辞書や配列の前の"(const)"は上記ページに書かれている通り 高効率(高速かつ省メモリ)で内容が評価される でも定数以外の項目を書くとエラーで弾かれるので注意 saveStructで(const)つきで保存されるのは,確かKAGの巨大セーブデータで ロード時にメモリ不足で落ちることがあったための対策で入ったような記憶
307 名前:名前は開発中のものです。 mailto:sage [2012/08/30(木) 03:29:12.38 ID:vJF014XK] tjs初心者なのですが、C++みたいに、thisのワードをつかって、 そこからメンバ変数なりにアクセスしていくことはできますか? また、Visual Studioのようにインテリセンスで楽々開発していけるような、 IDEってありますか? this->... で開発するスタイルになれてしまって、 いちいち関数名を書くのがめんどくさくて……タイプみすもしそうですし。
308 名前:名前は開発中のものです。 mailto:sage [2012/08/30(木) 14:19:33.14 ID:b7OD1br9] 吉里吉里3が2013年中に出る確率を教えてください(出来れば本人から)
309 名前:名前は開発中のものです。 mailto:sage [2012/08/30(木) 16:52:10.58 ID:LuwVr1d1] Twitter垢とって自分で聞いてください
310 名前:名前は開発中のものです。 mailto:sage [2012/08/30(木) 18:20:43.72 ID:8ggvKMfc] ネタじゃなくマルチプラットフォームの吉里吉里が気になってるってことなら 吉里吉里Javaを追う方が利口よ
311 名前:名前は開発中のものです。 mailto:sage [2012/08/30(木) 18:30:04.94 ID:vJF014XK] 質問です。 tjsの辞書配列って順次アクセスはできないのですか? for (var i = 配列の最初; i != 配列の終端; ++i) { if (hoge == hogehoge) } みたいな感じで重複部分がめんどうなので、ループで処理したい場所がわりとあります。 普通の配列を使うと、管理が面倒なのでできれば辞書配列をつかいたいのですが……。
312 名前:名前は開発中のものです。 mailto:sage [2012/08/30(木) 18:34:12.03 ID:CR8Fmp9/] 辞書は Array.assign してから処理するのが定石だと思う。 hpcgi1.nifty.com/gutchie/wifky/wifky.pl?p=%BB%CD%CA%FD%BB%B3%CF%C3+-+%BE%AE%A5%CD%A5%BF#p1.1
313 名前:名前は開発中のものです。 mailto:sage [2012/08/30(木) 18:36:36.14 ID:8ggvKMfc] そこでScriptsExプラグインを華麗に適用
314 名前:名前は開発中のものです。 mailto:sage [2012/08/30(木) 18:47:25.42 ID:vJF014XK] >>312 おーなるほど、 二個ずつとばしてなんとかする感じですね。 ありがとうございます!
315 名前:名前は開発中のものです。 mailto:sage [2012/08/31(金) 06:14:03.67 ID:qBGpNTrs] 吉里吉里3とは今にしてみれば何だったのか……?(´・ω・‘)
316 名前:名前は開発中のものです。 mailto:sage [2012/08/31(金) 21:53:14.09 ID:MyEtrE7N] 吉里吉里3は何がどうよくなるの? マルチプラットフォームとか以外で
317 名前:名前は開発中のものです。 mailto:sage [2012/08/31(金) 21:59:26.87 ID:2umGQ0Tm] むしろDeeたんの機嫌が悪くなる
318 名前:名前は開発中のものです。 mailto:sage [2012/08/31(金) 22:06:52.33 ID:MfCrXR4m] 悪くはならんだろw 発言の○○○○度には磨きがかかるだろうけど
319 名前:名前は開発中のものです。 mailto:sage [2012/08/31(金) 22:09:15.92 ID:2umGQ0Tm] 吉里吉里を習得する上で最大の壁はDeeたん
320 名前:名前は開発中のものです。 mailto:sage [2012/09/01(土) 06:18:55.01 ID:3EsOs3mB] すいません、質問です。 ・マウスイベント処理を使って、メッセージレイヤを拡張したい。 Message.tjsのclass MessageLayerにonMouseDownを見つけ確認がてら触ってみたのですが、 メッセージレイヤ上をクリックしても反応がありません。 System.inform("call"); と記述してチェックしたところ呼びだされていませんでした。 hitThresholdの値を変更しましたが無意味でした。 メッセージレイヤのマウスイベントが呼びだされる方法を教えてください。 templateフォルダのコピペプロジェクトで確認しています。 それとも、なにか根本的に間違ってます? on〜とついてるし、イベントハンドラとあるのにメッセージが飛んでこない理由がそもそもわからなくて。 お願いします。
321 名前:名前は開発中のものです。 mailto:sage [2012/09/01(土) 17:16:02.59 ID:ransYfxN] 質問です。 playbgmで鳴らしているBGMがplayseで鳴らした効果音が鳴る度に 音量が急に下がり、徐々に音量が戻っていくというようになります。 playseで鳴らしたBGMの時にはならないのですが、 これは何が原因でしょうか?
322 名前:名前は開発中のものです。 mailto:sage [2012/09/01(土) 17:16:53.51 ID:5ZN1GHOE] なんかフェードイン関係のマクロでも使ってるんじゃないの
323 名前:名前は開発中のものです。 mailto:sage [2012/09/02(日) 01:49:11.86 ID:UodBJEeH] 音声台詞時にはBGMをしぼるプラグインとか入れてそうだよな
324 名前:名前は開発中のものです。 mailto:sage [2012/09/03(月) 00:15:05.05 ID:2QjuY5XQ] >>320 実験してみた MessageLayerクラスのonMouseDownイベントが呼ばれるのは メッセージレイヤ上に置かれた リンクテキスト をクリックした時
325 名前:320 mailto:sage [2012/09/03(月) 02:00:16.37 ID:n9rvNLh2] >>324 ありがとうございます。 疑問はまさにお答えていただいたことで、 リンクテキストがない時に、onMouseDownイベントが反応しないのか?でした。 onMouseDown関数にリンクテキストに関する処理が書かれているのならまだしも、 関数にすら飛んでこないので意味がわからなかったのです。 あれから調べてみましたが、上記の原因はどうやらonHitTest関数にあるみたいでした。 リンクテキストの件では、internalHitTest関数内のfindLinkの戻り値がリンクテキストの無い場合はfalseを返すため、 その結果がonMouse〜に影響していました。 というわけでいろいろお手数をおかけしました。 メッセージキューイングの順序がわかればよかったのですが…
326 名前:名前は開発中のものです。 mailto:sage [2012/09/03(月) 02:25:32.49 ID:UX96RwYv] >>325 吉里吉里新版リファレンスの Layer.onHitTest 見なされ
327 名前:名前は開発中のものです。 mailto:sage [2012/09/03(月) 02:28:04.51 ID:n9rvNLh2] >>326 ほんとだ…俺がまず見るべきはこれだったのか・・・ ありがとうございます
328 名前:名前は開発中のものです。 mailto:sage [2012/09/03(月) 06:13:02.71 ID:KnmGucWV] >>319 つか最大の敵の気もするw ちっとは3の開発でやる気見せろ Nスクの方はちゃんと2が出たらしいが
329 名前:名前は開発中のものです。 mailto:sage [2012/09/03(月) 06:16:27.73 ID:8XRU72BH] なんでノベルゲー開発ツールの作者はキチガイばっかりなん?
330 名前:名前は開発中のものです。 mailto:sage [2012/09/03(月) 09:04:55.92 ID:mT08Ygkv] 何か凄いことすればキチガイが許されると思ってるからじゃないの? もしくは大衆がキチガイを受け入れざるを得ない状況を楽しんでるか
331 名前:名前は開発中のものです。 mailto:sage [2012/09/03(月) 09:14:11.87 ID:9nCE33Vy] 吉里吉里を作らなかった人格者より 吉里吉里を作ってくれたキチガイのほうに感謝する 俺にとってはそれが全て
332 名前:名前は開発中のものです。 mailto:sage [2012/09/03(月) 17:37:05.83 ID:+Ne1mH6U] 情報系が基地外みたいなのは文化
333 名前:名前は開発中のものです。 mailto:sage [2012/09/03(月) 20:49:48.70 ID:ncHorYN9] 作者ごとにそれぞれタイプの違う方向にいっちゃってるのが面白いといえば面白い……か
334 名前:名前は開発中のものです。 mailto:sage [2012/09/03(月) 23:14:54.65 ID:iUJl2+ud] 質問です。 linkするときに、自動的にリンク先を決めるようなことをするにはどうしたらいいのでしょうか? 現状では、ふつうに列挙しているのですが、 要素数が多いとのと条件分岐で使う予定でめんどくさいなぁと思ったので……。 [link target="*hoge1"]あ[endlink][r] [link target="*hoge2"]い[endlink][r] これを…… for (var i; i < hoge.count; ++i) { [link target="*hoge[i]"]hoge[i].name[endlink][r] } こんな感じににしたいです。(KAGですのでfor文では書いていませんだが) そして、こんな感じの文で処理をすると、iの値が最後になるので、どうしても上手く行かなくて……
335 名前:名前は開発中のものです。 mailto:sage [2012/09/03(月) 23:28:23.42 ID:ncHorYN9] [link target="&'*hoge'+i"]hoge[i].name[endlink][r]
336 名前:名前は開発中のものです。 mailto:sage [2012/09/04(火) 13:40:19.79 ID:VKvvjtnb] >>335 やってみましたが、どうにも上手くいきませんでした……。 なんというか、クリックされたらそのクリックされたオブジェクトを受け渡す感じにしたいのです。 for() { //以下部分を順次探索なり、条件文で処理して表示させる 選択肢:めろん←例えばめろんをクリックすると……*ジャンプ先に行き、 選択肢:りんご } *ジャンプ先 //このジャンプ先の処理自体はどの選択肢をクリックしても同じですが、 //処理対象が選ばれたオブジェクトになる。 //例えば、同じ「切る」でも「めろん」か「りんご」かの違いです。 という感じの仕様です。 オブジェクト自体が無理でも辞書配列のkeyさえ渡せればなんとかなるのですが……。
337 名前:名前は開発中のものです。 mailto:sage [2012/09/04(火) 18:51:10.52 ID:OERGP69/] linkタグのexp属性でクリックした時に式を評価できるから f.clickedなり適当な変数にkey入れるようにするだけでいいんじゃね?
338 名前:target= mailto:sage [2012/09/04(火) 19:55:06.28 ID:sjsgrzG7] んだんだ [link target=*branch exp="&'tf.tmp='+tf.i"]略[endlink] ... .. . [s] *branch [if exp="tf.tmp==1"] [jump target="*s1"] [elsif exp="tf.tmp==2"] [jump target="*s1"] [else] [jump target="*s1"] [endif]
339 名前:名前は開発中のものです。 mailto:sage [2012/09/05(水) 02:58:40.52 ID:Y0Mutfvy] Dee氏はマゾ臭いからこのスレでも他人のフリして自分を こきおろして快感覚えてそうw
340 名前:名前は開発中のものです。 mailto:sage [2012/09/05(水) 17:20:21.12 ID:2MC47uwu] ペロ…これはDee
341 名前:名前は開発中のものです。 mailto:sage [2012/09/05(水) 20:23:01.11 ID:R54TDq9G] 吉里吉里3が出ていればまだしばらく変態やりながら求心力保てたのにな・・ 吉里吉里3は出さない、でも変態は続けますじゃあねえ・・
342 名前:名前は開発中のものです。 mailto:sage [2012/09/05(水) 20:32:54.51 ID:dM73rIDd] 普通の変態になっちゃう
343 名前:名前は開発中のものです。 mailto:sage [2012/09/05(水) 20:50:01.43 ID:XYLqdSNU] 変態でもオタク系変態ならまだいいんだが体育会系セクハラ親父系の変態が入ってるからな
344 名前:名前は開発中のものです。 mailto:sage [2012/09/05(水) 20:53:42.60 ID:2MC47uwu] ぜひ>>343 氏の変態学の講義を受けてみたいな
345 名前:名前は開発中のものです。 mailto:sage [2012/09/05(水) 21:14:40.96 ID:XYLqdSNU] オタク系変態 ●具体的なマンガ・アニメ・ゲームのキャラに絡めた発言が多い ●エロトークはエロ漫画・エロゲに出てくるような二次ネタを前提にしていることが多い ●リアル女に対しては多少エロトークをすることはあるが基本的に及び腰でお姫様扱い 体育会系変態 ●リアル女を見かけるとガツガツ絡んでいく ●(女に対する)エロトークは実際のセックスネタなどを使うことが多い ●はぁセックスしたい 風俗いきたい など直球発言が多い ●ちんこ まんこ などの小学生的エロネタを言うのは他の変態もありうるのだが、妙にしつこい セクハラ親父系変態 ●自分のリアルにおける収入や地位などをアピールすることが多い ●リアル女を見かけると多少距離を置きつつもしつこく絡み、脈ありとみると非常に馴れ馴れしくなる ●ある程度親しくなった女には胸揉ませろとか普通に言う ●マジメ系ネタとエロネタを合わせた寒い発言をする
346 名前:名前は開発中のものです。 [2012/09/06(木) 14:41:56.76 ID:RoK3Q8oX] お世話になります。 アドベンチャー物で、クリア後にゲームのCGのみを閲覧するページについてですが サムネイルをクリックして、基本CG画像を出すところまで出来ましたが 引き続きクリックで差分(例えば5枚)を全て見せるには、どのようにすれば良いかご教授ください。 秀和システムの参考書にあるテンプレのスクリプトですと、1枚閲覧したら最初のサムネイル画面まで戻るので 差分を全部紹介してから最初の画面に戻るには、どんな風にスクリプトを書き込めば宜しいでしょうか?
347 名前:名前は開発中のものです。 mailto:sage [2012/09/06(木) 16:11:16.24 ID:Hu03WtG7] >>346 おおかたのCG閲覧はこんな動作だと思うので 1サムネクリック→2CGが表示→3画面クリック→4サムネ画面に こう変更 1サムネクリック→2CGが表示→3画面クリック→[差分ループ判定]→4サムネ画面に ↑______________________________________| CG差分を見た/見てないとか枚数とか 個々のシーンによってループ条件は違うと思うので、変数などで管理して工夫 とりあえずtf.cgcount=0とか作って @if、@jump、cond属性あたりを用いて5回ループさせてみんしゃい
348 名前:名前は開発中のものです。 [2012/09/06(木) 17:15:20.56 ID:RoK3Q8oX] >>347 ご厚意ありがとうございます。 ただ、勉強不足でたいへん恐縮ですが用語に関してサッパリなので 実際のスクリプトで例えて頂けないものでしょうか 出来れば引き続き宜しくお願い致します。 私もいろいろ試しているのですが、本編で画像表示に使うimage storageの応用ではないみたいですね。
349 名前:名前は開発中のものです。 mailto:sage [2012/09/06(木) 18:19:16.68 ID:sRKei9Bd] コピペさせろってか? レスからたった一時間で両手挙げるのはどうかと思うわー
350 名前:名前は開発中のものです。 mailto:sage [2012/09/06(木) 19:49:56.50 ID:kOO0ImXR] 出来ないことは諦めろ 言葉だけ丁寧にすれば手取り足取り教えてもらえる訳じゃない
351 名前:347 mailto:sage [2012/09/06(木) 20:34:53.27 ID:Hu03WtG7] >>348 そちらのスクリプトがどんなのか分からないのに 質問だけ投げられたら、こっちは概念しか返せないよ そのうえで「具体的なのくれ」では無償労働の依頼やね その調子じゃ分岐するノベルゲーも苦労しそうだ まず本編作ろうぜ 最後までできた暁には、CGモードも自然と作れるようになってるよ 画像表示の命令は@image storage=〜で合ってるけど 画像の内容を変えるにはif文で実行する命令を選択したり もしくはエンティティでstorageを指定したり
352 名前:名前は開発中のものです。 mailto:sage [2012/09/06(木) 20:47:12.52 ID:Hu03WtG7] あ「ループ」の意味わかる?プログラムの処理が同じところをグルグル回ること (一般的には@jumpで以前のラベルに戻る処理) 無限に回り続けるのはまずいので、条件命令@ifなどで 条件(5枚表示した、とか)を満たしたときに無限ループから脱出させる ご希望の動作をさせるためには ・上述のループ処理 ・表示内容を順に変えていく処理 ヒント>>351 が必要
353 名前:346 mailto:sage [2012/09/06(木) 21:43:29.27 ID:RoK3Q8oX] >>351 ヒントありがとうございます。 何とかやってみようかと思います。 album.ks album_init.ks ただCG鑑賞モードを構築する上の2種類のksのどちらを重点的に書き換えするのかが分からない状態でして そちらを教えて頂ければと思います(すみません)。 現在、album.ksファイルの今の状態が下記のようになります。 ; サムネイル画像が選択された(サムネイル画面からクリック) *album_select ; イベント絵を前景レイヤに読み込み、表示 [image storage="&tf.album_storage[tf.album_select+20*sf.album_page]" layer="&tf.album_layer" page=fore visible=true left=0 top=0 index=1999999] ------------------------------------ (※この間に画像呼び出しのスクリプトを書き加えるものだと思って作業していました) ------------------------------------ ; クリックを待つ [waitclick] ; イベント絵の前景レイヤを非表示にする [layopt layer="&tf.album_layer" page=fore visible=false] [unlocklink] [s] (ここでサムネイル画面に戻ります) すみませんが、何卒宜しくお願い致します。
354 名前:名前は開発中のものです。 mailto:sage [2012/09/06(木) 22:54:50.62 ID:41lq8MvN] >>337-338 ありがとうございます。 まわしてみたのですが、一旦ループを最後まで回しているので、 tf.iの値が、for文の終了条件の値になってしまい、不正な値になってしまいますorz リンク先はlink文にexpを入れることで、ひとまとめに出来たのですが、選択肢のループ構造は難しいようです。 愚直に全部書くか、吉里吉里そのものを改造するしか、方法しかないのかぁと諦めました……。
355 名前:名前は開発中のものです。 mailto:sage [2012/09/06(木) 23:43:04.83 ID:kOO0ImXR] 346も354も、まずは自分で分かる構文で全部書くべき 分からないならその機能は諦めろ ちゃんと続けていけば、そのうち何言われていたのか分かってくるから
356 名前:名前は開発中のものです。 mailto:sage [2012/09/07(金) 01:52:44.19 ID:Pe8ZiBvW] このくらいのループ処理とかならgoogle先生に聞きながらやればできるだろ。 ほとんど答え載っているようなもんだし
357 名前:名前は開発中のものです。 mailto:sage [2012/09/07(金) 02:41:34.18 ID:VnyU+LY1] ふむう ・改造箇所は>>353 の部分で合ってる。どの命令が、>>347 の図の中のどれに対応しているか見極めよう ・[image storage="&〜 の&以降が何言ってるか分からない場合は諦める というより自分でイチから作った方が動くかも ・参考書とやらは俺ら持ってないので、それを前提に話されても困る 同人(ノベル)ゲーム界隈に元気があるのは良いことなので、作り手を俺は応援する! しかし最低限の事は自分で解決しなければ、ゲームが完成しないんだよね まぁCGモードが無くってもゲーム本編の面白さに影響はないってw
358 名前:346 mailto:sage [2012/09/07(金) 08:55:38.07 ID:asYtRRfj] >>357 改造箇所が合っているという情報だけでも助かりました! 今後はここに絞って、いろいろ試してみたいと思います。 今回はお付き合い頂いて、本当にありがとうございました。
359 名前:名前は開発中のものです。 mailto:sage [2012/09/07(金) 18:29:08.72 ID:T/D6KsDh] 背景だけじゃなく、メッセージボックスの画像や立ち絵もグレースケールで表示したい場合って 別途それ用に画像を用意しないといけないのでしょうか?
360 名前:名前は開発中のものです。 mailto:sage [2012/09/07(金) 19:24:23.55 ID:4MGmxwGd] >>359 Layer.doGrayScale() ってのがあるよ セピアっぽくするのは無理 完全なグレースケールだと冷たい感じがするから別に用意したほうがいいと思う
361 名前:名前は開発中のものです。 mailto:sage [2012/09/07(金) 19:25:21.48 ID:lr1doojE] セピアっぽくするのはガンマ値いじればできる リファレンスに載ってるので参照
362 名前:名前は開発中のものです。 mailto:sage [2012/09/09(日) 00:27:57.82 ID:UoexBhAR] TJS2で辞書配列の作成がやたらめったら遅い。多分コレが該当してる。 ttp://www.geocities.jp/keep_creating/DojinDOC/kirikiriSmallTips.html#aryvshash 配列で作り直して速度はなんとかなったけど、分かり辛くてメンテが 大変で困ってる。吉里吉里3なんか要らないから、辞書配列周りを もう少し高速化してくれ…!
363 名前:名前は開発中のものです。 mailto:sage [2012/09/09(日) 01:51:24.80 ID:nEuJaSQ1] 辞書配列はよく使うところだしねえ 高速化の余地があるのかわからんけど、機能削減したLightDictionaryとかでもいいから なんかあるとうれしいな
364 名前:名前は開発中のものです。 mailto:sage [2012/09/09(日) 02:13:33.81 ID:AWFXq19t] >>362 そんなに差がでるってことは、C++のMAPとかと全然作りが違うんかな? ……辞書配列つかいまくってるけど、 自分のマシンは自作したばっかで高速だから、 本当はすげー重いとか考えると怖いなぁ。
365 名前:名前は開発中のものです。 mailto:sage [2012/09/09(日) 04:05:50.63 ID:UoexBhAR] >>364 実測してみたら、数千要素くらいからがくっと速度が下がる。気持ち O(n^2)になっているような。特にassignStructでコピーすると顕著。 件のURLにあるように、ちょっと長いゲームではセーブラベルが 数万くらいにはなるので、これや、これに付随するデータを保存する のが大変なの。 逆にいえば、そんなに大きい辞書配列を使わなければ、そんなに 困ることはないだろうね。 >>363 うーん、きっと機能削減しちゃうとそれはそれで困る場面が 出るし、使う方も混乱するだろうと思うから、元のまま高速化 できないか考えた方がいいと思うんだ。 吉里吉里のソースコード見てみたけど、さらっと見るには範囲 大きすぎて、(assignStructは単純に要求に応じて確保してる だけみたいだけど)どうやってるか正確にわからない。ので、 高速化できるかどうかまだわからない。内部仕様書が欲しい…。 高速化できたとして、pluginみたいな形で元のDictionaryを 置き換えることってできるのかなぁ。そうでなければ、BCCの 環境一式揃えて全コンパイルになってしまうから、手が出せ ないねぇ…。
366 名前:名前は開発中のものです。 mailto:sage [2012/09/09(日) 09:32:01.28 ID:AWFXq19t] いっそC++とか組み込めたりできんのw? あんまりにも重いなら、その部分だけはtjsじゃなくてC++使うとか。
367 名前:名前は開発中のものです。 mailto:sage [2012/09/09(日) 12:00:23.88 ID:UoexBhAR] >>366 辞書配列じゃなくて普通の配列なら速いことがわかっているので、今は 普通の配列で組みなおして速度的には問題なくなっている。ただ、 複雑になってメンテが大変なのをなんとかしたいんだよ。 C++でも組めるけど、それは更に面倒だし、単機能のためだけにdll書く のもなー、というのが本音。辞書配列ならかなり簡単に書けるから…。 以下みたいなスクリプト書いて所要時間をプロットしてみたら、 見事な二次曲線になってた。辞書配列の要素数には要注意だね。 for (var i = 1; i <= 40; i++) { var tick = System.getTickCount(); var hash = %[]; for (var j = 0; j < 1000*i; j++) hash['abc'+j] = j; dm('tick('+i+') = ' + (System.getTickCount() - tick)); }
368 名前:名前は開発中のものです。 mailto:sage [2012/09/09(日) 12:03:58.05 ID:UoexBhAR] ちなみに同じスクリプトを配列ベースにすると、40000要素数の時に 手元の環境では辞書配列の1/100以下の時間で終わる。うーん面白い。
369 名前:名前は開発中のものです。 mailto:sage [2012/09/09(日) 12:41:53.87 ID:AWFXq19t] ソースも読まずにかつ検証もせずにすげぇ適当なこと言うけど。 そんだけ時間に差があるってことは、もしかして、内部的に頻繁にソートとかしてんのかね? 重複を許さない仕様なら、ソートを一切せずに、線形探索をしているのかも? ハッシュテーブルとか使ったら早そうだけどなぁ。
370 名前:名前は開発中のものです。 mailto:sage [2012/09/09(日) 15:07:27.31 ID:UoexBhAR] 線形探索しているから、じゃないはず。もしそうなら、既存の 巨大な辞書から要素を取り出す作業も同じくらい遅くなるはずだけど、 そうなっていないから。「作成」が遅いみたい。だから今はメモリ かなーと思っている。要求の度に素直に確保してるんじゃないかなー、 と。作成時にソートしているかどうかはまだ不明。 ハッシュ持てば早くなるのはその通りだけど、要素の種類がたくさん あるから、適当なハッシュ関数が作れるのかどうか。 ソースは↓のあたりね。 ttps://sv.kikyou.info/svn/kirikiri2/trunk/kirikiri2/src/core/tjs2/tjsDictionary.cpp
371 名前:名前は開発中のものです。 mailto:sage [2012/09/09(日) 18:43:01.57 ID:mfE2cjN2] 辞書作った後にループで一気に何万と要素を足すとハッシュテーブルが 小さいままだから遅いって話なので,ゆっくり足されるのは多分問題ないはず。 ScriptsExプラグインにrehash()を足したので,これ使って Plugins.link("ScriptsEx.dll"); (中略) for (var i = 0; i < NUM; i++) { var elm = "hash_number_is_" + "%06d".sprintf(i); Scripts.rehash() if (i > 0 && !(i % 1000)); hash[elm] = 1; } みたいにしてみると高速化される。理由の詳細はScriptsExのmanual.tjs参照のこと。 でもassignStructは吉里吉里本体をいじらないとどうしようもない予感。
372 名前:名前は開発中のものです。 mailto:sage [2012/09/09(日) 23:06:04.76 ID:UoexBhAR] >>371 rehash()追加、ありがとう! でも残念ながら、以下のスクリプトで実測すると、rehash()が ある場合とない場合とで、実行時間の差は1%程度で殆ど変わらな かった…。難しいもんだね。 Plugins.link("ScriptsEx.dll"); for (var i = 1; i <= 40; i++) { var tick = System.getTickCount(); var hash = %[]; for (var j = 0; j < 1000*i; j++) { Scripts.rehash() if (j > 0 && !(j % 1000)); hash['abc'+j] = j; } dm('tick('+i+') = ' + (System.getTickCount() - tick)); }
373 名前:名前は開発中のものです。 mailto:sage [2012/09/10(月) 16:48:31.80 ID:sxxAr/QX] >>372 そのテストコードは全体的にループ回数が少ない気がする。 i=40以降でどうなるか見てみた? あとrehashの呼び出し条件を下記にするとより効果的っぽい: Scripts.rehash() if (j>0 && !(j&(j-1))); 要素数が2^nのタイミング呼び出すようなコードね。 手元環境でtick(40)にて2倍くらいの差になった。 jが小さいと頻繁に呼ばれるのでj>0じゃなくて255とか適当に閾値決めてもいいかも
374 名前:名前は開発中のものです。 mailto:sage [2012/09/10(月) 18:07:30.21 ID:8rk35zca] TyranoScript ティラノスクリプト KAG3/吉里吉里と互換性のあるHTML5ノベルゲームエンジン tyrano.jp/ KAG互換?TJSの代わりにJS使うみたい。 サンプル見ると独自拡張もかなり入ってるみたいだけど。
375 名前:名前は開発中のものです。 mailto:sage [2012/09/10(月) 18:08:41.02 ID:wEtTvUal] Deeたんとユカイな仲間たちにさんざん突っ込まれてた奴じゃないのw
376 名前:名前は開発中のものです。 mailto:sage [2012/09/10(月) 19:03:59.53 ID:w8Iin1y0] なかなかいいなと思ったけど、 マウスポインタの絵変えたり右クリックと回転使えるの? サンプルでは出来てないが
377 名前:名前は開発中のものです。 mailto:sage [2012/09/10(月) 19:05:13.30 ID:FEZq0v87] 右クリック使えないのならきついな スマホ対応を視野に入れてるのなら仕方ないか
378 名前:名前は開発中のものです。 mailto:sage [2012/09/10(月) 19:38:22.95 ID:U+XwcDpe] fillRectで枠線とか描けるようにしたけど、どうにも使い勝手があんまり…… いちいち画像で用意するほどのものでもないし、何か参考になりそうなのないかな
379 名前:名前は開発中のものです。 mailto:sage [2012/09/10(月) 19:39:36.84 ID:wEtTvUal] プラグインとかで拡張しない限り1pixelの幅or高さの 長方形を描く以上でも以下でもないだろ
380 名前:名前は開発中のものです。 mailto:sage [2012/09/10(月) 19:42:31.53 ID:U+XwcDpe] うーんと枠内に文字とか簡単に入れられるようになったり ドラクエみたいに上が文字を入れられるように空いてる感じに出来たらなーと思って
381 名前:名前は開発中のものです。 mailto:sage [2012/09/10(月) 19:46:16.41 ID:wEtTvUal] そんなのはまさに自分で「こっからこう線を引いてここを空けて……」って 関数を試行錯誤していくしかない テキストの幅とかはLayer.fontからこれで得る devdoc.kikyou.info/tvp/docs/kr2doc/contents/f_Font_getTextWidth.html devdoc.kikyou.info/tvp/docs/kr2doc/contents/f_Font_getTextHeight.html
382 名前:名前は開発中のものです。 mailto:sage [2012/09/10(月) 19:51:12.25 ID:U+XwcDpe] そっかー。あとはLocateで文字位置調整したりで何とかするしかないかな どうもです。なんとか頑張ってみようと思います
383 名前:名前は開発中のものです。 mailto:sage [2012/09/10(月) 19:53:06.04 ID:wEtTvUal] 正直デフォのKAG依存でやってるレベルの人がレイヤーへの描画に手を出すと いろいろハマりやすいから画像で用意しとくほうが無難だとは思うけど
384 名前:名前は開発中のものです。 mailto:sage [2012/09/10(月) 20:33:10.08 ID:hfu+dhq8] っLayerExDrawプラグイン
385 名前:名前は開発中のものです。 [2012/09/10(月) 20:50:17.55 ID:FsWzzwS8] フォローが千超えたらしいし、俺一人くらい抜けてもいいよね…