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

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

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

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

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

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

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

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

前スレ
■吉里吉里/KAG/TJS雑談質問スレ■その22
http://hibari.2ch.net/test/read.cgi/gamedev/1285897465/
07817772011/05/08(日) 18:43:14.57ID:wz4fTqUM
>>780
ありがとうございます! 進む方向がわかりました。
[eval exp="f.image = []"]という配列を作り、
[eval exp='f.image[0] = "A子" f.image[1] = "笑顔"']……とすればよいのでしょうか。
これでどう記述すれば画像が出てくるのか、しばらくググってみたのですが、わかりませんでした。
教えてください。
07827772011/05/08(日) 21:01:40.00ID:wz4fTqUM
↑の自己解決です。
[image storage="&f.image[0]+'_'+f.image[1]"]で、ファイル名を「A子_笑顔」にすれば良いみたいですね。
アドバイスをくださった方、ありがとうございました。
0783名前は開発中のものです。2011/05/08(日) 21:20:00.20ID:nlpHN7U+
>>781-782
あー、それはそれで良いんだけど
複数のキャラを同時に取り扱うとなると、ifタグの嵐の予感

自分なら、A子というのをキャラ番号0として
tf.ch_name[0]='A子'; tf.ch_image[0]='a-ko_egao.png'; tf.ch_hitpoint[0]=100;〜とかにする
(ほんとうは辞書配列使いたい)
それが動いてからで良いんで、検討してくれ
07847772011/05/08(日) 21:51:45.87ID:wz4fTqUM
>>783
なるほど……。
キャラの通し番号とはそういうことですか。
辞書配列も勉強してみます。
ありがとうございました。
0785名前は開発中のものです。2011/05/09(月) 08:37:45.28ID:+wIIRPAN
辞書配列を使うなら、俺はこんな感じでつかう

tf.ch_ = [];
tf.ch_[0] = %[];
tf.ch_[0]['名前']='A子';
tf.ch_[0]['CG']='a-ko_egao.png';
tf.ch_[0]['HP']=100;

