- 1 名前:名前は開発中のものです。 [2010/01/31(日) 19:31:16 ID:znLbECSK]
- ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。 マルチポストはやめましょう。個人叩きも禁止です。 ※スレで質問をするときは※ KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、 FAQ、Google等で調べてからにしましょう。 努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ! 前スレ:■吉里吉里/KAG/TJS雑談質問スレ■その18 pc11.2ch.net/test/read.cgi/gamedev/1244218314/ 吉里吉里2/KAG3雑談質問スレ_過去ログ ttp://www.geocities.jp/kirikiri_log/ 吉里吉里ダウンロードページ ttp://kikyou.info/tvp/ ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は 初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。 ■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。 大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。 ■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる 数々のTipsが記載されています。 必要に応じて>>3-5の公式掲示板や講座等を併用してください。 (併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)
- 919 名前:名前は開発中のものです。 mailto:sage [2010/05/10(月) 19:46:47 ID:z2NC2EXb]
- どなたか>>900についてヒントだけでもいただけないでしょうか……
- 920 名前:名前は開発中のものです。 mailto:sage [2010/05/10(月) 20:20:13 ID:+BwWz8Ad]
- >>919
登録時に辞書つくって登録するような処理を MessageLayers に足す 例: kagex の MessageLayers.tjs を names で検索
- 921 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 02:14:42 ID:ZjiRx+ta]
- 910だけど、どうでもいい質問してごめん。
調べても調べても調べても出てこないと思ったら、 思ったよりずっと昔のレスで驚いた。時が経つのは早いな。 どれだけゲーム制作から遠ざかっていたかが良く分かる。
- 922 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 19:41:23 ID:FN0K/hjJ]
- >>920
外部にkey->value,value->keyの両方で取れるマッパー作ったほうがMassageLayerいじらない分ソースの変更に強いんじゃね?
- 923 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 22:10:35 ID:PUhX0KU9]
- 別にMessageLayerクラスをいじらなくても、MainWindow.tjsの中
のgetHandlers()内で link : function(elm) 及び button : function(elm)を経由すれば出来そうな処理ではあるな。 例えば // AfterInit.tjsとかテキトーな所でglobal.LinkObjects(仮称)を定義しとく global.LinkObjects = %[]; button : function(elm){ // グラフィカルボタン if(currentWithBack) current.comp.addButton(elm); current.addButton(elm); // ここから追加行(同じもんをlink : function(elm) にも付ける) if(elm.id !== void){ global.LinkObjects[elm.id] = current.links[-1]; // 最後に作られたリンクをelm.idで関連付ける } // ここまで追加行 return 0; } incontextof this, er : function(elm){ // 現在のメッセージレイヤのクリア if(historyWriteEnabled) historyLayer.repage(); if(currentWithBack) current.comp.clear(); current.clear(); // ここから追加行 global.LinkObjects[elm.id] = %[]; // erタグが呼ばれたらリンクオブジェクトが全部死ぬらしいのでついでにコイツも殺しとく // ここまで追加行 return 0; } incontextof this,
- 924 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 22:12:25 ID:PUhX0KU9]
- みたいな処理をgetHandlers()の中に組み込む(button, linkといった部分を上記に置き換える)とすれば
[link target="*label" storage="hogehoge.ks" id="foo"]リンクテキスト[endlink] なんてタグが呼ばれた場合、 global.LinkObjects.foo を呼び出してやれば当該リンクオブジェクトにアクセス出来るような気がする。 実際に試した訳ではないから上記ソースが動作する保証は無いが、あくまで考え方の一つとして受け止めといてくれ。
- 925 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 22:13:19 ID:PUhX0KU9]
- erタグ部分のところの追加コードが間違ってたな……。
global.LinkObjects = %[]; だ。
- 926 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 22:59:27 ID:yVMrL44V]
- レイヤのコピーとかトランジッションとか、タグのwithback属性とかも考慮するんだと、
全体通しで管理するより、MessageLayerで、links配列と平行する配列なり辞書に名前登録で管理したほうが、頭使わなくて済みそう? 900はなんで、そんなことしたいんだろう? 単に順番が狂うのが問題とかなら、buttonタグとかをマクロで包んで名前属性とカウンターつけて 必要なところで、辞書に名前とカウンターの値を保存とかってぐらいでも、よさげだけど。
- 927 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 23:16:26 ID:5CRr1KQL]
- >>921
あー、懐かしいなそのプラグイン… りーやは俺です 俺も吉里吉里からすっかり離れてしまっているけど このスレは見てるので何かあればわかる範囲で答えるよ
- 928 名前:名前は開発中のものです。 mailto:sage [2010/05/11(火) 23:37:46 ID:9q2nxYVR]
- ふと某マジカルプリンセスを思い出した
- 929 名前:910 mailto:sage [2010/05/14(金) 18:07:40 ID:TjY00Xnu]
- >>927
おおお……生ける伝説に出くわした気分です。 便利なプラグインを公開していただき、ありがとうございます。 分からないことがあったら書きこませて貰いますね。 他のプラグインも含め、未だに使ってる人多く見かけるんで、 りーやさんの功績は偉大ですね。
- 930 名前:名前は開発中のものです。 mailto:sage [2010/05/16(日) 00:32:59 ID:ue5nl5Ig]
-
- 931 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 05:16:16 ID:au3T9TBt]
- やっと規制解除された( つω`)
>>870 遅れましたが、思い通りの動作ができました!!有難うございます。
- 932 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 07:04:19 ID:au3T9TBt]
- また規制されてる間に質問が・・・
文字を決まった範囲の中央に表示させようとおもい.lengthで調べたのですがaaaaとpppp、PPPPでは同じ文字数でも長さが変わってしまってだめでした(大文字小文字含めて5〜30文字くらい)。 新しいメッセージレイヤーとかはなるべくない方向で作りたいです。
- 933 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 08:40:27 ID:AxAa+EF+]
- プロポーショナルフォント使用してるんじゃないの。
文字幅揃えたいなら等幅フォントにしておいた方がいいよ。
- 934 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 09:15:54 ID:au3T9TBt]
- >>933
なるほど・・・システム面じゃなくてフォントの問題だったんですね。 勉強になります。ありがとうございます〜
- 935 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 14:08:02 ID:XdD4kg6Z]
- ループについて質問させて
@eval exp="tf.zanzouda=1" @eval exp="tf.zan=1" *ru-pu @eval exp="tf.zanzouda = ++tf.zan @if exp="tf.zanzouda<5" @move layer=0 path=(210,60,256) time="100" @wm @move layer=0 path=(190,60,256) time="100" @wm @endif @if exp="tf.zanzouda<5" @jump target="*ru-pu" @endif tf.zanzoudaが50になるまでループさせるつもりなのですが、無限ループに陥りますorz
- 936 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 14:22:47 ID:5jFHn2ZI]
- @eval exp="tf.zanzouda = ++tf.zan"
ダブルクォーテーション閉じろヴォケ
- 937 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 14:24:49 ID:XdD4kg6Z]
- うほっ。すまん、ありがと
- 938 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 14:43:21 ID:XdD4kg6Z]
- できた。ありがと
- 939 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 17:22:49 ID:Ofec2mIb]
- >>935
KAGって、これでエラーが出ないのか……。 いいことなのか悪いことなのかw
- 940 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 19:05:28 ID:0ER5kOn7]
- >>939
マクロ作るときに便利らしいぜ。
- 941 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 20:01:38 ID:BPmoD4CV]
- >>932
>>933の指摘で考え的には解決しちゃってるのかもしれないけど、単純に『特定の範囲内で、特定の文字を中央に表示させる』のが目的なら lengthを取るよりもgetTextWidthないしgetTextHeightを使い、実態のサイズを取得した方が良いかもしれんよ。 例えばmessage0だったら @eval exp="tf.strWidth = kag.fore.messages[0].ll.getTextWidth('あいうえお')" みたいな感じで「その時点のフォントサイズで'あいうえお'を表示する場合、どの程度の横幅を取るのか」を取得出来る筈。(getTextHeightなら縦幅) そんな具合で実効値を取得した方が都合が良いかもしれん。(lengthで得られた文字数 * フォントサイズ みたいな感じの概算でやると>>932みたいな結果になる) ぶっちゃけkag.fore.messages[0].ll であってたかどうか自信無いけどな!
- 942 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 22:21:20 ID:pFZcGK/K]
- 背景(解像度:640x480)にjpgまたはpngのファイルを使おうと思ってます。
どちらの形式が動作的に好ましいですか?
- 943 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 22:23:34 ID:bdb7O1Y0]
- 画質ならPNG
JPGはよほどディスクサイズが逼迫してない限り使わん。
- 944 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 22:55:13 ID:EXO1Pg77]
- 効果音(buf=0)が再生中かどうかを判定するのって、どうやるの?
- 945 名前:名前は開発中のものです。 mailto:sage [2010/05/17(月) 23:14:23 ID:bdb7O1Y0]
- kag.se[0].status === "play"
- 946 名前:名前は開発中のものです。 mailto:sage [2010/05/18(火) 08:06:14 ID:TCIE4FsK]
- >>941
あなたが神か。 すげー綺麗に整列できました。 有難うございます!! 因みに私はこんな所から参照しちゃいました ><)つkag.current.lineLayer.font.getTextWidth
- 947 名前:名前は開発中のものです。 mailto:sage [2010/05/18(火) 12:28:21 ID:51MD1blL]
- そういう時、参照渡しっつうかエイリアスっつうか
「名前が違う得られる結果が同じ」な構造の変数っていうのは便利だよな。
- 948 名前:名前は開発中のものです。 mailto:sage [2010/05/18(火) 15:22:57 ID:TCIE4FsK]
- さてまた詰まった/(^o^)\
BGM流して終了した時に関数呼び出したり、今現在何秒目か調べたりする事って可能かな? 1個の曲が終わったら違う曲へ移動してずっと再生を維持させてループさせたい とりあえずタイマー使って自分で指定してみたけど たまにずれたりして曲が終わってもなかなか移動しなかったり、早すぎたり。 そういうことがあったので実際のプレイ経過時間とイベントタイマーとで同期とったりしたいんですが難しいですか?
- 949 名前:名前は開発中のものです。 mailto:sage [2010/05/18(火) 15:28:46 ID:NkGH8Zep]
- >>948
ttp://devdoc.kikyou.info/tvp/docs/kr2doc/contents/LoopTuner.html ttp://devdoc.kikyou.info/tvp/docs/kag3doc/contents/Tags.html#setbgmlabel ttp://devdoc.kikyou.info/tvp/docs/kag3doc/contents/Tags.html#setbgmstop
- 950 名前:名前は開発中のものです。 mailto:sage [2010/05/18(火) 17:38:43 ID:TCIE4FsK]
- >>949
高等すぎて分からない\(^o^)/タイマーであきらめよう・・・
- 951 名前:名前は開発中のものです。 mailto:sage [2010/05/18(火) 23:28:35 ID:MbgWKx5I]
- >>947
equalsメソッドがあればいいな
- 952 名前:名前は開発中のものです。 mailto:sage [2010/05/19(水) 00:26:57 ID:3UoSbAme]
- こんばんは。
ちょっとお尋ねさせてもらいたいんですが、 KAGに、クリックを監視するような命令ってあるのでしょうか。 オープニングデモみたいなのを作ってて、 鬱陶しくなったらクリックしたらスキップ、をしたいのですが、 こういった命令の有無があるかどうか知りたいです。 どうかお手隙の方、教えてくださいませんか?
- 953 名前:名前は開発中のものです。 mailto:sage [2010/05/19(水) 01:02:03 ID:sf5Hb2TN]
- マニュアルを click で検索するぐらいはしたかい?
- 954 名前:名前は開発中のものです。 mailto:sage [2010/05/19(水) 01:08:39 ID:rLzVCotD]
- >>950
Timer使うってことはつまるとこTJSで書くこと前提だよな? KAGでそういうことする(音楽が止まったに何かを呼ぶ)為にはsetbgmstopを呼んでる訳だが TJSだとそれはまんまkag.setBgmStop(%[]) に該当するわけだ(MainWindow.tjsをsetbgmstopで検索してみれ) だからKAGでやるなら @playbgm storage="hoge" ; 要はココで曲の再生をする @setbgm exp="呼び出す関数orTJS式" ; 直下で「停止時に呼ぶ関数orジャンプするシナリオetc」を指定する TJSでやるなら kag.bgm.play(%[storage:hoge]); // 曲の再生 kag.bgm.setBgmStop(%[exp:呼び出す関数など]); // 直下で(ry という風に指定してやれば、望みどおり「音楽の再生が止まった時に何か関数を呼ぶ」が成立するんじゃないか。 「ずっと再生を維持してループ〜」みたいな処理は、呼び出す関数の中で考えるべき内容かもしれん。 現在の秒数を判断する式は判らん。
- 955 名前:名前は開発中のものです。 mailto:sage [2010/05/19(水) 03:57:16 ID:vkTf67ZE]
- kag.bgm.currentBuffer.position
- 956 名前:名前は開発中のものです。 mailto:sage [2010/05/19(水) 07:12:57 ID:1DjtFC50]
- >>954
私のはKAGとTJSをごちゃ混ぜに使ってて非常に醜いソースとなっております \(^o^)/NO ソース公開 setbgmstop便利ですね。途中で曲切り替えた時も呼び出されるとは、流石吉里吉里最高! >>955 神しかいないのかこのスレは こういう物ってどこかに書いてあるんですか?それとも自分でsystemとかの中から自分で? それにしても吉里吉里には本当に何でもある事に驚く。自分で作るのバカらしくなるな・・・
- 957 名前:名前は開発中のものです。 mailto:sage [2010/05/19(水) 07:24:26 ID:1DjtFC50]
- >>952
kagのなかにleftclickhook的なのがあったような
- 958 名前:名前は開発中のものです。 mailto:sage [2010/05/19(水) 23:58:46 ID:sF8YjRGX]
- マクロ内で x+y や x+定数 の計算をさせたいのですが
[emb exp="mp.x + mp.y"] とすると変数が文字列扱いになって困っています どのようにすればよいのでしょうか?
- 959 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 00:08:42 ID:zzNa8QYG]
- 整数なら int(mp.x) + int(mp.y)
実数なら real(mp.x) + real(mp.y)
- 960 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 00:33:11 ID:x+HjEs+4]
- >>959
ありがとうございます 無事解決いたしました
- 961 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 17:43:51 ID:qBfpW60/]
- 吉里吉里を使ったゲームをやってるんですが途中でいきなり再起動したりブルースクリーンになったりします。
別の吉里吉里のゲームをやっても同様のことがおきるのでどうやら吉里吉里に問題があるみたいなのですが。 (吉里吉里でないゲームや普通に使ってる分にはPCは全然問題ないです) ウイルスバスターとか常駐を止めても同じ事がおきるのですが対処法とあったりしますか?
- 962 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 17:56:01 ID:+uH5r29A]
- >別の吉里吉里のゲームをやっても同様のことがおきるので
>どうやら吉里吉里に問題があるみたいなのですが。 そこで吉里吉里に原因を求めるのが一段飛ばしてる感じがするな PCに問題あるか動作条件満たしてないんじゃねーの?
- 963 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 18:13:18 ID:nFd3kOKA]
- そんな症状ってあるのかな?
とりあえずPC環境とエラー状況を なるべく詳しく書いて公式で質問してみては?
- 964 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 18:14:06 ID:wmwpk541]
- この場合の公式はそのゲームの公式であるべきだな
つかここゲーム製作技術板だよな……
- 965 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 19:03:21 ID:F5MAUXDm]
- Windows 98 とかじゃないの?
- 966 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 19:10:11 ID:uKReVZqo]
- >>961
吉里吉里にマシンを落とすような機能は無い。というかそんなプログラムは普通のアプリでは作れない ・メモリに障害があって、たまたま吉里吉里を使うとそのメモリにアクセスしやすい状況になる ・グラフィックドライバにバグがあって、たまたま吉里吉里を使うとそのバグをふんでしまう ・電源ないしマザーが熱暴走の類をおこしやすい状態になっていて、たまたま吉里吉里を使うと負荷最大時に暴走する のいずれか。 悪いのは間違い無くおまえさんの環境 とりあえず、 各種ドライバを全部最新にする、メモリチェックツールをつかってメモリに問題が無いか調べる、 吉里吉里を低負荷モードや低メモリモードで動作させて様子を見るぐらいをして、それでも改善されないなら、 あきらめてマシンを更新しかない
- 967 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 19:15:23 ID:qBfpW60/]
- とりあえず分かる範囲でスペック書いてみます。
pentium4プロセッサー550 3.40GHz メモリ512MB HDD300GB ディスプレイ17型1280×1024 directX9.0c OSはXPです。 >>962>>963 吉里吉里のゲームをやってる時しかこういうことが起きないので なにか原因があるのかと。どこかで相性が悪いのかもしれないです。 >>964 すみません、どこで聞いたらいいかわからなかったので色んな板で吉里吉里で検索したらここに来たんです。
- 968 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 19:16:46 ID:qBfpW60/]
- >>966 ありがとうございます。試してみます。
- 969 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 20:09:12 ID:F5MAUXDm]
- いきなりツール側を疑ってかかるあたり、かなりの無知っぽいので吉里吉里製じゃなかったってとこまである話だな。
- 970 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 20:19:33 ID:uKReVZqo]
- >>967
ついでなのでもひとつ 「BlueScreenView」というアプリをつかうと何が原因でブルースクリーンになったのかを調査できる。 それを見た上で自分の環境のどこがおかしいのかを特定して、それを解消すれば良いだろう。
- 971 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 21:03:33 ID:xqf5cvXV]
- ネイティブプラグイン(DLL)のバグの可能性が高いとエスパー。
DirectXとかでハードウェア触る奴はとくに。 つか、某吉里吉里製同人ゲーでその手のブルースクリーン出たとか聞いたことあるぞ。 同人系かネトヲチ板だが。
- 972 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 22:51:02 ID:54220c2V]
- ttp://www38.atwiki.jp/antiqr
クインロゼのことかな?
- 973 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 23:04:49 ID:xqf5cvXV]
- >>961 のために付け加えて言えば
吉里吉里は仕様上、サードパーティがC++等で独自拡張のDLLを作成できるようになっている。 で、それらDLLの安全性は(公式のリポジトリにマージされたものを除いて)吉里吉里の管轄外。 何故なら各ゲーム開発者が各自で作って各自の責任で配布してるわけで。 もし吉里吉里本体にその種の致命的な脆弱性があるならば、 ユーザ数からもオープンソースということからも、とっくに発見・周知されているはず。
- 974 名前:名前は開発中のものです。 mailto:sage [2010/05/20(木) 23:41:46 ID:qBfpW60/]
- 「BlueScreenView」を使ってみたところdumpfileってのが324ぐらいあって
ピンク色になってたntoskrnl.exeとwin32k.sysが怪しいみたいです。 システムに関係してそうで怖くて手つけられそうにないです。 >>973 吉里吉里がおかしいというより吉里吉里の何かに反応してるんじゃないかなと思うんです。 ゲーム以外は全然普通にPC動くので。
- 975 名前:名前は開発中のものです。 mailto:sage [2010/05/21(金) 00:31:57 ID:wi0jobAO]
- >>974
win32k.sys ブルースクリーンでぐぐれ。たぶんそれだ
- 976 名前:名前は開発中のものです。 mailto:sage [2010/05/21(金) 01:25:05 ID:mjqZ0Gdd]
- >>975 ありがとうございます。
まだ完全に直ったかは分からないですけど↓が原因かもです。 「KB954211」の更新プログラムがあったので。 2008年10月15日のMicrosoft Updateで入ったセキュリティ更新プログラムを導入すると一部のPCでブルースクリーンが多発する現象がありました。確認できたのはWindows XPSP2の入ったPCだけです。業務上OSとSPを統一しているためその他の環境では確認できていません。 マイクロソフト セキュリティ情報 MS08-061 - 重要 : Windows カーネルの脆弱性により、特権が昇格される (954211) これが導入されると、STOP: 0x000008E Win32k.sysが発生することがあります。VGAドライバとの相性が悪いようでデュアルディスプレイを接続・解除時や、スタンバイ時などディスプレイの状態を変更しようとした時に起こるようです。 対処方法は、 スタート - コントロールパネル(S) - プログラムの追加と削除 ■更新プログラムの表示(D) ←チェックを入れる 「KB954211」を探し「削除」 Windowsの再起動。
|

|