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

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

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

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

前スレ:■吉里吉里/KAG/TJS雑談質問スレ■その17
http://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の公式掲示板や講座等を併用してください。
(併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)
05895762009/08/23(日) 17:38:20ID:Jp5gJK+C
>>587-588
ありがとう色々と勉強になった
効率とほどほどに容量を考えて画像形式を選びます
0590名前は開発中のものです。2009/08/23(日) 18:41:17ID:VhGKlezw
TLG6も忘れないでね……
0591名前は開発中のものです。2009/08/23(日) 21:49:53ID:SjeNApON
moveタグで綺麗に曲線移動させる方法ってありませんか?
1つ1つ、1ピクセルごとに指定するのはちょっと面倒で・・・
配列に座標を入れて参照させるとか、そういう方法しか無いでしょうか
0592名前は開発中のものです。2009/08/23(日) 22:10:23ID:Vz5AcZx7
タグリファレンス嫁、属性にsplineってのがある。
0593名前は開発中のものです。2009/08/24(月) 01:59:34ID:cm/5sCHw
まったく普及していない以外は完ぺきなJPEG 2000が実装されてればry
0594名前は開発中のものです。2009/08/24(月) 03:17:41ID:FVqq4jrk
>>592
おお、これは失礼しました
こんなのがあったとは
0595名前は開発中のものです。2009/08/24(月) 22:04:29ID:khIsAeWN
前景画像を完全に「なくす」には @freeimage layer=0 という認識でいるのですが
メッセージレイヤを完全になくすにも @freeimage layer=message0 みたいな感じでよいですか?
0596名前は開発中のものです。2009/08/24(月) 22:24:59ID:MUoD3jpl
>>595
laycountで減らすと完全になくすことができる
freeimageはアニメーション画像などを含め読み込まれているデータを削除して初期化するイメージ
でもってfreeimageはメッセージレイヤに対しては使えない。タグリファレンス読みなされ
表示させたくないのであればlayoptでvisible=false
0597名前は開発中のものです。2009/08/24(月) 22:37:59ID: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]
05985962009/08/24(月) 22:45:27ID:MUoD3jpl
>>595
すまん。読み違えをしてた
画像を読み込んだ結果を削除するには、別の画像を読み込んだりLayer.fillRectで上書きすれば可能
メッセージレイヤには使えないけど、freeimageも塗りつぶし作業は含まれている
メッセージレイヤに対して、文章の内容を削除したい(フレームで塗りつぶす)場合はcm/ct/er各タグ
フレームを消去したい場合はpositionでframe="" opacity=0すれば透明色で塗りつぶしてくれる
05995962009/08/24(月) 22:59:05ID:MUoD3jpl
>>597
まず [current layer="message&(tf.count + 1)" page="back"] でのエンティティの使い方が間違っている
&記号は変数の前につけるものではなく、属性値の一番頭につけるものなので注意
正しくは、layer="&'message'+(tf.count+1)"

もうひとつはpositionタグはメッセージレイヤの属性を変更させた後に内容をクリアしてしまうので
最初にすべてのメッセージレイヤの属性を設定しておいて、ループ時にはカレントレイヤの設定や
文字の描画などのみを行えば問題ない

