1 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 01:11:54 ID:EztZkDNL] ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。 自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。 マルチポストはやめましょう。個人叩きも禁止です。 ※スレで質問をするときは※ KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、 FAQ、Google等で調べてからにしましょう。 努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ! 前スレ:■吉里吉里/KAG/TJS雑談質問スレ■その17 pc11.2ch.net/test/read.cgi/gamedev/1234356309/ 吉里吉里2/KAG3雑談質問スレ_過去ログ ttp://www.geocities.jp/kirikiri_log/ 吉里吉里ダウンロードページ ttp://kikyou.info/tvp/ ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は 初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。 ■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。 大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。 ■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる 数々のTipsが記載されています。 必要に応じて>>3-5 の公式掲示板や講座等を併用してください。 (併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)
425 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 14:27:47 ID:Wp08KWhd] >>424 tjsは機能拡張の為に多少弄る程度で、本体の方の構造はぜんぜん把握してないんだ 使ってるのはADVで *start_main [call storage="macro.ks"] ; シナリオ部 [call storage="prologue.ks"] [call storage="scenario01.ks"] [call storage="scenario02.ks"] ; タイトルへ [jump storage="title.ks"] みたいな使い方。 シーンごとの分岐とかが楽にできるから、こういう形にしたんだけど・・・ 問題でそうだろうか?
426 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 16:00:05 ID:P5IDIPeC] callは使いすぎるとreturnの誤爆が出てきてしっちゃかめっちゃかになる恐れがある というか実際なって困ったので必要がない限りjump
427 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 17:38:21 ID:eEt2K5t6] マクロ内でcall使うのって駄目? とりあえず動くからいいのかと思ってたんだけど
428 名前:421 mailto:sage [2009/08/02(日) 18:36:48 ID:HaievO31] えっと、自分が420に対して「相性の問題」と言ったのがあらぬ疑念を 呼んでなくもないようなので、補足します。 「相性の問題」と言ったのは、土を掘るならシャベル、 耕すなら鍬のほうが相性が良いといった用なことです。(例えがあれですが) 取り合えず、「構造化プログラミング」ってなにそれ、食べれるのって方は 「KAG System リファレンス」-「サブルーチンを使おう」等をしっかり読んで、 あとは、使って覚えればいいと思いますm(_ _)m
429 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 20:15:19 ID:XqTlUFYH] メインフローを作ってcallでシナリオを呼んだ方が管理しやすくない?
430 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 20:21:19 ID:BJC3kT9Q] call は呼び出しもとで行がずれたときにエラーで復帰できなくなる罠があったり
431 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 20:39:24 ID:Wp08KWhd] 呼び出し元で行がずれるってどういう場合に起こる?
432 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 20:47:44 ID:KeHZ566g] バッチ当てるときとか?
433 名前:名前は開発中のものです。 mailto:sage [2009/08/03(月) 10:32:56 ID:V7PNVWXx] >>431 つまり最初からちゃんとしたモノを作れば問題は起きないってことです(´ー`)
434 名前:名前は開発中のものです。 mailto:sage [2009/08/03(月) 21:06:43 ID:KTOZHeSA] 吉里吉里のレイヤーって横幅が1280pxとかになってもさほど問題ないのかな 昔のDirectXだと、幅が大きすぎるサーフェスを作ろうとすると問題が起きたり してた気がするんだけど もちろんどんな大きさのレイヤーでも作りすぎればおかしくなるのは大前提として
435 名前:名前は開発中のものです。 mailto:sage [2009/08/04(火) 01:40:44 ID:OALni9DT] そういや今の3Dエロゲはテクスチャが一枚1024*1024とかふざけたサイズらしいな。
436 名前:名前は開発中のものです。 mailto:sage [2009/08/04(火) 21:36:25 ID:gCd6e1Bq] 吉里吉里は内部的には別にDirectX なわけじゃないので特に問題にはならないよ。 表示が DirectX の時は適当に切り分けて処理してくれるようになってたと思う。
437 名前:名前は開発中のものです。 mailto:sage [2009/08/05(水) 01:44:17 ID:J8WmaMAt] 業務連絡〜 deeたんとこのサーバがクラッシュして現在 kikyou.info アクセス不能とのこと。 復旧時期は不明
438 名前:名前は開発中のものです。 mailto:sage [2009/08/05(水) 01:56:18 ID:IdRZHtde] それがW.Dee氏からの最後の連絡だった・・・。 ところでおさかな定食はどうなったんだ?
439 名前:名前は開発中のものです。 mailto:sage [2009/08/05(水) 08:21:46 ID:wetiCV7F] SVNとか全滅ってことか?
440 名前:名前は開発中のものです。 mailto:sage [2009/08/05(水) 09:54:10 ID:J8WmaMAt] 復旧してる
441 名前:名前は開発中のものです。 [2009/08/05(水) 22:30:13 ID:vUt/Hk1T] 誰からんか氏のどこでもセーブ持ってませんか? 工事中でDLできなくなっているので……
442 名前:名前は開発中のものです。 mailto:sage [2009/08/05(水) 22:48:41 ID:YtFZquA8] 二次配布おkだったっけ
443 名前:名前は開発中のものです。 mailto:sage [2009/08/06(木) 00:08:36 ID:lHlM1VqA] 流れ豚切ってすみません。 質問なのですが、 動的なカットインを取り入れたいのですが、 レイヤーそのものを動かすのではなく例えば四角いレイヤー画像内で 簡単な動きやスクロールなどをさせたいのですが そういったことはKAGEXでやった方がいいのでしょうか・・・ pimageのみを動かせないかとリファレンスを見たところ、 そういった機能はなさそうです 何かいいアイディアはないでしょうか
444 名前:名前は開発中のものです。 mailto:sage [2009/08/06(木) 00:39:06 ID:PW1IyXjf] >>443 アニメーションファイルを使うとか。 座標ガリガリ書きまくるのがめんどくさいけど。
445 名前:名前は開発中のものです。 mailto:sage [2009/08/06(木) 03:18:22 ID:7IoCjv+k] 俺はレイヤにスプライトの機能実装したけど重かった。
446 名前:名前は開発中のものです。 mailto:sage [2009/08/06(木) 05:35:52 ID:PZu2WCfx] 俺はスプライト処理はDirectXに任せたけど結局memcpyで転送になるのでやはり重かった。
447 名前:名前は開発中のものです。 mailto:sage [2009/08/06(木) 17:23:51 ID:rqIQuvBC] よくプラグインのファイルとか、.ksで作ってるけど、 @iscriptで始まって、@endscriptで終わるだけなら、 .tjsで作ってもいいような気がするんですけど、 .ksの方がよくて.tjsで作ると不都合なことがあるんですか?
448 名前:名前は開発中のものです。 mailto:sage [2009/08/06(木) 17:28:00 ID:K9vVkzj4] 別にない。単に KAG の処理系では読めないので、手動で execStorage する必要があるだけ
449 名前:名前は開発中のものです。 mailto:sage [2009/08/06(木) 17:33:24 ID:V0RouXx7] ksだとTJSの後KAGで何か書いておきたい時に書ける
450 名前:名前は開発中のものです。 mailto:sage [2009/08/06(木) 18:09:33 ID:PW1IyXjf] 関連のマクロとかまとめとけるな
451 名前:名前は開発中のものです。 mailto:sage [2009/08/06(木) 23:40:00 ID:UZGii+8I] 俺はスクリプタにそこら辺一切触らせたくなかったのでプラグインの実装、そのプラグインを使うタグの実装を全部tjsで書けるようにしてある。 シナリオ側からは @mount name=pluginnameでプラグイン同士の依存関係から全て勝手に解決して使えるようになる。 まあ、実装の隠ぺいってやつだね。 プラグインの実体はpluginname.xp3とそれが依存するxp3にあるからスクリプタが実装の詳細を知ることはできない。 新タグの仕様はドキュメントに書いてある。 つまりプラグイン書くのはマの仕事。スクリプタの仕事ではないという事にしてある。
452 名前:443 mailto:sage [2009/08/06(木) 23:48:52 ID:lHlM1VqA] >>443-446 ありがとうございます スプライトで調べてみたものの????でしたので アニメーションファイルかどうしても実装しかったらKAGEXを検討します できそうで簡単にできない機能でもどかしいですね
453 名前:名前は開発中のものです。 mailto:sage [2009/08/06(木) 23:50:32 ID:ETeqkH0q] 俺もスクリプタには演出のみお願いしてる。 KAGのタグだとstorageで素材を指定するとか面倒くさいので、ファイル名ベースのタグである程度システムが全自動で処理してくれるようにしてある。 スクリプタがbufの番号とかlayerの番号とか気にせず演出に専念できるように。 最近はライターさんでも扱えるぐらい簡単にしたから、スクリプタ不要になった。 このままだと俺も用済みになるかもなw
454 名前:名前は開発中のものです。 mailto:sage [2009/08/07(金) 00:06:22 ID:zu3InFxL] >453 いや、俺の場合ライタがスクリプタ兼任なんで「お前はプラグイン書く暇があったらシナリオ上げろ!」というためにだなw
455 名前:名前は開発中のものです。 mailto:sage [2009/08/07(金) 14:29:08 ID:LBL2K49z] >>454 > ライタがスクリプタ兼任 ですよねー 俺なんか正直シナリオ書くよりスクリプトいじってるほうが楽しいという 本末転倒状態になってるw
456 名前:名前は開発中のものです。 mailto:sage [2009/08/07(金) 16:18:16 ID:8xiRGJf0] 一年以上前にスレで マップチップからRPG用のマップ作ったり キャラやモブが移動する2Dマップ処理のスクリプトをうpした人がいたけど、 だれか持っている人うpしてくれませんか 「おお、ベアトリーチェ」 みたいな台詞を町人がしゃべってたから うみねこ1~2話が出た頃だったかな…?
457 名前:名前は開発中のものです。 mailto:sage [2009/08/07(金) 16:28:50 ID:JnppTWi1] >>456 ttp://uproda11.2ch-library.com/11192120.zip.shtml PASS:krkr
458 名前:名前は開発中のものです。 mailto:sage [2009/08/07(金) 16:59:26 ID:8xiRGJf0] >>457 季節すら思い出せなかったので 流石に無理かと思ってましたがエスパーが居てくれて幸運でした。 本当にありがとうございます!
459 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 12:34:31 ID:oOpy5+ek] ベアトリーチェ=うみねこて・・・うん、いや、いい
460 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 13:32:49 ID:lY8WpKcm] しかたないさ
461 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 16:57:43 ID:GjsPccWg] 質問させてください 選択肢のランダム表示をマクロにしようと思っています 以下のようにマクロを作ってみたのですが、ふたつ問題が出ました まず、選択肢の本文が長い場合、タグがひたすら横にのびることです もうひとつは、選択のタイミングによって選択肢の総数が変わることです (選択肢が4つの質問と3つの質問があったり、選択肢が増えたりします) 解決方法が思いつかないので、何かヒントをいただけたらと思います 宜しくお願いします。 *select [macro name="select"] @eval exp="f.data = [[ mp.text1 ,'first.ks', mp.select1], [ mp.text2, 'first.ks', mp.select2], [ mp.text3,'first.ks', mp.select3], [ mp.text4,'first.ks', mp.select4]]" @eval exp="f.tmp = intrandom(0,3), f.data[0] <-> f.data[f.tmp]" @eval exp="f.tmp = intrandom(0,3), f.data[1] <-> f.data[f.tmp]" @eval exp="f.tmp = intrandom(0,3), f.data[2] <-> f.data[f.tmp]" @eval exp="f.tmp = intrandom(0,3), f.data[3] <-> f.data[f.tmp]" 1.[link target="&f.data[0][2]" storage="&f.data[0][1]"][emb exp="f.data[0][0]"][endlink][r] 2.[link target="&f.data[1][2]" storage="&f.data[1][1]"][emb exp="f.data[1][0]"][endlink][r] 3.[link target="&f.data[2][2]" storage="&f.data[2][1]"][emb exp="f.data[2][0]"][endlink][r] 4.[link target="&f.data[3][2]" storage="&f.data[3][1]"][emb exp="f.data[3][0]"][endlink][r] [endmacro] [select text1="本文1" text2="本文2" text3="本文13" text4="本文14" select1=select1 select2=select2 select3=select3 select4=select4][s]
462 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 17:12:06 ID:g/+i2DJo] こんな感じで、どうよ? ;選択肢の直前で変数に必要なパラメータを代入 [eval exp="f.選択肢の数 = 4"] [eval exp="f.s1 = '*select1'"][eval exp="f.t1 = '本文1'"] [eval exp="f.s2 = '*select2'"][eval exp="f.t2 = '本文2'"] [eval exp="f.s3 = '*select3'"][eval exp="f.t3 = '本文3'"] [eval exp="f.s4 = '*select4'"][eval exp="f.t4 = '本文4'"] ;2択の時の専用マクロ [if exp="f.選択肢の数 <= 2"][select2 text1="&f.t1" text2="&f.t2" select1="&f.s1" select2="&f.s2" ][endif] ;3択の時の専用マクロ [if exp="f.選択肢の数 == 3"][select3 text1="&f.t1" text2="&f.t2" text3="&f.t2" select1="&f.s1" select2="&f.s2" select3="&f.s3" ][endif] ;4択の時の専用マクロ [if exp="f.選択肢の数 >= 4"][select4 text1="&f.t1" text2="&f.t2" text3="&f.t2" text4="&f.t4" select1="&f.s1" select2="&f.s2" select3="&f.s3" select4="&f.s4"][endif] [s] [select2]と[select3]と[select4]をまとめて [select]内で、f.選択肢の数 を調べて、処理を分岐のほうがスマート
463 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 17:35:42 ID:g/+i2DJo] 2〜4択に対応版作ってみた ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;↓今回の選択肢の数 [if exp="f.好感度フラグ < 5"][eval exp="f.選択肢の数 = 3"][endif] [if exp="f.好感度フラグ >= 5"][eval exp="f.選択肢の数 = 4"][endif] ;↓選択肢の直前で変数に必要なパラメータを代入 [eval exp="f.s1 = '*select1'"][eval exp="f.t1 = '本文1の文章をここに記述する'"] [eval exp="f.s2 = '*select2'"][eval exp="f.t2 = '本文2の文章をここに記述する'"] [eval exp="f.s3 = '*select3'"][eval exp="f.t3 = '本文3の文章をここに記述する'"] [eval exp="f.s4 = '*select4'"][eval exp="f.t4 = '本文4の文章をここに記述する'"] ;↓のマクロで選択肢配置 [select] [s]
464 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 17:37:33 ID:g/+i2DJo] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ;選択肢マクロ [macro name="select"] ;今回使用するデータを集計 @eval exp="f.data = [[ f.t1 ,'first.ks', f.s1], [ f.t2, 'first.ks', f.s2], [ f.t3,'first.ks', f.s3], [ f.t4,'first.ks', f.s4]]" ;ランダム入れ替え @eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]" ;↑今回の選択範囲の内容を入れ替え ;↓以下適当な回数シャッフルを繰り返し @eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]" @eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]" @eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]" @eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]" @eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]" @eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]" @eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]" ;選択肢を表示する 1.[link target="&f.data[0][2]" storage="&f.data[0][1]"][emb exp="f.data[0][0]"][endlink][r] [endif] [if exp="f.選択肢の数 >= 2"]2.[link target="&f.data[1][2]" storage="&f.data[1][1]"][emb exp="f.data[1][0]"][endlink][r] [endif] [if exp="f.選択肢の数 >= 3"]3.[link target="&f.data[2][2]" storage="&f.data[2][1]"][emb exp="f.data[2][0]"][endlink][r] [endif] [if exp="f.選択肢の数 >= 4"]4.[link target="&f.data[3][2]" storage="&f.data[3][1]"][emb exp="f.data[3][0]"][endlink][r] [endif] [endmacro]
465 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 17:38:43 ID:irbfFcCJ] 式中関数のコンテキストって何になるの? いろいろ試してみたけど,それを含むクラスのインスタンスになるっぽい?
466 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 17:44:51 ID:GjsPccWg] >>462-464 めちゃくちゃ早い回答ありがとう! 何かできそうな気がしてきた じっくり考えてみるよ、本当にありがとう
467 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 19:51:17 ID:urpQMU76] >>465 globalになるんじゃないっけ
468 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 20:27:58 ID:x44gCfOd] ちょっと相談に乗ってほしい セーブデータをマイドキュメント以下に保存させるようにしたんだけど、起動すると、なんかexe直下にもsavedataフォルダが作られて、krenvprf.kepってのが作られて困ってる。 デバッグ情報を記録してるってことはリファレンスに載ってたからわかったんだけど、デバッグはOFFにしている(・・・ハズ)なんだ。 Releaserでxp3とかにするときに取り除かれる、って聞いたんだけど、相変わらず生成されちゃう。 どうすればいいか、誰か知らないだろうか?
469 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 21:17:24 ID:elWYaLJk] >>468 吉里吉里付属の「krkrconf.exe」で設定できるよ
470 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 21:19:24 ID:V40faU5w] >>468 セーブデータをマイドキュメント以下、ってのをどうやって実現した? 吉里吉里設定を使って datapath を適切に設定して、 プログラムからは System.dataPath を参照させるのが正しい手順 除外ってのは、アーカイブ時に除外されるってだけだ。
471 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 21:29:23 ID:x44gCfOd] >>469 確認したけど、デバッグモードはOFFになってるんだ >>470 Config.tjsの所で、 ;saveDataLocation = System.personalPath +"savedata"; ってしただけなんだけども。 他のtjsファイル見たけどsaveとかが無くて――って、dataPathで検索すればいいのかな?
472 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 21:31:51 ID:V40faU5w] >>471 使ってる吉里吉里のバージョンは? このあたりの仕様は Vista 用に、2.3 で変更になってる ( dataPath機能の追加) 古い版では、krenvprf.kep や 例外時のログが実行ファイルのあるところの savedata 以下にできてしまうのは仕様で回避できない。
473 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 21:34:39 ID:x44gCfOd] >>472 バージョン調べたら、2.30.2.416だった。 大丈夫なのかな・・。公式見てこよう。
474 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 23:09:41 ID:V40faU5w] じゃあそれは吉里吉里本体は問題ない。 KAGも新しい 3.3 とかなら var saveDataLocation = System.dataPath; // セーブデータ保存場所 となってるはずだ。これはいじる必要はない。 krkrconf.exe で実行ファイルを指定して、システム全般/データ保存場所 を適切に指定した cf ファイルをつくれば、それに従って動作することになる
475 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 23:21:59 ID:C6ikQx71] [iscript]内で、シナリオファイル上での普通の文章みたいな操作はできないのでしょうか。 例えば、普通のシナリオで、 新しい朝がきた――希望の朝だ―― と記述すると、この文章がずらずらっと表示されますよね。 これと同じ動作を、[iscript]〜[endscript]の中で出来ないかということです。 ( drawTextで実現できるのかなと試行してみたのですが、ずらずらっと表示されるのでなく、一気に表示されてしまいました。 また、ここで描画した文字分、テキストの描画位置が進んで欲しいのですが、それもありませんでした。 // テキストとテキスト描画色を引数とするマクロを作り、そのマクロからこのsubroutineに飛ばす *sub [iscript] { var a = mp.text; // テキスト取得 kag.fore.messages[kag.currentNum].font.height = 28; // フォントサイズを合わせる for ( var i=0; i<mp.text.length; ++i ) { kag.fore.messages[kag.currentNum].drawText( kag.fore.messages[kag.currentNum].x, kag.fore.messages[kag.currentNum].y, a.substring(i,1), mp.color); kag.fore.messages[kag.currentNum].x += 28; } } [endscript] [return] ) よろしくお願いします。
476 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 23:32:54 ID:x44gCfOd] >>466 いっついぐざくとりー >var saveDataLocation = System.dataPath; // セーブデータ保存場所 が >var saveDataLocation = "savedata"; // セーブデータ保存場所 ってなっていた・・・。 これか!!! 本ッッッッ当にありがとうございます!
477 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 23:34:13 ID:x44gCfOd] うわあああああアンカまちえたああ・・・・・ 2chブラウザがっががが 改めて >>474 本当にありがとう!
478 名前:名前は開発中のものです。 mailto:sage [2009/08/08(土) 23:44:49 ID:x44gCfOd] 直ったと思ったら直っていなかった・・・・ でもやっぱり>>474 の >システム全般/データ保存場所 を適切に指定したcf ファイルをつくれば で解決した・・・ リアルでドジっこ属性なんて持っててもウザいだけだろjk・・・
479 名前:名前は開発中のものです。 mailto:sage [2009/08/09(日) 00:07:23 ID:FngJ034Z] >>465 レキシカルクロージャではないからglobalになるはずだが変更があったのなら分からん。
480 名前:名前は開発中のものです。 mailto:sage [2009/08/09(日) 00:14:33 ID:UVEGN1Jh] >>475 どうするのが最善なのか俺にもわからんが、スキップとか履歴とかメッセージ速度とか できるだけ既存の仕組みを使いたいならembタグが一番楽だと思う
481 名前:名前は開発中のものです。 mailto:sage [2009/08/09(日) 01:15:39 ID:jNIe4i86] >>475 var dic = %[]; var str = "表示したい文字列"; for(var i = 0; i < str.length; i++) { dic.text = str[i]; kag.tagHandlers["ch"](dic); } 試してないけど、こんな感じで出来るかも。 クリック待ちとかConductorの制御が必要なものは 素直にKagでやったほうがいい。
482 名前:名前は開発中のものです。 [2009/08/09(日) 17:52:51 ID:wSPP8w81] トランジションを使うときに、layerの番号を指定して、 chilrdenをfalseにすると1つのlayerでトランジションが起きますけど、 これに複数のlayerの番号を指定して、同時にトランジションを起こすことはできませんかね。 例えば、複数のキャラの立ち絵を同時に登場させたいときなどに使いたいんですけど。
483 名前:名前は開発中のものです。 mailto:sage [2009/08/09(日) 18:21:40 ID:KZiEUzEo] KAGに於いては、childrenをfalseにせずにトランジションするのが正道にして近道。 日付表示みたいな小窓を出しててそれを変えたくないってんなら、 それもオモテウラ用意するのが多分正解。
484 名前:名前は開発中のものです。 [2009/08/09(日) 18:42:31 ID:wSPP8w81] >>483 そうか、裏ページにコピーして変わらないところは変化しないのか。 トン ついでに、エンティティ使ってイメージタグのストレージ属性を変数で指定した場合、変数の値を途中でevalかなにかでで変えた場合は勝手に画像の中身も入れ替わるの? それとも、新しくイメージタグを指定するまで残るものなの?
485 名前:名前は開発中のものです。 mailto:sage [2009/08/09(日) 20:04:33 ID:3+cLengQ] >>484 エンティティはタグの解析時に参照される(値をTJSとして実行して、その結果に置き換わる) あとで変数の中身を変更したところで影響ないし、それによって再読み込みなどはされない
486 名前:名前は開発中のものです。 mailto:sage [2009/08/09(日) 20:52:23 ID:cGs7Rp5+] >>482 単にコマンド列挙するだけで同時に走るよ。 もっとも、子レイヤでのトランジションは、トランジションのまちがややこしくなるのと、 レイヤサイズ違いの吸収がめんどくさいのでおすすめはしない。 ×変わらないところは変化しない ○同一内容になってるから切り替わっても区別がつかない
487 名前:名前は開発中のものです。 mailto:sage [2009/08/09(日) 21:12:13 ID:PuJDDIqH] 余談だが、単純にフェードイン・フェードアウトだけなら、moveタグでやる方法もある。 この間にトランジションを行うと巻き込まれるが、好きなレイヤをそれぞれの時間で表示・非表示できるのは結構便利。
488 名前:名前は開発中のものです。 [2009/08/10(月) 02:18:21 ID:mZ36Q/5Y] キャラごとにボイスのオンオフを作りたいのですが、 何かサンプルはないでしょうか?
489 名前:名前は開発中のものです。 mailto:sage [2009/08/10(月) 08:52:33 ID:N33HnzZP] >>488 サンプルも何も、キャラごとにボイスONの変数を用意して、 それでボイス鳴らすマクロを[if]なりcondなりしてやればいいだけだと思うが
490 名前:名前は開発中のものです。 mailto:sage [2009/08/10(月) 15:15:14 ID:mZ36Q/5Y] >>489 確かにそうですね、なんとかできました。 ありがとうございます。
491 名前:名前は開発中のものです。 [2009/08/11(火) 01:56:09 ID:U/SKRjwd] >>485 >>486 ありがとう、なんとかなりますた ついでにもう一つ。 携帯からですまん。 [eval exp="f.layer_c1 = 2"] [eval exp="f.pos_l = -200"] [eval exp="f.layer = 'f.layer_c' + mp.lay"] [eval exp="f.left = 'f.pos_' + mp.pos"] [image storage="xxxx.png" layer="&f.layer" left="&f.left" ] で、lay=2、pos=lで指定すると、 f.layerもf.leftも文字列の変数として認識されて、 無理矢理整数型にしようとすると0になってしまいます。 "f.layer_c1"といった文字列を,f.layer_c1という関数(中身は数値) に変える手だてはないでしょうか?
492 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 03:14:42 ID:ieF9pzLM] 多分これかな? [eval exp="f.layer = 'f.layer_c' + mp.lay"] [eval exp="f.left = 'f.pos_' + mp.pos"] ↓変更 [eval exp="f.layer = f['layer_c' + mp.lay]"] [eval exp="f.left = f['pos_' + mp.pos]"] ただぱっと見の状況ではf.layer_c2が無いから lay=2だとvoidになると思うけど
493 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 15:46:52 ID:OVZtbqV/] 質問させていただきます。 ―(接続符号ダッシュ)を二つ繋げて使うと、文字と文字の間に微妙な隙間が出来てしまいます。 (例)―― ↑ここあたりに微妙な隙間が出来る。 字間調整なので色々と試してみたのですが、ぴったりと密着せずにうまくいきません。 こういう場合はどうすればいいのでしょうか? ご教授お願いします。
494 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 16:09:00 ID:72wadl5V] アンチエイリアスがかかってるからじゃないかな。 drawTextで書くか、アンチエイリアス外したレンダリング済みフォントを指定するとか?
495 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 16:36:44 ID:j4UQjU4o] >>493 デフォで文字間を空けてるなら [style pitch=0]――[style pitch=default] ダメならpitch=0を-1とか-2にしてみる フォントに影つけてるなら[ch text="――"]とかも試してみるといいかも
496 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 17:45:50 ID:DikYrcFL] VideoOverlayクラスを継承して独自のクラスを作ったのですが、 ムービーを左右反転させて再生する方法は何かありませんか?
497 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 18:17:54 ID:OVZtbqV/] >>494 、>>495 ありがとうございます。 おかげ上手くいきました。
498 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 19:33:50 ID:QXG/hnfO] >>496 C++? TJS?
499 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 20:02:53 ID:DikYrcFL] >>498 ああごめんTJS 好きな位置でムービー再生できる関数作ってたんだけど 反転再生出来ないかなと思ってリファレンス見たけど無かった
500 名前:名前は開発中のものです。 [2009/08/11(火) 20:21:02 ID:j4UQjU4o] >>499 TJSのみで実現するならmode=vomLayerでレイヤ描画にして onFrameUpdateのタイミングでlayer1なりlayer2なりに対して flipLR/flipUDするしかないんじゃないかな
501 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 20:31:37 ID:DikYrcFL] すんなりお手軽には行かなさそうですね ありがとうございます
502 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 20:41:35 ID:DikYrcFL] ちょっと前にここでうpされてた layerExBTOA.dllを使ってるんだけど onFrameUpdate内で左半分と右半分を合成表示してるから flipUDはいけたけど、flipLRはそのままだと無理だった
503 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 20:58:43 ID:/qWwaawF] 質問です。マクロに引数を持たせるのはどうしたらいいでしょうか? 下のソースで失敗したのですが、やりたい事はわかりやすいと思います [macro name="pos_set"] [eval exp="tf.func = %function"] [image storage="name_masato" page="fore" left="10*tf.func" top="5*tf.func" layer="3" visible="true"] [endmacro] どうやれば実装できるでしょうか?
504 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 21:02:19 ID:j4UQjU4o] 情報の後出しは感心しないが copyRightBlueToLeftAlphaの後にimageWidthを 半分にしてfilpLRするのではダメなん? まあ既に解決してるならいいんだが
505 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 21:22:23 ID:B/yENLBD] >>503 [macro name="pos_set"] [eval exp="tf.func = mp.function"] [image storage="name_masato" page="fore" left="10*tf.func" top="5*tf.func" layer="3" visible="true"] [endmacro]
506 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 21:24:57 ID:DikYrcFL] 後出し申し訳無いです > layer1.width = layer1.imageWidth / 2 をやめて、layer1.leftをマイナスの方に持っていくと反転表示できました
507 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 22:38:16 ID:/qWwaawF] >>505 ありがとうございます! そして、やっていて出来ないのが不思議なのでも別の質問なのですが、 [emb exp="tf.pos_x"] [emb exp="tf.pos_y"] [backlay] [image storage="image.tlg" page="back" left="tf.pos_x" top="tf.pos_y" layer="12" visible="true"] [trans method=crossfade time=10] [wt] これで、embで中身を表示した時は330,400 という風に表示されるのに、 実際には(0,0)の場所に画像が表示されてしまうのですが、原因は分からないでしょうか・・・?
508 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 22:42:03 ID:7cNeYFf+] ×[image storage="image.tlg" page="back" left="tf.pos_x" top="tf.pos_y" layer="12" visible="true"] ○[image storage="image.tlg" page="back" left="&tf.pos_x" top="&tf.pos_y" layer="12" visible="true"]
509 名前:名前は開発中のものです。 mailto:sage [2009/08/11(火) 23:10:07 ID:/qWwaawF] >>508 oh o.......rz ありがとうございます
510 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 01:42:04 ID:ErlnEzrS] >>499 それ継承(is-a)じゃなくてhas-aにするもんだと思うぞ。 クラス・関数どっちでもいいからヘルパーを用意する。 でなきゃ機能追加するたびに継承してカオスる。
511 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 02:43:59 ID:+MZUpSTy] 右クリックでデフォだとメッセージレイヤが消えますよね。 それに、さらに一部の前景レイヤも消したいんですよ。 んで、色々調べてみたら、MainWindow.tjsの3000行目付近の 下記の辺りをいじくればどうにかなるってことまではわかったのですが、 その先が手詰まりです。 右クリックでメッセージレイヤと一部の前景レイヤが消えて、 クリックor右クリックで元の状態に復帰という動きにしたいんです。 function setMessageLayerHiddenState(b) { var layers; layers = fore.messages; for(var i = layers.count-1; i >= 0; i--) layers[i].setHiddenStateByUser(b); layers = fore.layers; for(var i = layers.count-1; i >= 0; i--) layers[i].setHiddenStateByUser(b); // プラグインを呼ぶ forEachEventHook('onMessageHiddenStateChanged', function(handler, f) { handler(f.hidden); } incontextof this, %[hidden:b]); }
512 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 02:47:52 ID:+xCib+xM] デフォでその機能あると思うけど [layopt autohide=true layer=2] みたいな。
513 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 06:41:21 ID:+MZUpSTy] >>512 おお、本当ですた。 意外な機能があるんですねorz ありがとうございます。
514 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 14:26:34 ID:mlqaS2Wh] 今更感のあるネタだが ゆの in TJS // ゆの in TJS function yuno_in_tjs() { var X = -1; var _ = -1; var 来週も見てくださいね = "Debug.message('ひだまりスケッチ×365 来週も見てくださいね!')"; return X / _ / X < 来週も見てくださいね!; } 誰かもっと変態的なコードにできない?
515 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 15:01:55 ID:zptbEzUH] >>514 今更感どころか初めて知った なんだこれ可愛いなw
516 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 15:42:16 ID:mlqaS2Wh] // 改造版 // 後置! でのmix-inと、プロパティの評価を使ってみた // 参考 ttp://d.hatena.ne.jp/keyword/%A4%E6%A4%CE%20in%20language var ゆの; property X { getter() { return ゆの === void ? (ゆの = "ひだまり") : (ゆの += "スケッチ"), -1; } } property _ { getter() { return (ゆの += "×365"), -1; } } var 来週も見てくださいね = "+Debug.message(ゆの += ' 来週も見てくださいね!')"; X / _ / X < 来週も見てくださいね!;
517 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 19:53:41 ID:+MZUpSTy] loadpluuginでwuvorbis.dllを読み込んでいるのに、 xxx.oggは対応できない Wave 形式ですって出る…… 別のところではきちんとSEもBGMも出るのに、なんでだYO!
518 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 19:56:34 ID:+xCib+xM] ビットレートか何かがおかしいんじゃないかしら
519 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 20:04:06 ID:JU90xjFD] そういうエラーが出たかどうかはおぼえてないけど、 oggのモノラルは再生できなかったような気がする。
520 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 20:08:17 ID:RgWJtapw] 単にファイルが壊れてるだけじゃないの? あとはOggFlacとかになってるとか
521 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 20:13:08 ID:+MZUpSTy] いや、同じSEを他の場所で使っても大丈夫なんだ。 おさかな定食のsaveloadでマウスがオンしたときのSEを再生しようとすると、エラー吐く。 んで、そこを空欄にしてみたけど、今度はファイル名の部分が空白になって、 同じエラーが出てきたorz 明後日までに終わらない気がして来た……ごくり……
522 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 20:15:22 ID:GZbw9ZXF] SEならwavでいいじゃない
523 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 20:16:46 ID:JU90xjFD] 得体の知れないものを使ってることが問題のような気が……。
524 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 20:32:18 ID:RgWJtapw] >>521 空白にしたら同じエラー? ファイルがみつからないっていうエラーじゃなくて? あと他の場所ってのは、別のソフトって意味じゃないよな 念のため、kirikiri2フォルダの中にあるaudioplayerでもテストしてみ
525 名前:名前は開発中のものです。 mailto:sage [2009/08/12(水) 21:11:03 ID:+MZUpSTy] >>522 今確認したら、.wavだたorz .wavで指定したら直りましたわ。 トンクス。 >>523 今更ながらそう思う 素直にクリッカブルマップを使えばよかったorz てか、今からやっても間に合うかなw >>524 いや、同じソフトの別のシナリオファイル ファイルが見つからないんじゃなくて、 「 は対応できない Wave形式です」って。 こんなときにおさかな定食が工事中なんて\(^o^)/ 背伸びしてあやえもさんのところのプロフェッショナル版を 使ったらもう涙目www