- 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の公式掲示板や講座等を併用してください。 (併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)
- 199 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 15:36:49 ID:9QmAf7tL]
- >>197
>ぼくは小学生だけど まで読んだ。 中学生になったら、『オープンソース』といった知らない言葉が出てきたら ネットで調べたりすることをお勧めする。
- 200 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 15:45:12 ID:NvZ9Ci8y]
- >>197
あれは特許がらみ。特許と著作権は性質が根本的に違う。 特許の場合、仮に全部自分が作ってもひっかかるから吉里吉里とかオープンソースとか全く関係ない。 シナリオジェネレータ? 手直ししなくていいような実用レベルのものができたら、 ADV市場どころかどこでもひっぱりだこだよw 公開すれば一財産築けるね
- 201 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 15:48:07 ID:A5PV4jQB]
- これは酷いw
- 202 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 16:11:44 ID:nF+z85/G]
- ADVゲーム市場が崩壊するようなシナリオジェネレータとか
久しぶりに特大の発言来たな
- 203 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 17:45:52 ID:xstPUn85]
- なんだか意味不明なんで逃げますね〜
- 204 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 18:21:10 ID:DQxdMA/E]
- つ、釣りのつもりなんだろうか・・・・・?
それとも上でVBがどうのこうのって言ってた真性小学生か、既知外さんなの だろうか。
- 205 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 19:01:51 ID:idGHkHRQ]
- >>196に「シナリオジェネレータ」も追加な
- 206 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 19:23:28 ID:hkm+AIFp]
- 2chとは思えない親切な回答を聞いて態度デカいと言い
子ども向けのクソ丁寧な説明を意味不明と言う きっと大者になる
- 207 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 20:07:09 ID:CZhEe+7f]
- おおうましかがあらわれた!
- 208 名前:名前は開発中のものです。 mailto:sage [2009/03/06(金) 21:24:45 ID:JxqtemYl]
- とりあえず腹筋を崩壊させる才能はあるかもしれん
- 209 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 03:12:13 ID:jy29upj0]
- 質問です。
文字を1ページ一括表示にしたいのですが、 できますか?
- 210 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 03:21:21 ID:TEfkdRE9]
- >>209
[nowait]
- 211 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 06:17:40 ID:KkTAAAeP]
- 初めての吉里吉里/KAG作品を製作中。
1対1のカードゲームで互いの札の大きさで勝負が決まるようなごくシンプルなものなんだけど ブラフも含めて相手の顔の表情を色々変化させようとしたらその思考ルーチンの複雑さに音を上げそうだ。 人間味のある思考って大変なんだなー。何かコツみたいなものってないだろうか‥ (´д`;)
- 212 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 06:25:47 ID:fJMQD4GX]
- よくある質問なのかもだけど、
掲示板とかでよくMainWindow.tjsに〜を追記してってのがあるけど、 これをAfterInit.tjsに書きたい場合(MainWindow.tjsを書き換えたくない) どうするのかがよくわかんなくて、 例えば、 KAGWindowのメンバ変数を追加するとか、 関数に処理を追加したりとかがどうやるのかわからない。 具体的には、kagに変数loadflag=false追加して loadBookMark内にloadflag=trueを追加したい。 これで栞ロード時に追加処理できるかなーとか思ったんだけど。
- 213 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 07:28:42 ID:7uJYexCl]
- >>212
関連事項になるかも知れない MessageLayer.tjsの変更点をAfterInit.tjsで書き換えるということを今してた function hoge(){ から } までをそのままコピペして変更したらできた 関数は再定義しても問題ないということなのかな
- 214 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 07:31:18 ID:7uJYexCl]
- と思ったら失敗してた orz
- 215 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 08:55:51 ID:uP8VSlYg]
- MainWindow.tjsにhoge(fuga)というメソッドがあったとすると、
AfterInit.tjsには、 kag.hoge = function(fuga) { System.inform(fuga); } incontextof kag; で上書きできるよ。 でもメンバ変数は別で管理した方が危なくなくていいんじゃないかな。
- 216 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 09:17:50 ID:u4AXJgBu]
- メンバ変数を追加したい場合、仮に変数名をtestとすると、Override.tjsに
global.KAGWindow.test = 0; って書くか、AfterInit.tjsに global.kag.test = 0; で出来る。関数も同様。 追加したい処理がちょっとしたものなら、>>215みたいに上書きするより tf.hoge = kag.hoge; kag.hoge = function(fuga) { //追加したい処理をここに記述 System.inform(fuga); //本来の処理を行なう tf.hoge(fuga); } incontextof kag; ってするのがいいと思う。 処理内容を根本的に変えたいのであれば>>215だね
- 217 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 09:20:54 ID:fJMQD4GX]
- 別に管理というと、
単純にシナリオファイル内でsf.loadflagとかにしたほうがいいのかな、安全性でいって。 シナリオファイル内(first.ksの最初とか)でsf.loadflag=falseとして、 kag.loadBookMark=function(num, loaduser = true) { // 栞番号 num からデータを読み出す sf.loadflag = true;//←この行を追加 return loadBookMarkFromFile(getBookMarkFileNameAtNum(num), loaduser); } でいいのかな。
- 218 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 09:39:20 ID:dAI8593+]
- メンバ変数追加する場合は処理の辻褄合わせるために
起動の始めの方に一行追加してはっきりさせておいた方がいいけど userフラグ(f、sf、tf)ならそれが必要なくなるから 手っ取り早く且つ解りやすく済むってのがある。
- 219 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 13:22:10 ID:iep/mgDw]
- >>211
情報としては、自分の札の大きさ、相手の表情(の変化)などが あるわけだと思うけど、 はじめから、ブラフを含めてとか考えると難しいことになりそうで 最初は素直なキャラから作り始めたらどうかな
- 220 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 13:32:39 ID:fJMQD4GX]
- 結局216を参考にして、AfterInit.tjsに
global.kag.loadflag = 0; tf.loadBookMark2 = kag.loadBookMark; kag.loadBookMark = function(num, loaduser = true) { //ロード時の追加処理 loadflag = true; tf.loadBookMark2(num, loaduser = true); } incontextof kag; でうまく動きました。ありがとう!
- 221 名前:名前は開発中のものです。 mailto:sage [2009/03/07(土) 15:31:55 ID:jy29upj0]
- >>210
ありがとうございました
- 222 名前:211 mailto:sage [2009/03/07(土) 17:11:29 ID:faaX873R]
- >>219
RESありがとう、正にその通りで苦労してるところ。 割と素直な2人目までは出来たんだけど、だんだん強くなる3人目からがややこしくなってきた。 表情も最初は顔の他に手のポーズまで凝ろうとしたら1人の表情が200個ぐらいになって 整理がつかずバグだらけだったので、顔だけにしてさらに押さえて1人50個ぐらいにまで減らしたよ。 表情のファイル名も最初はsmile1、smile2とかだったのを"ああっ!"とか"ビクビク"に変えて ようやく整理出来てきた。 今のところこういう試行錯誤ばかり多くて、製作が進んだり戻ったりするのが一番ツライ。 思考ルーチンもだけど、そこから分岐した差分の管理とかがさらに難しいなー。 現在はテストプレイと称して、一番うまく動作してる1人目とダラダラ遊び続ける逃げモードだよ。
- 223 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 00:35:29 ID:joKXSO6O]
- >>222
初めは「強さ2程度の表情をした!」とか文章だけのゲームにしておいて 思考エンジンが完成してから絵に置き換えたらどうでしょう。 あとデータはTJSの配列で定義しておくといいです。
- 224 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 12:08:23 ID:sCuwdZMS]
- ここで聞いていいことかわからないけど質問です。
DirectX使った演出を組もうとしてるのですがCPU使用率が常時100%行きます。 フレームレート落としたり更新矩形を小さくすれば多少改善されますが、カクカクしたりします。 ■手順 1.DirectXでレンダリング ↓ 2.ピクセルデータを吉里吉里レイヤーに転送(memcpy) ↓ 3.Layer.updateで更新 どうも2の転送処理以上にupdateがボトルネックになってるようです。 もっとスマートだったり軽い処理手順にできる方法は無いでしょうか……
- 225 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 14:53:21 ID:5QzPfy2V]
- Layer.update は更新フラグたててるだけだからそれ自身は関係ないけど
全画面転送が毎回発生することになるからその後の更新処理は重くなる。 そういうことやりたい場合は drawdevice 機能をつかって更新系をのっとるのが基本 あと、なにをどうやって処理してる?>フレームレートの調整 まさか busy loop はしてないだろうとは思うけど念のため
- 226 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 15:33:06 ID:Msoi3EzX]
- 素直にDirect3Dでシステム作った方がいいんじゃね? とかいったらまずい?
- 227 名前:224 mailto:sage [2009/03/08(日) 16:31:45 ID:sCuwdZMS]
- >>225
PassThroughDrawDeviceのソースを読んでみたんですが、アップデート処理ではiTVPLayerManager::UpdateToDrawDeviceを呼んでるだけなので 描画処理をDirectXなりで高速化しようと思ったらレイヤ関連の低水準な部分から実装し直す必要がありそう? レイヤのピクセルデータをDirect3Dのテクスチャで持っておいて、更新時にレンダーターゲットに合成とか。 そこまでいくと既存エンジン使うことの意味が薄れるというか……。 環境依存になってもいいから速度が欲しいって層も結構いるはずなので誰か実装して公開してないかな。 欲しいなら自分で作れって話だけど、はい。 FPS調整は今のところContinuous Handlerで描画処理を呼んでるので、-contfreqで呼出頻度を変えてるだけです。 >>226 慣れ親しんだ吉里吉里(+KAG)で書きたいので、何とかどうにかしたい。
- 228 名前:名前は開発中のものです。 mailto:sage [2009/03/08(日) 17:22:04 ID:5QzPfy2V]
- >>227
>レイヤのピクセルデータをDirect3Dのテクスチャで持っておいて、更新時にレンダーターゲットに合成とか iTVPLayerManagerはそのための処理を抽象化した機構だぞっと iTVPLayerManager 経由で吉里吉里側で把握してる更新領域分のビットマップだけを送り込んでくれるようになってる。 ただし、吉里吉里側の設計上、drawdevice におくりこんで制御できるのは、子レイヤの合成を全部把握してる primaryLayer のみ 既存実装での Update() はそのレイヤマネージャの更新処理の口を全部たたいてるだけ。 iTVPDrawDevice::StartBitmapCompletion, NotifyBitmapCompleted, EndBitmapCompletion が順次呼ばれてビットマップ情報の drawdevice 側への転送が行われるようになってる。 そのビットマップをどう保持するかは drawdevice の実装次第で、Direct3D ならテクスチャに 保持して、更新があった部分だけ lock してテクスチャを更新することになる。 そのテクスチャ化した吉里吉里レイヤの実際の描画処理は Show() で行う。 ソース眺めるなら、drawdeviceD3D とかも見るべし。複数の primaryLayer のビットマップ情報を テクスチャ化して、拡縮した上で合成かけるサンプルになってる。もっとも単純に生成した順に重ねてるだけだが、 最背面:吉里吉里の primaryLayer その1 中間: 任意の D3D の描画 最前面:吉里吉里の primaryLayer その2 といった形への改造なら簡単に作れるだろう。 ただし、これは、吉里吉里本体が内包してる D3D7 のインターフェースを使ってる から、自前で3D処理も作るなら今なら D3D9 で書き直したほうが良いとは思う。 実際の3Dエンジンとの複合例なら drawdeviceIrrlicht のサンプル実装もある。 Irrlicht 描画の内容を吉里吉里のレイヤに吸い込む処理ももってるから、 それはそれで参考になるだろう。それはやっぱり転送大量で重いけどね FPS処理はその実装でおk
- 229 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 05:04:31 ID:WZvWWyt5]
- >>211
こういう場合は、ルールを明確でシンプルにすること。 例えばパラメータがいろいろあるからといって、それらを一つ一つ表情に反映させようとすると めちゃくちゃになる。211が言っているようなゲームの思考ルーチンだと、例えばどきどき度など というパラメータを1つだけ作って(どきどきどの算出関数は他の複数のパラメータを参照して良い。 またこの関数をキャラのタイプ別に用意しても良い)そのどきどき度に応じてキャラ表情を1次元上に並べる。 そして、個性や強さは、そのどきどき度をどの程度補正できるかというパラメータで表現してしまう。 補正パラメータが適正値を超えると、逆の反応を示すようになるわけ。 これで、基本がシンプルになったから、後は性格付け(勝ってると補正パラメータが下がって いくとか、ゲーム数が増えると補正パラメータが下がっていくとか)と、プレイヤーの反応に 対するイレギュラー(大きくかけると驚くとか)をいくつか入れてやれば、プレイヤー側で 勝手に裏読みし始めるようになるので、それなりのものはすぐ作れるよ。 ポイントは、多数のパラメータを、表情を表示するために一元的なパラメータにしてしまうところだな。
- 230 名前:211=222 mailto:sage [2009/03/09(月) 06:51:51 ID:+2V/95PJ]
- >>223,229
アドバイスありがとう! でも実は‥ 関数は使ってないんだ。(´д`;) 処女作なので、条件分岐と変数に四則演算や1〜100の乱数を入れるスクリプトだけで 作れるものをと思って挑戦した次第。 何しろどういう計算の関数にしたら思うようなシステムになるかまるっきり思いもつかない。 それぞれをマクロにまとめてどうにか見られる形になったというレベルなもので。 ゲーム自体は2人がまず参加料のチップを出した後、1枚ずつの札を引いてチップを賭ける。 札の大きい方が勝ちでチップを総取りという実に単純なもの。 キャラの行動も個性を抜きにすれば、キャラが賭ける側(子)の時は見た札の大きさに反応して ベットする(賭ける)枚数を決める。キャラが受ける側(親)の時はプレイヤーが賭けた枚数に 反応してコールするか降りるか決める。というだけのごく単純なもの。 ただし表情は、札を配られる前、配られて札を見た時、プレイヤーの行動に反応する時、 自分の行動をする時、勝負の結果に対する時 etc..かなり多岐に渡るという。 やっぱりちゃんとTJSを勉強しないとダメだなー。でもそれを使えるようになっても、 どういう関数に組んだらいいかというセンスもまた必要なわけで。 とりあえず今回はここまで進んでいるのでこのまま力押しでいこうかと。 >>223のまず絵を入れる前に文章で仮製作するというのは今すぐそのまま使える手法でいいね。 >>229のアドバイスも、今後関数を勉強してぜひ試してみたいと思います。
- 231 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:12:27 ID:xRvvOvpc]
- タイトル画面のメニューのボタンを押したらpush音が鳴るようにしたのですが、
(linkタグのclickse属性でwavファイルを鳴らしています) 起動時の一番最初だけタイミングがずれてイヤです (1)ずれる原因は、次のうちどれでしょうか ・wavを鳴らすための準備(初期化?)をしている ・wavファイルがどこのフォルダにあるか探している ・その他初歩的なミス (2)2回目以降がきちんとタイミング良く鳴るわけは、次のうちどれでしょうか ・キャッシュデータ(って言うのだろうか)が残っている ・対象のwavファイルまでの道筋を記憶している ・その他 (3)これを解決するにはどのようにしたらいいのでしょうか
- 232 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:47:25 ID:FL2+xgM6]
- 解決法:oggにする
- 233 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 12:51:20 ID:xRvvOvpc]
- >>232
目から鱗! みなさんそうやってらっしゃるんですかあ
- 234 名前:名前は開発中のものです。 [2009/03/09(月) 15:19:00 ID:cWf/NN7v]
- >>231
どっかで、無音のWAVを最初にマクロとか色々読み込む段階で一回鳴らしとくといい ってのを見たことがあるよ 理由は忘れたけど 起動してから初めて使うWAVは、ずれるみたい
- 235 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 15:37:20 ID:xRvvOvpc]
- >>234
無音wav これはひょっとしたらと思ったやり方です やはりやってらっしゃるのかあ さっきコンソールを見たら、やっぱり初回wavの時に何かごちゃごちゃやってるようです (info) DirectSound Driver/Device found : プライマリ サウンド ドライバ 15:25:57 (info) DirectSound Driver/Device found : SoundMAX Digital Audio [C:\WINDOWS\system32\ ……以下略 wavファイルの方に問題ではなく、ドライバの起動(って言うのかな)に時間がかかるようですね 無音wavの利点は、wavファイル=効果音、oggファイル=BGM、と大まかな使い分けで分かりやすい この方法を試してみることにします ありがとうございました
- 236 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 17:31:27 ID:BBoPyAuw]
- クリック待ちアイコンをタグで変更できますか?
できるのならどうやるか教えてくださいお願いします
- 237 名前:名前は開発中のものです。 [2009/03/09(月) 17:40:09 ID:skZwU9FF]
- >>236
devdoc.kikyou.info/tvp/docs/kag3doc/contents/Tags.html#glyph リファレンスちゃんと嫁
- 238 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 18:32:09 ID:7gFS/87r]
- >>236
何をどうググったのか、知りたいところだ。
- 239 名前:名前は開発中のものです。 mailto:sage [2009/03/09(月) 21:35:21 ID:AztcWJKK]
- メッセージレイヤに文字描画途中で[style]でalign="left"を指定すると、
直前まで描画していた文字が少し太くなるきがするのだけど、 原因がわからない。 具体的なソースは、 [current layer="message0"] ;フォント等の設定 [delay speed="200"] [font shadow="false" size="25" face="MS ゴシック" bold="false" color="0xFFFFFF"] [style align="left" linespacing="10"] ;文字描画 あああ[current layer="message0"] いいい[font shadow="false" size="25" face="MS ゴシック" bold="false" color="0xFFFFFF"] ううう[style align="left" linespacing="10"] えええ[p] このソースでうううの後のstyleタグのalign="left"が有るか無いかで、 微妙に表示が違う・・・。何故だ・・・。だれか教えてくれ〜!!
- 240 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 13:31:06 ID:TrSYriSF]
- >>239
いろいろ試していて面白いソースですねw フォントや太字が関係ないのは、文字サイズを大きくしてみたら分かります (少し太くなるように見える現象が、大きくしてもあまり変わらない) スクショを撮って拡大してみたら、アンチエイリアスが原因と分かりました メニューから「文字表示」「アンチエイリアス」でチェックを外してみたら、変化がなくなりました 以下は予想です すでに文字が表示されてる状態で左寄せをすると、再描画されることになり、 2重にアンチエイリアスをかけて、結果少しだけ太く見えた 吉里吉里内部のことは分かりませんw
- 241 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 15:36:26 ID:uuY2ymni]
- >>240
でたらめなソースですね、ほんと。 すいません。 何故コレに気づいたかというとマクロに処理を一括させてたんですが、 文字列をマクロにわたして出力させたときに、 通常1行ごとにわたしてたので気づかなかったんですが、 1行にこのマクロを複数呼び出すと、この現象が起こって。 それでどこに原因があるか調べるためにこのソース書いたんです。 アンチエイリアスが原因なんですか・・・。 正直聞いてもどう対処すればいいのかわからないw アンチエイリアス切るしかないのか・・・。
- 242 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 16:30:49 ID:TrSYriSF]
- >>241
再描画してることは分かりました 最初を左寄せ、後を右寄せとかに変えたら判明した これをよく考えてみると、アンチエイリアスが悪いのではないかも知れません 白の上に白を重ねても白に変わりはないけど、 アンチエイリアスのグレースケールの部分を重ねたことによって、濃くなったと そもそも[style]は、文字を表示する前に使うタグなのではと思ったりする 文字を途中まで書いて、[style]を入れるのは、期待されてない使い方なのかと このマクロを呼び出す時には、メッセージがクリアされてる状態であることか、 途中で呼び出すのなら、[style]をマクロから外すことで対処できるかと思います
- 243 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 17:00:30 ID:TrSYriSF]
- 微訂正
ごめん、今調べて分かったけど、根本的なことが抜けていた [style]は行のスタールを指定するタグだから、行の途中というのがまずかったみたい メッセージがクリアされてる状態でなくても、改行して次の行なら挙動は問題ない
- 244 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 17:08:26 ID:uuY2ymni]
- >>242
なるほど!メッセージレイヤーがクリア状態のみ実行すればいいのか! cond属性にクリア状態の判定を行えばいいかな? メッセージレイヤーがクリア状態か判定する方法を、 MessageLayer.tjsを見てできそうなの探したんですが、 [style align="left" linespacing="10" cond="kag.fore.messages[0].lastDrawnCh==''"] でいいんですかね? lastDrawnChって最後に描画した文字とのことで、 [er]とか[cm]でクリアすると空白になると予想したのだけど。。。
- 245 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 17:12:18 ID:uuY2ymni]
- >>243
ほんと色々ありがとうございます。 クリア状態の判定じゃなくて、行頭かの判定でもいいってことですよね? やり方がわからないですがw
- 246 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 21:18:35 ID:1sBYFFlG]
- >>239
今さらだが、kagのソース (MessageLayer.tjs) を解析してみた。 文字を描画するときはいきなりメッセージレイヤに描画ではなく、 行ごとに "行描画用浮遊メッセージレイヤ" に描画してから、 それをメッセージレイヤ本体に転写している。 で、"メッセージレイヤ" と "行描画用浮遊メッセージレイヤ" は 両方とも見える状態のため、転写後 "行描画用浮遊メッセージレイヤ" の文字をクリアしないと文字が重なり輪郭が太くなる。 (アンチエイリアスがかかていると輪郭部分で太くなる) で、この転写のタイミングは3つあって (1) 改行 (2) [locate]タグ (3) [style]タグ の align 属性 (1)(2) は 転写後に "行描画用浮遊メッセージレイヤ" を初期化 (文字もクリア)しているけど (3) は初期化していないから >>239 のようなことが起こる。 例えば同じ行で1文字ごとに [style align="left"] を入れると 今度はメッセージレイヤ上に重ね書きを繰り返すので 前の文字がどんどん太くなるし、メニューから "アンチエイリアス" を OFF にすれば文字は全く太らない。 また1文字ごとに [style align="left"], [style align="right"] を交互に入れると今度は文字の数が増えてしまう。 (続く)
- 247 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 21:21:36 ID:1sBYFFlG]
- >>246 の続き
で、対策なんだけど、行の途中で [style align] を変更した時の 動作(仕様)によって変わる。 (仕様1) 変更時点で行の全ての文字は新しい align に従う。 (対策1) MessageLayer.tjs の function setStyle(elm) で fixLineLayer(); を削除。(2箇所) (仕様2) 変更時点より後の文字だけ新しい align に従う。 (対策2) MessageLayer.tjs の function setStyle(elm) で fixLineLayer(); の後に文字をクリアする処理を追加。(2箇所) (仕様3) 行の途中で [style align] を変更してはいけない。 (仕様1)(仕様2) が本来の仕様なら kag のバグかな?
- 248 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 22:17:59 ID:uuY2ymni]
- >>246
解析ありがとうです。 やっぱりマクロで組むときに、仕様3で、 cond="current.x == current.marginL"と書いて、 行頭時のみstyleタグを使用するようにしようと思います。 助言を頂いたお二人ありがとう!
- 249 名前:名前は開発中のものです。 mailto:sage [2009/03/10(火) 22:55:28 ID:uuY2ymni]
- cond="kag.current.x == kag.current.marginL"だった。。。
- 250 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 11:22:25 ID:61HDwFvy]
- >>248
仕様3で 使用するように しよう
- 251 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 14:27:43 ID:3KzMS1iA]
- おもしろいでちゅねー
- 252 名前:名前は開発中のものです。 [2009/03/11(水) 17:08:42 ID:+tS0RLY3]
- はじめての
はいはいワロスワロス
- 253 名前:名前は開発中のものです。 mailto:sage [2009/03/11(水) 22:20:26 ID:JcAglrjg]
- バグ報告よろちくび
- 254 名前:名前は開発中のものです。 mailto:sage [2009/03/12(木) 18:28:17 ID:OREavZTD]
- 初歩的なことだけど、
シナリオファイル内で[iscript]で関数を記述したとして、 その[iscript]通過後に、[jump]でその関数の記述前に飛んで、 もう一度[iscript]の所にきたらどうなるの? 関数を再定義するのかな? timer関数とかで、enabled=trueの時に、 同じ関数を読み込むとかエラーおきるのだろうか?
- 255 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 02:04:19 ID:QcRrk2h9]
- 自分で試せよんなもん
- 256 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 15:44:01 ID:EYxKsgP9]
- >>254
オーバーライドの仕組みを勉強してみるといいよ。
- 257 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 17:27:38 ID:4y2AAoc7]
- KKDE2で240桁以降って下のバーや右カーソル押しても潜っちゃって見れないんだけど
これは改行するしか対処方ないかな? 結構探したつもりなんだけど、指定行や右端で折りたたみってオプションないよね?
- 258 名前:名前は開発中のものです。 mailto:sage [2009/03/13(金) 19:37:02 ID:r/LS/GQ0]
- >>256
それはオーバーライドとは違うような… オーバーライドって言ってみたかっただけならスマス
- 259 名前:名前は開発中のものです。 [2009/03/15(日) 19:07:43 ID:JjWHmm0Y]
- 最近プラグイン製作にはまってるんだ
今100種類くらい(使い道アルかは知らないけど)あるんだけど これってどっかで公開したら需要あるかな? 作るだけで満足しちゃって、俺自身は使ってないから不具合とかあるかもしれないんだけどね 主に、エフェクト系が多い Fateに使われてるようなエフェクトは全部作った 音響系も、MIDIを内部で変換してWAVで流す(つまり、基本的にやWAVを使用できる)プラグインとか作った 書いてて思ったけど重要なさそうなのばっかだな…… おとなしくゴミプラグインは削除して作品製作にはいるか。チラ裏すまん
- 260 名前:名前は開発中のものです。 mailto:sage [2009/03/15(日) 19:11:06 ID:/7mOtL8f]
- >>259
興味あるから公開してほしい。
- 261 名前:名前は開発中のものです。 [2009/03/15(日) 19:23:02 ID:JjWHmm0Y]
- 2日レスなかったのにこんなに早くレスつくとわ……びっくりした
ソース付きの方が良いかな? 汚いから
- 262 名前:名前は開発中のものです。 [2009/03/15(日) 19:24:01 ID:JjWHmm0Y]
- 参考にはならないと思うけど
- 263 名前:名前は開発中のものです。 mailto:sage [2009/03/15(日) 20:03:49 ID:+BcqjnZr]
- うp!うp!
ソースは見たい人もいるんじゃないかね? 俺は見てもわからんけどw
- 264 名前:名前は開発中のものです。 mailto:sage [2009/03/15(日) 21:14:11 ID:Mu0gXtML]
- >>261
みんなスレ汚しを控えてるだけで、常駐してる人は多いぞここ
- 265 名前:名前は開発中のものです。 mailto:sage [2009/03/15(日) 21:39:42 ID:ol4KMu09]
- >>261
さっさとうpするんだな 痛い目にあいたくはないだろう
- 266 名前:名前は開発中のものです。 [2009/03/15(日) 22:01:17 ID:JjWHmm0Y]
- こんなに反応あるとわwww
なんか、ありがとう 今から自作物整理して、あとで上げます 参考までに、あったらいいなっていうプラグインを教えてくれませんか? 1物語に1回使うかなってくらいのすごく限定的なものでも良いんで
- 267 名前:名前は開発中のものです。 mailto:sage [2009/03/15(日) 23:20:18 ID:0PT1WS+f]
- >Fateに使われてるようなエフェクトは全部作った
花札のアルゴリズムがあるなら見てみたい。 >MIDIを内部で変換してWAVで流す どういう遣り方か見当もつかない。興味あります。
- 268 名前:名前は開発中のものです。 mailto:sage [2009/03/15(日) 23:32:47 ID:qrntCZtW]
- 公開とするとADVゲーム市場が崩壊するシナリオジェネレータとかどうかなw
- 269 名前:名前は開発中のものです。 mailto:sage [2009/03/15(日) 23:42:12 ID:g2asMGJI]
- >>266
前に一度話題になったみたいだが、うみねこに搭載されてる キャラクターが泡(ドット)で出現or消えるができるエフェクト。 泡(ドット)じゃなくてもっと色々なエフェクトでキャラクターの出現ができる プラグインがあると需要あると思う。 というか自分が欲しいw
- 270 名前:名前は開発中のものです。 mailto:sage [2009/03/16(月) 00:01:42 ID:EpWdkxA1]
- >>266
シナリオの文字がフェードで表示されるのがあったらいいな よくゲームのOPの演出で使われるようないっぺんに浮き出てくるんじゃなくて 文字の表示が左から右に出てくるというか
- 271 名前:名前は開発中のものです。 [2009/03/16(月) 00:11:53 ID:AIAyb+lA]
- >>268
あほ? >>269 既にある >>270 画像でファイルを保持し、トランス これじゃ駄目な理由は? 少し囓ったことあるなら、FONTをRECTすれば文字にできるだろ? >>266 ガラスが割れるみたいなエフェクトあると嬉しい
- 272 名前:名前は開発中のものです。 mailto:sage [2009/03/16(月) 00:34:53 ID:mxKYyZV/]
- >>270
サークル煌明さんのところにあるやつかな?
- 273 名前:270 mailto:sage [2009/03/16(月) 00:56:29 ID:EpWdkxA1]
- >>271
一部の演出じゃないのでそれだと色々困る というか説明が分かりにくかったね、ごめん >>272 そうそうこういうの! すでにあったんだね。教えてくれてありがとう
- 274 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 16:26:49 ID:zKNYimra]
- 正規表現を使って、文字列のstr中の半角数字の桁揃え、乃至は
数字の先頭にある連続する 0 を削除するにはどうするのですか? file00199 ⇒ file199 みたいなのです。 +009 みたいのだと8進数になってしまってこまっているのです。 tjsで汎用性の低いのを作れないでもないのですが・・・
- 275 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 17:24:34 ID:uugonJS8]
- 桁揃えされた文字列がほしい時は sprintf を使う
"file%05d".sprintf(199) → "file00199" 文字列の頭の0消去なら正規表現でさっくり /^0*/.replace("00199","") → "199" データは数値でもつのを基本にして、文字列が必要なときだけ sprintf で生成するほうがなにかと便利
- 276 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 19:13:04 ID:4wcH/Upa]
- 指定したURLとは、ずれた場所でもカーソルが人差し指マークになってしまい、そこをクリックすると
エラーになってしまいます。どこがおかしいのでしょうか? [cm] [nowait] [title name=ヘルプ] [position left="20" top="0" width="400" height="300" marginr=-200 opacity="0"] [image layer="base" storage="about"] [font size="30" color="0xFFFFFF" shadow="false" edge="true" edgecolor=0x56dfcc] 吉里吉里 [locate y="70"] [font size=14 color="0xFFFFFF" shadow="false" edge="true" edgecolor=0x6d5d5d] presented by 吉里吉里[r] [link exp="System.shellExecute('devdoc.kikyou.info/')"] devdoc.kikyou.info/[endlink] [font size=14 *color=0xFFFFFF shadow="false" edge="false"][r] [s]
- 277 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 19:21:39 ID:4wcH/Upa]
- すみません、指定していたCGが原因だったみたいです。
- 278 名前:名前は開発中のものです。 mailto:sage [2009/03/17(火) 23:18:52 ID:zKNYimra]
- >>275
迅速にして完璧の回答、ありがとうございます。 自分で理解するのに時間かかりましたが何とかできました。 var arr = file.split( /[^0-9]/ ); arr.remove('',true); で文字列中の数字の配列を獲得して、置き換えるやり方でなんとかなりました。 file_123_4_4みたいな値の重複とかの問題は…tjsでなんとかします;
- 279 名前:名前は開発中のものです。 mailto:sage [2009/03/18(水) 20:13:20 ID:ZDYXfAUv]
- 質問させてください。
KAGにて、キーボードのEnterキーを無効にしたいと思い、 MainWindowクラスのcheckProceedingKeyを弄ってみました。 すると、通常時は確かに無効になりました。 しかし、クリッカブルマップを有効にすると、Enterキーが使えてしまいます。 これを無効にするには、どこを書き換えてやればよいのでしょうか? ご指摘お願いいたします。
- 280 名前:名前は開発中のものです。 mailto:sage [2009/03/19(木) 04:18:40 ID:IGRmS1ea]
- >>279
それは、Window.useMouseKey 機能によるもの。 その状態では、カーソルキーがマウスカーソル、エンターキーはマウスの 左クリックに対応した状態になって、キー入力イベントは全くこなくなる。 MainWindow.tjs 中の function enableMouseKey() の中の useMouseKey = true; の部分をつぶすと効かなくなるが、 そのかわりクリッカブルマップをカーソルで選択できなくなる。
- 281 名前:名前は開発中のものです。 mailto:sage [2009/03/19(木) 06:54:26 ID:bW6OyTuQ]
- >>280
ありがとうございます。たすかりました。
- 282 名前:名前は開発中のものです。 mailto:sage [2009/03/19(木) 23:59:53 ID:aUtQqcXK]
- 質問させてください
mpegで作った動画を吉里吉里で再生したはよいのですが なぜかコンソールには ムービーを Mixer モードで開くことができません : Failed to call ConnectFilters( pMPEGVideoCodec, pRdr ). : [0x80004005] エラーを特定できません と出てオーバーレイでの再生になってしまいます。 スクリプトの方でレイヤー指定すると、画面は真っ暗で音声しか流れない状況になってしまい オーバーレイでの再生しか受け付けません。 オーバーレイの再生で見ると、かなり画像が劣化しているのですが ・レイヤーモードだと動画そのままの画質で見れるのか ・エラーの理由はマシンスペックによるものなのか どなたかお答えいただけますと幸いです。
- 283 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 01:47:21 ID:N+uqd+oI]
- evalで代入される方の関数にエンティティを使いたいのですが出来ません。
例えば [eval exp="tf.test_number = 0"] [eval exp="&'tf.test_' + tf.test_number = 'テスト'"] [emb exp="tf.test_0"] といった感じのことがしたいのですがエラーになってしまいます。 どのようにすればいいでしょうか?
- 284 名前:名前は開発中のものです。 [2009/03/20(金) 01:51:31 ID:HbT54b6M]
- >>274
>>275 あたりみるといいよ TJS使うけど大丈夫だよね?
- 285 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 01:57:25 ID:KGRS2CW/]
- >>282
あんさんの環境が腐ってる可能性大。 まずはドライバと DirectX を最新に。 あと他の環境でも試すこと
- 286 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 01:58:50 ID:KGRS2CW/]
- >>283
[eval exp="tf['test_' + tf.test_number] = 'テスト'"]
- 287 名前:283 mailto:sage [2009/03/20(金) 02:40:20 ID:N+uqd+oI]
- >>286
出来ました。お早い回答ありがとうございました。
- 288 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 04:23:38 ID:i5kAzZXi]
- 例えば800*600のサイズのpng画像が120枚あるとして、
それを1から順番に読み込み表示する(アニメーションさせる)コストってどんなもんでしょうか? 事前に全画像を読み込んでおくとメモリ消費が凄そうですし、 レイヤを5枚くらい用意して、順番に表示非表示を繰り返しながら裏で次の画像を読み込んでいくと ちょっとカクつきそうですし・・・
- 289 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 05:28:11 ID:5D/COt3n]
- なあ婆さんや、プラグインを公開するとかなんとか言っていた御仁はどこに行ったんじゃ?
- 290 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 06:41:24 ID:V4blPppD]
- 桃と一緒にどんぶらこっこと流れ去って行ったのかもなぁ。
俺も中身がどんなのかちょっとだけ楽しみにしていたので残念ですわ。
- 291 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 08:21:20 ID:fogy9krD]
- >>288
800x600のpng画像120枚を表示するコストがどんなもんかといわれても、 メモリ上で圧縮した状態で持つのか展開した状態で持つのかとか、コストに大きな 影響を与える他の要素も多いしなんとも。 一般的な話をするなら、800*600 24bit を120枚メモリに展開すると約165MBなので、 現代のPC事情ならどって事ないきもするけれど、読み込むのに結構な時間がかかるよ。 利用詳細が分からないので何とも言えないけれど、120枚をmpg等の動画に して取り扱うのが普通の対応じゃないかな。
- 292 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 10:59:51 ID:a1PmJ7Q8]
- >>285
レスありがとうございます ぐぐったら吉里吉里wikiに詳細が出てました。 ドライバとDirectXは最新なのですが マシンスペック(というかグラボ?)によるものみたいですね。 完成したらノートでも確認してみようと思います。
- 293 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 11:30:01 ID:i5kAzZXi]
- >>291
ありがとうございます。 αチャンネルの情報を持ったムービーでデータが持てれば早いとは思うのですが、 αチャンネルの情報を持てる動画形式って何かあるでしょうか? 検索で調べても殆ど出てこず、そもそもそれで書き出せるツールもほぼ無いようで・・・
- 294 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 11:31:28 ID:i5kAzZXi]
- あ、利用用途は画面上での爆発とかのエフェクト表示です。
想定画面サイズが800*600なので、最大サイズを例に質問しました。
- 295 名前:名前は開発中のものです。 [2009/03/20(金) 13:17:46 ID:Pc0JW1eL]
- ムービーのセグメントループ設定をシナリオ進行とは別口で制御できないかな?
具体的には、立ち絵動画の複数シーンをランダムで再生させたいんだけど・・・ 直視、まばたき、視線ずらし・戻し、あくび、etc・・・ 見たいなシークエンスをランダムに。 asdファイルよろしく、独立制御出来ないかなぁ。。。
- 296 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 15:47:25 ID:PeoRsPZZ]
- >>295
それこそアニメにすればいいのに
- 297 名前:名前は開発中のものです。 [2009/03/20(金) 17:18:23 ID:Pc0JW1eL]
- や、まぁそうなんだけどねw
ただ、ドラクエ8の仲間コマンドのときみたく出来たらなあ…って思って。。
- 298 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 17:27:48 ID:N+uqd+oI]
- 指定したメッセージレイヤーに現在表示されている文字列を取得することはできますか?
- 299 名前:名前は開発中のものです。 mailto:sage [2009/03/20(金) 17:58:56 ID:O79CV9V+]
- >>298
できません。
|

|