どっちにしろ、まずはnowaitせずに表ページに描画させてみてたら気付けることでは?
0600名前は開発中のものです。2009/08/25(火) 10:02:12ID:tvTZLlGE
吉里吉里の掲示板のRSSって今機能してないよね?
0601名前は開発中のものです。2009/08/25(火) 23:07:13ID:vmwSCoEp
>>596,598
欲しかったCriticalな回答は>>596で頂戴できました
ありがとうございます。お礼が遅くなりすみませんでした
0602名前は開発中のものです。2009/08/26(水) 14:36:53ID:LRnh2Pks
Syntheの正式サービス始まったのにレポが書き込まれないな。
俺はプラグイン使えんと話にならんので論外なんだが皆そんな感じでスルーしてんのかね?
0603名前は開発中のものです。2009/08/26(水) 18:31:38ID:yDc9+Q00
>>602
ですです
0604名前は開発中のものです。2009/08/26(水) 18:34:47ID:Hipp3Exa
単純に人が少なすぎて萎えてる
0605名前は開発中のものです。2009/08/26(水) 22:28:01ID:Jy7sD6zs
メッセージ履歴拡張プラグイン
公開してくれてたサイトが見れなくなってるけど
俺だけ?
0606名前は開発中のものです。2009/08/27(木) 21:10:10ID:gM76sJ8s
シナリオを書いているときには「我ながら傑作だ!」と思うのですが、
あとから見直してみると糞つまらないです。
どうすればいいでしょうか(><)
0607名前は開発中のものです。2009/08/27(木) 21:15:03ID:8eYIqD4Q
>>606
スク打ちする時に納得するまで直す
他人のシナリオでも問答無用で直す
あとここ吉里吉里スレ
0608名前は開発中のものです。2009/08/27(木) 21:31:35ID:AB+wzChq
後から見ても面白いシナリオを書けばいいじゃない
0609名前は開発中のものです。2009/08/27(木) 21:35:00ID:p3hpZNs6
いっそ見直さなければいいんじゃね?
0610名前は開発中のものです。2009/08/27(木) 21:39:44ID:7kWfK0WZ
最初からつまらなければいいんじゃないか?
0611名前は開発中のものです。2009/08/27(木) 21:41:55ID:4TNuvWiS
まあここは吉里吉里使いの“雑談”スレだし、凄く真面目にレスすると

>>606
沢山書く。書いて「駄目だ」、書いて「意外と良いな」、それを繰り返す。
と、書き上がる前、書いてる最中から「これは無いな」という判断が出来るようになる。
あとは手持ちのアイデア、知識でどう面白くするかの勝負。
0612名前は開発中のものです。2009/08/27(木) 21:58:02ID:HZ5KsWqq
やりたい演出とかみ合わない時にばっさりけずったり書き換えたり……はケンカの元ですよね、はい
0613名前は開発中のものです。2009/08/28(金) 16:09:59ID:NvNmqP8E
吉里吉里初心者です質問です。
とりあえずマニュアルに沿って勉強してるんですが・・・
http://gazoubbs.com/karimasu/img/1218873207/18.jpg
↑これどうにかなりませんか
立ち絵の周りの白モザイク。。。
SAIの消しゴムで周りの邪魔なところを消して
[image storage=kyon.jpg layer=0 visible=true key=0xffffff]\
と打ってるんですが、いくら修正しても直らない・・・
0614名前は開発中のものです。2009/08/28(金) 16:15:22ID:yMF4mU/Q
pngを使う
0615名前は開発中のものです。2009/08/28(金) 16:20:30ID:NvNmqP8E
PNG読み込み中にエラーが発生しました
って出ました;;
0616名前は開発中のものです。2009/08/28(金) 16:25:55ID:NvNmqP8E
うほっ
作り直したらでけた
>>614に心からの敬意を払います
0617名前は開発中のものです。2009/08/28(金) 16:26:30ID:TZ/1Ammw
Sai使ったこと無いからわからないけど
Png保存のオプションとか無いの?
0618名前は開発中のものです。2009/08/28(金) 16:46:39ID:9MekqzTw
SAIでPSDで保存して、PhotoshopでPNGに保存するとかじゃなかったっけ?
そんな面倒くさいことやらないか。
0619名前は開発中のものです。2009/08/28(金) 16:50:10ID:TZ/1Ammw
Saiってそんなにいいのか?
はなからphotoshop使えと思う
0620名前は開発中のものです。2009/08/28(金) 16:51:58ID:aLLsPKr8
線ひく場合は間違いなく SAI のがいい
0621名前は開発中のものです。2009/08/28(金) 16:55:15ID:TZ/1Ammw
GimpPainterのGpenよりもいい?
0622名前は開発中のものです。2009/08/28(金) 17:01:33ID:aLLsPKr8
それは使ったことないからシラネ
とりあえず Photoshop で線ひくのはもはや苦行
0623名前は開発中のものです。2009/08/28(金) 17:04:19ID:ZH8ByXf3
まあphotoshopはペイントソフトじゃなくてフォトレタッチソフトだしね。
比べる対象としては不適切。
0624名前は開発中のものです。2009/08/28(金) 17:09:55ID:TZ/1Ammw
Ok覚えとく
photoshopで線は引きずらい
0625名前は開発中のものです。2009/08/28(金) 17:23:18ID:tLqpjvTJ
>>624
一応ここのスレタイも覚えておいてくれ
あと、お前のIDなんかかっこいいな
0626名前は開発中のものです。2009/08/29(土) 01:49:29ID:vZGIBcqA
>>664 のIDはSAIボーグみたいでかっこいいよな!
0627名前は開発中のものです。2009/08/29(土) 01:50:45ID:vZGIBcqA
アンカーミスった! 許せ諸君
0628名前は開発中のものです。2009/08/29(土) 02:54:31ID:9MiVBryN
>>612
まあ演出切るのはいいがBGM没にすると音屋に呪い殺される。
0629名前は開発中のものです。2009/08/29(土) 07:05:18ID:IRALa+ZT
質問です

