トップページgamedev
1001コメント401KB

■吉里吉里/KAG/TJS雑談質問スレ■その22

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/10/01(金) 10:44:25ID:z47vESnT
ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。
マルチポストはやめましょう。個人叩きも禁止です。

※スレで質問をするときは※
KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、
FAQ、Google等で調べてからにしましょう。
努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ!

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
吉里吉里2/KAG3雑談質問スレ_過去ログ
ttp://www.geocities.jp/kirikiri_log/

吉里吉里ダウンロードページ
ttp://kikyou.info/tvp/

ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は
初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。
■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。
大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。
■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる
数々のTipsが記載されています。
■TJSをもっと使うために
ゲームのインターフェイスをカスタマイズしたい、また
KAGの命令に無いことをしたくなったらまずここを読んでみよう。

必要に応じて>>3-5の公式掲示板や講座等を併用してください。
(併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)

前スレ
■吉里吉里/KAG/TJS雑談質問スレ■その21
http://hibari.2ch.net/test/read.cgi/gamedev/1274510516/
0215名前は開発中のものです。2010/10/19(火) 19:43:49ID:Im9E8ae1
フェードは実装汁の人じゃないけど、やっぱり俺も欲しいなとは思う。
無くても出来るんだけど、タグの発行量が大杉。
195とかは、フェードインアウトの作業をやってれば、普通はその過程で覚えるタグを使えばカットインくらい簡単にできるだろうと言う事ね。
言葉足らずですまん。

>>214の今ざっと見た感じワイプが良い感じのがあるね。 細かく設定出来るかどうかわかんないけど。(例えば厚みとか)
これ使えば、簡単にそこそこ良い感じの作れるんじゃない?

ところで、stmoveみたいに動的に拡大縮小出来て、エンドレスループさせられるのって無いかな?stmoveは複数はダメだし、ループ機能も無いし。
結構ペジェ使えて使い勝手良いから使いまくってるけど。
CutInPlugin.ksが複数定義出来そうだしよさげなんだけど、注視点は常に中心らしいのが難点。
昼間歩きの話が出てて、昔のAEプロジェクト引っ張ってみてたら、拡大しながらエンドレスでループする機能があればタグコマンドだけで結構自然にいけそうなのよね。
背景だから動画にしてもいいんだけど、動画に60秒のエンドレス素材作るのはもったいないのよね。容量的に。
0216名前は開発中のものです。2010/10/19(火) 21:40:18ID:8ox1F0XT
質問です
メニューバーの任意の座標にボタンを追加する方法をご存じの方いますか?
addだと順番に左詰めになってしまい希望通りにはなりません
通常のメニューボタンから少し離した位置にまたボタンを設置したいのです
ボタンレイヤークラス作って表示させようとしても適当すぎたのかまるで駄目でした
どなたかご教授お願いします
0217名前は開発中のものです。2010/10/19(火) 21:57:42ID:JF9FMlMv
ゆっくりズームしながらレイヤ上下ですかね。
でも、「このエフェクトの行き着く先は?」とか試されたら嫌だからやらないかな。
俺だったら試すもの。
FORTUNE ARTERIALのバイクで海岸を走るシーン
そして明日の世界よりの背景の雲の動き
ぼけーっと眺めてる自分が嫌になるまで頑張った。

>>216
リファレンスみた限りじゃ座標を指定する項目は見当たらないようですよー
ダミーを作って、そいつのenabledをfalseにしたらそれっぽく見えるかも?
0218名前は開発中のものです。2010/10/19(火) 22:09:38ID:joCmLlUO
>>216
適当に caption にスペースもった enabled=false なダミーの項目を足す
0219名前は開発中のものです。2010/10/19(火) 22:48:17ID:Im9E8ae1
背景をゆっくりズームアウト。
手前の人物はon乗馬でもそこそこ見栄えはするもんだけど、エロゲはミニが多くて足が動いてないのバレバレで見栄えが良くない。
スカート丈が長いと誤魔化せる事を発見した時には小躍りして喜んだ遠い昔の記憶……

吉里吉里は、NULLを入れておかないと案外まずい挙動をするコマンドが多い。
逆にNULLで誤魔化せるコマンドも多いから、とりあえず行き詰まったらまず透明なデータとかダミーデータで誤魔化せるか?って考えると案外上手く挙動する物が多い。
0220名前は開発中のものです。2010/10/19(火) 22:55:28ID:VDlnGs1T
ぬるぽ
0221名前は開発中のものです。2010/10/19(火) 23:08:47ID:1nHF1moq
ガッ
0222名前は開発中のものです。2010/10/19(火) 23:46:59ID:fnEgc1bu
>>219
問題があると思った挙動があるならきちんと報告しとけ。
たいていの場合は明確に仕様で使い方間違ってるだけだと思われ。

いままでのおまえさんの投稿全部そうだったろ?
02231832010/10/20(水) 00:26:15ID:P4gHNwZj
皆さんありがとうございました。
moveタグと>>211さんの方法で希望のカットインが出来そうです。
>>211さんの方法は色合いは違いますが、カッコイイカットインに
なったので、こちらも別マクロとして登録しておきました。

