09/07/21 17:30:04 A+IJ1VrJ
>>332
kag.getCurrentRead()
既読だと真。
334:名前は開発中のものです。
09/07/21 19:46:50 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:名前は開発中のものです。
09/07/21 20:19:24 A+IJ1VrJ
>>334
systemフォルダの中を眺め回す
336:名前は開発中のものです。
09/07/21 22:43:26 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:名前は開発中のものです。
09/07/21 23:00:43 BA5J8bIj
素直に配列じゃまずい理由でもあるの?
338:名前は開発中のものです。
09/07/21 23:06:45 hBT5d5Rg
夏休みはじまったし、コミケまで時間ねえしって時期なんかね
>>336
・0か1しか入らないことが確実なら、全部足して1以上かどうか
・f.hensuuを配列にして、f.hensuu.find(1)が0以上か
・iscript内でfor文を書いて、f['hensuu'+(i+1)]にひとつでも1があるか調べた結果を別の変数にいれる
339:名前は開発中のものです。
09/07/21 23:26:09 gnuFqksz
>>337,338
配列……
すいません、いままでKAGだけでノベルゲーしか作ったことがないのでこういう方法しか思いつきませんでした。
TJSの勉強もかねて、配列のやり方を調べてみます。
ヒントありがとうございます!
340:名前は開発中のものです。
09/07/21 23:34:44 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:名前は開発中のものです。
09/07/21 23:38:39 L56n5vV1
>>335
332=334です
なるほど! 見たかったものがたくさんありました。
いろいろありがとうございました!
342:名前は開発中のものです。
09/07/21 23:59:10 hBT5d5Rg
>>341
とはいえ、読み返したとき何を意味してるかわかんないと思うなら、
最初のやつの方が冗長と感じるかもしれないけど、まだましかと
343:名前は開発中のものです。
09/07/22 01:23:26 sue03CUZ
ネイティブプラグインで定義されたネイティブクラスのメンバ関数から
TJS_BEGIN_NATIVE_METHOD_DECL(foo)
{
*result = objthis;
}
TJS_END_NATIVE_METHOD_DECL(foo)
として自分自身のインスタンス
344:名前は開発中のものです。
09/07/22 01:32:44 sue03CUZ
すみません、途中で描き込んでしまいました。
ネイティブプラグインで定義されたネイティブクラスのメンバ関数から
TJS_BEGIN_NATIVE_METHOD_DECL(foo) {
*result = objthis;
} TJS_END_NATIVE_METHOD_DECL(foo)
として自分自身のインスタンスを返すと、
返値のオブジェクトのコンテキストが0x00000000になってしまいます。
ほか、ネイティブ関数内で生成したネイティブインスタンスを返したときも同じでした。
にも関わらず、返値のオブジェクトからメンバを参照したりすると
コンテキストがthisコンテキストの場合と変わらない動作をします。
これって吉里吉里バグでしょうか?
それとも自分のコードのバグでしょうか。
345:名前は開発中のものです。
09/07/22 01:51:55 FPEQ9D97
メンバー取得だと objthis は参照されることは無いからエラーにならない。
メンバ呼び出しも、インスタンス生成時にすでにインスタンスの objthis がコンテキストに渡されてるからたぶんOK。
ためしにプロパティを定義してから参照してみなされ。エラーになるはず。
ちなみに
*result = tTJSVariant(objthis,objthis);
が正しい iTJS2Dispatch2 の返し方
346:名前は開発中のものです。
09/07/22 02:10:45 FPEQ9D97
ちょっと訂正
s/正しい iTJS2Dispatch2/正しいインスタンス/
347:名前は開発中のものです。
09/07/23 17:39:14 RkfFAvb8
ちょっとKAGEX使って見たいと思いダウンロードしてみたんですが、同梱の「update_auto_copy_vars.bat」って何でしょうか?
348:名前は開発中のものです。
09/07/23 17:41:50 qPvAUkFV
nscから吉里吉里に乗り換えようと思ってるんだけど、どの本買えばいい?
349:名前は開発中のものです。
09/07/23 17:46:05 SLUFk1t6
公式ドキュメントを印刷して簡易製本したやつ
350:名前は開発中のものです。
09/07/23 17:52:48 jZe3ubbp
そういえば吉里吉里の入門書で、全ページ公開されている本があったな。
351:名前は開発中のものです。
09/07/24 00:12:29 iuweiYGY
limited previewでも見れるやつあったと思うんだが。
352:名前は開発中のものです。
09/07/24 04:55:27 LTiSyBcP
>>349
「原理原則」や「机上の空論」を正論と思って賞賛してよいのは中学二年生まで
353:名前は開発中のものです。
09/07/24 05:17:48 SsPsVXk/
いや、普通に>>349は悪くないアドバイスだそ
354:名前は開発中のものです。
09/07/24 05:23:16 nNAgO2LK
勉強したけりゃ>>349でFA
355:名前は開発中のものです。
09/07/24 09:09:18 kZhmh/4X
>>352
典型的な高二病だな
356:名前は開発中のものです。
09/07/24 09:23:36 oSSeGPhh
左に何もオブジェクトを指定しない間接メンバ選択([]演算子)ってどういう動作するの?
System.inform(["a"]);みたいにするとなんかオブジェクトが返ってくるけど
357:名前は開発中のものです。
09/07/24 09:52:54 u0wItfeo
それ演算子じゃなくて式中配列じゃね
358:名前は開発中のものです。
09/07/24 10:01:18 oSSeGPhh
ああなるほどそいういうことか
359:名前は開発中のものです。
09/07/24 15:14:23 qfGoZbC/
KAGのIF文の条件式に = じゃなくて == を使わなきゃいけないって、何かすごく
違和感ない?
いつも忘れて、そのミスを見つけるのに苦労するんだけど...
しかもエラーを吐いてくれればまだいいけど、出ない。ただ無視されるのみ...
360:名前は開発中のものです。
09/07/24 15:22:36 7vfOa4F4
>>359
どういう違和感?
=と==は明確に意味が違うよ
361:名前は開発中のものです。
09/07/24 15:25:56 5Upnwmrm
エラーを吐く言語もあるけど、そのためには厳密な型宣言が必要なんだよな。
今あるコードが全部使いものにならなくなるぐらいの仕様変更しないと無理かも。
362:名前は開発中のものです。
09/07/24 15:46:46 /REV+Ewt
コーディングやったことがない人にとっての違和感ってことでしょ
他の部分は直感的なのになんで == なんて日常生活で使わない
記号つかってんの? っていうどんな言語でも初心者がぶつかるやつ
363:名前は開発中のものです。
09/07/24 15:49:20 TmkeB4fe
BASIC などの古い言語しか知らない人も同じ違和感を受けると思う。
自分が BASIC→C の時そうだった。
IF文ってのは条件分岐を行うためのもので、その中で計算を行うなんて
発想がないんだよね。
364:名前は開発中のものです。
09/07/24 15:51:07 7vfOa4F4
なるほどー
納得した
365:名前は開発中のものです。
09/07/24 16:06:35 YMnHsuF2
>>359
BASICあがりの人かい?
原理的には = を場所によって意味を変えるのはできなくはないんだが、
それをやってると、コンパイラの構造が複雑になって性能がおちてしまうので、
別にわりあててる言語のが多い。
そうだねぇ、KAG が純粋に独立したスクリプト言語なら = でも OKだったのかもだけど、
処理として TJS を読んで判定かけてるのでそうはいかなかったんだろうね。まあ慣れろってことで。
ちなみに C 系だと = が代入で、== が比較だけど、
Pascal系だと = は比較で := は代入だったりするからややこしいw
366:名前は開発中のものです。
09/07/24 17:12:25 8on6TjX3
:=で代入きぼちわるいね
そうだ。不等号が入るとき、どっちに書くかいつも迷うんだけど良い覚え方はないものか。
367:名前は開発中のものです。
09/07/24 17:26:20 /REV+Ewt
>=
フ トウゴウ
<=
フ トウゴウ
って覚えれば
368:名前は開発中のものです。
09/07/24 17:26:31 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:名前は開発中のものです。
09/07/24 17:29:44 /REV+Ewt
コーディング未経験のスクリプターと共同作業やるならいいかもな
370:359
09/07/24 18:40:47 qfGoZbC/
>>363 >>365
図星かも。10年以上前にプログラミングをかじる程度したことはあったんですが、
社会人になって止めちゃいました。そして何を思ったか、今になってゲームを
作りたいと思っちゃったんです。
Excelは今も良く使うので、 = 表記に完全に馴染んじゃってるんですよね。
>>368
おー、同じ悩みを抱えていた人がいたんですね。俺一人じゃないんだ...
何かホッとした。
皆さん、下らんボヤキに付き合ってくれて、ありがとう。
371:名前は開発中のものです。
09/07/24 18:55:23 XRRN4HTj
>>368
cond属性とかもあるけど、おおまかなチェックはできそうすね
>>366
「大なりイコール」とかの順で書けばいい
372:名前は開発中のものです。
09/07/24 21:03:05 jpbjLN0h
以前、比較のつもりで=>書いて例外(HardwareException)出して、
それが誤りであることに気が付くまでにとても悩んだなあ…orz
=> は、式中辞書配列内(外部でも使えそうだけど)で許容されている
演算子であることを思い出してからは、迷うこともなくなりましたとさ
373:名前は開発中のものです。
09/07/24 22:08:42 5CQIBufA
初歩的な質問で申し訳ありませんが
皆さんのサイトはゲームの動作環境をどう表記してますか?
吉里吉里公式の動作環境をまるっとコピペしようとしたら
コピペしないで確認しろとありました
一応自分のPCのスペックを表記しておいたほうがいいでしょうかいらんでしょうか?
374:名前は開発中のものです。
09/07/24 22:10:49 XZ+J/nbu
・公式のをコピペして吉里吉里の動作環境にする
・自分のPC(4台あるし)のスペックを確認済みとして書く
の2つでやってる
375:名前は開発中のものです。
09/07/24 22:13:18 8on6TjX3
>>372
そういやそうだ。そうじゃん、普段使いまくってるじゃん。
ありがとう。
376:名前は開発中のものです。
09/07/25 01:12:57 K2SYYOYb
=>はアロー演算子と見間違えてイミフな時がある。
=表記はHSPさわったとき発狂しかけた。
377:373
09/07/25 01:30:02 3DpvMHeU
>>374
回答ありがとうございます。
自分のPCスペックも表示しようと思います。
ヘボすぎて恥ずかしいが参考までにあったほうがいいかもしれませんね
378:名前は開発中のものです。
09/07/25 01:35:05 K2SYYOYb
ふつうはプロファイルとって実行時のメモリ量調べたり、いろんな構成のPCでひたすらテストして決定するんだけどね。
プロファイラがないからなTJSは。
というか吉里吉里にデバッガとかツール用のAPIないよね。
379:名前は開発中のものです。
09/07/25 01:40:25 vAwbl5XN
ビデオカード依存しないシステムだから、画面切り替えのトランジションとかをえんえんはしらせてみて
どのくらいの感触で動くか調べるくらいで必要十分だよ。
380:名前は開発中のものです。
09/07/25 05:27:57 KmBjh/g8
=> は別にどこででも使える演算子で、カンマと同じ意味がある
%["a", 1 => "b" => 2 => "c", 3] とかいう書き方もできたはず
軽くRuby使ってるんだが、さほど頻繁に使わないってこともあって <=> と <-> でいつも迷う
エラー吐いてくれるタイプなんでまだましなんかもしれないけど
381:名前は開発中のものです。
09/07/25 11:30:41 nKG6Q315
<->とか要らんよな
わざわざ演算子にするほどのものじゃない
382:名前は開発中のものです。
09/07/25 12:28:39 e3P19x4Y
>>381
今んとこ2回評価だから微妙だよな
383:名前は開発中のものです。
09/07/25 15:58:27 NihvXwLZ
D言語みたいに、return a=b; はよくても if (a=b){ } はエラーになる言語もあるな
384:名前は開発中のものです。
09/07/26 01:16:41 v04aTSKb
>"a", 1 => "b" => 2 => "c", 3
どこかのクロージャにしか見えない
385:名前は開発中のものです。
09/07/27 16:18:19 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
;メッセージ履歴の出力・表示を無効
基本的に↓のサイトを参照しましました。
URLリンク(www.geocities.co.jp)
解決方法がわかればぜひ教えてください。
まだまだ未熟ですので、記述不足で他に必要なソースがあればもちろん載せます。
よろしくお願いします。
386:名前は開発中のものです。
09/07/28 00:39:15 m2IylvK1
>>385
conductorを止めっぱなしにしてるだけでは?
387:名前は開発中のものです。
09/07/28 11:09:36 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:名前は開発中のものです。
09/07/28 11:52:49 ijBRqVPC
すんません、ググってもわからなかったので
KagマニュアルにSWF再生の時に、ファイル名の後に?name=value~で
変数を渡すことが出来ると書いてあるのですが
FLASH側では、どのように受け取ればいいのでしょうか?
もしくはどこかに解説してるサイトがあれば教えてください。
389:名前は開発中のものです。
09/07/28 14:13:30 PPOjGwA2
吉里吉里でFlashは扱ったことないけど、
HTMLからそういう風に渡せば、Flash側で何もしなくてもその名前の変数に値が入るよ
390:名前は開発中のものです。
09/07/29 00:20:46 WYn7jMgk
吉里吉里2docか掲示板かdeeたん日記に書いてあったきがす
391:名前は開発中のものです。
09/07/29 00:27:43 7c7DIkfV
385です。
言う通りkag.proccesをコールに変え、@rclick callをjumpに変えたところ、正常に動作しました。
初歩的なミスでほんとにすいませんorz
お二方ほんとにありがとうございます。
392:名前は開発中のものです。
09/07/29 12:08:01 WWTIopk1
TJSゴリゴリとかではなく、ほぼKAGの範囲内で作られたゲームで、
ゲーム製作初心者の参考になるようなゲームを紹介して頂けませんか?
プログラム・ソースが公開されていたりしたら最高です。
ゲームを楽しむことで学べたら効率的なのではないかと思いまして。
393:名前は開発中のものです。
09/07/29 14:30:34 B4ng0Zvn
アドベンチャーゲームならいくらでもあるだろ
それ以外のジャンルは,あったとしても「間違った使い方」なので参考にするべきじゃない
394:名前は開発中のものです。
09/07/29 14:36:28 lSC8ZyKL
なんか9月にDee氏も交えた吉里吉里の講習会兼オフ会みたいなのやるらしいね
395:名前は開発中のものです。
09/07/30 19:22:29 wmLBtUZX
test
396:名前は開発中のものです。
09/07/30 21:48:15 he23UFo9
おさかな定職、ちょっと変化してる…
これは期待していいのかな…
サポートとか贅沢言わないからせめて倉庫としてでも復活して欲しい
397:名前は開発中のものです。
09/07/30 22:24:08 hh3V9W8K
TJSのスクリプトエンジン自体のテストスクリプトって公開されてないの?
398:名前は開発中のものです。
09/07/31 03:09:51 LkFvtV7a
公式掲示板他ぐぐったのですが、どうしてもわからずこちらに参りました。
サウンドギャラリーを製作中なのですが
サウンドギャラリーの画面のみ右クリックで音楽停止させたいと考えています。
rclickのタグにexp="kag.bgm.stop()"を入れてみたのですが
BGMがストップされません。
BGM停止のターゲットをつくり、rclickのジャンプ先にして
stopbgmで止めるしかないのでしょうか。
399:名前は開発中のものです。
09/07/31 03:13:04 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:名前は開発中のものです。
09/07/31 03:26:53 bpa+dbpH
すいません
@tempload place=0 bgm=falseで自己解決しました・・・
401:名前は開発中のものです。
09/07/31 10:47:24 rOMBbekB
>>398
rclickタグってexp属性あったかな。拡張したならともかく
言うとおり、サブルーチンを作ってそこにstopbgmを置けばよいのでは
402:名前は開発中のものです。
09/07/31 14:02:11 xHa0woew
>>398
rightClickHook使うとか
ただしそのままだとサウンドギャラリーを抜けても有効なので、removeするか
フラグが立っている(ギャラリー中)なら有効なようにする
403:名前は開発中のものです。
09/07/31 23:29:54 VlyFlnzf
完全な初心者です
自己解決したんですがトランシジョンは難しいですね
背景画像を使わずにメッセージレイヤに文字だけ表示している状態から
その文字を溶暗で消す方法がわからなくて悩みました
結局真っ黒な背景画像を用意してクロスフェードさせました
メッセージレイヤをどうやって操作すればいいのだろうと悩んでいました
チュートリアルを作られている方にこのとほほなつまずきをお知らせしたいです
404:名前は開発中のものです。
09/07/31 23:50:59 DEiOJAlU
>背景画像を使わずにメッセージレイヤに文字だけ表示している状態から
>その文字を溶暗で消す方法がわからなくて悩みました
@backlay
@layopt layer="0" page=back visible=false
@trans method="crossfade" time="1000"
@wt
これでok
405:403
09/08/01 00:04:18 uNi03v+g
404さん、ありがとうございます
チュートリアルは背景画像を使う普通の場合を想定しているのでつまずいていました
406:名前は開発中のものです。
09/08/01 00:28:43 GXDqmh6d
>>405
チュートリアルは、コピペして使うものじゃなくて、基本の仕組みを理解するためにあるものだから
チュートリアルだけじゃなくて、タグリファリンスにもちゃんと目を通した方がいいよ
あとはテンプレ見て講座サイトと併用するなり何なり
いきなり一から十まではできないだろうが、みんなつまづいて思考錯誤しながら覚えていくんだよ
407:名前は開発中のものです。
09/08/01 00:37:45 KB27uNbz
[image storage="&kag.fore.layers[0].Anim_loadParams.storage" layer=1 pos=center]
これ、型がちがうみたいなことを言われるのはなぜ?
408:名前は開発中のものです。
09/08/01 00:50:13 GXDqmh6d
>>407
voidになってるのかな
kag.fore.layers[0].Anim_loadParams.storage
これ監視式に入れてみたらいいんじゃね
409:名前は開発中のものです。
09/08/01 01:10:02 IN4NoQ+t
>>401 402
レスありがとうございます。
サブルーチンの方が簡単に組めそうなので
サブルーチンでやってみる事にします。
ありがとうございました!
410:名前は開発中のものです。
09/08/01 01:26:53 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:名前は開発中のものです。
09/08/01 02:00:28 ORmBfdl/
tjsの質問です。
var i="j";
var j= 0;
この場合に変数iを利用して変数jの値を変えられないでしょうか。
(i!)= 値、でできるかと思ったのですがこれは不正な代入か不正な式の操作だそうなので。
412:名前は開発中のものです。
09/08/01 02:41:35 NlDhYl95
>>411
その式だと 0 = 値 ってことになるから当然エラー
目的を満たすには
global[j] = 値
でおk
413:名前は開発中のものです。
09/08/01 10:24:11 KB27uNbz
407です。
408、410、レスサンクスです!!
condでvoidかどうかチェックするのか……。
assignImagesの使い方もわかりました。すてきー。
414:411
09/08/01 12:58:26 p7Ny6mdi
>>412
[]演算子を使えば良いのですね、回答いただきありがとうございます。
私の考えたものは言われると確かにエラーで当然ですね、何故これでできると思ったんだろう。
415:名前は開発中のものです。
09/08/01 13:27:12 hsxXyy+h
そういうのはちゃんと理解して使わないと嵌まるよ
416:名前は開発中のものです。
09/08/01 22:03:21 v2mQIBat
first.ksから次のシナリオのksに飛ばして
再びfirst.ksに戻って次のksに飛ばす方法したいんだけど
戻る時jumpで*~指定するのとcallでreturnして戻るのと指定するのどっちが効率的?
他にそういう方法があるなら教えてほしいです。
417:名前は開発中のものです。
09/08/01 23:07:33 fEDZV3Iq
>>416
そんな些細なことで効率性を求めてたらなかなか進まない
好きな方法をつかう
個人的にはマクロ読み込みみたいに必ず呼び出し元に返ってくる、ちょっと別のファイルを
読み込むような意図ならサブルーチン。同じファイルに戻るかもしれないけど条件次第では
戻らないかもしれない、シナリオ分岐など(ニュアンス的に)処理が別ファイルに移るようなときなら
jump使ってるかな
418:名前は開発中のものです。
09/08/01 23:09:37 h4M1zPGr
何の効率?
419:名前は開発中のものです。
09/08/02 10:44:29 C+Gw8PJZ
たぶん、脳みそ使わないで済む効率。
ケースバイケースなんだけど、通常のシナリオ部分なら
@jumpの方が扱いが楽だよ。必要なら、戻り先は、フラグに収納しとく。
>他にそういう方法があるなら教えてほしいです。
tjs含め、普通に「KAG System リファレンス」で言及されているのであらかただと思う。
ということで、リファ嫁。
個人的見解だけど。そこら辺は自分で試行錯誤して決めれば良いレベルと思ふ
420:名前は開発中のものです。
09/08/02 10:54:19 Wp08KWhd
個人的な好みでは、jump使うのは3~4回くらいかな
あとは全部callしてる
first.ks->macro.ks->title.ks->main.ks
とか
構造化プログラミングとかに慣れてるとこっちの方が違和感が少ない
421:名前は開発中のものです。
09/08/02 11:32:42 fQoBB6mb
プログラマー上がりなら、違和感は少ないかもしれないけど、
栞やコンダクター周りとの相性の問題あるし、リンクが普通に使うと@jump同等だし、
@jump主体にしたほうが、素直でお得と思う。
422:名前は開発中のものです。
09/08/02 12:34:40 Wp08KWhd
callで相性問題出るのか!?
今のところ、問題起きてないけど・・・。
jump主体はGotoのスパゲッティコードを連想してどうにも。
423:名前は開発中のものです。
09/08/02 12:41:51 KHOYRoEP
結論:個人の好きで使え
424:名前は開発中のものです。
09/08/02 13:05:59 3h/vRcOB
KAG SYSTEMの構造を理解してればcall主体で組むなんてことは普通しない
まあ何を作ってるのかにもよるけど、関数プログラミングがしたいなら、
TJSで自前のサブシステム作ってKAGに組み込んで・・・ってのが筋だと思うし、
後々トラブルが少なくてすむんじゃないだろうか
425:名前は開発中のものです。
09/08/02 14:27:47 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:名前は開発中のものです。
09/08/02 16:00:05 P5IDIPeC
callは使いすぎるとreturnの誤爆が出てきてしっちゃかめっちゃかになる恐れがある
というか実際なって困ったので必要がない限りjump
427:名前は開発中のものです。
09/08/02 17:38:21 eEt2K5t6
マクロ内でcall使うのって駄目?
とりあえず動くからいいのかと思ってたんだけど
428:421
09/08/02 18:36:48 HaievO31
えっと、自分が420に対して「相性の問題」と言ったのがあらぬ疑念を
呼んでなくもないようなので、補足します。
「相性の問題」と言ったのは、土を掘るならシャベル、
耕すなら鍬のほうが相性が良いといった用なことです。(例えがあれですが)
取り合えず、「構造化プログラミング」ってなにそれ、食べれるのって方は
「KAG System リファレンス」-「サブルーチンを使おう」等をしっかり読んで、
あとは、使って覚えればいいと思いますm(_ _)m
429:名前は開発中のものです。
09/08/02 20:15:19 XqTlUFYH
メインフローを作ってcallでシナリオを呼んだ方が管理しやすくない?
430:名前は開発中のものです。
09/08/02 20:21:19 BJC3kT9Q
call は呼び出しもとで行がずれたときにエラーで復帰できなくなる罠があったり
431:名前は開発中のものです。
09/08/02 20:39:24 Wp08KWhd
呼び出し元で行がずれるってどういう場合に起こる?
432:名前は開発中のものです。
09/08/02 20:47:44 KeHZ566g
バッチ当てるときとか?
433:名前は開発中のものです。
09/08/03 10:32:56 V7PNVWXx
>>431
つまり最初からちゃんとしたモノを作れば問題は起きないってことです(´ー`)
434:名前は開発中のものです。
09/08/03 21:06:43 KTOZHeSA
吉里吉里のレイヤーって横幅が1280pxとかになってもさほど問題ないのかな
昔のDirectXだと、幅が大きすぎるサーフェスを作ろうとすると問題が起きたり
してた気がするんだけど
もちろんどんな大きさのレイヤーでも作りすぎればおかしくなるのは大前提として
435:名前は開発中のものです。
09/08/04 01:40:44 OALni9DT
そういや今の3Dエロゲはテクスチャが一枚1024*1024とかふざけたサイズらしいな。
436:名前は開発中のものです。
09/08/04 21:36:25 gCd6e1Bq
吉里吉里は内部的には別にDirectX なわけじゃないので特に問題にはならないよ。
表示が DirectX の時は適当に切り分けて処理してくれるようになってたと思う。
437:名前は開発中のものです。
09/08/05 01:44:17 J8WmaMAt
業務連絡~
deeたんとこのサーバがクラッシュして現在 kikyou.info アクセス不能とのこと。
復旧時期は不明
438:名前は開発中のものです。
09/08/05 01:56:18 IdRZHtde
それがW.Dee氏からの最後の連絡だった・・・。
ところでおさかな定食はどうなったんだ?
439:名前は開発中のものです。
09/08/05 08:21:46 wetiCV7F
SVNとか全滅ってことか?
440:名前は開発中のものです。
09/08/05 09:54:10 J8WmaMAt
復旧してる
441:名前は開発中のものです。
09/08/05 22:30:13 vUt/Hk1T
誰からんか氏のどこでもセーブ持ってませんか?
工事中でDLできなくなっているので……
442:名前は開発中のものです。
09/08/05 22:48:41 YtFZquA8
二次配布おkだったっけ
443:名前は開発中のものです。
09/08/06 00:08:36 lHlM1VqA
流れ豚切ってすみません。
質問なのですが、
動的なカットインを取り入れたいのですが、
レイヤーそのものを動かすのではなく例えば四角いレイヤー画像内で
簡単な動きやスクロールなどをさせたいのですが
そういったことはKAGEXでやった方がいいのでしょうか・・・
pimageのみを動かせないかとリファレンスを見たところ、
そういった機能はなさそうです
何かいいアイディアはないでしょうか
444:名前は開発中のものです。
09/08/06 00:39:06 PW1IyXjf
>>443
アニメーションファイルを使うとか。
座標ガリガリ書きまくるのがめんどくさいけど。
445:名前は開発中のものです。
09/08/06 03:18:22 7IoCjv+k
俺はレイヤにスプライトの機能実装したけど重かった。
446:名前は開発中のものです。
09/08/06 05:35:52 PZu2WCfx
俺はスプライト処理はDirectXに任せたけど結局memcpyで転送になるのでやはり重かった。
447:名前は開発中のものです。
09/08/06 17:23:51 rqIQuvBC
よくプラグインのファイルとか、.ksで作ってるけど、
@iscriptで始まって、@endscriptで終わるだけなら、
.tjsで作ってもいいような気がするんですけど、
.ksの方がよくて.tjsで作ると不都合なことがあるんですか?
448:名前は開発中のものです。
09/08/06 17:28:00 K9vVkzj4
別にない。単に KAG の処理系では読めないので、手動で execStorage する必要があるだけ
449:名前は開発中のものです。
09/08/06 17:33:24 V0RouXx7
ksだとTJSの後KAGで何か書いておきたい時に書ける
450:名前は開発中のものです。
09/08/06 18:09:33 PW1IyXjf
関連のマクロとかまとめとけるな
451:名前は開発中のものです。
09/08/06 23:40:00 UZGii+8I
俺はスクリプタにそこら辺一切触らせたくなかったのでプラグインの実装、そのプラグインを使うタグの実装を全部tjsで書けるようにしてある。
シナリオ側からは
@mount name=pluginnameでプラグイン同士の依存関係から全て勝手に解決して使えるようになる。
まあ、実装の隠ぺいってやつだね。
プラグインの実体はpluginname.xp3とそれが依存するxp3にあるからスクリプタが実装の詳細を知ることはできない。
新タグの仕様はドキュメントに書いてある。
つまりプラグイン書くのはマの仕事。スクリプタの仕事ではないという事にしてある。
452:443
09/08/06 23:48:52 lHlM1VqA
>>443-446
ありがとうございます
スプライトで調べてみたものの????でしたので
アニメーションファイルかどうしても実装しかったらKAGEXを検討します
できそうで簡単にできない機能でもどかしいですね
453:名前は開発中のものです。
09/08/06 23:50:32 ETeqkH0q
俺もスクリプタには演出のみお願いしてる。
KAGのタグだとstorageで素材を指定するとか面倒くさいので、ファイル名ベースのタグである程度システムが全自動で処理してくれるようにしてある。
スクリプタがbufの番号とかlayerの番号とか気にせず演出に専念できるように。
最近はライターさんでも扱えるぐらい簡単にしたから、スクリプタ不要になった。
このままだと俺も用済みになるかもなw
454:名前は開発中のものです。
09/08/07 00:06:22 zu3InFxL
>453
いや、俺の場合ライタがスクリプタ兼任なんで「お前はプラグイン書く暇があったらシナリオ上げろ!」というためにだなw
455:名前は開発中のものです。
09/08/07 14:29:08 LBL2K49z
>>454
> ライタがスクリプタ兼任
ですよねー
俺なんか正直シナリオ書くよりスクリプトいじってるほうが楽しいという
本末転倒状態になってるw
456:名前は開発中のものです。
09/08/07 16:18:16 8xiRGJf0
一年以上前にスレで
マップチップからRPG用のマップ作ったり
キャラやモブが移動する2Dマップ処理のスクリプトをうpした人がいたけど、
だれか持っている人うpしてくれませんか
「おお、ベアトリーチェ」
みたいな台詞を町人がしゃべってたから
うみねこ1~2話が出た頃だったかな…?
457:名前は開発中のものです。
09/08/07 16:28:50 JnppTWi1
>>456
URLリンク(uproda11.2ch-library.com)
PASS:krkr
458:名前は開発中のものです。
09/08/07 16:59:26 8xiRGJf0
>>457
季節すら思い出せなかったので
流石に無理かと思ってましたがエスパーが居てくれて幸運でした。
本当にありがとうございます!
459:名前は開発中のものです。
09/08/08 12:34:31 oOpy5+ek
ベアトリーチェ=うみねこて・・・うん、いや、いい
460:名前は開発中のものです。
09/08/08 13:32:49 lY8WpKcm
しかたないさ
461:名前は開発中のものです。
09/08/08 16:57:43 GjsPccWg
質問させてください
選択肢のランダム表示をマクロにしようと思っています
以下のようにマクロを作ってみたのですが、ふたつ問題が出ました
まず、選択肢の本文が長い場合、タグがひたすら横にのびることです
もうひとつは、選択のタイミングによって選択肢の総数が変わることです
(選択肢が4つの質問と3つの質問があったり、選択肢が増えたりします)
解決方法が思いつかないので、何かヒントをいただけたらと思います
宜しくお願いします。
*select
[macro name="select"]
@eval exp="f.data = [[ mp.text1 ,'first.ks', mp.select1], [ mp.text2, 'first.ks', mp.select2], [ mp.text3,'first.ks', mp.select3], [ mp.text4,'first.ks', mp.select4]]"
@eval exp="f.tmp = intrandom(0,3), f.data[0] <-> f.data[f.tmp]"
@eval exp="f.tmp = intrandom(0,3), f.data[1] <-> f.data[f.tmp]"
@eval exp="f.tmp = intrandom(0,3), f.data[2] <-> f.data[f.tmp]"
@eval exp="f.tmp = intrandom(0,3), f.data[3] <-> f.data[f.tmp]"
1.[link target="&f.data[0][2]" storage="&f.data[0][1]"][emb exp="f.data[0][0]"][endlink][r]
2.[link target="&f.data[1][2]" storage="&f.data[1][1]"][emb exp="f.data[1][0]"][endlink][r]
3.[link target="&f.data[2][2]" storage="&f.data[2][1]"][emb exp="f.data[2][0]"][endlink][r]
4.[link target="&f.data[3][2]" storage="&f.data[3][1]"][emb exp="f.data[3][0]"][endlink][r]
[endmacro]
[select text1="本文1" text2="本文2" text3="本文13" text4="本文14" select1=select1 select2=select2 select3=select3 select4=select4][s]
462:名前は開発中のものです。
09/08/08 17:12:06 g/+i2DJo
こんな感じで、どうよ?
;選択肢の直前で変数に必要なパラメータを代入
[eval exp="f.選択肢の数 = 4"]
[eval exp="f.s1 = '*select1'"][eval exp="f.t1 = '本文1'"]
[eval exp="f.s2 = '*select2'"][eval exp="f.t2 = '本文2'"]
[eval exp="f.s3 = '*select3'"][eval exp="f.t3 = '本文3'"]
[eval exp="f.s4 = '*select4'"][eval exp="f.t4 = '本文4'"]
;2択の時の専用マクロ
[if exp="f.選択肢の数 <= 2"][select2 text1="&f.t1" text2="&f.t2" select1="&f.s1" select2="&f.s2" ][endif]
;3択の時の専用マクロ
[if exp="f.選択肢の数 == 3"][select3 text1="&f.t1" text2="&f.t2" text3="&f.t2" select1="&f.s1" select2="&f.s2" select3="&f.s3" ][endif]
;4択の時の専用マクロ
[if exp="f.選択肢の数 >= 4"][select4 text1="&f.t1" text2="&f.t2" text3="&f.t2" text4="&f.t4" select1="&f.s1" select2="&f.s2" select3="&f.s3" select4="&f.s4"][endif]
[s]
[select2]と[select3]と[select4]をまとめて
[select]内で、f.選択肢の数 を調べて、処理を分岐のほうがスマート
463:名前は開発中のものです。
09/08/08 17:35:42 g/+i2DJo
2~4択に対応版作ってみた
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;↓今回の選択肢の数
[if exp="f.好感度フラグ < 5"][eval exp="f.選択肢の数 = 3"][endif]
[if exp="f.好感度フラグ >= 5"][eval exp="f.選択肢の数 = 4"][endif]
;↓選択肢の直前で変数に必要なパラメータを代入
[eval exp="f.s1 = '*select1'"][eval exp="f.t1 = '本文1の文章をここに記述する'"]
[eval exp="f.s2 = '*select2'"][eval exp="f.t2 = '本文2の文章をここに記述する'"]
[eval exp="f.s3 = '*select3'"][eval exp="f.t3 = '本文3の文章をここに記述する'"]
[eval exp="f.s4 = '*select4'"][eval exp="f.t4 = '本文4の文章をここに記述する'"]
;↓のマクロで選択肢配置
[select]
[s]
464:名前は開発中のものです。
09/08/08 17:37:33 g/+i2DJo
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;選択肢マクロ
[macro name="select"]
;今回使用するデータを集計
@eval exp="f.data = [[ f.t1 ,'first.ks', f.s1], [ f.t2, 'first.ks', f.s2], [ f.t3,'first.ks', f.s3], [ f.t4,'first.ks', f.s4]]"
;ランダム入れ替え
@eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]"
;↑今回の選択範囲の内容を入れ替え
;↓以下適当な回数シャッフルを繰り返し
@eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]"
@eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]"
@eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]"
@eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]"
@eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]"
@eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]"
@eval exp="f.tmp1 = intrandom(0,f.選択肢の数-1),f.tmp2 = intrandom(0,f.選択肢の数-1),f.data[f.tmp1] <-> f.data[f.tmp2]"
;選択肢を表示する
1.[link target="&f.data[0][2]" storage="&f.data[0][1]"][emb exp="f.data[0][0]"][endlink][r] [endif]
[if exp="f.選択肢の数 >= 2"]2.[link target="&f.data[1][2]" storage="&f.data[1][1]"][emb exp="f.data[1][0]"][endlink][r] [endif]
[if exp="f.選択肢の数 >= 3"]3.[link target="&f.data[2][2]" storage="&f.data[2][1]"][emb exp="f.data[2][0]"][endlink][r] [endif]
[if exp="f.選択肢の数 >= 4"]4.[link target="&f.data[3][2]" storage="&f.data[3][1]"][emb exp="f.data[3][0]"][endlink][r] [endif]
[endmacro]
465:名前は開発中のものです。
09/08/08 17:38:43 irbfFcCJ
式中関数のコンテキストって何になるの?
いろいろ試してみたけど,それを含むクラスのインスタンスになるっぽい?
466:名前は開発中のものです。
09/08/08 17:44:51 GjsPccWg
>>462-464
めちゃくちゃ早い回答ありがとう!
何かできそうな気がしてきた
じっくり考えてみるよ、本当にありがとう
467:名前は開発中のものです。
09/08/08 19:51:17 urpQMU76
>>465
globalになるんじゃないっけ
468:名前は開発中のものです。
09/08/08 20:27:58 x44gCfOd
ちょっと相談に乗ってほしい
セーブデータをマイドキュメント以下に保存させるようにしたんだけど、起動すると、なんかexe直下にもsavedataフォルダが作られて、krenvprf.kepってのが作られて困ってる。
デバッグ情報を記録してるってことはリファレンスに載ってたからわかったんだけど、デバッグはOFFにしている(・・・ハズ)なんだ。
Releaserでxp3とかにするときに取り除かれる、って聞いたんだけど、相変わらず生成されちゃう。
どうすればいいか、誰か知らないだろうか?
469:名前は開発中のものです。
09/08/08 21:17:24 elWYaLJk
>>468
吉里吉里付属の「krkrconf.exe」で設定できるよ
470:名前は開発中のものです。
09/08/08 21:19:24 V40faU5w
>>468
セーブデータをマイドキュメント以下、ってのをどうやって実現した?
吉里吉里設定を使って datapath を適切に設定して、
プログラムからは System.dataPath を参照させるのが正しい手順
除外ってのは、アーカイブ時に除外されるってだけだ。
471:名前は開発中のものです。
09/08/08 21:29:23 x44gCfOd
>>469
確認したけど、デバッグモードはOFFになってるんだ
>>470
Config.tjsの所で、
;saveDataLocation = System.personalPath +"savedata";
ってしただけなんだけども。
他のtjsファイル見たけどsaveとかが無くて―って、dataPathで検索すればいいのかな?
472:名前は開発中のものです。
09/08/08 21:31:51 V40faU5w
>>471
使ってる吉里吉里のバージョンは?
このあたりの仕様は Vista 用に、2.3 で変更になってる ( dataPath機能の追加)
古い版では、krenvprf.kep や 例外時のログが実行ファイルのあるところの
savedata 以下にできてしまうのは仕様で回避できない。
473:名前は開発中のものです。
09/08/08 21:34:39 x44gCfOd
>>472
バージョン調べたら、2.30.2.416だった。
大丈夫なのかな・・。公式見てこよう。
474:名前は開発中のものです。
09/08/08 23:09:41 V40faU5w
じゃあそれは吉里吉里本体は問題ない。
KAGも新しい 3.3 とかなら
var saveDataLocation = System.dataPath; // セーブデータ保存場所
となってるはずだ。これはいじる必要はない。
krkrconf.exe で実行ファイルを指定して、システム全般/データ保存場所 を適切に指定した
cf ファイルをつくれば、それに従って動作することになる
475:名前は開発中のものです。
09/08/08 23:21:59 C6ikQx71
[iscript]内で、シナリオファイル上での普通の文章みたいな操作はできないのでしょうか。
例えば、普通のシナリオで、
新しい朝がきた―希望の朝だ―
と記述すると、この文章がずらずらっと表示されますよね。
これと同じ動作を、[iscript]~[endscript]の中で出来ないかということです。
(
drawTextで実現できるのかなと試行してみたのですが、ずらずらっと表示されるのでなく、一気に表示されてしまいました。
また、ここで描画した文字分、テキストの描画位置が進んで欲しいのですが、それもありませんでした。
// テキストとテキスト描画色を引数とするマクロを作り、そのマクロからこのsubroutineに飛ばす
*sub
[iscript]
{
var a = mp.text; // テキスト取得
kag.fore.messages[kag.currentNum].font.height = 28; // フォントサイズを合わせる
for ( var i=0; i<mp.text.length; ++i )
{
kag.fore.messages[kag.currentNum].drawText( kag.fore.messages[kag.currentNum].x, kag.fore.messages[kag.currentNum].y,
a.substring(i,1), mp.color);
kag.fore.messages[kag.currentNum].x += 28;
}
}
[endscript]
[return]
)
よろしくお願いします。
476:名前は開発中のものです。
09/08/08 23:32:54 x44gCfOd
>>466
いっついぐざくとりー
>var saveDataLocation = System.dataPath; // セーブデータ保存場所
が
>var saveDataLocation = "savedata"; // セーブデータ保存場所
ってなっていた・・・。
これか!!!
本ッッッッ当にありがとうございます!
477:名前は開発中のものです。
09/08/08 23:34:13 x44gCfOd
うわあああああアンカまちえたああ・・・・・
2chブラウザがっががが
改めて
>>474本当にありがとう!
478:名前は開発中のものです。
09/08/08 23:44:49 x44gCfOd
直ったと思ったら直っていなかった・・・・
でもやっぱり>>474の
>システム全般/データ保存場所 を適切に指定したcf ファイルをつくれば
で解決した・・・
リアルでドジっこ属性なんて持っててもウザいだけだろjk・・・
479:名前は開発中のものです。
09/08/09 00:07:23 FngJ034Z
>>465
レキシカルクロージャではないからglobalになるはずだが変更があったのなら分からん。
480:名前は開発中のものです。
09/08/09 00:14:33 UVEGN1Jh
>>475
どうするのが最善なのか俺にもわからんが、スキップとか履歴とかメッセージ速度とか
できるだけ既存の仕組みを使いたいならembタグが一番楽だと思う
481:名前は開発中のものです。
09/08/09 01:15:39 jNIe4i86
>>475
var dic = %[];
var str = "表示したい文字列";
for(var i = 0; i < str.length; i++)
{
dic.text = str[i];
kag.tagHandlers["ch"](dic);
}
試してないけど、こんな感じで出来るかも。
クリック待ちとかConductorの制御が必要なものは
素直にKagでやったほうがいい。
482:名前は開発中のものです。
09/08/09 17:52:51 wSPP8w81
トランジションを使うときに、layerの番号を指定して、
chilrdenをfalseにすると1つのlayerでトランジションが起きますけど、
これに複数のlayerの番号を指定して、同時にトランジションを起こすことはできませんかね。
例えば、複数のキャラの立ち絵を同時に登場させたいときなどに使いたいんですけど。
483:名前は開発中のものです。
09/08/09 18:21:40 KZiEUzEo
KAGに於いては、childrenをfalseにせずにトランジションするのが正道にして近道。
日付表示みたいな小窓を出しててそれを変えたくないってんなら、
それもオモテウラ用意するのが多分正解。
484:名前は開発中のものです。
09/08/09 18:42:31 wSPP8w81
>>483
そうか、裏ページにコピーして変わらないところは変化しないのか。
トン
ついでに、エンティティ使ってイメージタグのストレージ属性を変数で指定した場合、変数の値を途中でevalかなにかでで変えた場合は勝手に画像の中身も入れ替わるの?
それとも、新しくイメージタグを指定するまで残るものなの?
485:名前は開発中のものです。
09/08/09 20:04:33 3+cLengQ
>>484
エンティティはタグの解析時に参照される(値をTJSとして実行して、その結果に置き換わる)
あとで変数の中身を変更したところで影響ないし、それによって再読み込みなどはされない
486:名前は開発中のものです。
09/08/09 20:52:23 cGs7Rp5+
>>482
単にコマンド列挙するだけで同時に走るよ。
もっとも、子レイヤでのトランジションは、トランジションのまちがややこしくなるのと、
レイヤサイズ違いの吸収がめんどくさいのでおすすめはしない。
×変わらないところは変化しない
○同一内容になってるから切り替わっても区別がつかない
487:名前は開発中のものです。
09/08/09 21:12:13 PuJDDIqH
余談だが、単純にフェードイン・フェードアウトだけなら、moveタグでやる方法もある。
この間にトランジションを行うと巻き込まれるが、好きなレイヤをそれぞれの時間で表示・非表示できるのは結構便利。
488:名前は開発中のものです。
09/08/10 02:18:21 mZ36Q/5Y
キャラごとにボイスのオンオフを作りたいのですが、
何かサンプルはないでしょうか?
489:名前は開発中のものです。
09/08/10 08:52:33 N33HnzZP
>>488
サンプルも何も、キャラごとにボイスONの変数を用意して、
それでボイス鳴らすマクロを[if]なりcondなりしてやればいいだけだと思うが
490:名前は開発中のものです。
09/08/10 15:15:14 mZ36Q/5Y
>>489
確かにそうですね、なんとかできました。
ありがとうございます。
491:名前は開発中のものです。
09/08/11 01:56:09 U/SKRjwd
>>485
>>486
ありがとう、なんとかなりますた
ついでにもう一つ。
携帯からですまん。
[eval exp="f.layer_c1 = 2"]
[eval exp="f.pos_l = -200"]
[eval exp="f.layer = 'f.layer_c' + mp.lay"]
[eval exp="f.left = 'f.pos_' + mp.pos"]
[image storage="xxxx.png" layer="&f.layer" left="&f.left" ]
で、lay=2、pos=lで指定すると、
f.layerもf.leftも文字列の変数として認識されて、
無理矢理整数型にしようとすると0になってしまいます。
"f.layer_c1"といった文字列を,f.layer_c1という関数(中身は数値)
に変える手だてはないでしょうか?
492:名前は開発中のものです。
09/08/11 03:14:42 ieF9pzLM
多分これかな?
[eval exp="f.layer = 'f.layer_c' + mp.lay"]
[eval exp="f.left = 'f.pos_' + mp.pos"]
↓変更
[eval exp="f.layer = f['layer_c' + mp.lay]"]
[eval exp="f.left = f['pos_' + mp.pos]"]
ただぱっと見の状況ではf.layer_c2が無いから
lay=2だとvoidになると思うけど
493:名前は開発中のものです。
09/08/11 15:46:52 OVZtbqV/
質問させていただきます。
―(接続符号ダッシュ)を二つ繋げて使うと、文字と文字の間に微妙な隙間が出来てしまいます。
(例)―
↑ここあたりに微妙な隙間が出来る。
字間調整なので色々と試してみたのですが、ぴったりと密着せずにうまくいきません。
こういう場合はどうすればいいのでしょうか?
ご教授お願いします。
494:名前は開発中のものです。
09/08/11 16:09:00 72wadl5V
アンチエイリアスがかかってるからじゃないかな。
drawTextで書くか、アンチエイリアス外したレンダリング済みフォントを指定するとか?
495:名前は開発中のものです。
09/08/11 16:36:44 j4UQjU4o
>>493
デフォで文字間を空けてるなら
[style pitch=0]―[style pitch=default]
ダメならpitch=0を-1とか-2にしてみる
フォントに影つけてるなら[ch text="―"]とかも試してみるといいかも
496:名前は開発中のものです。
09/08/11 17:45:50 DikYrcFL
VideoOverlayクラスを継承して独自のクラスを作ったのですが、
ムービーを左右反転させて再生する方法は何かありませんか?
497:名前は開発中のものです。
09/08/11 18:17:54 OVZtbqV/
>>494、>>495
ありがとうございます。
おかげ上手くいきました。
498:名前は開発中のものです。
09/08/11 19:33:50 QXG/hnfO
>>496
C++? TJS?
499:名前は開発中のものです。
09/08/11 20:02:53 DikYrcFL
>>498
ああごめんTJS
好きな位置でムービー再生できる関数作ってたんだけど
反転再生出来ないかなと思ってリファレンス見たけど無かった
500:名前は開発中のものです。
09/08/11 20:21:02 j4UQjU4o
>>499
TJSのみで実現するならmode=vomLayerでレイヤ描画にして
onFrameUpdateのタイミングでlayer1なりlayer2なりに対して
flipLR/flipUDするしかないんじゃないかな
501:名前は開発中のものです。
09/08/11 20:31:37 DikYrcFL
すんなりお手軽には行かなさそうですね
ありがとうございます
502:名前は開発中のものです。
09/08/11 20:41:35 DikYrcFL
ちょっと前にここでうpされてた
layerExBTOA.dllを使ってるんだけど
onFrameUpdate内で左半分と右半分を合成表示してるから
flipUDはいけたけど、flipLRはそのままだと無理だった
503:名前は開発中のものです。
09/08/11 20:58:43 /qWwaawF
質問です。マクロに引数を持たせるのはどうしたらいいでしょうか?
下のソースで失敗したのですが、やりたい事はわかりやすいと思います
[macro name="pos_set"]
[eval exp="tf.func = %function"]
[image storage="name_masato" page="fore" left="10*tf.func" top="5*tf.func" layer="3" visible="true"]
[endmacro]
どうやれば実装できるでしょうか?
504:名前は開発中のものです。
09/08/11 21:02:19 j4UQjU4o
情報の後出しは感心しないが
copyRightBlueToLeftAlphaの後にimageWidthを
半分にしてfilpLRするのではダメなん?
まあ既に解決してるならいいんだが
505:名前は開発中のものです。
09/08/11 21:22:23 B/yENLBD
>>503
[macro name="pos_set"]
[eval exp="tf.func = mp.function"]
[image storage="name_masato" page="fore" left="10*tf.func" top="5*tf.func" layer="3" visible="true"]
[endmacro]
506:名前は開発中のものです。
09/08/11 21:24:57 DikYrcFL
後出し申し訳無いです
> layer1.width = layer1.imageWidth / 2
をやめて、layer1.leftをマイナスの方に持っていくと反転表示できました
507:名前は開発中のものです。
09/08/11 22:38:16 /qWwaawF
>>505
ありがとうございます!
そして、やっていて出来ないのが不思議なのでも別の質問なのですが、
[emb exp="tf.pos_x"]
[emb exp="tf.pos_y"]
[backlay]
[image storage="image.tlg" page="back" left="tf.pos_x" top="tf.pos_y" layer="12" visible="true"]
[trans method=crossfade time=10]
[wt]
これで、embで中身を表示した時は330,400 という風に表示されるのに、
実際には(0,0)の場所に画像が表示されてしまうのですが、原因は分からないでしょうか・・・?
508:名前は開発中のものです。
09/08/11 22:42:03 7cNeYFf+
×[image storage="image.tlg" page="back" left="tf.pos_x" top="tf.pos_y" layer="12" visible="true"]
○[image storage="image.tlg" page="back" left="&tf.pos_x" top="&tf.pos_y" layer="12" visible="true"]
509:名前は開発中のものです。
09/08/11 23:10:07 /qWwaawF
>>508
oh
o.......rz
ありがとうございます
510:名前は開発中のものです。
09/08/12 01:42:04 ErlnEzrS
>>499
それ継承(is-a)じゃなくてhas-aにするもんだと思うぞ。
クラス・関数どっちでもいいからヘルパーを用意する。
でなきゃ機能追加するたびに継承してカオスる。
511:名前は開発中のものです。
09/08/12 02:43:59 +MZUpSTy
右クリックでデフォだとメッセージレイヤが消えますよね。
それに、さらに一部の前景レイヤも消したいんですよ。
んで、色々調べてみたら、MainWindow.tjsの3000行目付近の
下記の辺りをいじくればどうにかなるってことまではわかったのですが、
その先が手詰まりです。
右クリックでメッセージレイヤと一部の前景レイヤが消えて、
クリックor右クリックで元の状態に復帰という動きにしたいんです。
function setMessageLayerHiddenState(b)
{
var layers;
layers = fore.messages;
for(var i = layers.count-1; i >= 0; i--) layers[i].setHiddenStateByUser(b);
layers = fore.layers;
for(var i = layers.count-1; i >= 0; i--) layers[i].setHiddenStateByUser(b);
// プラグインを呼ぶ
forEachEventHook('onMessageHiddenStateChanged',
function(handler, f) { handler(f.hidden); } incontextof this,
%[hidden:b]);
}
512:名前は開発中のものです。
09/08/12 02:47:52 +xCib+xM
デフォでその機能あると思うけど
[layopt autohide=true layer=2]
みたいな。
513:名前は開発中のものです。
09/08/12 06:41:21 +MZUpSTy
>>512
おお、本当ですた。
意外な機能があるんですねorz
ありがとうございます。
514:名前は開発中のものです。
09/08/12 14:26:34 mlqaS2Wh
今更感のあるネタだが ゆの in TJS
// ゆの in TJS
function yuno_in_tjs() {
var X = -1;
var _ = -1;
var 来週も見てくださいね = "Debug.message('ひだまりスケッチ×365 来週も見てくださいね!')";
return
X / _ / X < 来週も見てくださいね!;
}
誰かもっと変態的なコードにできない?
515:名前は開発中のものです。
09/08/12 15:01:55 zptbEzUH
>>514
今更感どころか初めて知った
なんだこれ可愛いなw
516:名前は開発中のものです。
09/08/12 15:42:16 mlqaS2Wh
// 改造版
// 後置! でのmix-inと、プロパティの評価を使ってみた
// 参考 URLリンク(d.hatena.ne.jp)
var ゆの;
property X {
getter() {
return ゆの === void ? (ゆの = "ひだまり") : (ゆの += "スケッチ"), -1;
}
}
property _ {
getter() {
return (ゆの += "×365"), -1;
}
}
var 来週も見てくださいね = "+Debug.message(ゆの += ' 来週も見てくださいね!')";
X / _ / X < 来週も見てくださいね!;
517:名前は開発中のものです。
09/08/12 19:53:41 +MZUpSTy
loadpluuginでwuvorbis.dllを読み込んでいるのに、
xxx.oggは対応できない Wave 形式ですって出る……
別のところではきちんとSEもBGMも出るのに、なんでだYO!
518:名前は開発中のものです。
09/08/12 19:56:34 +xCib+xM
ビットレートか何かがおかしいんじゃないかしら
519:名前は開発中のものです。
09/08/12 20:04:06 JU90xjFD
そういうエラーが出たかどうかはおぼえてないけど、
oggのモノラルは再生できなかったような気がする。
520:名前は開発中のものです。
09/08/12 20:08:17 RgWJtapw
単にファイルが壊れてるだけじゃないの?
あとはOggFlacとかになってるとか
521:名前は開発中のものです。
09/08/12 20:13:08 +MZUpSTy
いや、同じSEを他の場所で使っても大丈夫なんだ。
おさかな定食のsaveloadでマウスがオンしたときのSEを再生しようとすると、エラー吐く。
んで、そこを空欄にしてみたけど、今度はファイル名の部分が空白になって、
同じエラーが出てきたorz
明後日までに終わらない気がして来た……ごくり……
522:名前は開発中のものです。
09/08/12 20:15:22 GZbw9ZXF
SEならwavでいいじゃない
523:名前は開発中のものです。
09/08/12 20:16:46 JU90xjFD
得体の知れないものを使ってることが問題のような気が……。
524:名前は開発中のものです。
09/08/12 20:32:18 RgWJtapw
>>521
空白にしたら同じエラー?
ファイルがみつからないっていうエラーじゃなくて?
あと他の場所ってのは、別のソフトって意味じゃないよな
念のため、kirikiri2フォルダの中にあるaudioplayerでもテストしてみ
525:名前は開発中のものです。
09/08/12 21:11:03 +MZUpSTy
>>522
今確認したら、.wavだたorz
.wavで指定したら直りましたわ。
トンクス。
>>523
今更ながらそう思う
素直にクリッカブルマップを使えばよかったorz
てか、今からやっても間に合うかなw
>>524
いや、同じソフトの別のシナリオファイル
ファイルが見つからないんじゃなくて、
「 は対応できない Wave形式です」って。
こんなときにおさかな定食が工事中なんて\(^o^)/
背伸びしてあやえもさんのところのプロフェッショナル版を
使ったらもう涙目www
526:名前は開発中のものです。
09/08/12 21:27:15 mpozNXs2
もういい、少し黙れ
527:名前は開発中のものです。
09/08/13 02:53:53 KfueRWpR
コミケいつだっけ?
528:名前は開発中のものです。
09/08/13 02:57:18 RWL7PvZg
明日
529:名前は開発中のものです。
09/08/13 11:31:17 Zy2dAsPb
マスターアップまだなんだが・・・・。
もう泣きそう。
530:名前は開発中のものです。
09/08/13 12:16:33 9Uoqkqvn
わざわざ2chに来て泣き言を言うってことは、同人なんだよな?
そうだと言ってくれ。
531:名前は開発中のものです。
09/08/13 16:16:06 Q+XnYHTG
日付でわかれよ
532:名前は開発中のものです。
09/08/13 16:38:45 9Uoqkqvn
まるでこの時期にマスターアップを迎えるプロなど存在しないかのような
発言……?
さてはお前、モグリやな!!
533:名前は開発中のものです。
09/08/13 19:53:24 L3ZDE1ag
嫌なこと言うなよ……
こっちまで憂鬱になるだろ
534:名前は開発中のものです。
09/08/14 00:08:21 JoaK+4n+
そろそろRに焼き始めないとな
535:名前は開発中のものです。
09/08/14 00:16:31 /Qji50yL
がんばれ超がんばれ
536:名前は開発中のものです。
09/08/14 00:22:55 Eq33CpVN
似たような修羅場の奴多くてワロタ
さて、焼くか・・・
537:名前は開発中のものです。
09/08/14 02:44:49 FPQ4zdUk
変数にはf、sf、tf、varで宣言など複数種類がありますが
例えば「var scale = 100」などで一度設定した値を、二度と変更できなくする、
つまりこの場合で言うと、一度scaleという変数を宣言・使用しているのに
その事を忘れて、別の箇所で再度同名の変数を宣言・値の入力をしてしまっても、それを無効化する
というような方法は何かありませんか?
538:名前は開発中のものです。
09/08/14 02:57:50 IKjdu+Ms
読み出し専用プロパティにすればそういうことができる
property scale{
getter{ return 100; }
}
fなどにするのであれば、これを f.scale = *scale
とすればfに入るよ
539:名前は開発中のものです。
09/08/14 03:33:20 FPQ4zdUk
そういえば以前TJSの解説で、getterとかsetterとか見たような・・・
ありがとうございます
540:名前は開発中のものです。
09/08/14 03:55:23 pUVLWf53
ちょwドライブ壊れたお(・ω・)
TJSにconstやfinalはない。getterを使う。
541:名前は開発中のものです。
09/08/15 12:00:53 JEMY5t4s
CDに焼いたの起動したら
ストレージ ./e/myhoney!/savedata/datasc.ksd を開くことができません
って出た
542:名前は開発中のものです。
09/08/15 13:57:22 TlyPSHsG
ある素材を改変してシステムボタンを作っているのですが、KAGはともかくtjsがさっぱりなのでご教授願いたいです。
前略
function onSaveButtonClick()
{
// セーブ ボタンが押された
kag.saveBookMarkToFileWithAsk();
以下略
……というtjsスクリプトの kag.saveBookMarkToFileWithAsk(); の部分を改変して、
自作セーブ画面のksファイルを、タグで言うcallで呼び出すような感じにするには、どう記述すればよいのでしょうか?
できればご回答のほどよろしくお願いいたします。
543:名前は開発中のものです。
09/08/15 14:24:48 ev7uGu1G
kag.callExtraConductor('jasakusave.ks');
544:名前は開発中のものです。
09/08/16 03:45:45 pTlNtrsz
久しぶりに来たが
>>6のバグはまだ直ってないのかよw
545:名前は開発中のものです。
09/08/16 20:36:37 Y6R2wxM/
あれテンプレ
546:名前は開発中のものです。
09/08/16 23:39:14 LQiEnXrS
>>543
ありがとうございました!
547:名前は開発中のものです。
09/08/17 01:44:13 TM1IH0UX
deeたんネギ振ってる暇があったら吉里吉里に関する記事書いてくだせぇ。おねげえしますだ。
548:名前は開発中のものです。
09/08/17 01:48:34 8Fyt+PXL
ここんとこずっとハード屋さんだよな
549:名前は開発中のものです。
09/08/17 02:29:17 A6RGhWVo
吉里吉里に飽き飽きしてんじゃね?
550:名前は開発中のものです。
09/08/17 02:44:12 grkBxbsw
吉里吉里のオフ会やら勉強会やら参加しようって人が
飽きたとは考えにくい
551:名前は開発中のものです。
09/08/17 19:31:21 9VfA4Tkc
勉強会とかは、半ば義務とか強制意識だったりして……(´;ω;`)
552:名前は開発中のものです。
09/08/19 03:05:03 HkE4XRd9
Nスクだと、犬と猫みたいにSLGとかもあちこち見かけるんだけど、
吉里吉里だと、SLGってどんなのある?
作り始める前に、いっぺん手本を見ておきたいと思って
553:名前は開発中のものです。
09/08/19 11:02:49 j6gCmr0h
レイヤの輝度を時間で変化させることって出来ませんか?
アニメーションのように、クリック操作などに影響することない動作で、です
例えば、段々と暗くなっていく風景だとかをやりたいと思っています
ちょっとずつ暗くした風景.jpgを複数用意すればアニメーションでもやれるかなと思いますが、値をいじくるだけでどうにかならないかなということです
554:名前は開発中のものです。
09/08/19 18:03:18 MVto6jJL
>>553
手っ取り早く考えるなら暗い背景画像の上に
明るい背景画像を前景レイヤに置いてmoveタグで徐々に透明にする
もしくはtransタグでレイヤ指定してクロスフェード。
555:名前は開発中のものです。
09/08/19 18:56:28 xyySeW0n
TJSで、
var aa=20;
のように定義した変数を、ゲーム再起動後も保持するにはどうしたらいいですか?
システム変数にしたいのですが方法がわかりません。
556:名前は開発中のものです。
09/08/19 18:58:09 xyySeW0n
>>552
あまりないかも。自分も知りたい。
とりあえず「福音ノエマ」で検索すると同じ作者ので数本あるよ。
557:名前は開発中のものです。
09/08/19 19:01:19 GeFoES14
>>555
はじめっからsf.aa=20にしてたら駄目なの
SLGと一言で言っても、プリンセスメーカーみたいな育成系とか
ファイヤーエムブレムみたいなタクティクス系とか色々あるが
558:名前は開発中のものです。
09/08/19 22:27:06 uQNY+iWK
ちょっとググれば色んなジャンルの吉里吉里製SLGがいくらでもヒットするだろうに
商業だとナインテイルあたりが頑張ってるぞ
この程度調べることも出来ないヤツがSLGなんて作れるのかよ('A`)
559:553
09/08/19 23:03:36 j6gCmr0h
>>554
ありがとうございます。
moveって、名前からして移動だけのものとしか捉えてませんでした・・・。
試してみましたが、これでちょっと実現出来るかもです。
transはwtで待たなくてはいけないのでしたよね、確か。
560:名前は開発中のものです。
09/08/20 01:26:16 xoPuuaAi
>552
冠を持つ神の手、マジオススメ
561:名前は開発中のものです。
09/08/20 02:29:45 od0PolQU
>>560
あれはいいSLGだよな
個人っぽいフリーゲームだからおおっぴらに書くのも…と思ったが、
2chにもぼちぼちスレあったから、本スレ貼っとこう
【小麦畑】冠を持つ神の手 5日目【かもかて】
スレリンク(gameama板)
562:552
09/08/20 03:02:19 KXHm6VV3
>>556
>>558
>>560
皆さんどうもありがと。
実は普段同人エロゲばっかやってて、一般フリーのとかチェックしてなかった
いまあれこれ触ってるけど、吉里吉里のSLGもよく出来てるね~
勉強になる
563:名前は開発中のものです。
09/08/20 03:30:40 BKQ1SxeY
吉里吉里で麻雀作ってるスレもあるよー。コンソール見たらKAGの上で走ってたから思考だけTJSなんだろね。
完成したらコードを見てみたいものですよ。
まぁ俺は麻雀は卓から追い出されるくらい弱いからバイナリ眺めてるのと大差無いだろうけどもー
564:名前は開発中のものです。
09/08/20 06:13:41 so467EM9
evalはさんで仕方がないからtjsを使おうと思ったら、
kagからtjsへ、値保持のためにtjsからkagへ、で常に変数ごとに数行かかるのね……
565:名前は開発中のものです。
09/08/20 12:20:59 sDLzHeBi
>>561
オープニングの演出を見て、フレームレート低いけど頑張ってるなー
と思ったら、flashだった……
566:名前は開発中のものです。
09/08/20 18:56:51 ews9cLoO
evalのexpの中ってTJS式の評価って事だけど、例えば
exp="var aaa = 0, var bbb = 1"
なんて複数の式入れても正しく処理されないんだけど
一つのevalで複数処理するにはどうすればいいんでしょ
567:名前は開発中のものです。
09/08/20 19:19:27 LoykhIUz
>>566
式が文法的に間違ってる
2つ目のvarを取り除くか、コンマをセミコロンに置き換えれば実行できるはず
568:名前は開発中のものです。
09/08/20 19:50:54 ews9cLoO
>>567
ちゃんと出来ました、ありがとうございます
569:名前は開発中のものです。
09/08/21 09:36:44 9mcoFBl3
質問です
タグ作業の時に使う、かぐや姫っていうプログラムがサイト閉鎖でインストールできない…
代用できるプログラムは、あります?
570:名前は開発中のものです。
09/08/21 09:40:27 Oiohpdtt
適当なテキストエディタで色分けの定義ファイル使えばいいんじゃね?
秀丸エディタとかEmEditorとかTeraPadとかMKEditorとか(フリーのもシェアのもあるから注意)
まぁぶっちゃけメモ帳でも出来ないことはないし
571:名前は開発中のものです。
09/08/21 09:42:55 2HdBzd6P
俺はKKDE使っちゃってるな
楽でいい
572:名前は開発中のものです。
09/08/21 09:55:12 9mcoFBl3
>>570-571
レスはや!急いでたのでありがとう。
今回初めてゲーム作るんで参考になったよ。
573:名前は開発中のものです。
09/08/21 11:43:29 KmEeygtW
かぐや姫なら>>36にあるよ
574:名前は開発中のものです。
09/08/21 12:07:40 X4S31wZI
KKDEとかぐやってどっちがいい?
両方使ったことのある人の意見聞いてみたい
575:名前は開発中のものです。
09/08/21 12:27:41 ojR8D+Eu
KKDEメインでファイル直接開く時はかぐやで一部検索したり置き換えたりしてる
かぐやの検索が好きなんだけど、とくに両方使ってる意味は無い
KKDEはマクロが自動登録されるから楽
576:名前は開発中のものです。
09/08/23 14:40:11 Jp5gJK+C
jpeg画像を高画質で作成したのに
吉里吉里で表示すると汚いんだがなんでだ?
577:名前は開発中のものです。
09/08/23 14:46:05 fo9S+Ojh
>>576
高画質じゃなくて高解像度で作っちゃったんじゃないのか
578:名前は開発中のものです。
09/08/23 14:54:23 vIPhB1C3
pngにしたら?
579:名前は開発中のものです。
09/08/23 15:05:37 PW95AVH3
>>576
吉里吉里設定で 「グラフィック/JPEG画像デコード精度」を high にしなされ
そうすると、グラフィックソフトなみの精度でのデコードになって代わりに重くなる
580:576
09/08/23 15:07:13 Jp5gJK+C
>>577-578
レス㌧
色々試したら自己解決はした・・・
透過するからその部分のマットカラーを黒にしてたんだが
それを白にしたらマシになった
解決はしたけど疑問のまま納得がいかないぜ・・・
ちょうど黒のマットとの境目が低画質のjpegみたいに
四角い色分割が目立つんだ
解像度は72でやってるがなんだこれ
581:576
09/08/23 15:09:34 Jp5gJK+C
リロし忘れた&連レス失礼
>>576
おおトンクス!!
早速やってみる
582:名前は開発中のものです。
09/08/23 15:14:26 A2YXKz4f
混乱してるなw
でも素直にpng使うのがベターだと思うぜ
583:名前は開発中のものです。
09/08/23 15:15:12 YItf9t6e
jpgで……透過……だと?
考え直せ、というか調べ直せ。「jpg 透過」とかで検索して。
584:名前は開発中のものです。
09/08/23 15:21:54 vIPhB1C3
透過・・・・?
マスク使って出来ないことはないけど、素直にpng使ったら・・・?
585:名前は開発中のものです。
09/08/23 15:24:39 PW95AVH3
>>580
JPEGってのはもともと4×4だか8×8忘れたけど、ブロック単位で情報処理する関係で、
境界部分が劣化するのは画像フォーマットそのもの仕様
えーと、マスクデータをどうやって作ってる?
krkrtpc で変換してるなら、「完全透明部分の色情報」を「合成」にしてやってみ。
境界部のモスキートノイズが軽減される。
そのかわり情報量が増える関係でサイズはやや大きくなる。
586:576
09/08/23 15:32:23 Jp5gJK+C
>>582-584
うはwそんなにダメなのかw
マスク画像でpngより軽くなっていいかと思ったんだが・・・
>>585
丁寧にありがとう
マスクデータはフォトショでグレスケのjpg形式で作ってる
587:名前は開発中のものです。
09/08/23 15:40:58 PW95AVH3
>>586
jpeg はダメってことはないよ。吉里吉里がせっかく対策ツールを準備してくれてるのに皆使い方を知らないだけw
フォトショップで作ってるなら、それが犯人だ。
上でかいた通り、PNGで一旦出力して、それを krkrtpc でJPEGに変換すればOK
588:名前は開発中のものです。
09/08/23 15:54:30 A2YXKz4f
>>586
マジレスすると、仮に画像の容量が数十MB増えたところで、
最近のネット環境やHDDのサイズから考えると、たいした差じゃないし、
展開時の負荷も800x600程度じゃ誤差のレベル
マスク画像を作る手間を省いてpngにしてしまったほうが効率いいよ
589:576
09/08/23 17:38:20 Jp5gJK+C
>>587-588
ありがとう色々と勉強になった
効率とほどほどに容量を考えて画像形式を選びます
590:名前は開発中のものです。
09/08/23 18:41:17 VhGKlezw
TLG6も忘れないでね……
591:名前は開発中のものです。
09/08/23 21:49:53 SjeNApON
moveタグで綺麗に曲線移動させる方法ってありませんか?
1つ1つ、1ピクセルごとに指定するのはちょっと面倒で・・・
配列に座標を入れて参照させるとか、そういう方法しか無いでしょうか
592:名前は開発中のものです。
09/08/23 22:10:23 Vz5AcZx7
タグリファレンス嫁、属性にsplineってのがある。
593:名前は開発中のものです。
09/08/24 01:59:34 cm/5sCHw
まったく普及していない以外は完ぺきなJPEG 2000が実装されてればry
594:名前は開発中のものです。
09/08/24 03:17:41 FVqq4jrk
>>592
おお、これは失礼しました
こんなのがあったとは
595:名前は開発中のものです。
09/08/24 22:04:29 khIsAeWN
前景画像を完全に「なくす」には @freeimage layer=0 という認識でいるのですが
メッセージレイヤを完全になくすにも @freeimage layer=message0 みたいな感じでよいですか?
596:名前は開発中のものです。
09/08/24 22:24:59 MUoD3jpl
>>595
laycountで減らすと完全になくすことができる
freeimageはアニメーション画像などを含め読み込まれているデータを削除して初期化するイメージ
でもってfreeimageはメッセージレイヤに対しては使えない。タグリファレンス読みなされ
表示させたくないのであればlayoptでvisible=false
597:名前は開発中のものです。
09/08/24 22:37:59 TdIgriwl
;下記を動かしたところ期待した動きと違ったので、何故そうなったのか教えていただけるとあり難いです。
;期待していた動き:message0には赤い文字で0123456789と書かれ、message1~9まで自分の番号が緑色の文字で書かれる
;実際の動き:message0に緑の文字で9とだけ書かれ、他のmessageには何も書かれない
[eval exp="tf.count = 0"]
*test_loop
;メッセージ0に赤い文字で0から9まで書く
[position layer="message0" page="back" visible="true"]
[current layer="message0" page="back"]
[delay speed="nowait"]
[font color="0xff0000"]
[locate x=0 y="&(tf.count * 100)"]
[emb exp="tf.count"]
;メッセージ1からメッセージ10まで緑の文字でメッセージ番号と同じ数字を書く
[position layer="message&(tf.count + 1)" page="back" visible="true"]
[current layer="message&(tf.count + 1)" page="back"]
[delay speed="nowait"]
[font size=15 bold=false color="0x00ff00"]
[emb exp="tf.count"]
; 10回繰り返す
[jump target=*test_loop cond="++tf.count < 10"]
[trans method=crossfade time=500]
[wt][s]
598:596
09/08/24 22:45:27 MUoD3jpl
>>595
すまん。読み違えをしてた
画像を読み込んだ結果を削除するには、別の画像を読み込んだりLayer.fillRectで上書きすれば可能
メッセージレイヤには使えないけど、freeimageも塗りつぶし作業は含まれている
メッセージレイヤに対して、文章の内容を削除したい(フレームで塗りつぶす)場合はcm/ct/er各タグ
フレームを消去したい場合はpositionでframe="" opacity=0すれば透明色で塗りつぶしてくれる
599:596
09/08/24 22:59:05 MUoD3jpl
>>597
まず [current layer="message&(tf.count + 1)" page="back"] でのエンティティの使い方が間違っている
&記号は変数の前につけるものではなく、属性値の一番頭につけるものなので注意
正しくは、layer="&'message'+(tf.count+1)"
もうひとつはpositionタグはメッセージレイヤの属性を変更させた後に内容をクリアしてしまうので
最初にすべてのメッセージレイヤの属性を設定しておいて、ループ時にはカレントレイヤの設定や
文字の描画などのみを行えば問題ない
どっちにしろ、まずはnowaitせずに表ページに描画させてみてたら気付けることでは?
600:名前は開発中のものです。
09/08/25 10:02:12 tvTZLlGE
吉里吉里の掲示板のRSSって今機能してないよね?
601:名前は開発中のものです。
09/08/25 23:07:13 vmwSCoEp
>>596,598
欲しかったCriticalな回答は>>596で頂戴できました
ありがとうございます。お礼が遅くなりすみませんでした
602:名前は開発中のものです。
09/08/26 14:36:53 LRnh2Pks
Syntheの正式サービス始まったのにレポが書き込まれないな。
俺はプラグイン使えんと話にならんので論外なんだが皆そんな感じでスルーしてんのかね?
603:名前は開発中のものです。
09/08/26 18:31:38 yDc9+Q00
>>602
ですです
604:名前は開発中のものです。
09/08/26 18:34:47 Hipp3Exa
単純に人が少なすぎて萎えてる
605:名前は開発中のものです。
09/08/26 22:28:01 Jy7sD6zs
メッセージ履歴拡張プラグイン
公開してくれてたサイトが見れなくなってるけど
俺だけ?
606:名前は開発中のものです。
09/08/27 21:10:10 gM76sJ8s
シナリオを書いているときには「我ながら傑作だ!」と思うのですが、
あとから見直してみると糞つまらないです。
どうすればいいでしょうか(><)
607:名前は開発中のものです。
09/08/27 21:15:03 8eYIqD4Q
>>606
スク打ちする時に納得するまで直す
他人のシナリオでも問答無用で直す
あとここ吉里吉里スレ
608:名前は開発中のものです。
09/08/27 21:31:35 AB+wzChq
後から見ても面白いシナリオを書けばいいじゃない
609:名前は開発中のものです。
09/08/27 21:35:00 p3hpZNs6
いっそ見直さなければいいんじゃね?
610:名前は開発中のものです。
09/08/27 21:39:44 7kWfK0WZ
最初からつまらなければいいんじゃないか?
611:名前は開発中のものです。
09/08/27 21:41:55 4TNuvWiS
まあここは吉里吉里使いの“雑談”スレだし、凄く真面目にレスすると
>>606
沢山書く。書いて「駄目だ」、書いて「意外と良いな」、それを繰り返す。
と、書き上がる前、書いてる最中から「これは無いな」という判断が出来るようになる。
あとは手持ちのアイデア、知識でどう面白くするかの勝負。
612:名前は開発中のものです。
09/08/27 21:58:02 HZ5KsWqq
やりたい演出とかみ合わない時にばっさりけずったり書き換えたり……はケンカの元ですよね、はい
613:名前は開発中のものです。
09/08/28 16:09:59 NvNmqP8E
吉里吉里初心者です質問です。
とりあえずマニュアルに沿って勉強してるんですが・・・
URLリンク(gazoubbs.com)
↑これどうにかなりませんか
立ち絵の周りの白モザイク。。。
SAIの消しゴムで周りの邪魔なところを消して
[image storage=kyon.jpg layer=0 visible=true key=0xffffff]\
と打ってるんですが、いくら修正しても直らない・・・
614:名前は開発中のものです。
09/08/28 16:15:22 yMF4mU/Q
pngを使う
615:名前は開発中のものです。
09/08/28 16:20:30 NvNmqP8E
PNG読み込み中にエラーが発生しました
って出ました;;
616:名前は開発中のものです。
09/08/28 16:25:55 NvNmqP8E
うほっ
作り直したらでけた
>>614に心からの敬意を払います
617:名前は開発中のものです。
09/08/28 16:26:30 TZ/1Ammw
Sai使ったこと無いからわからないけど
Png保存のオプションとか無いの?
618:名前は開発中のものです。
09/08/28 16:46:39 9MekqzTw
SAIでPSDで保存して、PhotoshopでPNGに保存するとかじゃなかったっけ?
そんな面倒くさいことやらないか。
619:名前は開発中のものです。
09/08/28 16:50:10 TZ/1Ammw
Saiってそんなにいいのか?
はなからphotoshop使えと思う
620:名前は開発中のものです。
09/08/28 16:51:58 aLLsPKr8
線ひく場合は間違いなく SAI のがいい
621:名前は開発中のものです。
09/08/28 16:55:15 TZ/1Ammw
GimpPainterのGpenよりもいい?
622:名前は開発中のものです。
09/08/28 17:01:33 aLLsPKr8
それは使ったことないからシラネ
とりあえず Photoshop で線ひくのはもはや苦行
623:名前は開発中のものです。
09/08/28 17:04:19 ZH8ByXf3
まあphotoshopはペイントソフトじゃなくてフォトレタッチソフトだしね。
比べる対象としては不適切。
624:名前は開発中のものです。
09/08/28 17:09:55 TZ/1Ammw
Ok覚えとく
photoshopで線は引きずらい
625:名前は開発中のものです。
09/08/28 17:23:18 tLqpjvTJ
>>624
一応ここのスレタイも覚えておいてくれ
あと、お前のIDなんかかっこいいな
626:名前は開発中のものです。
09/08/29 01:49:29 vZGIBcqA
>>664 のIDはSAIボーグみたいでかっこいいよな!
627:名前は開発中のものです。
09/08/29 01:50:45 vZGIBcqA
アンカーミスった! 許せ諸君
628:名前は開発中のものです。
09/08/29 02:54:31 9MiVBryN
>>612
まあ演出切るのはいいがBGM没にすると音屋に呪い殺される。
629:名前は開発中のものです。
09/08/29 07:05:18 IRALa+ZT
質問です
tf.para1 に 'あああ' を代入しようとしたとき
[eval exp="tf.sort_no = 1"]
[eval exp="'tf.para' + tf.sort_no = 'あああ'"]
こう記述してもうまくいきません…。
何がいけないのでしょうか。 というかどうすればいいのでしょうか(´・ω・`)
630:名前は開発中のものです。
09/08/29 08:40:55 SBh95MS0
[eval exp="tf['para' + tf.sort_no] = 'あああ'"]
sfとかfとかtfとかは辞書配列で、.以降は要素名だからこう書かないとだめ。
631:名前は開発中のものです。
09/08/29 09:07:43 dxp0ed73
他の人が作ったゲームのソースコードが見たいけど
開示してるサイトってありますか?
ゲームやってから、ここの処理はどう書いてるんだろうと見直して勉強したい・・・
632:名前は開発中のものです。
09/08/29 09:15:59 IRALa+ZT
>>630
はぁぁぁん(*´д`*)ビクンビクン
ありがとうございました!
633:名前は開発中のものです。
09/08/29 09:24:10 SBh95MS0
>>631
「吉里吉里/KAGではじめるゲーム制作」に幾つかソースままのデータが入ってる
はずだよ。
今は亡き林檎坂通信さんのやつとか。
634:名前は開発中のものです。
09/08/29 14:58:48 Av1DyQMi
質問失礼します。
立ち絵をジャンプさせるマクロを作っていて
任意(mp.up)の数をmoveタグのy座標に代入したいのですが
[macro name=fg_jump]
;ジャンプの高さ指定
[eval exp="tf.up = 20 - mp.up" cond="mp.up !== void"]
;指定がないときの高さ(デフォルト)
[eval exp="tf.up = 20" cond="mp.up == void"]
[move layer=1 path="(500, &tf.up, 255) (500, 30, 255)" time=%time]
[endmacro]
のマクロで、以下シナリオ本文で
[fg_jump up=30]または[fg_jump]と入力しても
この値に関係ない指定した覚えの無い高さまで移動します
監視式を見てもtf.upはちゃんと変化しているようですが
moveタグの path="(500, &tf.up, 255)"には反映されていないようです
何か記述のミスなどの指摘があればよろしくお願いします
635:名前は開発中のものです。
09/08/29 15:07:39 3zgo1c3n
&は、KAGにおいて、引数の先頭にある場合にその後ろを式とみなして評価した結果を値とする機能。
中途で使えるようなものではない (TJS的な & は「参照」で意味が違う)
つまり正しい書き方は、
path='&"(500," + tf.up + ",255)"'
このように式を展開するか、あるいは、@つき文字列即値を使って
path='&@"(500,${tf.up},255)"'
こうする
636:名前は開発中のものです。
09/08/29 15:22:07 Av1DyQMi
>>635
即レスありがとうございます!
無事解決できました
勉強不足でお恥ずかしいです
とても助かりました
637:名前は開発中のものです。
09/08/29 15:47:07 dxp0ed73
>>633
レスありがとうございます。
その本は以前購入しようとして結局見つからずに断念したものですが、また探してみようと思います。
ついでにもう1つ質問なのですが、
一行分の大きさのメッセージレイヤ2つを交互に使っているのですが、
メッセージの履歴が改行されてない状態になってしまいます。
かといって改行タグを使うと、自動改ページ機能が働いてレイヤ上のメッセージが消えてしまいます。
なにかいい解決策はありますか?
最悪メッセージの履歴表示機能をオフにしようと思うのですが読み返せないのはやっぱり不便ですよね・・・
638:名前は開発中のものです。
09/08/29 15:51:48 SBh95MS0
>>637
hr
まずタグリファな。
639:名前は開発中のものです。
09/08/29 21:23:52 dC2nEmUv
>>631
ExtractDataで展開
640:名前は開発中のものです。
09/08/29 21:29:23 k84KABJA
>>639
スルー検定に落第しました。
潔く出て行ってください
641:名前は開発中のものです。
09/08/29 23:45:25 IRALa+ZT
キャラが複数居て、それぞれにパラメータを設定する場合
「Aの攻撃力」「Aの防御力」「Aの素早さ」…
「Bの攻撃力」「Bの防御力」「Bの素早さ」…
「Cの攻撃力」…
があるとしまして。これらを管理する場合、どう管理したほうが良いか
皆さんの私見で結構なので 参考にしたいと思います。
(*-A)1次元の配列を複数もって、パラメータごとに管理
f.attack[0] = Aの攻撃力;
f.attack[1] = Bの攻撃力;
...
f.guard[0] = Aの防御力;
f.guard[1] = Bの防御力;
...
(*-B)1次元の配列で、各キャラごとに管理
f.charaA[0] = Aの攻撃力;
f.charaA[1] = Aの防御力;
...
f.charaB[0] = Bの攻撃力;
f.charaB[1] = Bの防御力;
... (改行が多すぎるといわれたので続きます)
642:名前は開発中のものです。
09/08/29 23:46:36 IRALa+ZT
(**)2次元配列を使って管理
f.para[0][0] = Aの攻撃力;
f.para[0][1] = Aの防御力;
...
f.para[1][0] = Bの攻撃力;
f.para[1][1] = Bの防御力;
...
(***)その他(´・ω・`) 何か良い案があれば。。
プログラミングにあまり慣れていなく、どういう書き方が標準なのか恥ずかしながらよくわかりません。
いつもこのスレではお世話になっています。 よろしくお願いいたします。
643:名前は開発中のものです。
09/08/29 23:58:47 IHRS9lpa
2次元配列を使って管理
644:名前は開発中のものです。
09/08/30 00:14:31 XHRMXqNj
なんで連想配列使わないの?
C++なのにレコードを多次元配列で持つタイプ?
おれならクラス作る。
645:名前は開発中のものです。
09/08/30 00:47:16 WBEte2L6
TJSでやるならそれはキャラをそれぞれオブジェクトにして
攻撃力や素早さなどはそのプロパティあるいはメンバ変数にするだろうな
class Character{
var attack, guard, agility;
}
f.charaA = new Character();
f.charaA.attack = Aの攻撃力;
f.charaA.guard = Aの防御力;
f.charaB = new Character();
f.charaB.attack = Bの攻撃力;
646:名前は開発中のものです。
09/08/30 00:49:14 G85zUtdu
オブジェクトにする場合シリアライズとかはどうしてるの?
647:名前は開発中のものです。
09/08/30 00:49:35 HBF82cII
コンストラクタでやればいいじゃん。ダメなの?
648:名無しさん@そうだ選挙に行こう
09/08/30 15:08:32 SVmNlOKF
function store()
{
var dic = %[];
return dic;
}
function restore(dic)
{
}
詳しくはKAGLayerとか見ればわかるよ。
649:641
09/08/30 21:41:55 yXgat51Z
>>641です
皆さん色々なご意見ありがとうございます!
>>645のがカッコイイのでさっそく勉強したいと思います。
お礼が遅くなり申し訳ありませんでした。
650:名前は開発中のものです。
09/08/30 22:36:54 K93cqofk
カッコイイのでキリッ
651:名前は開発中のものです。
09/08/31 01:36:29 6Ze5IMfu
>>641=>>649です
@iscript
class Character{
var attack, guard, agility;
}
f.chara1 = new Character();
f.chara1.attack = 5;
f.chara1.guard = 10;
f.chara1.agility = 15;
}
@endscript
@eval exp="tf.chara_no = 1"
1キャラ目の攻撃力は
@emb exp="f['chara' + tf.chara_no + '.attack']"
こー書いてもうまくいきません。
(´・ω・`)根本的に何か間違ってるような気がするのですが、、、誰か助けて
652:名前は開発中のものです。
09/08/31 01:38:02 6Ze5IMfu
>>651の
@endscript の前の } は忘れてください(´・ω・`)
653:名前は開発中のものです。
09/08/31 01:38:37 AfpsNn9w
>>651
@emb exp="f['chara' + tf.chara_no + '].attack'"
じゃねーの?
654:名前は開発中のものです。
09/08/31 01:51:19 6Ze5IMfu
>>653
だめぽいです。。。
655:名前は開発中のものです。
09/08/31 01:56:51 VnIgZebe
tjs自体にはうといから他の部分はわからんけど、emb部分は
@emb exp="f['chara' + tf.chara_no].attack"
こうじゃない?
656:名前は開発中のものです。
09/08/31 02:00:37 lg9kAr9n
TJS式が
f["chara1"].attack
になってほしいのだから
@emb exp="Scripts.eval('f["chara' + tf.chara_no + '"].attack')"
とかじゃないかな?
または、そもそも別の方法として、f.chara1ではなく
f.chara = [];
f.chara[1] = new Character();
f.chara[1].attack = 5;
などのようにとしておいて
@eval exp="tf.chara_no = 1"
@emb exp="f.chara[tf.chara_no].attack"
とするのがスマートかもしれない
657:名前は開発中のものです。
09/08/31 02:01:28 lg9kAr9n
あ、ごめん前半は>>655の言うとおり
658:名前は開発中のものです。
09/08/31 02:05:18 6Ze5IMfu
>>655でいけました(`・ω・´)! 感謝です
>>656を見習って配列にします。 ' で囲ったりとか面倒。>>656のカッコイイ!
class変数の配列の書き方の発想って こんな感じでいいんですよね?
なんかもっとこう バシィーッ! とスマートなものがあったりしたら泣いちゃう
659:名前は開発中のものです。
09/08/31 02:47:41 71fBpEmq
>>648
これ、保存する時はともかく、栞から復帰する場合はどうすればいいの?
栞を読み込むと、f.charaA = new Character(); で言うと
f.charaAが「null オブジェクトにアクセスしようとしました」
ってなる
660:名前は開発中のものです。
09/08/31 02:54:29 lg9kAr9n
>>658
うん。
chara1などのようにすると、数字の部分を可変にするためには
よけいな手間がかかるから、その場合は
chara[1]のように配列にするのがスマートかと
>>659
それはあくまでイメージ図で、
実際はstoreでは必要なパラメータを全部Dictionaryに書き出しと
逆にrestoreでは全部Dictinaryから書き戻しをやっている
っていうことを言いたかったのだと思うよ
661:名前は開発中のものです。
09/08/31 02:57:03 umMB3oc1
f に自前オブジェクト格納するのはやってはいけない間違い。
KAGプラグインの形で書いてグローバルに保持するようにして、
保存/復帰処理を書いて処理するようにしないとダメ
662:名前は開発中のものです。
09/08/31 03:03:30 lg9kAr9n
あーー。
うん。確かにそうだ
その通り
663:名前は開発中のものです。
09/08/31 03:12:02 71fBpEmq
>>660
イメージ図なのは分かってるから、中身は自分で書いたけど
栞からの復帰時に、そもそものオブジェクトがnullがどうとかで
正しく復帰できないから、どうするのかなと思って
664:名前は開発中のものです。
09/08/31 06:20:30 6Ze5IMfu
>>661
えっ つまり自分は やってはいけないことを しているということです?
665:名前は開発中のものです。
09/08/31 07:11:42 0AzCggCv
>>664
もしCharacterがデータを保持するだけのメソッドを持たないクラスなら辞書配列を使ったら?
こんな感じに。
function createCharacterData() {
return %["attack" => void, "guard" => void, "agility" => void];
}
f.chara1 = createCharacterData();
f.chara1.attack = 5;
f.chara1.guard = 10;
f.chara1.agility = 15;
666:名前は開発中のものです。
09/08/31 08:04:21 6Ze5IMfu
>>665
初めてみるカタチです ちょっとググってきます
667:名前は開発中のものです。
09/08/31 09:25:06 6Ze5IMfu
ここのところお世話になりっぱなしなのですが、質問させてください
セーブ/ロード画面で
[eval exp="tf.save_date = kag.getBookMarkDate(tf.save_i)"]
[emb exp="tf.save_date"] [emb exp="kag.getBookMarkPageName(tf.save_i)"]
このように 「i番目の栞をセーブした日付 i番目の栞の見出し(ブックマーク名)」 を
リンク文字列として表示させておくのは よく見ますし、手元のマニュアルにも書いてあります。
これを、例えば「ゲーム上で今、何日目か」をf.date で格納していたとして
(例: [emb exp="f.date"]日目 )
セーブリストのところに
「2009/08/31 09:15 4日目」
「2009/08/31 09:20 5日目」
などというリンク文字列を表示させるのは可能なのでしょうか?
668:名前は開発中のものです。
09/08/31 11:15:10 tftmHrrH
>>667
f.date : 何日目か記録 →ゲーム中に使用する
として、sf.savedata_dateとかの配列のシステム変数作って、
セーブする時、sf.savedata_date[何番目のデータか]=f.dateで
記録しといてセーブ画面の時はそれ表示するだけでいいんでないの?
669:名前は開発中のものです。
09/08/31 12:01:51 6Ze5IMfu
>>668
すげぇー!ソノハッソウハナカッタワ
そういうコトがなぜ思いつかないんだ自分。ありがとうございます。
670:名前は開発中のものです。
09/08/31 12:12:26 6Ze5IMfu
どんどん質問してすみません。。
[link]タグをループでいくつかまとめて表示させて、
そこにexpパラメータを入れたいのですがうまくいきません。
[eval exp="tf.loop_i = 1"]
*loop
[link target="*next" exp="tf.temp = tf.loop_i"] [emb exp="tf.loop_i"]番目選択肢[endlink][r]
[jump target="*loop" cond="++tf.loop_i < 5"]
[s]
*next
[er][emb exp="tf.temp"]番目が選択されました。
このように記述すると、「1番目の選択肢」~「4番目の選択肢」が表示されて
例えば「3番目の選択肢」を選択したら「3番目が選択されました」と書かれてほしいのに、
[s]までいった時点のtf.loop_i = 5 がtf.tempに代入されて、「5番目が選択されました」と出てきてしまいます。。
どうすればよいでしょうか(´・ω・`)
今は仕方なくループさせずにソース全部書いて対応してるます。。
671:名前は開発中のものです。
09/08/31 13:44:34 zdtyTQlt
>>665
それだと要素名ごと書き換えられるのでクラスにしてアクセサ付けた方がいい
672:名前は開発中のものです。
09/08/31 14:01:13 JRiWrqja
>>664
そうです。
やってみてわかったかと思いますが、
オブジェクトは Dictionary.saveStruct がスルーするので
保存/復帰しても null になるだけです。
辞書を使うかプラグイン書くのが正解
>>670
link の exp の内容は、選択時に動的に評価されるから当然。
エンティティを使って、タグ展開時に式を展開した状態で構築すると良い。
emb の exp はもともとタグ展開時に評価されるからそのままで問題なし。
[link target="*next" exp="&'tf.temp = ${tf.loop_i}'"] [emb exp="tf.loop_i"]番目選択肢[endlink][r]
673:名前は開発中のものです。
09/08/31 14:02:19 JRiWrqja
ごめん間違い
exp="&@'tf.temp = ${tf.loop_i}'"
674:名前は開発中のものです。
09/08/31 15:09:35 x8IgEXvi
Releaser (krkrrel.exe)を走らせて、アーカイブ化するフォルダー(プロジェクトフォルダーや画像フォルダー)を指定すると
krkrrelが落ちるんですが、何がおかしいのでしょう・・・?
バージョンは吉里吉里2 2.30 安定版 Revision 2です。
675:名前は開発中のものです。
09/08/31 15:55:47 a6P4SBYg
基本的な質問で申し訳ないんだが、
メッセージレイヤーでフレームに画像を指定する場合、
スクリプト側でフレーム画像の不透明度を変更するのってどうやるの?
676:名前は開発中のものです。
09/08/31 21:58:18 x8IgEXvi
>>674
自己解決しますた。PC再起動何度かしたら普通に動いた・・・何だったんだ・・・
677:名前は開発中のものです。
09/09/01 00:51:49 65nrQjas
>>664=670です
>>672
あなたがネ申か という感じです…。
実際にプレイしてみて最初は問題なかったのですが、
セーブ→ロード→エラー。 何これ? と思ってここに覗きに来たらもう対処方法が書いてありました。感激です
f.chara = [];
(for var i=1; i<20; i++)f.chara[i] = %[];
f.chara[1].attack = 10;
…
のように書くことができました(゚∀゚)!こっちのほうが記述も簡単でした(笑
exp="&@'tf.temp = ${tf.loop_i}'" の件も、@の意味が分かりませんが
そのままコピペしたら出来ました。 こんな理解度でよいのでしょうか。。。
どうもありがとうございます! いつもここに来るたびにスッキリして帰れるのでとてもありがたいです
678:名前は開発中のものです。
09/09/01 01:00:11 0gFeSmh7
>>677
どうでもいいというか細かい事だけど
(for var i=1; i<20; i++)
はi=1じゃなくてi=0にしろ
679:名前は開発中のものです。
09/09/01 01:07:55 MizE3a9r
>>677
URLリンク(devdoc.kikyou.info) をよんどきなされ