- 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の公式掲示板や講座等を併用してください。 (併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)
- 403 名前:名前は開発中のものです。 mailto:sage [2009/07/31(金) 23:29:54 ID:VlyFlnzf]
- 完全な初心者です
自己解決したんですがトランシジョンは難しいですね 背景画像を使わずにメッセージレイヤに文字だけ表示している状態から その文字を溶暗で消す方法がわからなくて悩みました 結局真っ黒な背景画像を用意してクロスフェードさせました メッセージレイヤをどうやって操作すればいいのだろうと悩んでいました チュートリアルを作られている方にこのとほほなつまずきをお知らせしたいです
- 404 名前:名前は開発中のものです。 mailto:sage [2009/07/31(金) 23:50:59 ID:DEiOJAlU]
- >背景画像を使わずにメッセージレイヤに文字だけ表示している状態から
>その文字を溶暗で消す方法がわからなくて悩みました @backlay @layopt layer="0" page=back visible=false @trans method="crossfade" time="1000" @wt これでok
- 405 名前:403 mailto:sage [2009/08/01(土) 00:04:18 ID:uNi03v+g]
- 404さん、ありがとうございます
チュートリアルは背景画像を使う普通の場合を想定しているのでつまずいていました
- 406 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 00:28:43 ID:GXDqmh6d]
- >>405
チュートリアルは、コピペして使うものじゃなくて、基本の仕組みを理解するためにあるものだから チュートリアルだけじゃなくて、タグリファリンスにもちゃんと目を通した方がいいよ あとはテンプレ見て講座サイトと併用するなり何なり いきなり一から十まではできないだろうが、みんなつまづいて思考錯誤しながら覚えていくんだよ
- 407 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 00:37:45 ID:KB27uNbz]
- [image storage="&kag.fore.layers[0].Anim_loadParams.storage" layer=1 pos=center]
これ、型がちがうみたいなことを言われるのはなぜ?
- 408 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 00:50:13 ID:GXDqmh6d]
- >>407
voidになってるのかな kag.fore.layers[0].Anim_loadParams.storage これ監視式に入れてみたらいいんじゃね
- 409 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 01:10:02 ID:IN4NoQ+t]
- >>401 402
レスありがとうございます。 サブルーチンの方が簡単に組めそうなので サブルーチンでやってみる事にします。 ありがとうございました!
- 410 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 01:26:53 ID:QpRSM0pZ]
- >>407
[image storage="&kag.fore.layers[0].Anim_loadParams.storage" layer=1 pos=center cond="kag.fore.layers[0].Anim_loadParams !== void && kag.fore.layers[0].Anim_loadParams.storage !== void"] または [eval exp="kag.fore.layers[1].assignImages(kag.fore.layers[0]"]
- 411 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 02:00:28 ID:ORmBfdl/]
- tjsの質問です。
var i="j"; var j= 0; この場合に変数iを利用して変数jの値を変えられないでしょうか。 (i!)= 値、でできるかと思ったのですがこれは不正な代入か不正な式の操作だそうなので。
- 412 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 02:41:35 ID:NlDhYl95]
- >>411
その式だと 0 = 値 ってことになるから当然エラー 目的を満たすには global[j] = 値 でおk
- 413 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 10:24:11 ID:KB27uNbz]
- 407です。
408、410、レスサンクスです!! condでvoidかどうかチェックするのか……。 assignImagesの使い方もわかりました。すてきー。
- 414 名前:411 mailto:sage [2009/08/01(土) 12:58:26 ID:p7Ny6mdi]
- >>412
[]演算子を使えば良いのですね、回答いただきありがとうございます。 私の考えたものは言われると確かにエラーで当然ですね、何故これでできると思ったんだろう。
- 415 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 13:27:12 ID:hsxXyy+h]
- そういうのはちゃんと理解して使わないと嵌まるよ
- 416 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 22:03:21 ID:v2mQIBat]
- first.ksから次のシナリオのksに飛ばして
再びfirst.ksに戻って次のksに飛ばす方法したいんだけど 戻る時jumpで*〜指定するのとcallでreturnして戻るのと指定するのどっちが効率的? 他にそういう方法があるなら教えてほしいです。
- 417 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 23:07:33 ID:fEDZV3Iq]
- >>416
そんな些細なことで効率性を求めてたらなかなか進まない 好きな方法をつかう 個人的にはマクロ読み込みみたいに必ず呼び出し元に返ってくる、ちょっと別のファイルを 読み込むような意図ならサブルーチン。同じファイルに戻るかもしれないけど条件次第では 戻らないかもしれない、シナリオ分岐など(ニュアンス的に)処理が別ファイルに移るようなときなら jump使ってるかな
- 418 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 23:09:37 ID:h4M1zPGr]
- 何の効率?
- 419 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 10:44:29 ID:C+Gw8PJZ]
- たぶん、脳みそ使わないで済む効率。
ケースバイケースなんだけど、通常のシナリオ部分なら @jumpの方が扱いが楽だよ。必要なら、戻り先は、フラグに収納しとく。 >他にそういう方法があるなら教えてほしいです。 tjs含め、普通に「KAG System リファレンス」で言及されているのであらかただと思う。 ということで、リファ嫁。 個人的見解だけど。そこら辺は自分で試行錯誤して決めれば良いレベルと思ふ
- 420 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 10:54:19 ID:Wp08KWhd]
- 個人的な好みでは、jump使うのは3〜4回くらいかな
あとは全部callしてる first.ks->macro.ks->title.ks->main.ks とか 構造化プログラミングとかに慣れてるとこっちの方が違和感が少ない
- 421 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 11:32:42 ID:fQoBB6mb]
- プログラマー上がりなら、違和感は少ないかもしれないけど、
栞やコンダクター周りとの相性の問題あるし、リンクが普通に使うと@jump同等だし、 @jump主体にしたほうが、素直でお得と思う。
- 422 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 12:34:40 ID:Wp08KWhd]
- callで相性問題出るのか!?
今のところ、問題起きてないけど・・・。 jump主体はGotoのスパゲッティコードを連想してどうにも。
- 423 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 12:41:51 ID:KHOYRoEP]
- 結論:個人の好きで使え
- 424 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 13:05:59 ID:3h/vRcOB]
- KAG SYSTEMの構造を理解してればcall主体で組むなんてことは普通しない
まあ何を作ってるのかにもよるけど、関数プログラミングがしたいなら、 TJSで自前のサブシステム作ってKAGに組み込んで・・・ってのが筋だと思うし、 後々トラブルが少なくてすむんじゃないだろうか
- 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] どうやれば実装できるでしょうか?
|

|