拙い質問にお答え頂きありがとうございます。
0224名前は開発中のものです。2010/10/20(水) 05:36:33ID:poA/8cd6
>>222
いやいや実質的に俺のタグの書き方がまずくて仕様でダメだったのは一つだけだ。
あとは、質問に答えて貰ったから謝ったような書き方してるけど、とりあえずそれで動いてるからいいやって感じで使ってるだけで根本解決はしてない。
とりあえずそれで動いてるから細かくは書かないけど、やはりなぜか止まったり、なぜか表と裏の動画が入れ替わったり、根治してるわけでは無く、そのシーンのその後のトランスの仕方によって問題が少ない方をチョイスして使い分けてると言うのが実情。
0225名前は開発中のものです。2010/10/20(水) 06:21:58ID:YfepaK/o
一言だけ言いたい。
お前いい加減もっと文章を短くまとめろ。
0226名前は開発中のものです。2010/10/20(水) 06:33:16ID:poA/8cd6
3行で書けって言うから、一応3行で書いたのに・・・・・
0227名前は開発中のものです。2010/10/20(水) 09:26:07ID:2Jsh5352
文脈や会話の流れから推測する能力が著しく低い人なんじゃねーかな。
ここ数回のレスでも噛み合ってると思われる物は全くない。
0228名前は開発中のものです。2010/10/20(水) 10:45:11ID:7pY1/qj2
アスペってやつか
0229名前は開発中のものです。2010/10/20(水) 10:56:03ID:GJUHwiYy
>>224
あんた公式で質問してる「四つ葉」だろ?
具体的な記述を出さないから何言っても言い訳にしか見えない。
0230名前は開発中のものです。2010/10/20(水) 11:05:02ID:poA/8cd6
しょうがないな。 噛み合って無いとか言われるとそれなりにかっこいいカットインを書き込まなくちゃいけないじゃないか。べ、別にあんたのためじゃないんだからね!
800*600版で調整してる。やってる事は単にmoveを三回使ってるだけなんだけど、調整すればそれだけでもこのくらいはかっこよく出来る。実際には、ブレーキ中にほかのエフェクトを繋いだりするんだけど。
ポイントは、当然なのだけどimageタグとmoveタグのopacityは連動してると言う事。
あと全画面の半分しか移動させてないのは、丁度画像の中心線が画面端にかかる頃にopacityを0にするため。 透明度が20%を切ると背景にもよるけど、ほとんど消えたように見える。
全画面分移動させると、消え方がぬるい。 このあたりは感覚的な事なんだけどね。

;とりあえずベース表示
[image layer=base page=fore storage="ベース" visible=true]

;カットインされる画像を準備
[image layer=0 page=fore storage="右から左" visible=true left=400 visible=true opacity=0]
[image layer=1 page=fore storage="左から右" visible=true left=-400 visible=true opacity=0]

;アクセルイン
[move time=500 path="(30,0,255)" layer=0 accel=5]
[move time=500 path="(-30,0,255)" layer=1 accel=5]
[wm layer=0 canskip=false]
[wm layer=1 canskip=false]

;ブレーキ
[move time=1000 path="(-30,0,255)" layer=0 accel=0]
[move time=1000 path="(30,0,255)" layer=1 accel=0]
[wm layer=0 canskip=false]
[wm layer=1 canskip=false]

;アクセルアウト
[move time=500 path="(-400,0,0)" layer=0 accel=-5]
[move time=500 path="(400,0,0)" layer=1 accel=-5]
[wm layer=0 canskip=false]
[wm layer=1 canskip=false]
0231名前は開発中のものです。2010/10/20(水) 11:12:20ID:GJUHwiYy
見事なかみ合ってなさっぷりにワラタ
0232名前は開発中のものです。2010/10/20(水) 11:21:48ID:YfepaK/o
お前ちょっと前までムービーが動画がって言ってた奴だろ?
荒らしとか悪意とかそういう意図を持ってないなら、頼むからもう黙っててくれ
0233名前は開発中のものです。2010/10/20(水) 12:13:11ID:2Jsh5352
>>230
具体例まで書いてる以上、悪意ではなく病気と判断して忠告してみる。
たとえば、230を見ても相当におかしい。、まず吉里吉里の勉強する前に
医者の診断を受ける事をすすめる。

■230のおかしな点
1.いきなりカットインの具体例を書いた
>>229のレスを受けて書いた物だろうが、すでにカットインの話は終了している。
>>223が解決のお礼を言ってるし、スレの流れも完全に変わっている。

2.前提を理解していない
W具体例”がないと言うのは、>>230の過去の書き込みに対してである。
よって、NULLを指定しないとバグる例や、フェードイン、アウトを行うタグでのカットインの具体例を出さなければ意味がない。

3.噛み合ってないと言われて具体例を提示した
噛み合ってないと言う人物と、具体例を指摘している人物は同一人物ではない。
また、噛み合ってないと言う人は話が理解できていないという意味で書いてあり、具体例を指摘する人物は、
過去の書き込みに対してであり、全く別種の物である。

■総評
230の具体例を見るに質問された「カットイン」を理解している事がわかる。
また、具体的なタグを使用しており、吉里吉里初心者が知ったかだけで話している訳ではない事もわかる。
この事は逆に230が病気である可能性を高めている。

カットインの質問をされたにも関わらず、フェードの話をつけて返し、しかもそれは
吉里吉里と映像技術上のフェードを別種と理解した上で同一に語っている。
上で上げた3例からも、“噛み合って無い”や“具体例”の指摘は理解しているのに“実質的に相手が何を言っている”かは分かっていない。

