[表示 : 全て 最新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の公式掲示板や講座等を併用してください。
(併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)

578 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 14:54:23 ID:vIPhB1C3]
pngにしたら?

579 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 15:05:37 ID:PW95AVH3]
>>576
吉里吉里設定で 「グラフィック/JPEG画像デコード精度」を high にしなされ
そうすると、グラフィックソフトなみの精度でのデコードになって代わりに重くなる

580 名前:576 mailto:sage [2009/08/23(日) 15:07:13 ID:Jp5gJK+C]
>>577-578
レスd

色々試したら自己解決はした・・・
透過するからその部分のマットカラーを黒にしてたんだが
それを白にしたらマシになった
解決はしたけど疑問のまま納得がいかないぜ・・・
ちょうど黒のマットとの境目が低画質のjpegみたいに
四角い色分割が目立つんだ
解像度は72でやってるがなんだこれ

581 名前:576 mailto:sage [2009/08/23(日) 15:09:34 ID:Jp5gJK+C]
リロし忘れた&連レス失礼

>>576
おおトンクス!!
早速やってみる

582 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 15:14:26 ID:A2YXKz4f]
混乱してるなw
でも素直にpng使うのがベターだと思うぜ

583 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 15:15:12 ID:YItf9t6e]
jpgで……透過……だと?

考え直せ、というか調べ直せ。「jpg 透過」とかで検索して。

584 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 15:21:54 ID:vIPhB1C3]
透過・・・・?
マスク使って出来ないことはないけど、素直にpng使ったら・・・?

585 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 15:24:39 ID:PW95AVH3]
>>580
JPEGってのはもともと4×4だか8×8忘れたけど、ブロック単位で情報処理する関係で、
境界部分が劣化するのは画像フォーマットそのもの仕様

えーと、マスクデータをどうやって作ってる?
krkrtpc で変換してるなら、「完全透明部分の色情報」を「合成」にしてやってみ。
境界部のモスキートノイズが軽減される。
そのかわり情報量が増える関係でサイズはやや大きくなる。

586 名前:576 mailto:sage [2009/08/23(日) 15:32:23 ID:Jp5gJK+C]
>>582-584
うはwそんなにダメなのかw
マスク画像でpngより軽くなっていいかと思ったんだが・・・

>>585
丁寧にありがとう
マスクデータはフォトショでグレスケのjpg形式で作ってる



587 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 15:40:58 ID:PW95AVH3]
>>586
jpeg はダメってことはないよ。吉里吉里がせっかく対策ツールを準備してくれてるのに皆使い方を知らないだけw

フォトショップで作ってるなら、それが犯人だ。
上でかいた通り、PNGで一旦出力して、それを krkrtpc でJPEGに変換すればOK


588 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 15:54:30 ID:A2YXKz4f]
>>586
マジレスすると、仮に画像の容量が数十MB増えたところで、
最近のネット環境やHDDのサイズから考えると、たいした差じゃないし、
展開時の負荷も800x600程度じゃ誤差のレベル
マスク画像を作る手間を省いてpngにしてしまったほうが効率いいよ

589 名前:576 mailto:sage [2009/08/23(日) 17:38:20 ID:Jp5gJK+C]
>>587-588
ありがとう色々と勉強になった
効率とほどほどに容量を考えて画像形式を選びます

590 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 18:41:17 ID:VhGKlezw]
TLG6も忘れないでね……

591 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 21:49:53 ID:SjeNApON]
moveタグで綺麗に曲線移動させる方法ってありませんか?
1つ1つ、1ピクセルごとに指定するのはちょっと面倒で・・・
配列に座標を入れて参照させるとか、そういう方法しか無いでしょうか

592 名前:名前は開発中のものです。 mailto:sage [2009/08/23(日) 22:10:23 ID:Vz5AcZx7]
タグリファレンス嫁、属性にsplineってのがある。

593 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 01:59:34 ID:cm/5sCHw]
まったく普及していない以外は完ぺきなJPEG 2000が実装されてればry

594 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 03:17:41 ID:FVqq4jrk]
>>592
おお、これは失礼しました
こんなのがあったとは

