[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 11:38 / Filesize : 298 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 mailto:sage [2009/06/06(土) 01:11:54 ID:EztZkDNL]
ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。
マルチポストはやめましょう。個人叩きも禁止です。

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

前スレ:■吉里吉里/KAG/TJS雑談質問スレ■その17
pc11.2ch.net/test/read.cgi/gamedev/1234356309/


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

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

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

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

331 名前:名前は開発中のものです。 mailto:sage [2009/07/19(日) 21:52:39 ID:Aat99oNb]
ありがとうございます
勉強になりました

332 名前:名前は開発中のものです。 mailto:sage [2009/07/21(火) 12:19:59 ID:L56n5vV1]
質問です。
既読文字の色を変えたいのですが、どのようなやりかたができますか?
選択済選択肢の色換えのマクロ
(『ハイパーリンクで飛んだラベルの名前を変数として記憶、真なら色換えというマクロ』と
『エンドリンクとリセットフォントを一緒にしたマクロ』のセット)
を公式BBSのログで見つけて利用していて、
それを応用できないかと思ったんですが、思いつけませんでした。

333 名前:名前は開発中のものです。 mailto:sage [2009/07/21(火) 17:30:04 ID:A+IJ1VrJ]
>>332
kag.getCurrentRead()
既読だと真。

334 名前:名前は開発中のものです。 mailto:sage [2009/07/21(火) 19:46:50 ID:L56n5vV1]
>>333
ありがとうございます!
初心者なので、そういうのがパッと出てこないというか、どうやって調べたらいいのか分からずお手数をおかけしました。

後学のためお聞きしたいんですが kag.getCurrentRead() 
とかはどうやって調べたら出てくるのでしょう。
(一応ここでお聞きする前に、リファレンス(KAG/TJS)のキーワード一覧で「既読」と調べてみたんですが、
kag.getCurrentRead()というのは見つけられなかったんです)

以下教えていただいたおかげの成果
[macro name=fc]
[cm]
[if exp="kag.getCurrentRead() == true"]
[font color=0x808080]
[endif]
[endmacro]
というマクロを組んでラベル後につけるようにしたら
デフォが白文字、既読灰文字になり思うような処理ができました。

・回想リプレイを組み込む予定なので、回想モードから来た場合はリセットフォントするようにしてみました。
・どこでもセーブプラグインを利用中で、[p][label](セーブできるラベルを挟むタグ)[cm]をセットにしたマクロを
[p]代わりに使用していたのでそれに上の処理を組み込み、また回想モードから来た場合はリセットフォントするようにしてみました。

今のところ思い通りに出来ていますが、もし何か「こうした方がいい」とアドバイスありましたら宜しくお願いします。

335 名前:名前は開発中のものです。 mailto:sage [2009/07/21(火) 20:19:24 ID:A+IJ1VrJ]
>>334
systemフォルダの中を眺め回す

336 名前:名前は開発中のものです。 mailto:sage [2009/07/21(火) 22:43:26 ID:gnuFqksz]
初歩的なことかもしれませんが、アドバイスをください。

f.hensuu1、f.hensuu2、f.hensuu3……f.hensuu35という規則的な名前の変数が35個あります。
このf.hensuu1〜f.hensuu35までのうち、1つでも1が入っていたらメッセージを表示させたいのですが、いい表記方法が思い王かびません。

[if exp="f.hensuu1==1||f.hensuu2==1||(中略)f.hensuu34==1||f.hensuu35==1"]
メッセージを表示します[p]
[endif]

こう書くしか思いつかず、でもすんごく長いしわかりづらい……と悩んでいます。
もっとすっきり書く方法はないでしょうか?

337 名前:名前は開発中のものです。 mailto:sage [2009/07/21(火) 23:00:43 ID:BA5J8bIj]
素直に配列じゃまずい理由でもあるの?

338 名前:名前は開発中のものです。 mailto:sage [2009/07/21(火) 23:06:45 ID:hBT5d5Rg]
夏休みはじまったし、コミケまで時間ねえしって時期なんかね

>>336
・0か1しか入らないことが確実なら、全部足して1以上かどうか
・f.hensuuを配列にして、f.hensuu.find(1)が0以上か
・iscript内でfor文を書いて、f['hensuu'+(i+1)]にひとつでも1があるか調べた結果を別の変数にいれる

339 名前:名前は開発中のものです。 mailto:sage [2009/07/21(火) 23:26:09 ID:gnuFqksz]
>>337,338
配列……

すいません、いままでKAGだけでノベルゲーしか作ったことがないのでこういう方法しか思いつきませんでした。
TJSの勉強もかねて、配列のやり方を調べてみます。
ヒントありがとうございます!



340 名前:名前は開発中のものです。 mailto:sage [2009/07/21(火) 23:34:44 ID:BA5J8bIj]
>>339 もう見てるかわからないが、
管理方法を今更変えたりソースいじるのが面倒だという場合は

[if exp="function(f) { for (var i = 1, last = 35; i <= last; ++i) if (f['hensuu'+i] == 1) return true; return false; }(f)"]
メッセージを表示します[p]
[endif]

これでもできる。

341 名前:名前は開発中のものです。 mailto:sage [2009/07/21(火) 23:38:39 ID:L56n5vV1]
>>335
332=334です
なるほど! 見たかったものがたくさんありました。
いろいろありがとうございました!

342 名前:名前は開発中のものです。 mailto:sage [2009/07/21(火) 23:59:10 ID:hBT5d5Rg]
>>341
とはいえ、読み返したとき何を意味してるかわかんないと思うなら、
最初のやつの方が冗長と感じるかもしれないけど、まだましかと

343 名前:名前は開発中のものです。 mailto:sage [2009/07/22(水) 01:23:26 ID:sue03CUZ]
ネイティブプラグインで定義されたネイティブクラスのメンバ関数から
TJS_BEGIN_NATIVE_METHOD_DECL(foo)
{
*result = objthis;
}
TJS_END_NATIVE_METHOD_DECL(foo)
として自分自身のインスタンス

344 名前:名前は開発中のものです。 mailto:sage [2009/07/22(水) 01:32:44 ID:sue03CUZ]
すみません、途中で描き込んでしまいました。

ネイティブプラグインで定義されたネイティブクラスのメンバ関数から
TJS_BEGIN_NATIVE_METHOD_DECL(foo) {
*result = objthis;
} TJS_END_NATIVE_METHOD_DECL(foo)
として自分自身のインスタンスを返すと、
返値のオブジェクトのコンテキストが0x00000000になってしまいます。
ほか、ネイティブ関数内で生成したネイティブインスタンスを返したときも同じでした。

にも関わらず、返値のオブジェクトからメンバを参照したりすると
コンテキストがthisコンテキストの場合と変わらない動作をします。

これって吉里吉里バグでしょうか?
それとも自分のコードのバグでしょうか。

345 名前:名前は開発中のものです。 mailto:sage [2009/07/22(水) 01:51:55 ID:FPEQ9D97]
メンバー取得だと objthis は参照されることは無いからエラーにならない。
メンバ呼び出しも、インスタンス生成時にすでにインスタンスの objthis がコンテキストに渡されてるからたぶんOK。
ためしにプロパティを定義してから参照してみなされ。エラーになるはず。

ちなみに

*result = tTJSVariant(objthis,objthis);

が正しい iTJS2Dispatch2 の返し方

346 名前:名前は開発中のものです。 mailto:sage [2009/07/22(水) 02:10:45 ID:FPEQ9D97]
ちょっと訂正

s/正しい iTJS2Dispatch2/正しいインスタンス/

347 名前:名前は開発中のものです。 mailto:sage [2009/07/23(木) 17:39:14 ID:RkfFAvb8]
ちょっとKAGEX使って見たいと思いダウンロードしてみたんですが、同梱の「update_auto_copy_vars.bat」って何でしょうか?

348 名前:名前は開発中のものです。 mailto:sage [2009/07/23(木) 17:41:50 ID:qPvAUkFV]
nscから吉里吉里に乗り換えようと思ってるんだけど、どの本買えばいい?

349 名前:名前は開発中のものです。 mailto:sage [2009/07/23(木) 17:46:05 ID:SLUFk1t6]
公式ドキュメントを印刷して簡易製本したやつ



350 名前:名前は開発中のものです。 mailto:sage [2009/07/23(木) 17:52:48 ID:jZe3ubbp]
そういえば吉里吉里の入門書で、全ページ公開されている本があったな。

351 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 00:12:29 ID:iuweiYGY]
limited previewでも見れるやつあったと思うんだが。