別に侮蔑とかではなく医者に行く事を進める、精神障害以外にも脳障害という可能性も十分にある。
0234名前は開発中のものです。2010/10/20(水) 12:24:20ID:7pY1/qj2
要するにアスペだな
0235名前は開発中のものです。2010/10/20(水) 13:32:01ID:sySVneI4
そろそろふるぼっこされる予感はしていた。
0236名前は開発中のものです。2010/10/20(水) 13:37:03ID:poA/8cd6
俺が病気かどうかは別にして上から順番に答えてもいいんだけど、まぁ要点として少しおかしな具合に解釈されてるようだが、ヌルに関しては入れないと不味い挙動をするものがあると言ってるだけで不具合では無いだろう。
フェードとカットインに関しては、フェードでトランスを使えるレベルなら、普通カットインもそれと同じタグ群で作れるんだから難しくないだろうって事だ。 今回のもカットインとして出したが、実際には俺はこれはトランスの代わりの画面切り替えに使ってる。
opacityの代わりにクロスフェードトランスでも同じような挙動は作れるだろう? 画面を切り替えるフェードやトランス・ムーブのタグ群は理解してるわけだから、それらを組み合わせるだけで特別なタグを使うわけじゃないんだから普通作れるだろうって事。
movieの不具合どう書いたら問題かと理解してるからもういちいち残してないが、要は表にダミー・裏に実際の動画を準備してそのレイヤーを個別にトランスするとトランスのたびに表>裏>表>裏となるって話だ。
こう言う使い方する奴はほとんどいないだろうから普通の人にはたいした話じゃないだろうけど。
もう一つの不具合は構文しないと説明し辛いから割愛。
0237名前は開発中のものです。2010/10/20(水) 13:38:10ID:2lUpIivg
言葉でいってんのに理解できないのはアスペじゃないな。
0238名前は開発中のものです。2010/10/20(水) 14:26:12ID:2Jsh5352
>>236
すまなかったな。
とりあえず、今から医者の予約をとれ。
それから治るまではトリを付ければ解決だ。
0239名前は開発中のものです。2010/10/20(水) 14:27:28ID:sySVneI4
誰かID:poA/8cd6にNULL入れろ、不味い挙動してるぞ。
0240名前は開発中のものです。2010/10/20(水) 14:53:27ID:jtoaSqEE
アスペや発達障害は病気じゃないしID:poA/8cd6がそうかはともかく
おまいさんは動画に関して専門的にやってるかこだわりを持ってるのかもしれんが
この話題に鳴門自分の知識や持論をひけらかすことに夢中で
質問に対する回答にならないことを延々語ってるわけだ
それも改行もろくにしない長文で
改行しない、長文、一人による大量レスが2chで嫌われるのは知ってるな?
ID:poA/8cd6は荒らしと変わらない事になってんだよ
0241名前は開発中のものです。2010/10/20(水) 14:58:16ID:EzjjN7D4
invalidate ID:poA/8cd6;
0242名前は開発中のものです。2010/10/20(水) 15:42:37ID:7DnD8bOP
リアルでも知識や考えを押し付けたりすると嫌われるよな?
それと同じことだ。
0243名前は開発中のものです。2010/10/20(水) 15:45:49ID:JT5xjW2d
こういう場だと知識の押しつけ自体はそれが正確ならさほど問題視されないんだが、かなり間違い入ってるからな……
0244名前は開発中のものです。2010/10/20(水) 15:52:11ID:xX22gTZA
ID:poA/8cd6です。
あなた方の指摘どおり病院に行ったところ高次脳機能障害であることが分かりました。
これからは皆様に迷惑をかけないように生きていきたいと思います。
指摘ありがとうございました。
0245名前は開発中のものです。2010/10/20(水) 16:08:27ID:m2jtePtb
ジャンジャン病院送りにしてw
同じ吉里吉里使いとしてはものすごく迷惑
0246名前は開発中のものです。2010/10/20(水) 16:09:25ID:m2jtePtb
ということは こんなキチガイと一緒に仕事組まされてたのか
0247名前は開発中のものです。2010/10/20(水) 16:12:18ID:LjHxRHET
吉里吉里で一定の場所から場所まで 処理にかかったつ[時間はかり、logとして出力させる方法どなたかご存知ないですか]
0248名前は開発中のものです。2010/10/20(水) 16:14:02ID:LjHxRHET
つ[メッセージ] で囲んだつもりが酷いところに反映されたのでもう一度かかせてください^^;
吉里吉里で一定の場所から場所までの処理にかかった時間はかり、logとして出力させる方法どなたかご存知ないですか
0249名前は開発中のものです。2010/10/20(水) 16:46:10ID:sySVneI4
>>248
吉里吉里2リファレンスのSystemクラスにあるgetTickCountを見るといい。
0250名前は開発中のものです。2010/10/20(水) 17:37:43ID:jtoaSqEE
質問です
今までいくつかmp.tagnameを条件式に使った関数を作ってきたが
これでbeginMoveは問題なく使えても何故か
beginFrameMoveはこの条件式だと使えないんだ
無理に使おうとは思わないがどういう仕組みか原因が気になる
誰かわかる人はいませんか?
0251名前は開発中のものです。2010/10/20(水) 17:53:27ID:JT5xjW2d
その実際にうまくいかない記述を示してもらわんことには回答不能。
02522502010/10/20(水) 19:33:19ID:jtoaSqEE
言葉足らずで申し訳ない
function hogehoge(mp){
if(mp.tagname == 'hoge1')
kag.fore.layers[mp.layer].beginMove(%[
path:+mp.x +','+ mp.y +', 255', time: +mp.time, accel:-1]);

else if(mp.tagname == 'hoge2')
kag.fore.layers[mp.layer].beginFrameMove(%[path:
'(10,'+ mp.x +','+ mp.y +', 255 )('40,'+ mp.x +','+ mp.y +', 255 )(45,'+ mp.xx+','+ mp.y +', 0']);
}
部分的に書き出すと例えばこんな感じで
[hoge1]でレイヤーを動かすのは問題ないんだが[hoge2]だと何も起こらない

else if(mp.tagname == 'hoge2') を else if(mp.hoge2 == 'hoge2')にして
hogehogeを呼びたす適当なマクロで
[適当なマクロ hoge2]とすれば、beginFrameMoveも動かせるんだ
試してみたがどうにも他は出来てもmp.tagnameだと駄目なようだ
beginMoveとbeginFrameMoveで何が違うのか気になる
0253名前は開発中のものです。2010/10/20(水) 19:37:38ID:jtoaSqEE
間違えた
×else if(mp.tagname == 'hoge2') を else if(mp.hoge2 == 'hoge2')にして
○else if(mp.tagname == 'hoge2') を else if(mp.hoge2 !== void)にして
何度も申し訳ない
0254名前は開発中のものです。2010/10/20(水) 19:58:15ID:EzjjN7D4
>>252
40 の前の ' が不要とかじゃなくて?
02552502010/10/20(水) 21:24:26ID:jtoaSqEE
>>254
レス用に書き換えた時のミスですお恥ずかしい

mp.tagnameじゃなきゃちゃんと動くことは一応確認してあるんだが
腑に落ちなくてむず痒いから原因が知りたい
バージョンアップしたのが関係あるのかとにかくさっぱりだ・・・
0256名前は開発中のものです。2010/10/20(水) 22:01:46ID:EzjjN7D4
>>255
あっ、他にも誤記っぽいのが
(45,'+ mp.xx+','+ mp.y +', 0']); → (45,'+ mp.x+','+ mp.y +', 0)']);
最後の方の ) は無くても良いけど mp.xx →mp.x なら問題
0257名前は開発中のものです。2010/10/20(水) 22:11:56ID:JT5xjW2d
その function hogehoge(mp) はどこからどうよんでるんだ?
見たところ特に問題のある記述じゃなさそうだから呼び出し側でなんかとちってるとみた