595 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 22:04:29 ID:khIsAeWN]
前景画像を完全に「なくす」には @freeimage layer=0 という認識でいるのですが
メッセージレイヤを完全になくすにも @freeimage layer=message0 みたいな感じでよいですか?

596 名前:名前は開発中のものです。 mailto:sage [2009/08/24(月) 22:24:59 ID:MUoD3jpl]
>>595
laycountで減らすと完全になくすことができる
freeimageはアニメーション画像などを含め読み込まれているデータを削除して初期化するイメージ
でもってfreeimageはメッセージレイヤに対しては使えない。タグリファレンス読みなされ
表示させたくないのであればlayoptでvisible=false



597 名前:名前は開発中のものです。 [2009/08/24(月) 22:37:59 ID: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 mailto:sage [2009/08/24(月) 22:45:27 ID:MUoD3jpl]
>>595
すまん。読み違えをしてた
画像を読み込んだ結果を削除するには、別の画像を読み込んだりLayer.fillRectで上書きすれば可能
メッセージレイヤには使えないけど、freeimageも塗りつぶし作業は含まれている
メッセージレイヤに対して、文章の内容を削除したい(フレームで塗りつぶす)場合はcm/ct/er各タグ
フレームを消去したい場合はpositionでframe="" opacity=0すれば透明色で塗りつぶしてくれる

599 名前:596 mailto:sage [2009/08/24(月) 22:59:05 ID:MUoD3jpl]
>>597
まず [current layer="message&(tf.count + 1)" page="back"] でのエンティティの使い方が間違っている
&記号は変数の前につけるものではなく、属性値の一番頭につけるものなので注意
正しくは、layer="&'message'+(tf.count+1)"

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

どっちにしろ、まずはnowaitせずに表ページに描画させてみてたら気付けることでは?

600 名前:名前は開発中のものです。 mailto:sage [2009/08/25(火) 10:02:12 ID:tvTZLlGE]
吉里吉里の掲示板のRSSって今機能してないよね?

601 名前:名前は開発中のものです。 mailto:sage [2009/08/25(火) 23:07:13 ID:vmwSCoEp]
>>596,598
欲しかったCriticalな回答は>>596で頂戴できました
ありがとうございます。お礼が遅くなりすみませんでした

602 名前:名前は開発中のものです。 mailto:sage [2009/08/26(水) 14:36:53 ID:LRnh2Pks]
Syntheの正式サービス始まったのにレポが書き込まれないな。
俺はプラグイン使えんと話にならんので論外なんだが皆そんな感じでスルーしてんのかね?

603 名前:名前は開発中のものです。 mailto:sage [2009/08/26(水) 18:31:38 ID:yDc9+Q00]
>>602
ですです

604 名前:名前は開発中のものです。 mailto:sage [2009/08/26(水) 18:34:47 ID:Hipp3Exa]
単純に人が少なすぎて萎えてる

605 名前:名前は開発中のものです。 mailto:sage [2009/08/26(水) 22:28:01 ID:Jy7sD6zs]
メッセージ履歴拡張プラグイン
公開してくれてたサイトが見れなくなってるけど
俺だけ?

606 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 21:10:10 ID:gM76sJ8s]
シナリオを書いているときには「我ながら傑作だ!」と思うのですが、
あとから見直してみると糞つまらないです。
どうすればいいでしょうか(><)



607 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 21:15:03 ID:8eYIqD4Q]
>>606
スク打ちする時に納得するまで直す
他人のシナリオでも問答無用で直す
あとここ吉里吉里スレ

608 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 21:31:35 ID:AB+wzChq]
後から見ても面白いシナリオを書けばいいじゃない

609 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 21:35:00 ID:p3hpZNs6]
いっそ見直さなければいいんじゃね?

610 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 21:39:44 ID:7kWfK0WZ]
最初からつまらなければいいんじゃないか?

611 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 21:41:55 ID:4TNuvWiS]
まあここは吉里吉里使いの“雑談”スレだし、凄く真面目にレスすると

