■吉里吉里/KAG/TJS雑談質問スレ■その11
■ このスレッドは過去ログ倉庫に格納されています
00011
2007/04/02(月) 11:18:12ID:hrocKz8H自作ゲーの進行状況や、製作ツールについて、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辺りを参照のこと。
0098名前は開発中のものです。
2007/04/11(水) 06:12:56ID:1lVvnPMmとりあえずifで回避できたんならいいんじゃねーの?
マクロ内だし、多少すっきりしてなくても
0099名前は開発中のものです。
2007/04/11(水) 22:04:32ID:0KTNvN4j0100名前は開発中のものです。
2007/04/12(木) 00:01:17ID:iJ6TBXrd0101名前は開発中のものです。
2007/04/12(木) 00:20:32ID:r+YpJ4Xdあとはどういうエラーが出たのか書いてくれんと、書いてある部分だけだとちょっとわからん。
0102名前は開発中のものです。
2007/04/12(木) 03:02:00ID:zou9Umvgcond を先頭に持ってきたら評価順変わるのか? と思ってやってみたけどやっぱりエラーになるね。
>>100 が正解か。
どうしても cond でなければいけない(if タグで不都合の生じる)ケースはちょっと思いつかないけど。
でもリファレンスには注意書きがあったほうがいいよね。報告頼んだぞ! > 97
0103名前は開発中のものです。
2007/04/12(木) 12:35:37ID:eW0Q6p/1[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"]みたいにわけてもいいと思うけど
0104名前は開発中のものです。
2007/04/13(金) 18:14:26ID:/+j3j8q6l=三三}∠ニヽ'__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/ -=
0105名前は開発中のものです。
2007/04/13(金) 22:45:41ID:QbLBQtBv0106名前は開発中のものです。
2007/04/13(金) 22:52:05ID:/RQnBOOG0107名前は開発中のものです。
2007/04/14(土) 18:22:15ID:qrbCYt0W0108名前は開発中のものです。
2007/04/14(土) 19:36:24ID:cxAqEdPs通常は画像全てをトランジションさせて表示しているのですが、
エフェクトカットの機能がオンになっている時は、transタグのtime属性に"0"を指定するようにしています
何回か続けて"0"でトランジション表示しても特に止まったりはしないのですが、
"0"を指定するコトによる不具合ってあるでしょうか?
PCに掛かる負荷が大きいとか?
"0"を指定するのは止めた方が良いのでしょうか?
0109名前は開発中のものです。
2007/04/15(日) 00:22:34ID:Po+j8400エフェクトカットしてるときは、直接page=foreに描いてしまう方がいいけど、
めんどくさいので、time=0でいいと思う。
たいした負荷にはならないし。
0110名前は開発中のものです。
2007/04/15(日) 13:42:58ID:7YYaBDDp一度メッセージレイヤーを非表示にしてその後表示にすると
非表示にする前にあったメッセージが消えてしまうのですが残したまま非表示→表示というのはできませんか?
0111名前は開発中のものです。
2007/04/15(日) 14:15:30ID:7eA/OFbtpositonでやってる?
laycountなら消えないようだけど
0112名前は開発中のものです。
2007/04/15(日) 14:16:26ID:7eA/OFbt失礼。
layoptです。吊ってくる
0113110
2007/04/15(日) 15:15:25ID: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"]
いいい
一度メッセージレイヤーを非表示にして場面切り替えをして
その後メッセージレイヤを表示にしたいんだけど
「あああ」が消えてしまって「いいい」が表示される。
0114名前は開発中のものです。
2007/04/15(日) 15:44:39ID:6ureWMhS>>54,56
0115名前は開発中のものです。
2007/04/15(日) 15:57:30ID:rp9sNi4r0116名前は開発中のものです。
2007/04/15(日) 15:58:28ID:7YYaBDDpサンクス出来た。
0117名前は開発中のものです。
2007/04/15(日) 16:43:23ID:d4YRDkZ7トランジションの質問
backlay覚えろ、リファレンス嫁
を繰り返している気がするんだが
トランジションの質問してくる奴ってどこの講座で勉強しているわけ?
ちょっと気になる・・・
0118名前は開発中のものです。
2007/04/15(日) 16:47:28ID:rp9sNi4r0119117
2007/04/15(日) 17:13:05ID:d4YRDkZ7何か傾向があるなら教える側も参考になると思ったんだよ
0120名前は開発中のものです。
2007/04/15(日) 18:35:56ID:xjy3MKtQありがとうございます
時間的に余裕があったら変更したいと思います
0121名前は開発中のものです。
2007/04/15(日) 22:29:02ID:gWanPSzjこの企画は…構造自体が不幸を孕んでいたのだ。
戦犯はいない。
理解できない、根源から違った存在がいただけだ。
誰にとっても。
本当なら決して出会うことのなかった、才能も、経験も、熱意も、人脈も、
何もかも違う人々に関わってしまった事自体がお互いに不幸だった。
つまり…関わった時点で無残な結末が予定されていたのだ。
今はもう…その不幸を呪い、やがて忘れる時を待つしかない。
0122名前は開発中のものです。
2007/04/15(日) 23:37:20ID:TfCT3im60123名前は開発中のものです。
2007/04/16(月) 01:24:04ID:TAbPf7otよくわかんないけど、
このスレをベースにしてゲームを作るってこと?
0124名前は開発中のものです。
2007/04/16(月) 01:34:06ID:+SyugTJ10125名前は開発中のものです。
2007/04/16(月) 05:32:43ID:gqo4JPNs吉里吉里更新
2.29-dev.20070416
>>内部的な描画モデルを新しいモデル(DrawDeviceモデル)に変更(新しい描画モデルでは、
>>ハードウェア描画を利用するプラグインを作成可能)
これってバリバリ動くようなのも作れるようになるってこと?
0126名前は開発中のものです。
2007/04/16(月) 08:05:59ID:cP0UYe430127名前は開発中のものです。
2007/04/16(月) 09:13:49ID:gqo4JPNs皆はそうでもないのかね
0128名前は開発中のものです。
2007/04/16(月) 11:44:26ID:cP0UYe430129名前は開発中のものです。
2007/04/16(月) 12:23:47ID:YV+9SCfN0130名前は開発中のものです。
2007/04/16(月) 13:33:58ID:YcR5hrt7最近は DirectX ベースでかなり綺麗に動かしてるシステムが目立つから、
CPU描画ベースの吉里吉里2だとどうしても弱い印象がある中、新アーキテクチャの
吉里吉里3はまだ先がみえないので、つなぎの意味でのカンフル剤としてはなかなかの
ものではないかと。
これで吉里吉里2のエンジンとしての寿命が2〜3年は延びたと思う。
典型的な使い方の想定としては、ポリゴンベースの表示系を DirectX か OpenGL
ベースで書きおこして、サーフェースやポリゴンモデルを直接扱うクラスをTJS側に
拡張して利用かな。本体のCPU 描画系はテクスチャ生成用エンジンとして使って、
デフォルトで存在して画面に配置可能なサーフェースの一つとして扱えば
従来の概念の延長で使える。
DirectX とかには興味あるけどスクリプト処理系を組むのが大変だとか思ってる
プログラマへの訴求力はかなりあると思う。一般への訴求は誰かがいいかんじの拡張
drawdevice を作って公開してくれるかどうかだろうね。
0131名前は開発中のものです。
2007/04/16(月) 13:41:35ID:I7+tozXW俺は無理
0132名前は開発中のものです。
2007/04/16(月) 14:32:22ID:hrH++sZvとなると、Direct3Dはプラグイン側次第ってことか。
手始めに、Direct3Dを使ったエフェクトがでてくるだろうな。
0133名前は開発中のものです。
2007/04/16(月) 14:39:01ID:KmOAc0SH@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をはさんだり色々試したのですが、どうも上手くいきません。
原因わかる方、誰か助けてください。!
後、流れ切ってすみません。
0134名前は開発中のものです。
2007/04/16(月) 14:44:19ID:0PXAFYqlと書いてXXXXという名前のマクロを作る際に、
最後にreturnを書いて戻り値を返さなければならないらしいのですが、
MainWindow.tjsを見てみると「return 0;」の他に4や変数を返しているものがありました。
今のところすべて0を返して動いていますが、戻り値を変える事で何かが変わるのでしょうか?
0135名前は開発中のものです。
2007/04/16(月) 15:35:17ID:Qv8WwwCE俺にはとても無理だw
>>134
Conductor.tjs参照
-5: // いったんイベントを処理(現在のタグは後回し)
-4: // いったんイベントを処理
-3: // 後回ししてブレーク
-2: // ブレーク
-1: // シナリオ終了
0以上: //次へ
0136名前は開発中のものです。
2007/04/16(月) 18:43:18ID:I7+tozXW今は前景レイヤーに読み込ませて、紙芝居方式で無理矢理動かしてる
例えば剣閃とか爆発のエフェクトとかも
もっと気軽に簡単に、綺麗なのが出せたりするって事なんかな
0137名前は開発中のものです。
2007/04/16(月) 19:00:36ID:sGUaM79Eそのスクリプトでどういう風に動いて欲しいの?
0138名前は開発中のものです。
2007/04/16(月) 21:28:22ID:wjEt/2u4神がプラグインを作れば・・・の話。
普通の人が使いこなせるものだとは思えない。
プラグイン側でレイヤーのイベント処理ができるようになったみたいなので、
どのような使い方が出てくるか、ちょっと楽しみではある。
0139名前は開発中のものです。
2007/04/16(月) 21:39:40ID:Acm8iil7@checkbox name="&'f.test[' + tf.i + ']'"
なんかだとどうだろうか
0140名前は開発中のものです。
2007/04/17(火) 11:40:30ID:Pot7h8bt*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のやり方でも駄目でした。
0141名前は開発中のものです。
2007/04/17(火) 12:06:09ID:+/HtGKJN0142名前は開発中のものです。
2007/04/17(火) 12:42:33ID:enWBJ+vT137の言ってることが全然分かってないのでは。
スクリプト記述だけ出して「これだけのこと」って言ったって、
そのスクリプトで「どういう動作を望んでいるのか」と、
「現在どういう動作になっているのか」を文章で説明しないと、
その動作が間違っているのか合っているのか、検証しようにもできない。
恐らくは
「f.test.countの数の分だけチェックボックスを表示して、
OKを押した時点でのチェックボックスの状態をまとめて
保存したい」
って事なんだろうけど、作成した本人でないとこれが本当かどうかも
分からないわけでさ。
動作が上手くいかなくて困っているのは分かるけど、聞き手は
エスパーじゃないんだから、ちゃんと説明しないとイカンですよ。
0143名前は開発中のものです。
2007/04/17(火) 14:49:07ID:QtoWvH7D>>例:[eval exp="f.hairetsu = []"]
これのことじゃないの?
0144名前は開発中のものです。
2007/04/18(水) 22:23:28ID:39M/b5/4レイヤマネージャ、ウィンドウとドローデバイスがプラグインに公開されたのね。
描画デバイスって概念はこれ単体ではただ、描画バックエンドを差し替え可能なだけだからそれだけでは非開発者が想像するような事は出来ないね。
ウィンドウとレイヤマネージャが描画デバイスに関連付けられて各種イベントを通知するようになってんのも恐らくは描画デバイス側で再描画要求を処理するのがメインだろう。
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で描画モデル変わるだろうし。
0145名前は開発中のものです。
2007/04/18(水) 23:17:03ID:JXlPRztk>[macro name=transwait][trans *][wt][endmacro]
>transwait マクロに対して指定した属性がそっくりそのまま trans タグに渡される
馬鹿なんでこの文章が理解できない。
*の使い方の例を2,3個挙げてくれないか
0146名前は開発中のものです。
2007/04/18(水) 23:24:11ID:kpeofFzw動作
あいうえお
[macro name=hoge]これは[emb *]です[r][endmacro]
[hoge exp="あいうえお"]
[hoge exp="かきくけこ"]
動作
これはあいうえおです
これはかきくけこです
0147名前は開発中のものです。
2007/04/18(水) 23:48:11ID:JXlPRztk[macro name=hoge]これは[emb=%kana]です[r][endmacro]
と書いて
「hoge kana=あいうえお」
[hoge kana=かきくけこ]
ってやるのと同じじゃないの?*をわざわざ使う意味がまだ分からない。
「transwait マクロに対して指定した属性」ってのがなにを指してるのか分からん
[trans *] ←これって*以外の属性あるの?
0148名前は開発中のものです。
2007/04/18(水) 23:55:30ID:kpeofFzwのようなものを省略して書いていると思えばいい
0149名前は開発中のものです。
2007/04/19(木) 00:12:29ID:vpuUx0ff漏れは
[macro name=hoge][emb exp="hoge.hoge(mp)"][macro]
[hoge id="hogege" x=100 y=120]
とかやってるな。
0150名前は開発中のものです。
2007/04/19(木) 00:13:14ID:OhwDsU6Aこういうのは省略できない?
0151名前は開発中のものです。
2007/04/19(木) 00:39:51ID:18UDTaMA0152名前は開発中のものです。
2007/04/19(木) 01:46:19ID:OhwDsU6A何かを間違えていたのか……?
まぁいいや、ありがと。
0153名前は開発中のものです。
2007/04/20(金) 17:48:40ID:ttMRjCD2if(number == /[0-9]/)
と記述してみましたが、うまくいきませんでした。
numberに0から9までの数字が入っていた場合、その番号のレイヤーを選ぶ、
というようにしたいのですが、どなたか教えてください。
0154名前は開発中のものです。
2007/04/20(金) 18:03:23ID:pJjNrlBxたぶんこれでいけるんじゃね?
0155名前は開発中のものです。
2007/04/20(金) 18:03:58ID:yuZ+AgPp0から9に限定したい(10とか11とかは除きたい)のであれば、
if(/^[0-9]$/.test(number))
0156名前は開発中のものです。
2007/04/20(金) 19:20:11ID:wHQVhR3O正規表現じゃなくて、
if(+number < 10) {
layer = kag.back.layers[+number];
}
みたいのじゃだめか?
正規表現クラスを内部で作成するので、こっちのほうが多少軽いはず。
0157名前は開発中のものです。
2007/04/20(金) 23:15:05ID:I/4nWewknumberがどんな値をとりえるかによるな
文字列で "0" とか "8" とか "dummy" とか、数値形式の文字列かも
しれんし、それ以外の文字列かもしれない。もしくは空文字列かもしれない
とかだったら、正規表現が適しているね
+number は "dummy" のときとかは 0 になるはずだし
確実に数値形式の文字列("4"とか)とわかってるんだったら、156だな
0159名前は開発中のものです。
2007/04/22(日) 12:31:24ID:GOYAvLN1使えるようになったと思う。
けれど、ちゃんとTJSを使おうとすると引っかかるって人は自分の他に結構
いない? TJSリファはどこからどうやって読めばいいのか……。
例えば、効果音をTJSで鳴らすには、kag.se[n].playってのは、「TJSをもっと
使うために」読めば分かる。
でも、それを@wsする方法が分からん……とか。
0160名前は開発中のものです。
2007/04/22(日) 13:54:16ID:FcY2bZIXで?
0161名前は開発中のものです。
2007/04/22(日) 14:11:02ID:YZiMd6U0MessageWindow.tjsとConductor.tjsを追えばわかるのだが、@wsはsestopというトリガを待つ。
さらに、トリガを待つConductor#waitを追えばわかるけど、stop()でシナリオの進行を止めている。
KAGの部分は、systemディレクトリのtjsファイルを追えば分かると思う。
解析からおこなったらどでしょ。
0162名前は開発中のものです。
2007/04/22(日) 14:26:44ID:suZEEH2xsystem/*.tjsを読むと理解が深まる
とりあえずMainWindow.tjsから入ることを勧める
0163名前は開発中のものです。
2007/04/22(日) 14:47:20ID:CDDY2gQmそれは実際のところは「TJS を使ってる」のではなくて、「KAGの機能をTJSから使ってる」
だから、TJSのリファレンスを読んでかいてあるわけはない。
なお、TJS そのものには「待つ」という概念は本質的に存在しない。
KAG の待ちは、Conductor という吉里吉里2の組み込み機能であるTimer を
利用したステートマシンの機能として提供されている。
TJS は所詮言語でしかなく、高級なゲームエンジンの概念を内包しているものでは
ないので、「イベントドリブン」「ステートマシン」といった用語の意味が理解できるまで、
別途ゲームプログラミングの書籍を購入するなり、ゲームプログラミングを解説してる
ページを見るなりして勉強したほうが良いと思うぞ。
吉里吉里付属のドキュメントにそのあたりの解説は全く存在しない。
そのあたりを理解していれば、>>161 や >>162 が言ってるように KAG そのものの
ソースを読んでいけば KAG がどう動いているのか理解できる。
このときには TJS リファレンスと吉里吉里2リファレンスが大いに役に立つ。
まあ、その種の本や解説はたいてい C++ によるものなので、
TJSベースでの「ゲームプログラミング概論」には案外ニーズはあるのかもね。
0164名前は開発中のものです。
2007/04/22(日) 15:23:38ID:YZiMd6U0「吉里吉里コアとtjsだけで作る吉里吉里入門」ってのがあったら、それはそれで買いそうw
0165名前は開発中のものです。
2007/04/22(日) 15:27:04ID:rxH979QRそんな本があったら買う
0166名前は開発中のものです。
2007/04/22(日) 16:06:32ID:suZEEH2xそこで躓いてるんだったら、本があってもやっていけるかな
そこまでして、TJSで何やりたいんだ?
0167名前は開発中のものです。
2007/04/22(日) 16:10:15ID:rxH979QR昔TJSで文字表示できるかなと思ってやってみたら
上手くいかなかった苦い思い出があったから
0168名前は開発中のものです。
2007/04/22(日) 16:39:45ID:M1FGcrYJKAG開発者以外であれをちゃんと読んでる奴なんて存在するのか?
かといってConductor.tjsから入れというのも気が引けるわけだが…^^;
他言語のメインループに慣れた人にとっては気持ち悪いよねアレ。
0169名前は開発中のものです。
2007/04/22(日) 17:02:46ID:suZEEH2x部分的になら、読んでる人はいるだろ
現状で満足するなら別だが、勉強したいのならば妥当だとは思うが
他に、これから勉強するという人に薦められるやつ知ってたら教えてくれ
>>159
とはいえ、量も多いし、下のほうの getHandlers() からかな
0170名前は開発中のものです。
2007/04/22(日) 17:34:53ID:x4IDSMJg逆じゃない?
現状で満足するならMainWindow.tjs、
勉強したいならConductorの挙動を追ってくべきかと
0171名前は開発中のものです。
2007/04/22(日) 17:41:24ID:ZD4S1fzn全く別件でぶつかっていた僕の問題が解決したよ・・・
本当に感謝している。
0172名前は開発中のものです。
2007/04/22(日) 18:06:50ID:suZEEH2xいや、その現状というのが、KAGリファレンスの
TJSをもっと使おうというレベルなんじゃないだろうか
0173名前は開発中のものです。
2007/04/22(日) 19:04:43ID:YZiMd6U0ある程度、tjsが書けるひとであれば、MainWindows.tjs、MessageLayer.tjs、Conductor.tjsの挙動を知っておくのは必要だと思う。
時間とお金と暇をもてあます人は、KAGを使わないで、作っている人もいるだろうし。
(俺の場合は、面倒なので、KAGを拡張する形で改造しているが)
DrawDeviceにもなることだし、前スレだかでちょろっと出たような気がするけど、
KAGParserあたりも外に出してくれると、もうちょっと面白いことができそうな気がする。
0174名前は開発中のものです。
2007/04/22(日) 19:26:48ID:rmsCnegvKAGの範囲内で個々の処理を学ぶ=現状
KAGから抜け出す=勉強
かと勘違いしてた。スマソ
>>173
だからそれが逆なんじゃないか?
KAGを使わないんなら、MainWindowやMessageLayerにある
個々の処理を眺め回しても仕方ないと思う。
KAGを真似ても不必要にコードが膨らんでしまうだけだよ。
作るのがノベルゲームじゃないのならMessageLayer自体必要ないかもしれないし、
挙動も何も、MainWindowやMessageLayerの関数群は
ほとんどが独立してて一連の流れがあるわけじゃないので、
分からないことがあった時に必要に応じて該当箇所だけ見てれば足りるんじゃないかなと。
0175名前は開発中のものです。
2007/04/22(日) 21:38:00ID:uLfGzQ+N正規表現がよくわかりません
文字列Aから : を全て削除したいんですが
A.replace(<対象文字列>, "");
の対象文字列の部分にはどのように書けばよいのでしょうか?
0176名前は開発中のものです。
2007/04/22(日) 21:49:04ID:ZD4S1fznKAGParserは昔TJSで実装してたけど
重いからやめてネイティブになったってどっかで見たよ!
>>175
ググれ
0177名前は開発中のものです。
2007/04/22(日) 23:13:05ID:CkNLxMmG0178名前は開発中のものです。
2007/04/22(日) 23:13:40ID:CkNLxMmG0179名前は開発中のものです。
2007/04/23(月) 01:05:40ID:FoQlRSplKAG の実装はつぎたしなのでごちゃってるけど、個別のコードの書き方自体は
かなり示唆にとんでると思う。タイマベースでの全体制御の方法論、
トリガをつかって安定動作させる書き方、連想配列を駆使したコード、incontextof の
使い方などなど。吉里吉里2+TJSの勘どころはまちがいなく KAGの中にあると
思うので、独自構築するにしても、一回は読んでおくべきかなと。
ゲームプログラミングの概念的には、KAG のような外部タイマベース
ではなく、イベント処理や画面再描画などの吉里吉里内部のメインループと
直結したContinuous ハンドラをつかった記述方法論のがわかりやすいかな
と
思わなくはない。たいていのその種の入門が構造的にはそのスタイルだしね。
ただ Continuous ハンドラは登録されちゃうと待ちが無いので、そのままだと何も
してないときでも、優先度は低いながら CPU を食らいつくすのが難点といえば難点。
drawdevice 側で VSYNC 待ちするとか(これ自体は吉里吉里標準で設定すればそう機能する)、
C++ ベースの Continuous ハンドラプラグインで次の開始予定時間まで Sleep してしまうとか、
直接内部のコードを読んでる人ならすぐみつけられる方法論はあるけど、
素の吉里吉里で「指定されたインターバル期間(処理落ち含む)でのContinuous ハンドラの呼び出し」
の機能が提供されてると、TJSだけをつかってプログラムしようと思う向きにはわかりやすくて
うれしい気はする。
0180名前は開発中のものです。
2007/04/23(月) 01:12:35ID:K7WJdq5NKAGからトランジションを使う分にはきにならないが、tjsだとトランジション関連がめんどくさい。
0181名前は開発中のものです。
2007/04/23(月) 10:10:34ID:hvrqqxGbウィンドウサイズを任意サイズに変更できるプラグインがあるけど
等倍以外では汚くなる(ピクセル補間なし)
これを速度を保ちつつ拡大縮小できるようになれば
画面サイズ問題は解決する
自分としては環境依存してもいいから欲しいです
(でかいサイズのモニタを使っている人への救済として)
古いパソコンにあるような環境依存をバッサリ切ってしまえば
けっこう導入は楽なのかなとか考えているんですが
甘いですか
0182名前は開発中のものです。
2007/04/23(月) 10:14:37ID:vMgY5+3k日本語でおk
0183名前は開発中のものです。
2007/04/23(月) 10:53:00ID:9rJ/lqWFそれTimerでできるんじゃ?
0184名前は開発中のものです。
2007/04/23(月) 12:24:11ID:FoQlRSpl吉里吉里のTimer って別スレッドでタイミングとった上で、WindowsMessage として
ながれこんでくるという正しい実装なんだけど、位置付的にはキー入力とかと
同じレベルになっちゃうので、予測できないゆらぎがありそうでゲームの
メインループの基準にするのには微妙に気持ち悪い。
Continuous ハンドラ、というかメインループ中で強制同期のが
ゲームエンジン的には直観的でわかりやすいかな、と。
0185名前は開発中のものです。
2007/04/24(火) 12:48:08ID:lzJ+7VFc[linemode mode=*]
[erafterpage mode=false]
って同時指定できない?
0186名前は開発中のものです。
2007/04/24(火) 23:02:24ID:pZhLDMt0kagex.txtを見る限り、[linemode mode=*]時はerafterpageは無効になっているような気がするのですが。
301行目〜340行目を読む限り。
違ってたらすいません。
そういえば最新の吉里吉里でKAGEXのサンプルを動かすと↓のような現象出ませんかね?
1. 「ワールド拡張:トランザクション」を選択すると、メッセージ欄の1文字目が表示されない(Worldではなくorldと表示される(Wが履歴にしか表示されない))。
2. 「ワールド拡張:トランザクション」のwaveとかmosaicが一瞬で表示されてしまう。
自分だけですかね?
仕様が変わったのかな。
0187名前は開発中のものです。
2007/04/25(水) 22:22:38ID:bqBDCr6pたぶんすごい勢いでバグってるのでしばらく最新はさわらないほうがいい気がする。
ちょっと前にタグうってるのでそこをつかうのが吉
0188名前は開発中のものです。
2007/04/25(水) 22:53:52ID:0zAAtnEwどうもです。
4/2のタグうちってのを使うようにします。
0189名前は開発中のものです。
2007/04/26(木) 21:15:17ID:eN5Jo91+何か新しいことが出来るようになるの?
0190名前は開発中のものです。
2007/04/26(木) 22:30:36ID:aXG6Fj8STJS3が文法、作法ともに激変してる・・・というかECMA-262 ed.4並みにカオスってる。
なんでRuby信者ってああいう曖昧でごちゃごちゃしたの好きなんだろうか?
あれだと相変わらず互換性なさそうだね。
ライブラリ周りが出来てないから何が出来るかは今の所何とも言えない。
0191名前は開発中のものです。
2007/04/26(木) 22:58:19ID:mxNLtRmeKAGのようなのもつくるんだっけ?
とりあえず、吉里吉里2/KAG3は安定してるし
別に乗り換える必要もないだろ
マカーに使用させたいなら別だろうけど
0192名前は開発中のものです。
2007/04/27(金) 00:09:41ID:pTsqMMKuアクセス指定子
レイヤの軽量化
バイナリファイル操作(その為の変数型も)
俺はこの3つがあれば幸せになれるよ
0193名前は開発中のものです。
2007/04/27(金) 00:27:45ID:9uiiEHd1相変わらず互換性無いっていうか
互換性なんか最初から考えてないだろうけど
(だからメジャーバージョンアップなんだろうしさ)。
別に急いて使うもんでもないだろうね。
0194名前は開発中のものです。
2007/04/27(金) 00:38:49ID:obKf2G9a使う使わないは個人によるだろうし、
取り立てて何度も連呼するようなことでもないだろ
フリー&ソース公開でわざわざ作ってくれてるんだから
生温かく見守ってなるべくいい気分で作ってもらおうぜ。
使う必要ないなんて言いまくって、Deeたんの開発意欲を削ぐ結果になったりしたらえらいこっちゃ。
0195名前は開発中のものです。
2007/04/27(金) 01:10:13ID:wWDa1cB6原開発者からの派生で息吹き返したOSSもある。OSS開発ってのはそういうもんだから長期的に見てみんと分からんよ。
特にNN5なんかはコンパイラとおらねぇと思ってたから感動した。人海戦術は偉大だね。
長期的に他人のソース追っかける気がないなら自分で作ればいいんだしね。
0196名前は開発中のものです。
2007/04/27(金) 08:41:08ID:B5DPWyaS0197名前は開発中のものです。
2007/04/27(金) 11:52:27ID:/k8B2HCl例えばどんなところでそう思うわけ?
■ このスレッドは過去ログ倉庫に格納されています