というか、わざわざ tagname で判定する理由がよくわからないんだが…
それぞれのマクロでそれぞれの関数を呼べば良いだけではないのか?
0258名前は開発中のものです。2010/10/20(水) 22:27:46ID:eHjOkTq5
文章の表示についてちょっと苦労してるんだが、よければアイディアもらえないか

1番目の段落[l][r]
2番目の段落[l][r]
3番目の段落[l][r]

みたいな感じでシナリオを用意した場合、
最初は1番目の段落が通常の色で表示されて、
2番目の段落に突入した場合、1番目の段落が灰色などの少し地味な色に変化して、
3番目の段落に突入したら、1番目同様2番目も地味な色に変化して……
という具合に、現在表示中の段落を強調表示したいんだが、シナリオ全体に適用するにあたって上手な方法はないだろうか

マクロにまとめられないような面倒な手順を使えばなんとかなるんだが、
モジュールとして自作で使い回せるレベルにスマートにまとめる方法がひらめかない
愚直な方法しか使ってこなかったから、こういう応用的なことがどうも苦手なんだが、どんな手を使えばいいと思う?
0259名前は開発中のものです。2010/10/20(水) 22:38:55ID:AoiRMOA2
>>258
現在表示中の段落以外は表示されてないんじゃないの?
0260名前は開発中のものです。2010/10/20(水) 22:43:34ID:o6joPHYz
[r]の代わりになるマクロの中で、カレントメッセージレイヤを
次々新しいものに変えていけばいいんじゃないかね
あと用が済んだレイヤのopacityを順次下げるのと
で[cm]の代わりになるマクロの中でそれらをリセットする
02612502010/10/20(水) 22:44:19ID:jtoaSqEE
>>256-257
>>250は所々ミスってるがtagnameで判定しなければ普通に動くから
実際のpathには問題がないんだ色々考えてくれたのにすまない
それと関数はマクロからevalで呼び出してる
これだけだとtagnameで判定する必要はないが行数節約のため一部抜き出しただけなんだ

tagnameについて書いていたサイトにも裏技的なものと書かれてたから
beginFrameMove以外にも上手くいかないものがあるのかもしれん
よくわからないまま使うのもなーと思って思い切って聞いてみたが
そろそろIDと同じくらい顔真っ赤になりだしたんでこの辺で締めるよ
色々考えてくれてありがとうな
02622592010/10/20(水) 22:53:25ID:AoiRMOA2
>>259 は忘れてくれ
段落=ページ と勘違いしてた
0263名前は開発中のものです。2010/10/20(水) 23:47:50ID:6gXSoLBw
>>261
試してみたら問題なく動作しましたよ。
たぶん他の部分の記述に問題があると思います
0264名前は開発中のものです。2010/10/20(水) 23:54:53ID:eHjOkTq5
>>260
レイヤーを切り替えまくると、短期的にはよくても長期的には混乱したりしないかな?
裏レイヤーで画像処理して表レイヤーにコピーとか?
なんか混乱してきたから適当に試してみる