tf.para1 に 'あああ' を代入しようとしたとき

[eval exp="tf.sort_no = 1"]
[eval exp="'tf.para' + tf.sort_no = 'あああ'"]

こう記述してもうまくいきません…。
何がいけないのでしょうか。 というかどうすればいいのでしょうか(´・ω・`)
0630名前は開発中のものです。2009/08/29(土) 08:40:55ID:SBh95MS0
[eval exp="tf['para' + tf.sort_no] = 'あああ'"]

sfとかfとかtfとかは辞書配列で、.以降は要素名だからこう書かないとだめ。
0631名前は開発中のものです。2009/08/29(土) 09:07:43ID:dxp0ed73
他の人が作ったゲームのソースコードが見たいけど
開示してるサイトってありますか?
ゲームやってから、ここの処理はどう書いてるんだろうと見直して勉強したい・・・
0632名前は開発中のものです。2009/08/29(土) 09:15:59ID:IRALa+ZT
>>630
はぁぁぁん(*´д`*)ビクンビクン
ありがとうございました!
0633名前は開発中のものです。2009/08/29(土) 09:24:10ID:SBh95MS0
>>631
「吉里吉里/KAGではじめるゲーム制作」に幾つかソースままのデータが入ってる
はずだよ。
今は亡き林檎坂通信さんのやつとか。
0634名前は開発中のものです。2009/08/29(土) 14:58:48ID: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)"には反映されていないようです
何か記述のミスなどの指摘があればよろしくお願いします
0635名前は開発中のものです。2009/08/29(土) 15:07:39ID:3zgo1c3n
&は、KAGにおいて、引数の先頭にある場合にその後ろを式とみなして評価した結果を値とする機能。
中途で使えるようなものではない (TJS的な & は「参照」で意味が違う)

つまり正しい書き方は、

path='&"(500," + tf.up + ",255)"'

このように式を展開するか、あるいは、@つき文字列即値を使って

path='&@"(500,${tf.up},255)"'

こうする
0636名前は開発中のものです。2009/08/29(土) 15:22:07ID:Av1DyQMi
>>635
即レスありがとうございます!
無事解決できました
勉強不足でお恥ずかしいです
とても助かりました
0637名前は開発中のものです。2009/08/29(土) 15:47:07ID:dxp0ed73
>>633
レスありがとうございます。
その本は以前購入しようとして結局見つからずに断念したものですが、また探してみようと思います。