>>606
沢山書く。書いて「駄目だ」、書いて「意外と良いな」、それを繰り返す。
と、書き上がる前、書いてる最中から「これは無いな」という判断が出来るようになる。
あとは手持ちのアイデア、知識でどう面白くするかの勝負。

612 名前:名前は開発中のものです。 mailto:sage [2009/08/27(木) 21:58:02 ID:HZ5KsWqq]
やりたい演出とかみ合わない時にばっさりけずったり書き換えたり……はケンカの元ですよね、はい

613 名前:名前は開発中のものです。 [2009/08/28(金) 16:09:59 ID:NvNmqP8E]
吉里吉里初心者です質問です。
とりあえずマニュアルに沿って勉強してるんですが・・・
gazoubbs.com/karimasu/img/1218873207/18.jpg
↑これどうにかなりませんか
立ち絵の周りの白モザイク。。。
SAIの消しゴムで周りの邪魔なところを消して
[image storage=kyon.jpg layer=0 visible=true key=0xffffff]\
と打ってるんですが、いくら修正しても直らない・・・

614 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 16:15:22 ID:yMF4mU/Q]
pngを使う

615 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 16:20:30 ID:NvNmqP8E]
PNG読み込み中にエラーが発生しました
って出ました;;

616 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 16:25:55 ID:NvNmqP8E]
うほっ
作り直したらでけた
>>614に心からの敬意を払います



617 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 16:26:30 ID:TZ/1Ammw]
Sai使ったこと無いからわからないけど
Png保存のオプションとか無いの?

618 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 16:46:39 ID:9MekqzTw]
SAIでPSDで保存して、PhotoshopでPNGに保存するとかじゃなかったっけ?
そんな面倒くさいことやらないか。

619 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 16:50:10 ID:TZ/1Ammw]
Saiってそんなにいいのか?
はなからphotoshop使えと思う

620 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 16:51:58 ID:aLLsPKr8]
線ひく場合は間違いなく SAI のがいい

621 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 16:55:15 ID:TZ/1Ammw]
GimpPainterのGpenよりもいい?

622 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 17:01:33 ID:aLLsPKr8]
それは使ったことないからシラネ
とりあえず Photoshop で線ひくのはもはや苦行

623 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 17:04:19 ID:ZH8ByXf3]
まあphotoshopはペイントソフトじゃなくてフォトレタッチソフトだしね。
比べる対象としては不適切。

624 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 17:09:55 ID:TZ/1Ammw]
Ok覚えとく
photoshopで線は引きずらい

625 名前:名前は開発中のものです。 mailto:sage [2009/08/28(金) 17:23:18 ID:tLqpjvTJ]
>>624
一応ここのスレタイも覚えておいてくれ
あと、お前のIDなんかかっこいいな

626 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 01:49:29 ID:vZGIBcqA]
>>664 のIDはSAIボーグみたいでかっこいいよな!



627 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 01:50:45 ID:vZGIBcqA]
アンカーミスった! 許せ諸君

628 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 02:54:31 ID:9MiVBryN]
>>612
まあ演出切るのはいいがBGM没にすると音屋に呪い殺される。

629 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 07:05:18 ID:IRALa+ZT]
質問です

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

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

こう記述してもうまくいきません…。
何がいけないのでしょうか。 というかどうすればいいのでしょうか(´・ω・`)

630 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 08:40:55 ID:SBh95MS0]
[eval exp="tf['para' + tf.sort_no] = 'あああ'"]

sfとかfとかtfとかは辞書配列で、.以降は要素名だからこう書かないとだめ。


631 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 09:07:43 ID:dxp0ed73]
他の人が作ったゲームのソースコードが見たいけど
開示してるサイトってありますか?
ゲームやってから、ここの処理はどう書いてるんだろうと見直して勉強したい・・・

632 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 09:15:59 ID:IRALa+ZT]
>>630
はぁぁぁん(*´д`*)ビクンビクン
ありがとうございました!

633 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 09:24:10 ID:SBh95MS0]
>>631
「吉里吉里/KAGではじめるゲーム制作」に幾つかソースままのデータが入ってる
はずだよ。
今は亡き林檎坂通信さんのやつとか。