>>262
分かりにくい書き方ですまん
0265名前は開発中のものです。2010/10/21(木) 00:01:34ID:OYeVARoN
>>261
@iscript
function hogehoge(mp) {
if(mp.tagname == "hoge1") return 1; else
if(mp.tagname == "hoge2") return 2;
}
@endscript
[macro name=hoge1][eval exp="tf.hoge1 = hogehoge(mp)"][endmacro]
[macro name=hoge2][eval exp="tf.hoge2 = hogehoge(mp)"][endmacro]

現状見て推察できる>>261の状況・環境だと[hoge2]は
tf.hoge2に値が入らない事になるんだが。

まぁそれまでの流れから行数節約に気を使ったんだろうけど
そこで具体的な、肝心な部分を切り落としたのは確か。
0266名前は開発中のものです。2010/10/21(木) 00:02:36ID:uZXnc109
>>261
function の先頭で mp.tagname を System.inform で表示してみるなり、Debug.messages でコンソールに出すなりして何がきてるか
確認してみればすぐ問題の原因がわかるんじゃないかな
02672502010/10/21(木) 00:37:08ID:TC3xSXua
>>263,>>265-266
ありがとう解決した
266の通りSystem.informでtagnameを表示してみたら"hoge2"と出た
だけど実際マクロ名で登録したのは"hoGe2"みたいに
2単語あわせた名前だったから一部大文字を使ってたんだ
もちろん条件式はif(mp.tagname=='hoGe2')
エラーもでないし何も起こらないから不思議だったが
原因はtagnameでは大文字使えないからだったようだ
皆知恵を貸してくれて本当にありがとう

ところで>>265
[macro name=hoge2][eval exp="hogehoge(mp)"][endmacro]
って今まで普通に記述してたんだが、本当はよくないのか?
0268名前は開発中のものです。2010/10/21(木) 00:59:31ID:Q16B9f/9
使えないというか、マクロに限らず辞書配列のキーっては基本的に
すべて小文字としてみなすような動作じゃなかったかな。
例えば
@HOGE param1="ABCDE" PARAM2="FGHIJ" PaRaM3="klmno"
みたいにシナリオで呼びだすと、実際には

mp.tagname = "hoge"
mp.param1 = "ABCDE"
mp.param2 = "FGHIJ"
mp.param3 = "klmno"
という辞書配列が造られてる( tagnameがHOGEではなくhoge, PARAM2がparam2になっている点に留意)動いてるっつう訳だわね

うろ覚えだから話半分で聞いてね。
0269名前は開発中のものです。2010/10/21(木) 01:05:52ID:je8aDlR1
>>268
Layer を拡張したプラグイン作るときに嵌ったなぁ
hitThreshold だけどうしてもうまくいかなくてしばらく悩んだw
0270名前は開発中のものです。2010/10/21(木) 01:35:02ID:je8aDlR1
>>258
KAG 3 version 3.30 Rev.2 だと
段落の数にかかわらずメッセージレイヤ三枚で実現できるっぽい
他のバージョンではどうなんだか知らない
0271名前は開発中のものです。2010/10/21(木) 01:40:11ID:OYeVARoN
>>267
@iscript
function hogehogeA() { return 1; }
function hogehogeB() { return 2; }
@endscript
[macro name=hoge1][eval exp="tf.hoge1 = hogehogeA()"][endmacro]
[macro name=hoge2][eval exp="tf.hoge2 = hogehogeB()"][endmacro]

>>257が既に言ってるけど
tagnameで分岐して処理を分けるという余計な手間を入れるより
元からある関数をそれぞれに割り当てる方が手っ取り早くね?って話。

処理を目で追いやすいとかならある程度までは個人の自由だと思うけど。
0272名前は開発中のものです。2010/10/21(木) 01:43:42ID:Q53pggx5
beginFrameMoveって初めて聞いた
0273名前は開発中のものです。2010/10/21(木) 07:25:11ID:B0m7qXn/
>>270
検証ありがとう
もし保存してたら、ちょっと見せてもらったりできないか?
0274名前は開発中のものです。2010/10/21(木) 08:37:02ID:FLIErOYe
質問です。
吉里吉里のスクリプトエンジンに組み込みの機能(System.getTickCount とか Debug.message とか)
を複数のスレッドから呼び出しても問題ない(スレッドセーフ)でしょうか。
0275名前は開発中のものです。2010/10/21(木) 10:11:13ID:uZXnc109
>>267
無事解決したようでなにより

>>268
辞書配列自体はキーは大文字小文字区別する。KAGParser が、タグ解析時に小文字に正規化してる