ついでにもう1つ質問なのですが、
一行分の大きさのメッセージレイヤ2つを交互に使っているのですが、
メッセージの履歴が改行されてない状態になってしまいます。
かといって改行タグを使うと、自動改ページ機能が働いてレイヤ上のメッセージが消えてしまいます。
なにかいい解決策はありますか?
最悪メッセージの履歴表示機能をオフにしようと思うのですが読み返せないのはやっぱり不便ですよね・・・
0638名前は開発中のものです。2009/08/29(土) 15:51:48ID:SBh95MS0
>>637
hr

まずタグリファな。
0639名前は開発中のものです。2009/08/29(土) 21:23:52ID:dC2nEmUv
>>631
ExtractDataで展開
0640名前は開発中のものです。2009/08/29(土) 21:29:23ID:k84KABJA
>>639
スルー検定に落第しました。
潔く出て行ってください
0641名前は開発中のものです。2009/08/29(土) 23:45:25ID: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の防御力;
... (改行が多すぎるといわれたので続きます)
0642名前は開発中のものです。2009/08/29(土) 23:46:36ID:IRALa+ZT
(**)2次元配列を使って管理
f.para[0][0] = Aの攻撃力;
f.para[0][1] = Aの防御力;
...
f.para[1][0] = Bの攻撃力;
f.para[1][1] = Bの防御力;
...

(***)その他(´・ω・`) 何か良い案があれば。。

プログラミングにあまり慣れていなく、どういう書き方が標準なのか恥ずかしながらよくわかりません。
いつもこのスレではお世話になっています。 よろしくお願いいたします。
0643名前は開発中のものです。2009/08/29(土) 23:58:47ID:IHRS9lpa
2次元配列を使って管理
0644名前は開発中のものです。2009/08/30(日) 00:14:31ID:XHRMXqNj
なんで連想配列使わないの?
C++なのにレコードを多次元配列で持つタイプ?
おれならクラス作る。
0645名前は開発中のものです。2009/08/30(日) 00:47:16ID: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の攻撃力;
0646名前は開発中のものです。2009/08/30(日) 00:49:14ID:G85zUtdu
オブジェクトにする場合シリアライズとかはどうしてるの?
0647名前は開発中のものです。2009/08/30(日) 00:49:35ID:HBF82cII
コンストラクタでやればいいじゃん。ダメなの?
0648名無しさん@そうだ選挙に行こう2009/08/30(日) 15:08:32ID:SVmNlOKF
function store()
{
var dic = %[];
return dic;
}

function restore(dic)
{
}

詳しくはKAGLayerとか見ればわかるよ。
06496412009/08/30(日) 21:41:55ID:yXgat51Z
>>641です
皆さん色々なご意見ありがとうございます!
>>645のがカッコイイのでさっそく勉強したいと思います。

お礼が遅くなり申し訳ありませんでした。
0650名前は開発中のものです。2009/08/30(日) 22:36:54ID:K93cqofk
カッコイイのでキリッ
0651名前は開発中のものです。2009/08/31(月) 01:36:29ID: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']"

こー書いてもうまくいきません。

(´・ω・`)根本的に何か間違ってるような気がするのですが、、、誰か助けて
0652名前は開発中のものです。2009/08/31(月) 01:38:02ID:6Ze5IMfu
>>651
@endscript の前の } は忘れてください(´・ω・`)
0653名前は開発中のものです。2009/08/31(月) 01:38:37ID:AfpsNn9w
>>651
@emb exp="f['chara' + tf.chara_no + '].attack'"
じゃねーの?
0654名前は開発中のものです。2009/08/31(月) 01:51:19ID:6Ze5IMfu
>>653
だめぽいです。。。
0655名前は開発中のものです。2009/08/31(月) 01:56:51ID:VnIgZebe
tjs自体にはうといから他の部分はわからんけど、emb部分は

@emb exp="f['chara' + tf.chara_no].attack"

こうじゃない?
0656名前は開発中のものです。2009/08/31(月) 02:00:37ID: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"

とするのがスマートかもしれない
0657名前は開発中のものです。2009/08/31(月) 02:01:28ID:lg9kAr9n
あ、ごめん前半は>>655の言うとおり
0658名前は開発中のものです。2009/08/31(月) 02:05:18ID:6Ze5IMfu
>>655でいけました(`・ω・´)! 感謝です
>>656を見習って配列にします。 ' で囲ったりとか面倒。>>656のカッコイイ!