352 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 04:55:27 ID:LTiSyBcP]
>>349
「原理原則」や「机上の空論」を正論と思って賞賛してよいのは中学二年生まで

353 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 05:17:48 ID:SsPsVXk/]
いや、普通に>>349は悪くないアドバイスだそ

354 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 05:23:16 ID:nNAgO2LK]
勉強したけりゃ>>349でFA

355 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 09:09:18 ID:kZhmh/4X]
>>352
典型的な高二病だな

356 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 09:23:36 ID:oSSeGPhh]
左に何もオブジェクトを指定しない間接メンバ選択([]演算子)ってどういう動作するの?
System.inform(["a"]);みたいにするとなんかオブジェクトが返ってくるけど

357 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 09:52:54 ID:u0wItfeo]
それ演算子じゃなくて式中配列じゃね

358 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 10:01:18 ID:oSSeGPhh]
ああなるほどそいういうことか

359 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 15:14:23 ID:qfGoZbC/]
KAGのIF文の条件式に = じゃなくて == を使わなきゃいけないって、何かすごく
違和感ない?
いつも忘れて、そのミスを見つけるのに苦労するんだけど...
しかもエラーを吐いてくれればまだいいけど、出ない。ただ無視されるのみ...



360 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 15:22:36 ID:7vfOa4F4]
>>359
どういう違和感?
=と==は明確に意味が違うよ