>>274
吉里吉里は基本スレッドセーフではない。
ただ、iTJS2Dispatch2 の呼び出し機構自体は別にスレッド的には問題ないはずなので、
問題あるかどうかはその呼び出し先の機能の構造次第なのでなんともいえない。
getTickCount はたぶん参照だけだろうから大丈夫。Debug.message のほうはどうだろう。
不安なら呼び出し部分離してクリティカルセクションではさめばいいんじゃないかと。
0276名前は開発中のものです。2010/10/21(木) 12:13:15ID:khNErQ8K
呼び出しよりもクラスやそのメンバの取得がまずくない?
メンバアクセスはアトミックじゃなかったはずだから、
同時にメインのTJSスレッドでグローバル変数の新規作成が行われてたりしたら壊れそう
0277名前は開発中のものです。2010/10/21(木) 12:17:00ID:E1DM/3kN
書いた人を追いかけてくる変なのが居ますが
http://toki.2ch.net/test/read.cgi/jinsei/1286372276/
医者か、精神患者といっぱいたわむれる機会が多いのかしらんが
一歩間違えれば警察沙汰だからな
0278名前は開発中のものです。2010/10/21(木) 12:33:19ID:FLIErOYe
なるほど、ありがとうございます。

・呼出先の処理が外部リソースで競合を起こしたりしない
・別スレッドから、メインのTJSスレッドから参照される変数や関数に同時にアクセスしたりしない
ようにすれば、並列的にTJSのコードを実行しても問題ない
(Debug.message などは複数のスレッドからログが書き込まれる可能性があるため、内部で排他してなかったらやばい)
と考えられますかね。
0279名前は開発中のものです。2010/10/21(木) 14:14:50ID:HtF94v7/
あー、確かに>メンバアクセスはアトミックでない。
参照用のプロパティでもあらかじめ直接その対象まで取得しておかないとダメやね

「別スレッドからメインのTJHSスレッドから参照される変数や関数に同時にアクセスしない」ってのは
基本的に無理筋。Debug.message とか使われまくりだろうし。
「メインスレッドと通信してそちらで呼び出して結果を格納してくれる機構を作る」が正解かな。

方法論は2つ。

・Window オブジェクトが Windows のメッセージ機構経由でメインスレッドから呼び出される口を持っているのでそこに機構をしこむ
 呼び出しの安全性はWindowsが保証してくれる

・TVPAddContinuousEventHook で登録した処理はメインスレッドから呼び出されるのでそこに機構をしこむ
 呼び出しの安全性はクリティカルセクションなどで確保する

前者の例はレポジトリのプラグインに多数ある。後者は無いか。
後者は登録しっぱなしにすると更新制限かけないと無駄に高負荷になるので注意。

コマンド実行させてる例はちょっとみあたらんね。
なにかしら実行キュー的なものをつくっておいて、コマンド文字列ないしは関数を登録しておいて、おわったら結果を登録した上で
イベント(CreateEvent() でつくるやつ)経由で通知をくれるようなハンドシェイク処理を実装して、スレッド側では WaitForSingleObject で待つってのが無難かな
0280名前は開発中のものです。2010/10/21(木) 17:03:24ID:E1DM/3kN
巫女さまぁ…。
http://jun.2chan.net/b/res/14753226.htm
0281名前は開発中のものです。2010/10/21(木) 20:36:44ID:je8aDlR1
>>273
自力で解決しちゃったかな?
0282名前は開発中のものです。2010/10/21(木) 21:04:20ID:B0m7qXn/
>>281
まだ微妙に格闘中なので、サンプルいただければ嬉しいです
風邪ひいたせいで頭が働かないです
0283名前は開発中のものです。2010/10/21(木) 21:06:43ID:je8aDlR1
>>282 メッセージレイヤの数を3以上にしてから first.ks として保存してちょ
[position layer=message2 left=100 top=100 width=440 height=200 visible=true frmae="" opacity=0]
[position layer=message1 left=100 top=100 width=440 height=200 visible=true frmae="" opacity=0]
[position layer=message0 left=100 top=100 width=440 height=200 visible=true frmae="" color=0x0000ff opacity=100]
[layopt layer=message1 opacity=128]
[backlay]
[current layer=message2]

[macro name=hoge]
[eval exp="tf.mes1=kag.fore.messages[1]"]
[eval exp="tf.mes2=kag.fore.messages[2]"]
[eval exp="tf.mes2ll=tf.mes2.lineLayer"]
[eval exp="tf.mes1.operateRect(0, 0, tf.mes2, 0, 0, tf.mes2.width, tf.mes2.height)"]
[eval exp="tf.mes1.operateRect(tf.mes2ll.left, tf.mes2ll.top, tf.mes2ll, 0, 0, tf.mes2ll.width, tf.mes2ll.height)"]
[eval exp="tf.mes2.clearLayer()"]
[endmacro]

[macro name=hoge_r]
[hoge][r]
[endmacro]