class変数の配列の書き方の発想って こんな感じでいいんですよね?
なんかもっとこう バシィーッ! とスマートなものがあったりしたら泣いちゃう
0659名前は開発中のものです。2009/08/31(月) 02:47:41ID:71fBpEmq
>>648
これ、保存する時はともかく、栞から復帰する場合はどうすればいいの?
栞を読み込むと、f.charaA = new Character(); で言うと
f.charaAが「null オブジェクトにアクセスしようとしました」
ってなる
0660名前は開発中のものです。2009/08/31(月) 02:54:29ID:lg9kAr9n
>>658
うん。
chara1などのようにすると、数字の部分を可変にするためには
よけいな手間がかかるから、その場合は
chara[1]のように配列にするのがスマートかと

>>659
それはあくまでイメージ図で、
実際はstoreでは必要なパラメータを全部Dictionaryに書き出しと
逆にrestoreでは全部Dictinaryから書き戻しをやっている
っていうことを言いたかったのだと思うよ
0661名前は開発中のものです。2009/08/31(月) 02:57:03ID:umMB3oc1
f に自前オブジェクト格納するのはやってはいけない間違い。
KAGプラグインの形で書いてグローバルに保持するようにして、
保存/復帰処理を書いて処理するようにしないとダメ
0662名前は開発中のものです。2009/08/31(月) 03:03:30ID:lg9kAr9n
あーー。

うん。確かにそうだ
その通り
0663名前は開発中のものです。2009/08/31(月) 03:12:02ID:71fBpEmq
>>660
イメージ図なのは分かってるから、中身は自分で書いたけど
栞からの復帰時に、そもそものオブジェクトがnullがどうとかで
正しく復帰できないから、どうするのかなと思って
0664名前は開発中のものです。2009/08/31(月) 06:20:30ID:6Ze5IMfu
>>661
えっ つまり自分は やってはいけないことを しているということです?
0665名前は開発中のものです。2009/08/31(月) 07:11:42ID: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;
0666名前は開発中のものです。2009/08/31(月) 08:04:21ID:6Ze5IMfu
>>665
初めてみるカタチです ちょっとググってきます
0667名前は開発中のものです。2009/08/31(月) 09:25:06ID: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日目」
などというリンク文字列を表示させるのは可能なのでしょうか?
0668名前は開発中のものです。2009/08/31(月) 11:15:10ID:tftmHrrH
>>667
f.date : 何日目か記録 →ゲーム中に使用する
として、sf.savedata_dateとかの配列のシステム変数作って、
セーブする時、sf.savedata_date[何番目のデータか]=f.dateで
記録しといてセーブ画面の時はそれ表示するだけでいいんでないの?
0669名前は開発中のものです。2009/08/31(月) 12:01:51ID:6Ze5IMfu
>>668
すげぇー!ソノハッソウハナカッタワ
そういうコトがなぜ思いつかないんだ自分。ありがとうございます。
0670名前は開発中のものです。2009/08/31(月) 12:12:26ID: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番目が選択されました」と出てきてしまいます。。