361 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 15:25:56 ID:5Upnwmrm]
エラーを吐く言語もあるけど、そのためには厳密な型宣言が必要なんだよな。
今あるコードが全部使いものにならなくなるぐらいの仕様変更しないと無理かも。

362 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 15:46:46 ID:/REV+Ewt]
コーディングやったことがない人にとっての違和感ってことでしょ

他の部分は直感的なのになんで == なんて日常生活で使わない
記号つかってんの? っていうどんな言語でも初心者がぶつかるやつ

363 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 15:49:20 ID:TmkeB4fe]
BASIC などの古い言語しか知らない人も同じ違和感を受けると思う。
自分が BASIC→C の時そうだった。
IF文ってのは条件分岐を行うためのもので、その中で計算を行うなんて
発想がないんだよね。

364 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 15:51:07 ID:7vfOa4F4]
なるほどー
納得した

365 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 16:06:35 ID:YMnHsuF2]
>>359
BASICあがりの人かい?

原理的には = を場所によって意味を変えるのはできなくはないんだが、
それをやってると、コンパイラの構造が複雑になって性能がおちてしまうので、
別にわりあててる言語のが多い。

そうだねぇ、KAG が純粋に独立したスクリプト言語なら = でも OKだったのかもだけど、
処理として TJS を読んで判定かけてるのでそうはいかなかったんだろうね。まあ慣れろってことで。

ちなみに C 系だと = が代入で、== が比較だけど、
Pascal系だと = は比較で := は代入だったりするからややこしいw


366 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 17:12:25 ID:8on6TjX3]
:=で代入きぼちわるいね
そうだ。不等号が入るとき、どっちに書くかいつも迷うんだけど良い覚え方はないものか。

367 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 17:26:20 ID:/REV+Ewt]
>=
フ トウゴウ

<=
フ トウゴウ

って覚えれば

368 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 17:26:31 ID:t4mNIJEj]
>>359
あーそれw
以前、ksを1行ずつ読んで、簡易的なチェックで警告一覧を出力する.vbsを作ったことあるわ。

