1 名前:1 [2007/04/02(月) 11:18:12 ID:hrocKz8H] ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。 自作ゲーの進行状況や、製作ツールについて、TJS等の話題もどうぞ。 マルチポストはやめましょう。個人叩きも禁止です。 ※スレで質問をするときは、ドキュメント・スレの過去ログ・公式掲示板のログ・ FAQ・Google等で調べてからにしましょう。 前スレ ttp://pc11.2ch.net/test/read.cgi/gamedev/1166252149/ 吉里吉里2/KAG3雑談質問スレ_過去ログ ttp://www.geocities.jp/kirikiri_log/ 吉里吉里ダウンロードページ ttp://kikyou.info/tvp/ 詳しくは>>2-5 辺りを参照のこと。
84 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 14:25:40 ID:ezll4j2T] さっぱりわからんが、 表示する本文がレイヤに対して長すぎて、 [p]してない位置で自動的に改頁されてないか?
85 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 15:12:06 ID:NIUKXGd/] > トランジションが完了すると大きさは戻る。 > 同じソースなのに症状が起きたり起きなかったり 単に処理速度が追いついてないんじゃ メッセージレイヤを小さくするとどう?
86 名前:>92 mailto:sage [2007/04/08(日) 15:15:04 ID:7saApdJI] 言葉では伝えぐらいのでスクリーンショットとってきました i-get.jp/upload500/src/up2121.jpg これで症状分かりますか? >84 本文は数文字で[p]、[l]、[r]や[font]など一切入っていません。
87 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 15:26:52 ID:ezll4j2T] >>86 わかんね 「おそらく禁則処理分と思うけど」と言うのなら、 禁則されない程度のごく短い本文で試してみてはどうか
88 名前:>92 mailto:sage [2007/04/08(日) 15:31:24 ID:7saApdJI] よく分からないけど症状が確定してきました。 [position layer=message0 page=fore left=30 top=50 width=740 height=500] [position layer=message0 page=back left=30 top=50 width=740 height=500] [image storage="white.png" layer=base visible=true page=fore] [image storage="white.png" layer=base visible=true page=back] [wait time=1000] 質問スレ>92 [current layer=message0 page=back] 質問スレ>92 [current layer=message0 page=fore] [wait time=800] [trans layer=message0 time=6000 method=scroll from=bottom] これで一回目は必ず段差が出来る。 シナリオの再読込をすると段差が出来ない。 再読込は二回目以降でも安定している。 一度終了してもう一度吉里吉里を起動するとまた段差が出来る 再読込すると段差が出来ない バージョンは2.28でず。 >87 文字が数文字なのです。configの禁則関係も触っていません。
89 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 15:51:02 ID:ezll4j2T] >>88 それ試しに動かしてみたが、特に変な動作はしないな どこか前の箇所でleft属性でも弄ってんじゃねーの
90 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 16:15:57 ID:FP28Km2q] >>88 何でbacklay使わないんだ??
91 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 18:20:19 ID:NIUKXGd/] >>88 ゲームの中に突っ込んだのでプレーンな吉里吉里じゃないけど、確かにずれた 裏から出てきたメッセージフレームが、スクロール中に欠けるみたいだ 画像でも、opacityで指定した矩形でも起こる 試しに740*500の画像を800*600にして(増えた部分はアルファチャネルで透明に) フレーム画像にしたらうまくいったが、どうか
92 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 18:58:49 ID:nI1gTpiJ] 公式から落としたてのsyoukaiのfirst.ks丸ごと消して新たに入れてみた。確かに欠けるね。 up2.viploader.net/pic/src/viploader450853.png 俺も初心者だから理由はさっぱり分からん。
93 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 19:48:59 ID:2oX2N5+S] >>88 現象確認。 ずれは禁則ではなくメッセージレイヤ0の裏のleftの値に依存してます(>>88 の2行目のleft)。 ためしにleftを-30にすると逆に左側に段差が発生します。 そのため、left=0で現象が出なくなります。 >>91 多分800x600で試したため、 ずれている部分が画面外で結果的に正常に見えただけと思われ。
94 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 20:00:07 ID:2oX2N5+S] 後、>>88 の書き方だと、トランジション終了時、下側がちらつくはず。 なので2行目のtopは0で。 多分left=30, top=50が裏画面では原点(0,0)扱いになってるっぽいね。 理由はエロイ人に。
95 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 21:59:08 ID:Udhu46/8] 前々々スレ ttp://www.geocities.jp/kirikiri_log/1147590108.html#R678 以前貰ったレスを参考にマウスカーソルとフォーカスの同期に挑戦してます。 こちらの記事の通りだと、カーソルをボタン上から動かした際に フォーカスが残ってしまうので、ミジンコ脳を振り絞り onMouseLeave()にもう一つif(focused)kag.focusedLayer = null; の記述を入れて回避しました。 …が、現状キーでフォーカスを移動させると、なぜか五回に一回ほど カーソルとフォーカスがズレる現象が起こりますorz 正直半分諦めかけてるんですが、もし分かる方いましたら、どうかアドバイスおながいしますorz
96 名前:名前は開発中のものです。 mailto:sage [2007/04/08(日) 22:07:14 ID:IBvdpHqj] 親切にありがとうございました。 >93さんの言うとおり裏画面の指定を left=0 top=0 で直りました。 原点がどうとか難しいことはよくわかってませんがいろいろ自分でいじって勉強してみます。
97 名前:名前は開発中のものです。 [2007/04/10(火) 22:53:24 ID:stUdSCoX] cond属性について質問があります。 condは必ず先に評価されるわけではないのでしょうか? 下記のようなマクロを呼び出した時、4行目「sabun2」の行でエラーになってしまいます。 呼び出し元 [charaLoad chara="主人公" sabun1="笑い"] ←「sabun2」は指定していない 呼び出されるマクロ [macro name="charaLoad"] [eval exp="f.chara = charaList[mp.chara];"] ←キャラ画像、座標などを格納した配列から該当キャラ情報を取り出している [image * storage="&f.chara['base'].img" visible=true] [pimage * storage="&f.chara[mp.sabun1].img" dx="&f.chara[mp.sabun1].x1" dy="&f.chara[mp.sabun1].y1" cond="mp.sabun1!=void"] [pimage * storage="&f.chara[mp.sabun2].img" dx="&f.chara[mp.sabun2].x1" dy="&f.chara[mp.sabun2].y1" cond="mp.sabun2!=void"] [endmacro] ちなみに下記のようにしたら問題なく動作しました。 [if exp="mp.sabun2!=void"] [pimage * storage="&f.chara[mp.sabun2].img" dx="&f.chara[mp.sabun2].x1" dy="&f.chara[mp.sabun2].y1" cond="mp.sabun2!=void"] [endif]
98 名前:名前は開発中のものです。 mailto:sage [2007/04/11(水) 06:12:56 ID:1lVvnPMm] エンティティとだったらどっちが評価早いんやろうね とりあえずifで回避できたんならいいんじゃねーの? マクロ内だし、多少すっきりしてなくても
99 名前:名前は開発中のものです。 mailto:sage [2007/04/11(水) 22:04:32 ID:0KTNvN4j] 状況からみるに、エンティティ展開のが先ってことだろうね
100 名前:名前は開発中のものです。 mailto:sage [2007/04/12(木) 00:01:17 ID:iJ6TBXrd] 一旦、全属性を評価するはず
101 名前:名前は開発中のものです。 mailto:sage [2007/04/12(木) 00:20:32 ID:r+YpJ4Xd] 今リファ見たら、pimageはその都度layer属性指定必須になってるようだが、その辺は平気か? あとはどういうエラーが出たのか書いてくれんと、書いてある部分だけだとちょっとわからん。
102 名前:名前は開発中のものです。 mailto:sage [2007/04/12(木) 03:02:00 ID:zou9Umvg] >>97 cond を先頭に持ってきたら評価順変わるのか? と思ってやってみたけどやっぱりエラーになるね。 >>100 が正解か。 どうしても cond でなければいけない(if タグで不都合の生じる)ケースはちょっと思いつかないけど。 でもリファレンスには注意書きがあったほうがいいよね。報告頼んだぞ! > 97
103 名前:名前は開発中のものです。 mailto:sage [2007/04/12(木) 12:35:37 ID:eW0Q6p/1] >>101 [pimage *]だからマクロ呼び出し時にlayerを指定したら大丈夫じゃない? >>102 [pimage * storage="&f.chara[mp.sabun1].img if mp.sabun1 !== void" ... cond="mp.sabun1 !== void"] とか? めんどくせーwwwwww まあ、[eval exp="mp.sabun1_img = f.chara[mp.sabun1].img if mp.sabun1 !== void"]みたいにわけてもいいと思うけど
104 名前:名前は開発中のものです。 mailto:sage [2007/04/13(金) 18:14:26 ID:/+j3j8q6] l::_ -‐r='ァ''フフノ|::l "゙ヽ:::l ー_- 、 ) が た こ l=三三}∠ニヽ'__l/}´, -、|;リ `ヽ 丶、 -=ニ っ わ の ノ='":::::{′'ニニ6ー'’F'aテ〈 丶. 、\ ,)!! け . /:::l"ヘ::i' `_,. , 〔.` ハ ヽ\丶⌒ヽ. 者 {::::::ヽ_{:{ / r'ニ‘ー--'-、.!::| /.`,ニニ= 、ヽ ノ-、 め 、 _ヽ:::__/`゙ | ` ̄ ̄´|.l:::| y'/ , - 、 } } ⌒ヽ, -、/^ヽ「` . ! r─-‐'´x x x/x/l.|. ヽ`ニ二_ー- '_ノ;リ o 。' {/ / ロ .イ ' `-〜' rュ `┴- x 、x_ x /x/xl | ‐' ノ ̄ノ `;ー- . _ />ゞこ °, -- 、 ⊂ヾ ,...---......、  ̄ ¨T''┴‐- 、, -<._,∠x_x x x x/∠、 }./゙ズ三'ノ . , ':::::::::::::::::::::::::\ -‐, 、 ー_- ⊥ x x_ ヽ x xヽ. x x  ̄//`ヽ| 々 / / rう 、_j /::;:、::::::::::;;::::::::::::::::ヽ . /x l ` ‐x.、_  ̄ l x ‐- -_ ニ、 ‐-ゝ x x// x x xLノ / / ′ヽ-' レ'-‐`'^" 、´゙ヽ::::::::::l . 〉 | | x x x /`i ー-| x x x x x ̄ヽ>ニ._x _ ニ -‐ ノ レ' / / ″| =- ,..__ヽ j::::::::::l / xヾ!x x x l x| x xノl x x x x x x ` ー-\ヽ\\ -‐' ノ / ヾ) ノ| ノ `` 〉-、:/ x x /x x x | xハ/x x\ x x x x x x x x x  ̄__.二. -_‐ァ ,ィ 〃 ,く l r`ー- 、 "6/ -=
105 名前:名前は開発中のものです。 mailto:sage [2007/04/13(金) 22:45:41 ID:QbLBQtBv] こわけ者め たっ!
106 名前:名前は開発中のものです。 mailto:sage [2007/04/13(金) 22:52:05 ID:/RQnBOOG] 烏龍茶吹いた
107 名前:名前は開発中のものです。 mailto:sage [2007/04/14(土) 18:22:15 ID:qrbCYt0W] そういやスレ過去ログのほう10で止まってるね。
108 名前:名前は開発中のものです。 mailto:sage [2007/04/14(土) 19:36:24 ID:cxAqEdPs] 質問よろしいでしょうか? 通常は画像全てをトランジションさせて表示しているのですが、 エフェクトカットの機能がオンになっている時は、transタグのtime属性に"0"を指定するようにしています 何回か続けて"0"でトランジション表示しても特に止まったりはしないのですが、 "0"を指定するコトによる不具合ってあるでしょうか? PCに掛かる負荷が大きいとか? "0"を指定するのは止めた方が良いのでしょうか?
109 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 00:22:34 ID:Po+j8400] >>108 エフェクトカットしてるときは、直接page=foreに描いてしまう方がいいけど、 めんどくさいので、time=0でいいと思う。 たいした負荷にはならないし。
110 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 13:42:58 ID:7YYaBDDp] 質問です。 一度メッセージレイヤーを非表示にしてその後表示にすると 非表示にする前にあったメッセージが消えてしまうのですが残したまま非表示→表示というのはできませんか?
111 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 14:15:30 ID:7eA/OFbt] >>110 positonでやってる? laycountなら消えないようだけど
112 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 14:16:26 ID:7eA/OFbt] >>110 失礼。 layoptです。吊ってくる
113 名前:110 mailto:sage [2007/04/15(日) 15:15:25 ID:7YYaBDDp] あああ [layopt layer="message0" visible="false"] [freeimage layer="base" page="back"] [trans method="crossfade" time="800"] [wt canskip="false"] [image layer="base" page="back" storage="階段.png"] [trans method="crossfade" time="800"] [wt canskip="false"] [layopt layer="message0" visible="true"] いいい 一度メッセージレイヤーを非表示にして場面切り替えをして その後メッセージレイヤを表示にしたいんだけど 「あああ」が消えてしまって「いいい」が表示される。
114 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 15:44:39 ID:6ureWMhS] >>110 >>54 ,56
115 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 15:57:30 ID:rp9sNi4r] 二行目のfreeimage丸ごと削除しろ
116 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 15:58:28 ID:7YYaBDDp] >>114 サンクス出来た。
117 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 16:43:23 ID:d4YRDkZ7] ここ最近 トランジションの質問 backlay覚えろ、リファレンス嫁 を繰り返している気がするんだが トランジションの質問してくる奴ってどこの講座で勉強しているわけ? ちょっと気になる・・・
118 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 16:47:28 ID:rp9sNi4r] 勉強してないからここで聞くんだろ
119 名前:117 mailto:sage [2007/04/15(日) 17:13:05 ID:d4YRDkZ7] さすがにそれは論外でorz 何か傾向があるなら教える側も参考になると思ったんだよ
120 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 18:35:56 ID:xjy3MKtQ] >>109 ありがとうございます 時間的に余裕があったら変更したいと思います
121 名前:名前は開発中のものです。 [2007/04/15(日) 22:29:02 ID:gWanPSzj] 誰一人として悪くはない。 この企画は…構造自体が不幸を孕んでいたのだ。 戦犯はいない。 理解できない、根源から違った存在がいただけだ。 誰にとっても。 本当なら決して出会うことのなかった、才能も、経験も、熱意も、人脈も、 何もかも違う人々に関わってしまった事自体がお互いに不幸だった。 つまり…関わった時点で無残な結末が予定されていたのだ。 今はもう…その不幸を呪い、やがて忘れる時を待つしかない。
122 名前:名前は開発中のものです。 mailto:sage [2007/04/15(日) 23:37:20 ID:TfCT3im6] >121 何があったwww
123 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 01:24:04 ID:TAbPf7ot] >>121 よくわかんないけど、 このスレをベースにしてゲームを作るってこと?
124 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 01:34:06 ID:+SyugTJ1] わっふるわっふる
125 名前:名前は開発中のものです。 [2007/04/16(月) 05:32:43 ID:gqo4JPNs] kikyou.info/tvp/dev_detail.php 吉里吉里更新 2.29-dev.20070416 >>内部的な描画モデルを新しいモデル(DrawDeviceモデル)に変更(新しい描画モデルでは、 >>ハードウェア描画を利用するプラグインを作成可能) これってバリバリ動くようなのも作れるようになるってこと?
126 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 08:05:59 ID:cP0UYe43] いや、結局はおまえの腕次第ってところは変わってない
127 名前:名前は開発中のものです。 [2007/04/16(月) 09:13:49 ID:gqo4JPNs] へー、俺は劇的な機能の追加と感じてるんだけど 皆はそうでもないのかね
128 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 11:44:26 ID:cP0UYe43] どんなところが劇的なのよ
129 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 12:23:47 ID:YV+9SCfN] バリバリ動かすコードを書けるかという大問題
130 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 13:33:58 ID:YcR5hrt7] >>128 最近は DirectX ベースでかなり綺麗に動かしてるシステムが目立つから、 CPU描画ベースの吉里吉里2だとどうしても弱い印象がある中、新アーキテクチャの 吉里吉里3はまだ先がみえないので、つなぎの意味でのカンフル剤としてはなかなかの ものではないかと。 これで吉里吉里2のエンジンとしての寿命が2〜3年は延びたと思う。 典型的な使い方の想定としては、ポリゴンベースの表示系を DirectX か OpenGL ベースで書きおこして、サーフェースやポリゴンモデルを直接扱うクラスをTJS側に 拡張して利用かな。本体のCPU 描画系はテクスチャ生成用エンジンとして使って、 デフォルトで存在して画面に配置可能なサーフェースの一つとして扱えば 従来の概念の延長で使える。 DirectX とかには興味あるけどスクリプト処理系を組むのが大変だとか思ってる プログラマへの訴求力はかなりあると思う。一般への訴求は誰かがいいかんじの拡張 drawdevice を作って公開してくれるかどうかだろうね。
131 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 13:41:35 ID:I7+tozXW] タグやプラグインで扱える形で誰か頼む 俺は無理
132 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 14:32:22 ID:hrH++sZv] TVPGetDirectDrawObjectNoAddRefでDirectDrawのobjectが取得できるようになるみたい。 となると、Direct3Dはプラグイン側次第ってことか。 手始めに、Direct3Dを使ったエフェクトがでてくるだろうな。
133 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 14:39:01 ID:KmOAc0SH] *test @eval exp=tf.i=0 *loop @checkbox name="f.test[tf.i]" @emb exp="f.test[tf.i]" @eval exp=if(++tf.i<f.test.count)kag.process(,'*loop'); @s 上記のスクリプトですが、何故か操作しても内容が変更、確定しません。 @checkboxを@editに変えても不可、 @currentで丁寧に指定しても不可、 間に@commitをはさんだり色々試したのですが、どうも上手くいきません。 原因わかる方、誰か助けてください。! 後、流れ切ってすみません。
134 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 14:44:19 ID:0PXAFYql] kag.tagHandler.XXXX = function() と書いてXXXXという名前のマクロを作る際に、 最後にreturnを書いて戻り値を返さなければならないらしいのですが、 MainWindow.tjsを見てみると「return 0;」の他に4や変数を返しているものがありました。 今のところすべて0を返して動いていますが、戻り値を変える事で何かが変わるのでしょうか?
135 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 15:35:17 ID:Qv8WwwCE] DrawDeviceのプラグインを誰かが作ってくれることにwktk 俺にはとても無理だw >>134 Conductor.tjs参照 -5: // いったんイベントを処理(現在のタグは後回し) -4: // いったんイベントを処理 -3: // 後回ししてブレーク -2: // ブレーク -1: // シナリオ終了 0以上: //次へ
136 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 18:43:18 ID:I7+tozXW] このDrawDeviceとかいうのを使えば 今は前景レイヤーに読み込ませて、紙芝居方式で無理矢理動かしてる 例えば剣閃とか爆発のエフェクトとかも もっと気軽に簡単に、綺麗なのが出せたりするって事なんかな
137 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 19:00:36 ID:sGUaM79E] >>133 そのスクリプトでどういう風に動いて欲しいの?
138 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 21:28:22 ID:wjEt/2u4] >>136 神がプラグインを作れば・・・の話。 普通の人が使いこなせるものだとは思えない。 プラグイン側でレイヤーのイベント処理ができるようになったみたいなので、 どのような使い方が出てくるか、ちょっと楽しみではある。
139 名前:名前は開発中のものです。 mailto:sage [2007/04/16(月) 21:39:40 ID:Acm8iil7] >>133 @checkbox name="&'f.test[' + tf.i + ']'" なんかだとどうだろうか
140 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 11:40:30 ID:Pot7h8bt] >>137 *test @eval exp=tf.i=0 *loop @checkbox name="f.test[tf.i]" @eval exp=if(++tf.i<f.test.count)kag.process(,'*loop'); [link target=*ok]ok[endlink][s] *ok @commit これだけの事なのですが…何故か上手くいかないんです。 別に致命的に困ったわけじゃ無いので一個一個書いても良いのですが、 原因だけでも知っておきたくて… >>139 のやり方でも駄目でした。
141 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 12:06:09 ID:+/HtGKJN] なにをやりたいか日本語で書け
142 名前:名前は開発中のものです。 mailto:sage [2007/04/17(火) 12:42:33 ID:enWBJ+vT] >>140 137の言ってることが全然分かってないのでは。 スクリプト記述だけ出して「これだけのこと」って言ったって、 そのスクリプトで「どういう動作を望んでいるのか」と、 「現在どういう動作になっているのか」を文章で説明しないと、 その動作が間違っているのか合っているのか、検証しようにもできない。 恐らくは 「f.test.countの数の分だけチェックボックスを表示して、 OKを押した時点でのチェックボックスの状態をまとめて 保存したい」 って事なんだろうけど、作成した本人でないとこれが本当かどうかも 分からないわけでさ。 動作が上手くいかなくて困っているのは分かるけど、聞き手は エスパーじゃないんだから、ちゃんと説明しないとイカンですよ。
143 名前:名前は開発中のものです。 [2007/04/17(火) 14:49:07 ID:QtoWvH7D] >>配列を使う場合は、最初に [ ] を使って配列を宣言しないとなりません。 >>例:[eval exp="f.hairetsu = []"] これのことじゃないの?
144 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 22:23:28 ID:39M/b5/4] >>138 レイヤマネージャ、ウィンドウとドローデバイスがプラグインに公開されたのね。 描画デバイスって概念はこれ単体ではただ、描画バックエンドを差し替え可能なだけだからそれだけでは非開発者が想像するような事は出来ないね。 ウィンドウとレイヤマネージャが描画デバイスに関連付けられて各種イベントを通知するようになってんのも恐らくは描画デバイス側で再描画要求を処理するのがメインだろう。 3DでグリグリとかやろうとするとOpenGLとかの各種描画関数もTJSに公開しないといけないけどスクリプト使ってんのに・・・ function disp( void ) { glClear(GL_COLOR_BUFFER_BIT |GL_DEPTH_BUFFER_BIT); glEnable(GL_DEPTH_TEST); glPushMatrix(); glColor3f(1, 0 ,0); glTranslatef(-0.5, 0 , 0); glDrawArrays(GL_POLYGON, 0 , 3); glViewport(0, 0, 640, 480); glPopMatrix(); glPushMatrix(); glColor3f(0, 0, 1); glTranslatef(0.5, 0, -1); glDrawArrays(GL_POLYGON, 0, 3); glViewport(0, 0, 640, 480); glPopMatrix(); glFlush(); } function init{//foo} なんてコードをだらだらと書きたくないよ・・・ 結局、非開発者には関係ない話だね。それに吉里吉里3で描画モデル変わるだろうし。
145 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 23:17:03 ID:JXlPRztk] リファレンス読んだけど >[macro name=transwait][trans *][wt][endmacro] >transwait マクロに対して指定した属性がそっくりそのまま trans タグに渡される 馬鹿なんでこの文章が理解できない。 *の使い方の例を2,3個挙げてくれないか
146 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 23:24:11 ID:kpeofFzw] [emb exp="あいうえお"] 動作 あいうえお [macro name=hoge]これは[emb *]です[r][endmacro] [hoge exp="あいうえお"] [hoge exp="かきくけこ"] 動作 これはあいうえおです これはかきくけこです
147 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 23:48:11 ID:JXlPRztk] それって [macro name=hoge]これは[emb=%kana]です[r][endmacro] と書いて 「hoge kana=あいうえお」 [hoge kana=かきくけこ] ってやるのと同じじゃないの?*をわざわざ使う意味がまだ分からない。 「transwait マクロに対して指定した属性」ってのがなにを指してるのか分からん [trans *] ←これって*以外の属性あるの?
148 名前:名前は開発中のものです。 mailto:sage [2007/04/18(水) 23:55:30 ID:kpeofFzw] [trans time=%time mode=%mode face=%face type=%type …] のようなものを省略して書いていると思えばいい
149 名前:名前は開発中のものです。 mailto:sage [2007/04/19(木) 00:12:29 ID:vpuUx0ff] >>145 漏れは [macro name=hoge][emb exp="hoge.hoge(mp)"][macro] [hoge id="hogege" x=100 y=120] とかやってるな。
150 名前:名前は開発中のものです。 mailto:sage [2007/04/19(木) 00:13:14 ID:OhwDsU6A] [trans time="%time|500" mode=%mode face=%face type=%type …] こういうのは省略できない?
151 名前:名前は開発中のものです。 mailto:sage [2007/04/19(木) 00:39:51 ID:18UDTaMA] 実際に動かしてみりゃいいじゃん
152 名前:名前は開発中のものです。 mailto:sage [2007/04/19(木) 01:46:19 ID:OhwDsU6A] あれ、数日前試して無理だったのに今やったらできた。 何かを間違えていたのか……? まぁいいや、ありがと。
153 名前:名前は開発中のものです。 mailto:sage [2007/04/20(金) 17:48:40 ID:ttMRjCD2] TJSの中で正規表現を使いたくて、リファレンスと格闘して if(number == /[0-9]/) と記述してみましたが、うまくいきませんでした。 numberに0から9までの数字が入っていた場合、その番号のレイヤーを選ぶ、 というようにしたいのですが、どなたか教えてください。
154 名前:名前は開発中のものです。 mailto:sage [2007/04/20(金) 18:03:23 ID:pJjNrlBx] if(/[0-9]/.match(number).count > 0) たぶんこれでいけるんじゃね?
155 名前:名前は開発中のものです。 mailto:sage [2007/04/20(金) 18:03:58 ID:yuZ+AgPp] if(/[0-9]/.test(number)) 0から9に限定したい(10とか11とかは除きたい)のであれば、 if(/^[0-9]$/.test(number))
156 名前:名前は開発中のものです。 mailto:sage [2007/04/20(金) 19:20:11 ID:wHQVhR3O] >>153-155 正規表現じゃなくて、 if(+number < 10) { layer = kag.back.layers[+number]; } みたいのじゃだめか? 正規表現クラスを内部で作成するので、こっちのほうが多少軽いはず。
157 名前:名前は開発中のものです。 mailto:sage [2007/04/20(金) 23:15:05 ID:I/4nWewk] >>153-156 numberがどんな値をとりえるかによるな 文字列で "0" とか "8" とか "dummy" とか、数値形式の文字列かも しれんし、それ以外の文字列かもしれない。もしくは空文字列かもしれない とかだったら、正規表現が適しているね +number は "dummy" のときとかは 0 になるはずだし 確実に数値形式の文字列("4"とか)とわかってるんだったら、156だな
158 名前:153 mailto:sage [2007/04/21(土) 13:45:25 ID:/4Y1a333] >>154-157 皆様の解説を参考に解決しました。 丁寧にありがとうございます。
159 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 12:31:24 ID:GOYAvLN1] 掲示板やら講座やら、色んなところを参照してKAGと少しのTJSはそれなりに 使えるようになったと思う。 けれど、ちゃんとTJSを使おうとすると引っかかるって人は自分の他に結構 いない? TJSリファはどこからどうやって読めばいいのか……。 例えば、効果音をTJSで鳴らすには、kag.se[n].playってのは、「TJSをもっと 使うために」読めば分かる。 でも、それを@wsする方法が分からん……とか。
160 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 13:54:16 ID:FcY2bZIX] >>159 で?
161 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 14:11:02 ID:YZiMd6U0] >>159 MessageWindow.tjsとConductor.tjsを追えばわかるのだが、@wsはsestopというトリガを待つ。 さらに、トリガを待つConductor#waitを追えばわかるけど、stop()でシナリオの進行を止めている。 KAGの部分は、systemディレクトリのtjsファイルを追えば分かると思う。 解析からおこなったらどでしょ。
162 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 14:26:44 ID:suZEEH2x] だな。KAGっぽいことをTJSでやりたければ、 system/*.tjsを読むと理解が深まる とりあえずMainWindow.tjsから入ることを勧める
163 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 14:47:20 ID:CDDY2gQm] >>159 それは実際のところは「TJS を使ってる」のではなくて、「KAGの機能をTJSから使ってる」 だから、TJSのリファレンスを読んでかいてあるわけはない。 なお、TJS そのものには「待つ」という概念は本質的に存在しない。 KAG の待ちは、Conductor という吉里吉里2の組み込み機能であるTimer を 利用したステートマシンの機能として提供されている。 TJS は所詮言語でしかなく、高級なゲームエンジンの概念を内包しているものでは ないので、「イベントドリブン」「ステートマシン」といった用語の意味が理解できるまで、 別途ゲームプログラミングの書籍を購入するなり、ゲームプログラミングを解説してる ページを見るなりして勉強したほうが良いと思うぞ。 吉里吉里付属のドキュメントにそのあたりの解説は全く存在しない。 そのあたりを理解していれば、>>161 や >>162 が言ってるように KAG そのものの ソースを読んでいけば KAG がどう動いているのか理解できる。 このときには TJS リファレンスと吉里吉里2リファレンスが大いに役に立つ。 まあ、その種の本や解説はたいてい C++ によるものなので、 TJSベースでの「ゲームプログラミング概論」には案外ニーズはあるのかもね。
164 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 15:23:38 ID:YZiMd6U0] >>163 「吉里吉里コアとtjsだけで作る吉里吉里入門」ってのがあったら、それはそれで買いそうw
165 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 15:27:04 ID:rxH979QR] drawtextでレイヤーに文字が書けない俺は そんな本があったら買う
166 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 16:06:32 ID:suZEEH2x] >>165 そこで躓いてるんだったら、本があってもやっていけるかな そこまでして、TJSで何やりたいんだ?
167 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 16:10:15 ID:rxH979QR] いや別にやりたい事は無いんだけど 昔TJSで文字表示できるかなと思ってやってみたら 上手くいかなかった苦い思い出があったから
168 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 16:39:45 ID:M1FGcrYJ] MainWindow.tjsから入れとか正気か? KAG開発者以外であれをちゃんと読んでる奴なんて存在するのか? かといってConductor.tjsから入れというのも気が引けるわけだが…^^; 他言語のメインループに慣れた人にとっては気持ち悪いよねアレ。
169 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 17:02:46 ID:suZEEH2x] >>168 部分的になら、読んでる人はいるだろ 現状で満足するなら別だが、勉強したいのならば妥当だとは思うが 他に、これから勉強するという人に薦められるやつ知ってたら教えてくれ >>159 とはいえ、量も多いし、下のほうの getHandlers() からかな
170 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 17:34:53 ID:x4IDSMJg] >>169 逆じゃない? 現状で満足するならMainWindow.tjs、 勉強したいならConductorの挙動を追ってくべきかと
171 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 17:41:24 ID:ZD4S1fzn] Conductorの話をしてくれた人ありがとう。 全く別件でぶつかっていた僕の問題が解決したよ・・・ 本当に感謝している。
172 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 18:06:50 ID:suZEEH2x] >>170 いや、その現状というのが、KAGリファレンスの TJSをもっと使おうというレベルなんじゃないだろうか
173 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 19:04:43 ID:YZiMd6U0] >>168 ある程度、tjsが書けるひとであれば、MainWindows.tjs、MessageLayer.tjs、Conductor.tjsの挙動を知っておくのは必要だと思う。 時間とお金と暇をもてあます人は、KAGを使わないで、作っている人もいるだろうし。 (俺の場合は、面倒なので、KAGを拡張する形で改造しているが) DrawDeviceにもなることだし、前スレだかでちょろっと出たような気がするけど、 KAGParserあたりも外に出してくれると、もうちょっと面白いことができそうな気がする。
174 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 19:26:48 ID:rmsCnegv] >>172 KAGの範囲内で個々の処理を学ぶ=現状 KAGから抜け出す=勉強 かと勘違いしてた。スマソ >>173 だからそれが逆なんじゃないか? KAGを使わないんなら、MainWindowやMessageLayerにある 個々の処理を眺め回しても仕方ないと思う。 KAGを真似ても不必要にコードが膨らんでしまうだけだよ。 作るのがノベルゲームじゃないのならMessageLayer自体必要ないかもしれないし、 挙動も何も、MainWindowやMessageLayerの関数群は ほとんどが独立してて一連の流れがあるわけじゃないので、 分からないことがあった時に必要に応じて該当箇所だけ見てれば足りるんじゃないかなと。
175 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 21:38:00 ID:uLfGzQ+N] 質問です 正規表現がよくわかりません 文字列Aから : を全て削除したいんですが A.replace(<対象文字列>, ""); の対象文字列の部分にはどのように書けばよいのでしょうか?
176 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 21:49:04 ID:ZD4S1fzn] >>173 KAGParserは昔TJSで実装してたけど 重いからやめてネイティブになったってどっかで見たよ! >>175 ググれ
177 名前:名前は開発中のものです。 [2007/04/22(日) 23:13:05 ID:CkNLxMmG] 入門書といえば、KAGEXの入門書も欲しいな
178 名前:名前は開発中のものです。 mailto:sage [2007/04/22(日) 23:13:40 ID:CkNLxMmG] sage忘れorz
179 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 01:05:40 ID:FoQlRSpl] >>174 KAG の実装はつぎたしなのでごちゃってるけど、個別のコードの書き方自体は かなり示唆にとんでると思う。タイマベースでの全体制御の方法論、 トリガをつかって安定動作させる書き方、連想配列を駆使したコード、incontextof の 使い方などなど。吉里吉里2+TJSの勘どころはまちがいなく KAGの中にあると 思うので、独自構築するにしても、一回は読んでおくべきかなと。 ゲームプログラミングの概念的には、KAG のような外部タイマベース ではなく、イベント処理や画面再描画などの吉里吉里内部のメインループと 直結したContinuous ハンドラをつかった記述方法論のがわかりやすいかな と 思わなくはない。たいていのその種の入門が構造的にはそのスタイルだしね。 ただ Continuous ハンドラは登録されちゃうと待ちが無いので、そのままだと何も してないときでも、優先度は低いながら CPU を食らいつくすのが難点といえば難点。 drawdevice 側で VSYNC 待ちするとか(これ自体は吉里吉里標準で設定すればそう機能する)、 C++ ベースの Continuous ハンドラプラグインで次の開始予定時間まで Sleep してしまうとか、 直接内部のコードを読んでる人ならすぐみつけられる方法論はあるけど、 素の吉里吉里で「指定されたインターバル期間(処理落ち含む)でのContinuous ハンドラの呼び出し」 の機能が提供されてると、TJSだけをつかってプログラムしようと思う向きにはわかりやすくて うれしい気はする。
180 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 01:12:35 ID:K7WJdq5N] 吉里吉里の場合、トランジションがカオスになってるのをなんとかしてほしい。 KAGからトランジションを使う分にはきにならないが、tjsだとトランジション関連がめんどくさい。
181 名前:名前は開発中のものです。 [2007/04/23(月) 10:10:34 ID:hvrqqxGb] 画面を綺麗に拡大縮小しながらプレイできるようなのって可能なんですか? ウィンドウサイズを任意サイズに変更できるプラグインがあるけど 等倍以外では汚くなる(ピクセル補間なし) これを速度を保ちつつ拡大縮小できるようになれば 画面サイズ問題は解決する 自分としては環境依存してもいいから欲しいです (でかいサイズのモニタを使っている人への救済として) 古いパソコンにあるような環境依存をバッサリ切ってしまえば けっこう導入は楽なのかなとか考えているんですが 甘いですか
182 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 10:14:37 ID:vMgY5+3k] > 速度を保ちつつ拡大縮小 日本語でおk
183 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 10:53:00 ID:9rJ/lqWF] >素の吉里吉里で「指定されたインターバル期間(処理落ち含む)でのContinuous ハンドラの呼び出し」 それTimerでできるんじゃ?
184 名前:名前は開発中のものです。 mailto:sage [2007/04/23(月) 12:24:11 ID:FoQlRSpl] >>183 吉里吉里のTimer って別スレッドでタイミングとった上で、WindowsMessage として ながれこんでくるという正しい実装なんだけど、位置付的にはキー入力とかと 同じレベルになっちゃうので、予測できないゆらぎがありそうでゲームの メインループの基準にするのには微妙に気持ち悪い。 Continuous ハンドラ、というかメインループ中で強制同期のが ゲームエンジン的には直観的でわかりやすいかな、と。