[wait time=200]
*start|スタート
自動改ページには対応していないので[l][hoge_r]
改ページの箇所には全て[[cm]タグを挿入してください[l][hoge_r]
でないとどうなるか[l][hoge_r]
試してみる事にしましょう[l][hoge_r]
てす[l][hoge_r]
てす[l][hoge_r]
ほらね[l][hoge_r]
ごらんのありさまだよw[p][cm]
[jump target=*start]
0284名前は開発中のものです。2010/10/21(木) 21:15:40ID:B0m7qXn/
>>283
さんくす、熱が冷めてからちょっと読み解いてみる
パッと見た感じ、自分が苦戦してた部分がTJSですんなり解決されてるように見える
最低限の心得はあるから、そっちにも手を出してみるわ
0285名前は開発中のものです。2010/10/21(木) 21:43:18ID:je8aDlR1
>>283
いまさらだが frmae って typo してるなw
0286名前は開発中のものです。2010/10/21(木) 23:22:07ID:B0m7qXn/
>>283
なんか挙動がおかしいと思ったら、こちらのコピペミスだった
丁度こんな感じのをやりたかったんだ さんくす

これからリファレンス見ながら解析に入る
0287名前は開発中のものです。2010/10/21(木) 23:58:06ID:je8aDlR1
>>286
どういたしまして
簡単に説明するよ

それぞれのレイヤの役割
message0 メッセージフレームを表示する
message1 少し目立たないテキストを表示する
message2 こいつがメインのメッセージレイヤ

メッセージレイヤを三枚使っている理由
message0 は実はキャラクタレイヤでもいいけど、メッセージレイヤにしておくと適当なマクロで position タグを置き換えるときに楽できる
message1 はメッセージレイヤにすることで cm タグでクリアされる
message2 はメッセージレイヤでないとダメ
0288名前は開発中のものです。2010/10/22(金) 01:03:33ID:gxLvR45I
ロディマスがコンボイだなんて認めない!
0289名前は開発中のものです。2010/10/22(金) 19:27:32ID:3mp2xQdU
前景レイヤ0と1を立ち絵に使っているのですが
背景をそのままで立ち絵のみ二人同時にトランジションしたいのですがエラーになります
トランジション先のサイズ(32x32)と一致しませんと出ます
32x32の画像なんて使っていないのですが
原因分かる方いらっしゃいますか?

[backlay]
[image storage="hoge1" page="back" layer="0"]
[image storage="hoge2" page="back" layer="1"]
[trans time="500" method="crossfade" layer="0"]
[trans time="500" method="crossfade" layer="1"]
[wt]
[wt]
0290名前は開発中のものです。2010/10/22(金) 20:12:12ID:aA7N7LXO
そのまえにこれでいいだろ

[backlay]
[image storage="hoge1" page="back" layer="0"]
[image storage="hoge2" page="back" layer="1"]
[trans time="500" method="crossfade"]
[wt]
0291名前は開発中のものです。2010/10/22(金) 20:27:31ID:qRhaS/pB
吉里吉里から書き出せる(saveLayerImageなどで)画像ファイルって
やっぱりbmpだけですか?
スクリーンショットを任意に記録できるようにしたいのですが、bmpだと
容量大きくって……。
pngとか可能になる方法があったら嬉しいです。
0292名前は開発中のものです。2010/10/22(金) 20:34:57ID:8RbUSk6b
>>289
foreの各レイヤーに何も無いから。
ずっと上の方で書いてあるように同じサイズのnullデータを準備してダミーとして使うか、>>290のようにまとめてtransすれば良い。

[image storage="hoge1" page="fore" layer="0" opacity=0]
[image storage="hoge2" page="fore" layer="1" opacity=0]
[image storage="hoge1" page="back" layer="0"]
[image storage="hoge2" page="back" layer="1"]
[trans time="500" method="crossfade" layer="0"]
[trans time="500" method="crossfade" layer="1"]
[wt]
[wt]

null準備めんどくさいけど個別transしたいならこれでもok
0293名前は開発中のものです。2010/10/22(金) 20:43:47ID:3mp2xQdU
>>290>>292
ありがとうございます
0294名前は開発中のものです。2010/10/22(金) 21:00:49ID:/96G9BcC
null データってのはこと TJSにおいては意味が違うから「同サイズの透明画像」と正しくいったほうが良い
0295名前は開発中のものです。2010/10/22(金) 21:54:35ID:8hH9Ig8p
FATEみたいなADV作りたいんだけど、吉里吉里の知識が全くの0の人向けの参考書とかってありませんか?
今日TSUTAYAで探したけど見つからなくて・・・
0296名前は開発中のものです。2010/10/22(金) 22:43:09ID:sUTC9TjH
>>295
『吉里吉里/KAGノベルゲーム制作入門』+公式リファレンスで基本的なことは何の問題もなく理解できた
前述の本そのものが、丁寧に説明するというよりはチュートリアル的に流してくって感じだから、
自分は後で詳細な説明を探したけど、深く気にしないんなら充分だと思う

FATEはしらん すまん
0297名前は開発中のものです。2010/10/22(金) 22:46:40ID:p40jStcN
ADVなんて絵とテキストが全てです。吉里吉里の知識なんてはっきり言ってどうでもいいです。
基本的なコマンドが使えればあとはスパイス程度のものです。
0298名前は開発中のものです。2010/10/22(金) 22:49:04ID:4ccU+Xwb
吉里吉里の知識がゼロならまず普通のADVを作るところから始めて
Fateみたいな演出とかエフェクトはそれにプラスして覚える形だろう

吉里吉里を一通り勉強したんだけどFateみたいな演出ができません、
ならわかるけど
0299名前は開発中のものです。2010/10/22(金) 23:13:40ID:8hH9Ig8p
>>296
ありがとうございます。その本って通販とかで取り寄せるしかないですかね?
本屋にはなかったんですが、どこで買いましたか?
>>297
その基本的なコマンドができないんですよね・・
それほど初心者なんで、すいません。
>>298
確かにそうですね。早とちりでした。
0300名前は開発中のものです。2010/10/22(金) 23:31:34ID:8RbUSk6b
Fateの体験版と言うのをさっきやってみた
具体的にどこを目指してるのかわからなかったけど演出面ではたいした事はしてない
冒頭とかインサートされてるアニメ−ションぽい効果の事を言ってるのなら吉里吉里じゃなくAEを勉強すべき
吉里吉里的には単なる動画再生してるだけ
0301名前は開発中のものです。2010/10/22(金) 23:43:30ID:OqbysIKJ
吉里吉里に限った事じゃないけど、プログラムやスクリプトを学ぶっていうのは
"その言語で○○というモノを作るにはどうすればいいか理解する"んじゃなくて
"○○というモノは本当にその言語で作られているのか、作る事が出来るのかを理解する"って事でもあるからな

実際、KAGの命令群を理解してモーションの演出とかを作成するよりも、
AEなんかで「モーションの動画」を作ってそれを再生させた方がマシな出来になる事もある。

まあ何が言いたいかっつうと、学び初めたばっかの段階で壮大なゲームをつくろうと考えるな(将来の理想として持っておくのは可)ってこったね
0302名前は開発中のものです。2010/10/22(金) 23:43:46ID:4ccU+Xwb
>吉里吉里的には単なる動画再生してるだけ

ん? そうなの?

http://kikyou.info/diary/?200310
>吉里吉里ってわりと激しい演出にも耐えられるんですね(作者が言うなぉぃ)
>トランジションもそうなんですがstretch系やaffine系の描画メソッドの使い方がすばらしいです。
0303名前は開発中のものです。2010/10/22(金) 23:44:51ID:4ccU+Xwb
まあAEを動かすPCの敷居も下がってユーザーのストレージの余裕も増えてきているし、
動画でやっちまえってのは間違った解決策ではないだろうな
0304名前は開発中のものです。2010/10/22(金) 23:50:45ID:sUTC9TjH
>>299
うちの近所の大型店にならどこにでも置いてあるけど、未だに 確かアニメイトにもあったわ
応用編のTJS版と間違えなければ、本屋を探し歩いてもAmazonでぽちってもどうでもいいと思う

補足だけど、「FATEみたいなのの作り方」は多分書いてない
他の人が言っているように「吉里吉里の基礎」を学ぶ手助けでしかないから、
その範囲を一通りマスターしてから難しいことを考えればいいと思う
スタンス的にも「いいからサンプルプロジェクト動かして身体で学べ」って感じの本だしな
0305名前は開発中のものです。2010/10/22(金) 23:52:03ID:/96G9BcC
Fateは全然動画使ってないのがポイントだよな

動画はどうしても動的には使えないから同質の作業をしようとしたときのコストが桁違いになるお
0306名前は開発中のものです。2010/10/22(金) 23:54:25ID:8RbUSk6b
>>302
最初の戦いの所まで進めて見たけど、特にお互いが一枚画で対峙してるあたりの演出が動画とMOVEの複合演出のようには感じるけど、斬撃とかあきらかに動画
もしくは数枚程度の動画だから吉里吉里側で処理してるのかも知れないけど
>>301が言ってる通り細かいファイルたくさん作ったり、いちいち起動させてチューニングしたりするくらいなら、AEで作った方がはるかに良い仕上がりになる
0307名前は開発中のものです。2010/10/23(土) 00:00:48ID:1hKwhCiP
>>306
いや、あれ動画じゃないんだ……
極力少ない枚数の静止画とトランジションと枚数重ねと動きだけでなんとかしてる
0308名前は開発中のものです。2010/10/23(土) 00:01:34ID:vHvLilml
>斬撃とかあきらかに動画

んー? なんでそう断言できるんだろ
やろうと思えば普通に吉里吉里の機能だけで作れるっしょ
0309名前は開発中のものです。2010/10/23(土) 00:01:39ID:QLN/v4rn
動画じゃないよなあ……
0310名前は開発中のものです。2010/10/23(土) 00:01:58ID:NjitxvLt
>>306
ごめん……訳知り顔で語っているところ申し訳ないんだけど、
>>305が言う通り動画は使ってないんです。
全てがトランジションや回転・拡縮で表現されてます。
動画にしか見えないのだとしたら、まさに吉里吉里開発者やスクリプター冥利に尽きる
最高の評価です。本当にありがとうございました。
0311名前は開発中のものです。2010/10/23(土) 00:03:36ID:NjitxvLt
1分強で4人からフルボッコされましたねw
上には上がいるということを理解して精進してくださいね>>306
0312名前は開発中のものです。2010/10/23(土) 00:05:57ID:vHvLilml
>>310
だよな
動画ではない

ただその神演出をやった人はいまTM新作のスケジュール遅らせてるって噂も出てる……
諸行無常
0313名前は開発中のものです。2010/10/23(土) 00:06:32ID:qGHC/vzV
動画じゃない? 数枚だから吉里で処理してるのかもとは思ったけど
言いたい事は

○aftereffectsよりTJSで良い演出が出来た
×一生懸命がんばったら、aftereffectsで作った動画と同じ事が出来た
0314名前は開発中のものです。2010/10/23(土) 00:10:06ID:Mgh7AXk+
清兵衛氏が同人専門雑誌のインタビューでFateのエフェクトについて語ってたね
拡大縮小と回転をαブレンドしながら組み合わせてるみたいな事だったと思う
他にも特殊なエフェクトを実現する為に専用のプラグイン作ったとか言ってた
■ このスレッドは過去ログ倉庫に格納されています