↓自分の場合は、こんな感じのチェックでも十分だったわ。
1.ifの含まれている行があったらスペースタブの整理後if(で配列へ分割。
2.各要素で右から最初の')'より後ろは削除。
3.'===','==', '!=', '+='等を除き、''='が残っていたらワーニィング。

※1.ifだけで?はみていない。
※2.条件がif()の括弧内に入っていないと使えない。
※3.条件が複数行に跨るものも拾えない。
※4.関係ないものも拾う。ex.if(a=1){(b=1)}
※5..ksだと@ifとか@elsifとかいったやからもある。上のままだと全部拾う。ex.@if exp="a"

369 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 17:29:44 ID:/REV+Ewt]
コーディング未経験のスクリプターと共同作業やるならいいかもな



370 名前:359 mailto:sage [2009/07/24(金) 18:40:47 ID:qfGoZbC/]
>>363 >>365
図星かも。10年以上前にプログラミングをかじる程度したことはあったんですが、
社会人になって止めちゃいました。そして何を思ったか、今になってゲームを
作りたいと思っちゃったんです。
Excelは今も良く使うので、 = 表記に完全に馴染んじゃってるんですよね。

>>368
おー、同じ悩みを抱えていた人がいたんですね。俺一人じゃないんだ...
何かホッとした。

皆さん、下らんボヤキに付き合ってくれて、ありがとう。

371 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 18:55:23 ID:XRRN4HTj]
>>368
cond属性とかもあるけど、おおまかなチェックはできそうすね

>>366
「大なりイコール」とかの順で書けばいい

372 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 21:03:05 ID:jpbjLN0h]
以前、比較のつもりで=>書いて例外(HardwareException)出して、
それが誤りであることに気が付くまでにとても悩んだなあ…orz

=> は、式中辞書配列内(外部でも使えそうだけど)で許容されている
演算子であることを思い出してからは、迷うこともなくなりましたとさ

373 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 22:08:42 ID:5CQIBufA]
初歩的な質問で申し訳ありませんが
皆さんのサイトはゲームの動作環境をどう表記してますか?
吉里吉里公式の動作環境をまるっとコピペしようとしたら
コピペしないで確認しろとありました

一応自分のPCのスペックを表記しておいたほうがいいでしょうかいらんでしょうか?

374 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 22:10:49 ID:XZ+J/nbu]
・公式のをコピペして吉里吉里の動作環境にする
・自分のPC(4台あるし)のスペックを確認済みとして書く

の2つでやってる

375 名前:名前は開発中のものです。 mailto:sage [2009/07/24(金) 22:13:18 ID:8on6TjX3]
>>372
そういやそうだ。そうじゃん、普段使いまくってるじゃん。
ありがとう。

376 名前:名前は開発中のものです。 mailto:sage [2009/07/25(土) 01:12:57 ID:K2SYYOYb]
=>はアロー演算子と見間違えてイミフな時がある。
=表記はHSPさわったとき発狂しかけた。

377 名前:373 mailto:sage [2009/07/25(土) 01:30:02 ID:3DpvMHeU]
>>374
回答ありがとうございます。
自分のPCスペックも表示しようと思います。
ヘボすぎて恥ずかしいが参考までにあったほうがいいかもしれませんね

378 名前:名前は開発中のものです。 mailto:sage [2009/07/25(土) 01:35:05 ID:K2SYYOYb]
ふつうはプロファイルとって実行時のメモリ量調べたり、いろんな構成のPCでひたすらテストして決定するんだけどね。
プロファイラがないからなTJSは。
というか吉里吉里にデバッガとかツール用のAPIないよね。

379 名前:名前は開発中のものです。 mailto:sage [2009/07/25(土) 01:40:25 ID:vAwbl5XN]
ビデオカード依存しないシステムだから、画面切り替えのトランジションとかをえんえんはしらせてみて
どのくらいの感触で動くか調べるくらいで必要十分だよ。




380 名前:名前は開発中のものです。 mailto:sage [2009/07/25(土) 05:27:57 ID:KmBjh/g8]
=> は別にどこででも使える演算子で、カンマと同じ意味がある
%["a", 1 => "b" => 2 => "c", 3] とかいう書き方もできたはず

軽くRuby使ってるんだが、さほど頻繁に使わないってこともあって <=> と <-> でいつも迷う
エラー吐いてくれるタイプなんでまだましなんかもしれないけど