ところで、クラスをつかった場合、どう書けばいいんだ?
0786名前は開発中のものです。2011/05/09(月) 08:47:46.92ID:Y3oLpatn
class Character
{
0787名前は開発中のものです。2011/05/09(月) 08:50:35.37ID:s4wJWQ/C
フルスクリーン中はムービー再生をワイド画面にしようと思ったんですが
フルスクリーン中は画面の解像度を変更できません
これはもう諦めるしか無いですか?
0788名前は開発中のものです。2011/05/09(月) 09:56:27.40ID:oiYst28/
あなたのゲームは解像度がコロコロ変わるゲームなんですか?
0789名前は開発中のものです。2011/05/09(月) 10:03:14.82ID:q/llowTS
解像度と言うかビットレートの問題だわさ
0790名前は開発中のものです。2011/05/09(月) 13:21:49.52ID:ZnWxzZSp
ttp://green.ribbon.to/~erog/Wide.html
これ(seきらら/メルクリアのムービー比較)のことだろ
どちらも吉里吉里だけど標準では対応していないと思われ
0791名前は開発中のものです。2011/05/09(月) 14:40:09.35ID:s4wJWQ/C
普段の解像度は4:3なんだけど、ワイドモニタでフルスクリーンにすると
左右が真っ暗で何かやだから、ムービーの時だけでもワイドにしようと思ったんだけど
思ったように動かない
800*600を1024*576にしてフルスクリーンにすると、左上の(0,0)が変なところにくるし
吉里吉里デフォの機能でやるのはお手上げです
0792名前は開発中のものです。2011/05/09(月) 15:30:45.89ID:q/llowTS
それ、もしかしてscwidthあたりをその時限定で変更したら良く無い?
と言っても、現在の画面サイズをどの変数で持ってるのか知らないけど
0793名前は開発中のものです。2011/05/09(月) 15:46:48.69ID:s4wJWQ/C
・最初から解像度をワイドにしておく→フルスクリーンにしても表示OK
・途中でワイドにする→フルスクリーンにすると画面位置がなんかおかしい
・フルスクリーン中に解像度変更→出来ない

フルスクリーンでプレイしている時だけ、ムービーをワイドに引き延ばして再生したい・・・
というのが希望なんですが、上記の通り上手い具合に行かないというのが現状です
スクリプト内では「Window.mainWindow.setInnerSize(width, height)」でサイズ変更してます
0794名前は開発中のものです。2011/05/09(月) 16:02:38.67ID:oiYst28/
はじめからワイドにしろ
おまえのゲームおかしいぞ
0795名前は開発中のものです。2011/05/09(月) 17:05:50.17ID:q/llowTS
ダメなのか それじゃどうしようもないな
ただ>>794じゃないけどムービーだけワイドにすると、単純なユーザーの声として『ゲームもワイドに汁!』って突っ込まれるだわさ
0796名前は開発中のものです。2011/05/09(月) 20:05:12.86ID:vgIJxJ6a
初回起動時にウィンドウを出して、
解像度をプレイヤーに設定させる。

以降の設定変更は次回起動時に反映、
というのが商業ノベルゲームでよくある手法。

けど同人だと見ないよね。やっぱ面倒くさいからか。
0797名前は開発中のものです。2011/05/11(水) 12:32:31.38ID:IPfqxHCQ
栞ひとつ400kになるのが辛いな。なんでシナリオの2倍になっちゃうんだよ・・・
10個で5メガになるし。
何よりテストプレイのたびに固まって辛い。
0798名前は開発中のものです。2011/05/11(水) 12:44:23.57ID:/ry4AeiC
うちは一個1mから2m
どう言うテスト環境だよと突っ込みたいがどうしても減らしたいならまずマクロを見直せ
0799名前は開発中のものです。2011/05/11(水) 20:12:34.77ID:IylbAiKT
サムネイルのせいじゃね?
0800名前は開発中のものです。2011/05/11(水) 21:37:34.37ID:HYpL6U9h
バックログやマクロを保存してるとかじゃないかな。セーブ、ロードを重ねる度に重くなるならそれ。起動し直したら治る場合は無駄にオブジェクト量産してるとか、タイマーやハンドラが生き残ってるとか。そうなると人に聞いてやっとこさの段階ではちょっと骨かなぁ。
あとは配列が必要以上に肥大化する書きかたしてるとか?
0801名前は開発中のものです。2011/05/11(水) 23:25:13.03ID:7lwqfPrl
トランジションをするとき、backの背景とともに前景が同時に現れるようにすることはできますか?
たとえば、教室から校庭に移動したとき、校庭と一緒に、そこにいる前景のキャラの立ち絵が現れる、というような…。
0802名前は開発中のものです。2011/05/11(水) 23:29:11.40ID:N7DwFyxQ
>>801
前景のbackにキャラ読み込んどけばいいよ

@image layer=base page=back storage=教室

@backlay
@image layer=base page=back storage=校庭
@image layer=0 page=back storage=立ち絵
@trans method=crossfade time=1000
@wt
0803名前は開発中のものです。2011/05/11(水) 23:37:34.61ID:7lwqfPrl
>>802
ありがとうございます。がんばります。
0804名前は開発中のものです。2011/05/12(木) 09:20:07.57ID:ueDlXx0D
>>798 ;saveMacros = false;だよ。
>>799 サムネイルも保存してないよ。
>>800 起動も遅いです。栞を辿るで はい を押すと、1分くらいかかります。
     固まった後、しばらく待つとBGMが流れ、更に待つと、
     画面上からバーコードの様に次々と画面が更新されていきます。
     こうなったら、now loading...画面 をつくりたいです・・・
0805名前は開発中のものです。2011/05/12(木) 09:22:09.75ID:mCjziqBn
400KBでそんなんになるのは
違うところに問題があるのでは
0806名前は開発中のものです。2011/05/12(木) 09:26:45.44ID:ueDlXx0D
薄々感づいてましたが、やはりPCか
何年も前から落としたのに落ちてないとか書いてたのも私です。
ソレからPCかえてませんし。寿命ですよね。
(ニコ動にコメントしようとするだけで固まって落ちる位なので・・・)

すいません。以下スルーでお願いします。
0807名前は開発中のものです。2011/05/12(木) 16:05:08.42ID:sT4GEHfQ
この流れでちょっと質問
セーブデータの圧縮と暗号化ってどっちがいいとかある?
圧縮も暗号化を兼ねてるようだけど
暗号化より復元しやすいとか読み取るのが遅いとか
そういうのなかったら若干サイズも軽くなる圧縮にしようと思うんだが
0808名前は開発中のものです。2011/05/12(木) 17:46:19.17ID:LFmVxlym
何も考えずに圧縮でいいよ
0809名前は開発中のものです。2011/05/12(木) 18:37:00.24ID:GgYmobKQ
メッセージレイヤに、透過pngを使っても
実際には透けずに白くなってしまうのは何故でしょう?
0810名前は開発中のものです。2011/05/12(木) 18:42:09.79ID:GgYmobKQ
http://homepage1.nifty.com/gutchie/kirikiri_kag2/faq_error104.html
こちらを読んで自己解決しました。すみません。
0811名前は開発中のものです。2011/05/12(木) 22:28:39.62ID:uBm63IiO
たしか2つくらい前の過去ログにもあった希ガス
0812名前は開発中のものです。2011/05/13(金) 00:22:09.02ID:85dtmldw
え、あ、はい
0813名前は開発中のものです。2011/05/13(金) 00:22:49.43ID:85dtmldw
誤爆!
0814名前は開発中のものです。2011/05/13(金) 14:50:19.14ID:xi4RpOc2
http://ex14.vip2ch.com/test/read.cgi/news4gep/1302080425/

ttp://aiofvip.web.fc2.com/TO/game/msLIST.html
あのVIPエロゲ制作所出身の 愛◆LOVV.XWD8o が送る本格派サスペンスギャルゲー

ttp://www1.axfc.net/uploader/C/so/138728.zip
0815名前は開発中のものです。2011/05/13(金) 18:28:15.49ID:XtyteHfT
ぐあああ、半透明のセリフウインドウがどうしてもできねえ
前作作った時はできてたのに、2つのpngファイル並べて比較してもどこが違うのかわかんねえ
うおおおおおおああああああああああああぁぁぁぁあああ
0816名前は開発中のものです。2011/05/13(金) 18:33:47.07ID:1ByYjp7G
>>815
>>810
0817名前は開発中のものです。2011/05/13(金) 18:39:04.62ID:kWgQ7dW8
意外とひっかかりやすいよねこれ
俺も一回悩んでリファレンス読み返したことがある
0818名前は開発中のものです。2011/05/13(金) 18:45:16.13ID:XtyteHfT
;layerType = ltAddAlpha;を追加するってやつ?
見てみたけど既に追加されていました。
だけど前回使ったpngファイルは透けて、今回のは透けない。何が違うんだ
ああああああああああ
0819名前は開発中のものです。2011/05/13(金) 19:02:23.24ID:TVAnpJIr
;
0820名前は開発中のものです。2011/05/13(金) 19:12:26.28ID:kWgQ7dW8
>>818
>>810

よく
よめ
0821名前は開発中のものです。2011/05/14(土) 01:07:55.39ID:CeDwIqjC
メッセージ枠の画像を「Config」で指定したのですが、
実行するとエラーが出て、
「メンバ"sf"が見つかりません」とでます。

特に変数も使ってないので関係ないと思うのですが…
どうしたら解決できるでしょうか?
0822名前は開発中のものです。2011/05/14(土) 01:20:35.39ID:IJy5r17p
しらね
0823名前は開発中のものです。2011/05/14(土) 09:17:52.45ID:p3TsZSfb
んー
incontextof kag をつけ忘れてるとか?
0824名前は開発中のものです。2011/05/14(土) 16:07:34.47ID:znBsX5Gm
すいません、製作途中のゲームを別のノートでフルウィンドウで起動したら、解像度が落ちたのですが原因はなんでしょうか?
(PCはVista、ノートは7)

0825名前は開発中のものです。2011/05/14(土) 16:18:19.15ID:GezN4S7I
フルウィンドウってフルスクリーンのこと?
それぞれのPCの画面の解像度と、ゲームの解像度くらい書きなよ
さっぱりわからん
0826名前は開発中のものです。2011/05/14(土) 16:23:55.31ID:SRhjdtp+
現行吉里吉里の標準動作は「自動」で、「アスペクト比があう画面があれば一番近いものに変更、なければ解像度変更せずにソフト側で拡大」
なので、環境によって動作がまちまちになる。

それぞれのPCの環境と画面サイズとデバイスの名前、ゲームで指定しようとした解像度、とか全部かかないと具体的な原因はわからないと思われ。
0827名前は開発中のものです。2011/05/14(土) 16:36:15.28ID:znBsX5Gm
ありがとうございます
環境は両方ノートで製作側がVistaのcore2DUO、解像度落ちた方が7のcorei5vPro、画面サイズは800×600、吉里吉里最新のやつで解像度は350です
0828名前は開発中のものです。2011/05/14(土) 16:38:16.29ID:GezN4S7I
>>826
俺もう無理
あとは任せた
0829名前は開発中のものです。2011/05/14(土) 16:42:21.93ID:SRhjdtp+
ごめん、俺も無理
0830名前は開発中のものです。2011/05/14(土) 16:47:55.02ID:znBsX5Gm
すいません、ゲーム解像度が800×600でpc解像度が両方1280×800でした
別に製作だけなら解像度変わらない方使えばいいんですが、配布考えるとこわくて・・・
0831名前は開発中のものです。2011/05/14(土) 16:52:11.44ID:znBsX5Gm
>>825さん
はい、フルスクリーンのことです
0832名前は開発中のものです。2011/05/14(土) 16:55:03.72ID:SRhjdtp+
えーと、800×600 の表示に対応してない環境はぶっちゃけ無いので、それにあわせて解像度変わるほうが普通です。

変わらないように見えるのは、デバイスドライバ側でなんか対応してるからでしょう。
ノートPCの画面のプロパティのどっかに設定項目があるはずで、それの設定はユーザの責任です。
特に気にする必要はありません。

あと、ソフト側での挙動はは、吉里吉里設定で変更できますから、それを
きちんと導入してマニュアルにその旨記載するだけでOKです
0833名前は開発中のものです。2011/05/14(土) 16:55:22.37ID:p3TsZSfb
>>827
吉里吉里で使用しようとしていた画面サイズが800×600なんだね
CPUのスペックはあんま関係なくて画面についてのスペックが重要

ここでいう解像度っていうのはインチ当たりドットとかじゃなくて
デスクトップを右クリックして出てくる画面のプロパティにあるような
画面のサイズのことだよ、大小いろいろな候補があって選べるだろ
1024×768とか800×600とか
たいていは候補のうちで(スクロールしなくて済む範囲の)最大のに
してると思うけれど

それぞれのパソコンについて、どんな候補があるかっていうことを
>>826は聞いてる
0834名前は開発中のものです。2011/05/14(土) 17:06:35.52ID:znBsX5Gm
>>832さん、>>833さん
ありがとうございました
それ聞いて安心しました
自分の方はpcいじってみて、ゲーム配布にはマニュアルで注意事項書いておきます
0835名前は開発中のものです。2011/05/14(土) 17:34:52.43ID:Wf5x1zNt
とりあえずの知識として
ノートに限らず液晶ディスプレイは限界解像度は別に、苦手な解像度が必ずある
それは普通のディスプレイにもあるんだけど、とにかくそれを無視した解像度だと画面ボケが恐ろしく酷い 昔のモニターは特に
だから通常はメーカーがそれを調整して苦手な解像度は選べないようになっているけど、ソフト側はそんなの知らんがな!って事でこの解像度で表示しろ!ってやる
するとウィンドウズ側が間に入って君に決めた!って表示するから一見ユーザー側はあれっと思うけど、実際はPC的には双方の折り合いつけた最適の表示状態
0836名前は開発中のものです。2011/05/17(火) 20:33:00.38ID:KxxpsHFd
セリフ毎にラベルを配置してセーブできるようにしたんだけど
立ち絵が出ている時にセーブしてロードすると、立ち絵がない状態で始まる
これを防ぐには、毎回立ち絵を描かないといけないかな?
0837名前は開発中のものです。2011/05/17(火) 20:51:39.55ID:B0lL8qtx
>>836
セーブ時の画面表示状態は栞に記憶されるはずでは?
ラベル直後に、画面をクリアしたり再描画するマクロを入れてるとか?
0838名前は開発中のものです。2011/05/17(火) 21:19:38.42ID:KxxpsHFd
>>837
いや、そんなこと何もしてないです。


imageタグで立ち絵表示

*ラベル|ラベル見出し
「セリフ」[l][r]


となっていて、クリック待ちの間にセーブ。
このデータをロードすると、立ち絵だけが表示されない。
0839名前は開発中のものです。2011/05/18(水) 13:44:43.43ID:N3LIrLW7
「template」フォルダをコピーした素の吉里吉里に戻して
何が違うか考えてみることだあね
0840名前は開発中のものです。2011/05/18(水) 20:29:37.72ID:7Rw30dav
それ純正の吉里吉里じゃなく、会社でカスタマイズした奴じゃない?
0841名前は開発中のものです。2011/05/18(水) 20:56:27.20ID:a8g7dAo4
いわゆる会社マイズってやつだな
0842名前は開発中のものです。2011/05/18(水) 23:15:31.10ID:mGRm0GuN
遅くてごめん。
>>797
>>798
大概履歴が大きいからだから、一度栞の中を見てみるといいよ。
config.tjs の recordHistoryOfStoreとmaxHistoryOfStoreを
小さくすると劇的に改善したりする。あと、saveDataMode="c"で
圧縮すると更に劇的に。
0843名前は開発中のものです。2011/05/19(木) 00:09:30.66ID:t8je3hh+
すみませんが、質問させて下さい。
今、tjsでボタンのプラグインを作成しようとしています。
ボタンの数が多いので、配列でボタンの作成をしたので、
配列の番号によって、ボタンが押された後の処理が変わります
そのため、クリックした後に参照する関数に、配列の要素数を引き渡したいと思って、
こんな風に記述しました。
0844名前は開発中のものです。2011/05/19(木) 00:12:02.90ID:t8je3hh+
function Load() {
obj[i] = new SystemButtonLayer(kag, kag.fore.base, btn(i));
with(obj[i]){
.setPos(0, 0);
.loadImages("img");
}
}
function btn(i) {System.inform(i);}
すると、ボタンは正常に表示されるが、ボタンを押したあとにエラーが発生します。
エラー内容は下記の通り。
0845名前は開発中のものです。2011/05/19(木) 00:30:33.35ID:CvMRnjxP
843-844です。規制がかかるのでPC変えました。
==== An exception occured at systembutton3.ks(38)[(function) onMouseUp], VM ip = 17 ====
-- Disassembled VM code --
#(38) onClickFunction(this);
00000017 calld %0, %-2.*2(%-1) // *2 = (string)"onClickFunction"
-- Register dump --
%-6=(int)0 %-5=(int)0 %-4=(int)93 %-3=(int)7
%-2=(object)(object 0x0012F8C8:0x00000000) %-1=(object)(object 0x01C4D840:0x01C4D840)
%0=(void) %1=(int)1 %2=(int)0
----
スクリプトで例外が発生しました
関数ではないかプロパティの種類が違います
trace : immediate event

問題はsystembutton.ksにあるようですが、
どこをどう修正すれば動くのか、全くわかりません。
目的が達成されれば、特に記述方法にはこだわりません。
どこが悪いか分かる方、よろしくお願いします。

0846名前は開発中のものです。2011/05/19(木) 08:15:12.54ID:a8+s4BPe
ぱっと見だとLoad()内のiに値がちゃんと入ってるのかどうかわからん。
0847名前は開発中のものです。2011/05/19(木) 14:00:38.51ID:0U6RU83c
843です。
あまり行数を書けなかったから省略してしまったんですが、
実際はiはループ処理をしてる関数から引数で渡しています。
引き渡しができてない可能性は考えたけど、
Load()内で変数の定義をしても同じエラーが出ました。

それから、こちらは書き忘れで申し訳ないのですが、
エラー箇所は配布されてたプラグインの中です。
該当箇所は下記です。
0848名前は開発中のものです。2011/05/19(木) 14:05:14.45ID:0U6RU83c
function ?onMouseUp(x,?y,?button,?shi{ if(enabled?&&?button?==?mbLeft) onClickFunction( this);//←ここ
super.onMouseUp(...)
}}
改めてよろしくお願いします。
0849名前は開発中のものです。2011/05/19(木) 14:26:50.62ID:eauCpkxW
吉里吉里の不具合らしきことを質問したら
「お前それカスタマイズしてるだろ」で終了という流れは
以前のスレでも見たな
大抵うやむやになっているが、実際はどうなのだろう
0850名前は開発中のものです。2011/05/19(木) 17:20:06.15ID:Y32dQDBI
>>849
と言うかまず>>839を試した上でダメだと言うならバグだと思うがまずはそれからだ
0851名前は開発中のものです。2011/05/19(木) 18:17:18.33ID:Sgq0bMQc
function btn の返り値はvoidなんだから、そらあかんやろ。
0852名前は開発中のものです。2011/05/19(木) 18:18:42.11ID:Sgq0bMQc
SystemButtonLayerをnewするタイミングでbtn関数が評価されちゃっているのがNG。
0853名前は開発中のものです。2011/05/19(木) 18:41:35.77ID:ozIfu/zH
解決法を書くよー。
まず、globalで以下のようなクラスと関数を定義しておく。
0854名前は開発中のものです。2011/05/19(木) 18:44:27.49ID:ozIfu/zH
class FuncCall
{
var func;
var args;

function FuncCall(func, args*) {
this.func = func;
this.args = args;
}

function call {
func(args*);
}
};

function funccall {
var obj = new FuncCall(...);
return obj.call;
}
0855名前は開発中のものです。2011/05/19(木) 18:48:35.80ID:ozIfu/zH
FuncCallというのは、引数つきで関数を呼び出すクラス。
funccallというのは、FuncCallのオブジェクトを作って、その関数呼び出しを返すショートカット。

funccall(btn, i) とやると「引数iで関数btnを呼び出す関数」が生成される。

この状態で 
obj[i] = new SystemButtonLayer(kag, kag.fore.base, funccall(btn, i));
と書けばうまくいくのでは無いかな。
0856名前は開発中のものです。2011/05/19(木) 18:57:07.43ID:ozIfu/zH
こんな風に書くとFuncCallのクラス定義無しで一発で行けるけど、変態コードなのでお勧めはしない。

function funccall(args*) {
return function { shift()(this*); } incontextof args;
}
08578432011/05/19(木) 20:32:56.68ID:eDOJyZBT
>>853
ありがとうございます!
書いてある通りに修正したら、きちんと動作しました。
自分では絶対に思いつきませんでした。
本当にありがとうございます!

他の方もご回答くださってありがとうございます。
これからも精進します。
0858名前は開発中のものです。2011/05/19(木) 21:43:40.52ID:oS4dIVWF
初歩的な質問なのかもだけどargs*の*ってどう言う意味なんだろう?
0859名前は開発中のものです。2011/05/19(木) 23:07:18.49ID:oS4dIVWF
引数の配列変換か
自己解決した
0860名前は開発中のものです。2011/05/20(金) 06:31:21.99ID:+Mxj9Dzq
吉里吉里ってGPU使ってくれないの?
0861名前は開発中のものです。2011/05/20(金) 07:19:38.64ID:X/cL6XGV
どうしてそう思ったの?
0862名前は開発中のものです。2011/05/20(金) 08:32:03.21ID:+Mxj9Dzq
自分でもわからない。。。
0863名前は開発中のものです。2011/05/20(金) 09:35:41.87ID:ZuvEuGx1
まあ、そんな日もあるさ
0864名前は開発中のものです。2011/05/20(金) 13:06:13.26ID:kSteXd1w
>>842 250kだったファイルがzで10kくらいに落ちた。目の錯覚かも知れないがサンクス
0865名前は開発中のものです。2011/05/20(金) 14:18:22.00ID:eAwQCbJq
目の錯覚じゃないよ。
吉里吉里のセーブデータは、ちょっと変わっただけのほとんど内容のデータがずらずら並んでる構造だから、すごく圧縮が効きやすいの。
特に、どこでもセーブ系のプラグイン使ってたりして、改ページ単位でラベル入れてたりするとその傾向が顕著ね。
0866名前は開発中のものです。2011/05/20(金) 14:19:06.24ID:eAwQCbJq
s/ほとんど内容/ほとんど同じ内容/
0867名前は開発中のものです。2011/05/20(金) 14:24:27.19ID:EVAFl0uS
>>866
'sed' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
0868名前は開発中のものです。2011/05/20(金) 14:47:34.36ID:kSteXd1w
確かに、どこでもセーブプラグイン使ってますw
0869名前は開発中のものです。2011/05/20(金) 16:20:00.37ID:Nwp7mPiM
class FuncCall{
var func;
var args;
function FuncCall(func, args*)
{ this.func = func;
this.args = args;}
function call {
func(args*);}
}
function funccall {
var obj = new FuncCall(...);
return obj.call();}

function Load(){
obj[i] = new SystemButtonLayer(kag, kag.fore.base, funccall(btn, i));
with(obj[i]){
.setPos(0, 0);
.loadImages("image");
}}

function btn(i) {System.inform(i);}
var obj = [];
var i=0;
Load();
0870名前は開発中のものです。2011/05/20(金) 16:20:41.65ID:Nwp7mPiM
申し訳ないです。 これを説明して頂きたいのですけど。
1.Load();でまずボタンを作ろうとして、funccall(btn, i)が呼ばれる。(まずここでなぜfunccall(btn(),i)でないのかわかりません)
2.funccallでobj(btn, i);が作られてobg.call();が呼ばれる。
3.obg.call();はfunc(args*)だからfunc(i)となる。

それがどうしてbtn(i)になるのかが理解出来ません。
上の書式で確かに動くので、正しい事は理解してるのですが・・・・・
さらに>>856のshift()(this*);の意味もわかりません。
初心者の質問なのですが教えてください。
0871名前は開発中のものです。2011/05/20(金) 17:04:01.20ID:Nwp7mPiM
869.870ですがなんとなくわかってきました
そこで新たな疑問なのですがreturn obj.call;だとbyn(i)と言う文字列?を出力するとわかるのですがなぜそれが可能なのでしょうか?
return obj.cal()lじゃないのかな?と思ったのですが、これだと文字列では無く直接評価してsysteminformが出てしまいます。
なぜ()を付けなくて動くんだろうと言う疑問とダブルの??です。

856の方は未だにチンプンカンプンです。
0872名前は開発中のものです。2011/05/20(金) 19:12:28.26ID:eAwQCbJq
TJSについて詳しく無い人にわかるようにきちんと説明するのはかなり大変なので、要点だけ解説します。

まず、一番大本の obj[i] = new SystemButtonLayer(kag, kag.fore.base, btn(i)); では駄目なのか?

この場合、期待しているのは「ボタンが押された時にbtn関数が呼ばれる」事なのに、
この表記だと「ボタンを作成した時にbtn関数が呼ばれる」事になってしまいます。

つまり、最初の表記ではSystemButtonLayerに「btn関数を渡す」つもりで
「btn関数の呼び出し結果を渡してしまっている」ことがエラーの原因です。

(続く)
0873名前は開発中のものです。2011/05/20(金) 19:15:40.36ID:eAwQCbJq
TJSではbtn関数が定義されている状態で「btn()」と書くと、
その関数が呼び出した実行結果がとなります。関数そのものを
あらわすには「btn」と、括弧無しで表記する必要があります。

つまり、元々の意図通り「SystemButtonLayerに、ボタンが
呼び出された時に処理されるようにbtn関数を渡す」場合は、
以下のように表記するのが正しいことになります。

obj[i] = new SystemButtonLayer(kag, kag.fore.base, btn);

…でも、これはこれで何かおかしいですね?
そう、btn関数は引数をひとつ必要とする関数なのに、
これではボタンが押された時に引数無しでbtn関数が呼び出されてしまい、
やはりエラーになってしまうでしょう。

ではどうすればいいのか?

(続く)
0874名前は開発中のものです。2011/05/20(金) 19:26:16.66ID:eAwQCbJq
吉里吉里の関数は「ファーストクラスオブジェクト」と言って、
変数に代入が可能な要素になっています(その仕組みのおかげで、
SystemButtonLayerに関数を指定して、後から実行してもらう
事が出来ます)。

ですが、ファーストクラスオブジェクトとしての関数は、
「関数そのもの」と「関数が実行されるコンテキスト」の
2つの要素だけで構成されています。関数を実行する際に
与える引数は、含まれていません。

つまり、吉里吉里の素の表記では、引数まで含めて関数を
遅延評価するために変数に代入してやることは出来ません。

(続く)
0875名前は開発中のものです。2011/05/20(金) 19:29:42.81ID:eAwQCbJq
そこを何とかするための小技が「funccall」の一連の仕組みです。

詳細に書くと「目的の関数と引数を含めた新たなコンテキスト」を
作って、そのコンテキストで「目的の関数を目的の引数で呼び出す関数」
を作り、最終的にその関数を返値として返すという処理をしてるんですが、
自分で書いてて何言ってるんだという感じですね。

すいません、ややこしいのでなかなかうまく説明できる気がしません。

0876名前は開発中のものです。2011/05/20(金) 23:41:03.92ID:DRp9kJRA
吉里吉里でAVGを作っていてわからないことがあったので質問させて頂きます
メッセージウィンドウの上の部分にシステムボタン?みたいな感じのコンフィグ画面を呼び出すボタンを作りたいのですが
というか作ったのですが、コンフィグ画面を呼び出した後元の画面へ戻す方法が分かりません
サブルーチンの様にcall returnでは戻れませんし如何したら良いでしょうか?

皆さんからしてみれば馬鹿らしい質問かもしれませんがよろしくお願いします
0877名前は開発中のものです。2011/05/20(金) 23:43:39.26ID:hQCWH1ga
こんふぃぐ画面用のれいやをよういするのがかんたん
0878名前は開発中のものです。2011/05/20(金) 23:46:51.59ID:ZuvEuGx1
あるいは、ボタンからcallするやりかたが分からないという場合は
KAGリファレンスの「TJSをもっと使うために」の中の
「リンクやボタンの exp 属性などに指定するもの」、という項目を読め。
0879名前は開発中のものです。2011/05/21(土) 00:17:22.48ID:GeSh6aqR
>>872-875
お返事遅くなりました。
なんとなく分かった感じです(完全にはまだ理解出来てませんが)
もう少し自分で色々考えてみたいと思います。
またわからなくなったらお願い致します。
ありがとうございました。
0880名前は開発中のものです。2011/05/21(土) 01:17:30.53ID:ENG/uSZB
読み進むキーが、デフォルトではEnterとスペースですが、Ctrlでもできるようにしようとしています。
ぐぐって
;supportReadingKey = VK_CONTROL;
を追加したのですが、そうするとスペースで進めなくなってしまいました。
Ctrlの追加だけ行うにはどうすればいいでしょうか。
0881名前は開発中のものです。2011/05/21(土) 02:45:05.23ID:zxd6ANIJ
>>878
?kag.callExtraConductor
という項目でしょうか?
ボタンからのexpでサブルーチンを呼び出す事は出来るのですが
呼び戻し方がいまいちよく分かりません

>3番目の引数は省略可能ですが、KAG のシナリオから戻ったときに実行する関数/メソッドを指定します
という記述があるのですが関数やメソッドなどについて無知なもので・・・
自分でも調べて意味を理解してみようと思いますができればそれと併せて説明を頂けたら嬉しいです
>>877>>878さんお早い返事有難うございました
■ このスレッドは過去ログ倉庫に格納されています