どうすればよいでしょうか(´・ω・`)
今は仕方なくループさせずにソース全部書いて対応してるます。。
0671名前は開発中のものです。2009/08/31(月) 13:44:34ID:zdtyTQlt
>>665
それだと要素名ごと書き換えられるのでクラスにしてアクセサ付けた方がいい
0672名前は開発中のものです。2009/08/31(月) 14:01:13ID: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]
0673名前は開発中のものです。2009/08/31(月) 14:02:19ID:JRiWrqja
ごめん間違い

exp="&@'tf.temp = ${tf.loop_i}'"
0674名前は開発中のものです。2009/08/31(月) 15:09:35ID:x8IgEXvi
Releaser (krkrrel.exe)を走らせて、アーカイブ化するフォルダー(プロジェクトフォルダーや画像フォルダー)を指定すると
krkrrelが落ちるんですが、何がおかしいのでしょう・・・?

バージョンは吉里吉里2 2.30 安定版 Revision 2です。
0675名前は開発中のものです。2009/08/31(月) 15:55:47ID:a6P4SBYg
基本的な質問で申し訳ないんだが、
メッセージレイヤーでフレームに画像を指定する場合、
スクリプト側でフレーム画像の不透明度を変更するのってどうやるの?
0676名前は開発中のものです。2009/08/31(月) 21:58:18ID:x8IgEXvi
>>674
自己解決しますた。PC再起動何度かしたら普通に動いた・・・何だったんだ・・・
0677名前は開発中のものです。2009/09/01(火) 00:51:49ID: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}'" の件も、@の意味が分かりませんが
そのままコピペしたら出来ました。 こんな理解度でよいのでしょうか。。。

どうもありがとうございます! いつもここに来るたびにスッキリして帰れるのでとてもありがたいです
0678名前は開発中のものです。2009/09/01(火) 01:00:11ID:0gFeSmh7
>>677
どうでもいいというか細かい事だけど
(for var i=1; i<20; i++)
はi=1じゃなくてi=0にしろ
0679名前は開発中のものです。2009/09/01(火) 01:07:55ID:MizE3a9r
>>677
ttp://devdoc.kikyou.info/tvp/docs/tjs2doc/contents/token.html#id370 をよんどきなされ
0680名前は開発中のものです。2009/09/01(火) 01:12:27ID:65nrQjas
>>678
慣例的に、そう書くのが一般的 ということでしょうか?
なんとなく chara[0]より chara[1]から始めたほうが… と思ったものですが。

i=0 から始めておいて、実際はchara[1]から使用していく、というのはアリでしょうか?


>>679
@ つき文字列即値 ですね。参考になりますm(_ _)m
0681名前は開発中のものです。2009/09/01(火) 01:21:15ID:0gFeSmh7
>>680
一般的にと言うか、配列は0から始まるから
まあ別に1から使っても全然問題無いんだけど
0682名前は開発中のものです。2009/09/01(火) 01:26:10ID:3Kbk8FH6
[1]があるということは内部的に[0]が作られていると言うことで、
配列のlengthとか取った時に食い違うかも。
まあ吉里吉里/TJSではその辺は大抵なあなあに扱えてるけど
他の言語では0から数える癖をつけておかないとエラーの元になるとは思う。

TJS以外の言語を使う気がないのなら1からで問題無いかも。
0683名前は開発中のものです。2009/09/01(火) 01:29:59ID:wEmI18+D
言語によっては逆に1からが標準になってることも
Delphi(というかPascal)とか一部のBASICとか
0684名前は開発中のものです。2009/09/01(火) 02:06:13ID:53fl5gz7
>>683
そーなのかー
ぜんぶゼロオリジンなのかと思い込んでた
このスレの人たちはマジで物知りだな
0685名前は開発中のものです。2009/09/01(火) 02:51:34ID:d3uYwyGe
零起算じゃないとめまいがry

final ZERO = 1;
final MAX_LEN = a.length + 1;
for(int i=ZERO; i<MAX_LEN; i++)
a[i]= i - 1;

とかいうひどいコード見たことあるんだが。
0686名前は開発中のものです。2009/09/01(火) 03:42:31ID:TW6NsoDM
まぁやってるうちに0からで落ち着いてくるんじゃね?
一応、そうした方が便利っていう根拠があるお作法(?)だし。
0687名前は開発中のものです。2009/09/01(火) 07:17:24ID:q9l4NH4r
皆さんありがとうございます。i=0から始めるクセをつけていこうと思います
0688名前は開発中のものです。2009/09/01(火) 07:18:50ID:q9l4NH4r
ID変わってた。。>>680でした。駄レスすみません
■ このスレッドは過去ログ倉庫に格納されています