381 名前:名前は開発中のものです。 mailto:sage [2009/07/25(土) 11:30:41 ID:nKG6Q315]
<->とか要らんよな
わざわざ演算子にするほどのものじゃない

382 名前:名前は開発中のものです。 mailto:sage [2009/07/25(土) 12:28:39 ID:e3P19x4Y]
>>381
今んとこ2回評価だから微妙だよな

383 名前:名前は開発中のものです。 mailto:sage [2009/07/25(土) 15:58:27 ID:NihvXwLZ]
D言語みたいに、return a=b; はよくても if (a=b){ } はエラーになる言語もあるな

384 名前:名前は開発中のものです。 mailto:sage [2009/07/26(日) 01:16:41 ID:v04aTSKb]
>"a", 1 => "b" => 2 => "c", 3
どこかのクロージャにしか見えない

385 名前:名前は開発中のものです。 mailto:sage [2009/07/27(月) 16:18:19 ID:gb/6Ls5s]
メッセージレイヤ横にセーブorロード画面へ切り替えるボタンをつけたのですが、
戻ってきたあとにメッセージレイヤ(message0)に書いたシナリオが進まなくなってしまいます。

具体的には、
・行末orページ末のクリック待ち記号が消え、
スキップボタンを押しても発動できず、先に進めない
・ボタンは押せる、メッセージ履歴も見れる。
という状態です。

ボタンからは「kag.process("save.ks")」のように各ページへ飛んでいます。

セーブ画面に入る時のソースはこんな感じです。
本編に戻る時はこれとそれぞれ対応したタグを使っています。

@tempsave place=0
;栞に保存
@exsysbtopt forevisible=false backvisible=false
;ボタンを非表示
@rclick call=true storage="save.ks" target="*close" enabled=true
;右クリックで戻る。(他に戻るボタンをクリッカブルマップで実装してあるが、同様の症状になる。)
@locksnapshot
;スナップショットをロック
@history output=false enabled=false
;メッセージ履歴の出力・表示を無効


基本的に↓のサイトを参照しましました。
ttp://www.geocities.co.jp/tjschallenger/TJS0607.html

解決方法がわかればぜひ教えてください。
まだまだ未熟ですので、記述不足で他に必要なソースがあればもちろん載せます。
よろしくお願いします。

386 名前:名前は開発中のものです。 mailto:sage [2009/07/28(火) 00:39:15 ID:m2IylvK1]
>>385
conductorを止めっぱなしにしてるだけでは?

387 名前:名前は開発中のものです。 mailto:sage [2009/07/28(火) 11:09:36 ID:QiROzYvz]
kag.process("save.ks");
と、
@rclick call=true storage="save.ks" target="*close" enabled=true
の、使い方がまずいな

本編のシナリオから、ジャンプで、save処理に飛んできて
コールで、saveのclose処理に進んでいる
のが誤り

本来なら、コールで、save処理に進んで
save処理内で、ジャンプでセーブ処理内のcloseに飛んで
close処理でreturnしないといけない
そうしないと
最初に本編の所でsaveをコールした個所に、処理の流れが戻らない


388 名前:名前は開発中のものです。 [2009/07/28(火) 11:52:49 ID:ijBRqVPC]
すんません、ググってもわからなかったので

KagマニュアルにSWF再生の時に、ファイル名の後に?name=value〜で
変数を渡すことが出来ると書いてあるのですが
FLASH側では、どのように受け取ればいいのでしょうか?

もしくはどこかに解説してるサイトがあれば教えてください。
 

389 名前:名前は開発中のものです。 mailto:sage [2009/07/28(火) 14:13:30 ID:PPOjGwA2]
吉里吉里でFlashは扱ったことないけど、
HTMLからそういう風に渡せば、Flash側で何もしなくてもその名前の変数に値が入るよ



390 名前:名前は開発中のものです。 mailto:sage [2009/07/29(水) 00:20:46 ID:WYn7jMgk]
吉里吉里2docか掲示板かdeeたん日記に書いてあったきがす