634 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 14:58:48 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 15:07:39 ID:3zgo1c3n]
&は、KAGにおいて、引数の先頭にある場合にその後ろを式とみなして評価した結果を値とする機能。
中途で使えるようなものではない (TJS的な & は「参照」で意味が違う)

つまり正しい書き方は、

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

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

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

こうする


636 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 15:22:07 ID:Av1DyQMi]
>>635
即レスありがとうございます!
無事解決できました
勉強不足でお恥ずかしいです
とても助かりました



637 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 15:47:07 ID:dxp0ed73]
>>633
レスありがとうございます。
その本は以前購入しようとして結局見つからずに断念したものですが、また探してみようと思います。

ついでにもう1つ質問なのですが、
一行分の大きさのメッセージレイヤ2つを交互に使っているのですが、
メッセージの履歴が改行されてない状態になってしまいます。
かといって改行タグを使うと、自動改ページ機能が働いてレイヤ上のメッセージが消えてしまいます。
なにかいい解決策はありますか?
最悪メッセージの履歴表示機能をオフにしようと思うのですが読み返せないのはやっぱり不便ですよね・・・

638 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 15:51:48 ID:SBh95MS0]
>>637
hr

まずタグリファな。

639 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 21:23:52 ID:dC2nEmUv]
>>631
ExtractDataで展開

640 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 21:29:23 ID:k84KABJA]
>>639
スルー検定に落第しました。
潔く出て行ってください

641 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 23:45:25 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 23:46:36 ID:IRALa+ZT]
(**)2次元配列を使って管理
f.para[0][0] = Aの攻撃力;
f.para[0][1] = Aの防御力;
...
f.para[1][0] = Bの攻撃力;
f.para[1][1] = Bの防御力;
...

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

プログラミングにあまり慣れていなく、どういう書き方が標準なのか恥ずかしながらよくわかりません。
いつもこのスレではお世話になっています。 よろしくお願いいたします。

643 名前:名前は開発中のものです。 mailto:sage [2009/08/29(土) 23:58:47 ID:IHRS9lpa]
2次元配列を使って管理

644 名前:名前は開発中のものです。 mailto:sage [2009/08/30(日) 00:14:31 ID:XHRMXqNj]
なんで連想配列使わないの?
C++なのにレコードを多次元配列で持つタイプ?
おれならクラス作る。

645 名前:名前は開発中のものです。 mailto:sage [2009/08/30(日) 00:47:16 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/08/30(日) 00:49:14 ID:G85zUtdu]
オブジェクトにする場合シリアライズとかはどうしてるの?



647 名前:名前は開発中のものです。 mailto:sage [2009/08/30(日) 00:49:35 ID:HBF82cII]
コンストラクタでやればいいじゃん。ダメなの?

648 名前:名無しさん@そうだ選挙に行こう mailto:sage [2009/08/30(日) 15:08:32 ID:SVmNlOKF]
function store()
{
var dic = %[];
return dic;
}

function restore(dic)
{
}

詳しくはKAGLayerとか見ればわかるよ。

649 名前:641 mailto:sage [2009/08/30(日) 21:41:55 ID:yXgat51Z]
>>641です
皆さん色々なご意見ありがとうございます!
>>645のがカッコイイのでさっそく勉強したいと思います。

お礼が遅くなり申し訳ありませんでした。

650 名前:名前は開発中のものです。 mailto:sage [2009/08/30(日) 22:36:54 ID:K93cqofk]
カッコイイのでキリッ

651 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 01:36:29 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 01:38:02 ID:6Ze5IMfu]
>>651
@endscript の前の } は忘れてください(´・ω・`)

653 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 01:38:37 ID:AfpsNn9w]
>>651
@emb exp="f['chara' + tf.chara_no + '].attack'"
じゃねーの?

654 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 01:51:19 ID:6Ze5IMfu]
>>653
だめぽいです。。。

655 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 01:56:51 ID:VnIgZebe]
tjs自体にはうといから他の部分はわからんけど、emb部分は

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

こうじゃない?

656 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 02:00:37 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 02:01:28 ID:lg9kAr9n]
あ、ごめん前半は>>655の言うとおり

658 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 02:05:18 ID:6Ze5IMfu]
>>655でいけました(`・ω・´)! 感謝です
>>656を見習って配列にします。 ' で囲ったりとか面倒。>>656のカッコイイ!