391 名前:名前は開発中のものです。 mailto:sage [2009/07/29(水) 00:27:43 ID:7c7DIkfV]
385です。
言う通りkag.proccesをコールに変え、@rclick callをjumpに変えたところ、正常に動作しました。
初歩的なミスでほんとにすいませんorz

お二方ほんとにありがとうございます。

392 名前:名前は開発中のものです。 mailto:sage [2009/07/29(水) 12:08:01 ID:WWTIopk1]
TJSゴリゴリとかではなく、ほぼKAGの範囲内で作られたゲームで、
ゲーム製作初心者の参考になるようなゲームを紹介して頂けませんか?
プログラム・ソースが公開されていたりしたら最高です。
ゲームを楽しむことで学べたら効率的なのではないかと思いまして。

393 名前:名前は開発中のものです。 mailto:sage [2009/07/29(水) 14:30:34 ID:B4ng0Zvn]
アドベンチャーゲームならいくらでもあるだろ
それ以外のジャンルは,あったとしても「間違った使い方」なので参考にするべきじゃない

394 名前:名前は開発中のものです。 mailto:sage [2009/07/29(水) 14:36:28 ID:lSC8ZyKL]
なんか9月にDee氏も交えた吉里吉里の講習会兼オフ会みたいなのやるらしいね

395 名前:名前は開発中のものです。 mailto:sage [2009/07/30(木) 19:22:29 ID:wmLBtUZX]
test

396 名前:名前は開発中のものです。 mailto:sage [2009/07/30(木) 21:48:15 ID:he23UFo9]
おさかな定職、ちょっと変化してる…
これは期待していいのかな…
サポートとか贅沢言わないからせめて倉庫としてでも復活して欲しい

397 名前:名前は開発中のものです。 mailto:sage [2009/07/30(木) 22:24:08 ID:hh3V9W8K]
TJSのスクリプトエンジン自体のテストスクリプトって公開されてないの?

398 名前:名前は開発中のものです。 mailto:sage [2009/07/31(金) 03:09:51 ID:LkFvtV7a]
公式掲示板他ぐぐったのですが、どうしてもわからずこちらに参りました。

サウンドギャラリーを製作中なのですが
サウンドギャラリーの画面のみ右クリックで音楽停止させたいと考えています。

rclickのタグにexp="kag.bgm.stop()"を入れてみたのですが
BGMがストップされません。
BGM停止のターゲットをつくり、rclickのジャンプ先にして
stopbgmで止めるしかないのでしょうか。

399 名前:名前は開発中のものです。 mailto:sage [2009/07/31(金) 03:13:04 ID:bpa+dbpH]
右クリックサブルーチンのksを作りメインのksから呼び出して使ってるんですが
ちゃんと動作はするもののreturnしてくるとBGMが最初から再生されてしまいます

*rclick_exit
@tempload place=0
@rclick call=true target="*rclick_menu" storage="r_click.ks" enabled=true
@delay speed=user cond="kag.chUserMode"
[return]

メモリ上の栞にBGMの再生状態も記録していなければならないのかと思って
マニュアルなどを読んでみたのですが分かりませんでした
初歩的すぎる問題かもしれませんがどうかご教授ください



400 名前:名前は開発中のものです。 [2009/07/31(金) 03:26:53 ID:bpa+dbpH]
すいません
@tempload place=0 bgm=falseで自己解決しました・・・

401 名前:名前は開発中のものです。 mailto:sage [2009/07/31(金) 10:47:24 ID:rOMBbekB]
>>398
rclickタグってexp属性あったかな。拡張したならともかく
言うとおり、サブルーチンを作ってそこにstopbgmを置けばよいのでは

402 名前:名前は開発中のものです。 mailto:sage [2009/07/31(金) 14:02:11 ID:xHa0woew]
>>398
rightClickHook使うとか
ただしそのままだとサウンドギャラリーを抜けても有効なので、removeするか
フラグが立っている(ギャラリー中)なら有効なようにする

403 名前:名前は開発中のものです。 mailto:sage [2009/07/31(金) 23:29:54 ID:VlyFlnzf]
完全な初心者です
自己解決したんですがトランシジョンは難しいですね
背景画像を使わずにメッセージレイヤに文字だけ表示している状態から
その文字を溶暗で消す方法がわからなくて悩みました
結局真っ黒な背景画像を用意してクロスフェードさせました
メッセージレイヤをどうやって操作すればいいのだろうと悩んでいました
チュートリアルを作られている方にこのとほほなつまずきをお知らせしたいです