class変数の配列の書き方の発想って こんな感じでいいんですよね?
なんかもっとこう バシィーッ! とスマートなものがあったりしたら泣いちゃう

659 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 02:47:41 ID:71fBpEmq]
>>648
これ、保存する時はともかく、栞から復帰する場合はどうすればいいの?
栞を読み込むと、f.charaA = new Character(); で言うと
f.charaAが「null オブジェクトにアクセスしようとしました」
ってなる

660 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 02:54:29 ID:lg9kAr9n]
>>658
うん。
chara1などのようにすると、数字の部分を可変にするためには
よけいな手間がかかるから、その場合は
chara[1]のように配列にするのがスマートかと

>>659
それはあくまでイメージ図で、
実際はstoreでは必要なパラメータを全部Dictionaryに書き出しと
逆にrestoreでは全部Dictinaryから書き戻しをやっている
っていうことを言いたかったのだと思うよ

661 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 02:57:03 ID:umMB3oc1]
f に自前オブジェクト格納するのはやってはいけない間違い。
KAGプラグインの形で書いてグローバルに保持するようにして、
保存/復帰処理を書いて処理するようにしないとダメ

662 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 03:03:30 ID:lg9kAr9n]
あーー。

うん。確かにそうだ
その通り

663 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 03:12:02 ID:71fBpEmq]
>>660
イメージ図なのは分かってるから、中身は自分で書いたけど
栞からの復帰時に、そもそものオブジェクトがnullがどうとかで
正しく復帰できないから、どうするのかなと思って

664 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 06:20:30 ID:6Ze5IMfu]
>>661
えっ つまり自分は やってはいけないことを しているということです?

665 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 07:11:42 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 08:04:21 ID:6Ze5IMfu]
>>665
初めてみるカタチです ちょっとググってきます



667 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 09:25:06 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 11:15:10 ID:tftmHrrH]
>>667
f.date : 何日目か記録 →ゲーム中に使用する
として、sf.savedata_dateとかの配列のシステム変数作って、
セーブする時、sf.savedata_date[何番目のデータか]=f.dateで
記録しといてセーブ画面の時はそれ表示するだけでいいんでないの?

669 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 12:01:51 ID:6Ze5IMfu]
>>668
すげぇー!ソノハッソウハナカッタワ
そういうコトがなぜ思いつかないんだ自分。ありがとうございます。

670 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 12:12:26 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 13:44:34 ID:zdtyTQlt]
>>665
それだと要素名ごと書き換えられるのでクラスにしてアクセサ付けた方がいい

672 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 14:01:13 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 14:02:19 ID:JRiWrqja]
ごめん間違い

exp="&@'tf.temp = ${tf.loop_i}'"


674 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 15:09:35 ID:x8IgEXvi]
Releaser (krkrrel.exe)を走らせて、アーカイブ化するフォルダー(プロジェクトフォルダーや画像フォルダー)を指定すると
krkrrelが落ちるんですが、何がおかしいのでしょう・・・?

バージョンは吉里吉里2 2.30 安定版 Revision 2です。

675 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 15:55:47 ID:a6P4SBYg]
基本的な質問で申し訳ないんだが、
メッセージレイヤーでフレームに画像を指定する場合、
スクリプト側でフレーム画像の不透明度を変更するのってどうやるの?

676 名前:名前は開発中のものです。 mailto:sage [2009/08/31(月) 21:58:18 ID:x8IgEXvi]
>>674
自己解決しますた。PC再起動何度かしたら普通に動いた・・・何だったんだ・・・



677 名前:名前は開発中のものです。 mailto:sage [2009/09/01(火) 00:51:49 ID: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 名前:名前は開発中のものです。 mailto:sage [2009/09/01(火) 01:00:11 ID:0gFeSmh7]
>>677
どうでもいいというか細かい事だけど
(for var i=1; i<20; i++)
はi=1じゃなくてi=0にしろ






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

前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