404 名前:名前は開発中のものです。 mailto:sage [2009/07/31(金) 23:50:59 ID:DEiOJAlU]
>背景画像を使わずにメッセージレイヤに文字だけ表示している状態から
>その文字を溶暗で消す方法がわからなくて悩みました
@backlay
@layopt layer="0" page=back visible=false
@trans method="crossfade" time="1000"
@wt
これでok

405 名前:403 mailto:sage [2009/08/01(土) 00:04:18 ID:uNi03v+g]
404さん、ありがとうございます
チュートリアルは背景画像を使う普通の場合を想定しているのでつまずいていました

406 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 00:28:43 ID:GXDqmh6d]
>>405
チュートリアルは、コピペして使うものじゃなくて、基本の仕組みを理解するためにあるものだから
チュートリアルだけじゃなくて、タグリファリンスにもちゃんと目を通した方がいいよ
あとはテンプレ見て講座サイトと併用するなり何なり
いきなり一から十まではできないだろうが、みんなつまづいて思考錯誤しながら覚えていくんだよ

407 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 00:37:45 ID:KB27uNbz]
[image storage="&kag.fore.layers[0].Anim_loadParams.storage" layer=1 pos=center]
これ、型がちがうみたいなことを言われるのはなぜ?

408 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 00:50:13 ID:GXDqmh6d]
>>407
voidになってるのかな
kag.fore.layers[0].Anim_loadParams.storage
これ監視式に入れてみたらいいんじゃね

409 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 01:10:02 ID:IN4NoQ+t]
>>401 402
レスありがとうございます。
サブルーチンの方が簡単に組めそうなので
サブルーチンでやってみる事にします。
ありがとうございました!



410 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 01:26:53 ID:QpRSM0pZ]
>>407
[image storage="&kag.fore.layers[0].Anim_loadParams.storage" layer=1 pos=center
cond="kag.fore.layers[0].Anim_loadParams !== void && kag.fore.layers[0].Anim_loadParams.storage !== void"]
または
[eval exp="kag.fore.layers[1].assignImages(kag.fore.layers[0]"]

411 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 02:00:28 ID:ORmBfdl/]
tjsの質問です。
var i="j";
var j= 0;
この場合に変数iを利用して変数jの値を変えられないでしょうか。
(i!)= 値、でできるかと思ったのですがこれは不正な代入か不正な式の操作だそうなので。

412 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 02:41:35 ID:NlDhYl95]
>>411
その式だと 0 = 値 ってことになるから当然エラー

目的を満たすには

global[j] = 値

でおk

413 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 10:24:11 ID:KB27uNbz]
407です。
408、410、レスサンクスです!!
condでvoidかどうかチェックするのか……。
assignImagesの使い方もわかりました。すてきー。


414 名前:411 mailto:sage [2009/08/01(土) 12:58:26 ID:p7Ny6mdi]
>>412
[]演算子を使えば良いのですね、回答いただきありがとうございます。
私の考えたものは言われると確かにエラーで当然ですね、何故これでできると思ったんだろう。

415 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 13:27:12 ID:hsxXyy+h]
そういうのはちゃんと理解して使わないと嵌まるよ

416 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 22:03:21 ID:v2mQIBat]
first.ksから次のシナリオのksに飛ばして
再びfirst.ksに戻って次のksに飛ばす方法したいんだけど
戻る時jumpで*〜指定するのとcallでreturnして戻るのと指定するのどっちが効率的?

他にそういう方法があるなら教えてほしいです。

417 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 23:07:33 ID:fEDZV3Iq]
>>416
そんな些細なことで効率性を求めてたらなかなか進まない
好きな方法をつかう

個人的にはマクロ読み込みみたいに必ず呼び出し元に返ってくる、ちょっと別のファイルを
読み込むような意図ならサブルーチン。同じファイルに戻るかもしれないけど条件次第では
戻らないかもしれない、シナリオ分岐など(ニュアンス的に)処理が別ファイルに移るようなときなら
jump使ってるかな

418 名前:名前は開発中のものです。 mailto:sage [2009/08/01(土) 23:09:37 ID:h4M1zPGr]
何の効率?

419 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 10:44:29 ID:C+Gw8PJZ]
たぶん、脳みそ使わないで済む効率。
ケースバイケースなんだけど、通常のシナリオ部分なら
@jumpの方が扱いが楽だよ。必要なら、戻り先は、フラグに収納しとく。

>他にそういう方法があるなら教えてほしいです。
tjs含め、普通に「KAG System リファレンス」で言及されているのであらかただと思う。
ということで、リファ嫁。

個人的見解だけど。そこら辺は自分で試行錯誤して決めれば良いレベルと思ふ



420 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 10:54:19 ID:Wp08KWhd]
個人的な好みでは、jump使うのは3〜4回くらいかな
あとは全部callしてる
first.ks->macro.ks->title.ks->main.ks
とか
構造化プログラミングとかに慣れてるとこっちの方が違和感が少ない

421 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 11:32:42 ID:fQoBB6mb]
プログラマー上がりなら、違和感は少ないかもしれないけど、
栞やコンダクター周りとの相性の問題あるし、リンクが普通に使うと@jump同等だし、
@jump主体にしたほうが、素直でお得と思う。

422 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 12:34:40 ID:Wp08KWhd]
callで相性問題出るのか!?
今のところ、問題起きてないけど・・・。

jump主体はGotoのスパゲッティコードを連想してどうにも。

423 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 12:41:51 ID:KHOYRoEP]
結論:個人の好きで使え

424 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 13:05:59 ID:3h/vRcOB]
KAG SYSTEMの構造を理解してればcall主体で組むなんてことは普通しない
まあ何を作ってるのかにもよるけど、関数プログラミングがしたいなら、
TJSで自前のサブシステム作ってKAGに組み込んで・・・ってのが筋だと思うし、
後々トラブルが少なくてすむんじゃないだろうか

425 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 14:27:47 ID:Wp08KWhd]
>>424
tjsは機能拡張の為に多少弄る程度で、本体の方の構造はぜんぜん把握してないんだ
使ってるのはADVで

*start_main
[call storage="macro.ks"]
; シナリオ部
[call storage="prologue.ks"]
[call storage="scenario01.ks"]
[call storage="scenario02.ks"]
; タイトルへ
[jump storage="title.ks"]

みたいな使い方。
シーンごとの分岐とかが楽にできるから、こういう形にしたんだけど・・・
問題でそうだろうか?

426 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 16:00:05 ID:P5IDIPeC]
callは使いすぎるとreturnの誤爆が出てきてしっちゃかめっちゃかになる恐れがある
というか実際なって困ったので必要がない限りjump

427 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 17:38:21 ID:eEt2K5t6]
マクロ内でcall使うのって駄目?
とりあえず動くからいいのかと思ってたんだけど

428 名前:421 mailto:sage [2009/08/02(日) 18:36:48 ID:HaievO31]
えっと、自分が420に対して「相性の問題」と言ったのがあらぬ疑念を
呼んでなくもないようなので、補足します。
「相性の問題」と言ったのは、土を掘るならシャベル、
耕すなら鍬のほうが相性が良いといった用なことです。(例えがあれですが)
取り合えず、「構造化プログラミング」ってなにそれ、食べれるのって方は
「KAG System リファレンス」-「サブルーチンを使おう」等をしっかり読んで、
あとは、使って覚えればいいと思いますm(_ _)m

429 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 20:15:19 ID:XqTlUFYH]
メインフローを作ってcallでシナリオを呼んだ方が管理しやすくない?



430 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 20:21:19 ID:BJC3kT9Q]
call は呼び出しもとで行がずれたときにエラーで復帰できなくなる罠があったり


431 名前:名前は開発中のものです。 mailto:sage [2009/08/02(日) 20:39:24 ID:Wp08KWhd]
呼び出し元で行がずれるってどういう場合に起こる?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<298KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef