■吉里吉里/KAG/TJS雑談質問スレ■その26at GAMEDEV
■吉里吉里/KAG/TJS雑談質問スレ■その26 - 暇つぶし2ch100:名前は開発中のものです。
12/06/24 01:40:25.02 xCwnvnDM
>>95
同梱の話なんてしてないだろ。ライセンスに互換性がないって言ってるだろ。

101:名前は開発中のものです。
12/06/24 01:54:05.92 Y4M9/Ax2
>>100
いや、だから、同梱してるだけだから、ライセンスの互換が必要ないだろ

102:名前は開発中のものです。
12/06/24 02:16:51.61 IVFYBvxi
やっぱりじぶんにはKKDEがしょうにあってるとおもちました

103:名前は開発中のものです。
12/06/24 02:36:20.53 OhuJKXSZ
KKDEはすっかり更新が止まってしまって・・・

104:名前は開発中のものです。
12/06/24 11:27:05.14 BOrLXODa
基本的な設計は非常にKKDEが優れているんだけどね
更新止まっちゃったからね……

まあそれでもKKDE使ってるんだけども

105:名前は開発中のものです。
12/06/24 16:20:56.90 oVI62Abs
あどばんすど吉里吉里の本にある設定画面の作り方を少し改造したいのですがうまくいきません。

【KAGファイル】
;SEボリューム
@slider_create name=sevolume parentlayer="&tf.config_message" parentpage=fore left=214 top=369 visible=true min=0 max=100 position="&kag.se[0].volume2\1000" onchangefunc="sevolume_func" unit="%"

【TJSファイル】
function sevolume_func(pos)
{
var dic = %["gvolume"=>pos];
for(var i = 0; i < kag.numSEBuffers; i++){
kag.se[i].setOptions(dic);
}
invalidate dic;
}

sevolume_func関数に追加で引数を渡したいのですが

onchangefunc="sevolume_func(0)"
function sevolume_func(pos,num)
としたらエラーが出てしまいました。どのように記述したらいいのでしょうか?
初心者で恐縮ですがどなたかアドバイスいただけたら幸いです。

106:名前は開発中のものです。
12/06/24 17:16:54.50 zKFRm0+a
エラー書こう

107:名前は開発中のものです。
12/06/25 21:59:37.01 1Zrslhtf
>>106
返信ありがとうございます。

エラーは別の箇所で起きていたようで、この記述のところとは別でした。

ただエラーは起きませんが、こちらの意図した動作とは違った動作になってしまいました。
具体的には
onchangefunc="sevolume_func(0)"
function sevolume_func(pos,num)

としてしまうと、posが受け取れなくなってしまい

onchangefunc="sevolume_func(kag.se[0].volume2\1000, 0)"
function sevolume_func(pos,num)

としてしまうと、スライダーで値を変更しても値が変化しませんでした。

どのようにしたらposがスライダーを動かす度に値を保持して、numを引数として渡せるでしょうか?

108:名前は開発中のものです。
12/06/25 22:05:28.85 vFWnjbaK
吉里吉里ってブレークポイントとかステップ実行とか出来ませんか?

109:名前は開発中のものです。
12/06/25 22:06:11.56 Pse6o1eg
C++で全ソースをコンパイルできる人なら、デバッグ対応版があったような

110:名前は開発中のものです。
12/06/26 03:09:18.05 EEQAplk8
>>107
その本持ってないからハッキリしたことは言えないんだけど
slider_createって命令のonchangefuncの動作を実装してるとこで直接なんかの数値をposに入れてるんじゃね?
そっちの方いじってみたらいいんじゃねーかな

111:名前は開発中のものです。
12/06/26 16:10:39.97 RlQEUDEU
invalidateされた後、そのObjectはvoidになりますか?

invalidate a;

としたあと

if( a === void )
{
メッセージ表示
}

としてもうまくいきません。

112:名前は開発中のものです。
12/06/26 16:39:24.50 5I04z+jk
ならない。a = void;で代入しないと

113:名前は開発中のものです。
12/06/26 16:53:58.32 RlQEUDEU
ということは
finalizeでinvalidate a;したあと
a = voidにしないといけないってことでしょうか?

114:名前は開発中のものです。
12/06/26 17:12:12.71 5I04z+jk
finalizeでinvalidateされるなら通常aはメンバ変数なはずで
メンバ変数ならfinalizeのあとは存在しないから
a = void;にする必要性が見当たらない
ちなみにオブジェクトがinvalidateされてるか調べたいならa isvalidだけど何がしたいの

115:名前は開発中のものです。
12/06/26 20:29:00.61 RlQEUDEU
組み込みの手引きに書いてるとは・・・。
ありがとうございました。

116:名前は開発中のものです。
12/06/27 17:36:05.99 FKE4icte
質問です。
今、セーブロード画面を作ろうとしています。

こんな感じで
if (sf.new_savedata == num)
drawText(130, 40, "(New)", 0xff0000);

最新のデータには(New)を表示したいのですが、
MainWindow.tjsの設定で、

function saveBookMarkWithAsk(num,autoon,autostr)//mebius:引数追加(autoon,autostr)
{
// 栞番号 num に栞を設定する
// そのとき、設定するかどうかをたずねる
if(readOnlyMode) return false;
if(bookMarkProtectedStates[num]) return false;
var prompt = "栞 ";
//mebius:autoonがtrueならstrを番号として使う。
if(autoon)
prompt += autostr;
else
if(num < numBookMarks) prompt += (num+1);
if(bookMarkDates[num] != "") // bookMarkDates が空文字の場合は栞は存在しない
prompt += "「" + bookMarkNames[num] + "」";
prompt += "に「"+ pcflags.currentPageName + "」をはさみますか?";
var result = askYesNo(prompt, "確認", saveBookMark, void, num);
if(result) return saveBookMark(num);
return ☆☆☆;
}

117:名前は開発中のものです。
12/06/27 17:36:48.23 FKE4icte
(もともとのMainWindow.tjsを少し改変しています)


↑の続きです。

最後のreturnの☆☆☆の部分を、
trueにすると
「栞1に○○をはさみますか?」と出たときに、「いいえ」を選択しても、(New)が表示されてしまい、
falseにすると、
「はい」を選択しても、(New)が表示されません。

分かりにくくてすみません。
情報量が少ないと思いますので、こういった情報がなければ分からない、などありましたら教えてください。
よろしくお願いします。


118:名前は開発中のものです。
12/06/27 18:12:51.55 Y663bEa5
askYesNoって戻り値返してなくね?
つまりresultが常にvoidになってる

119:名前は開発中のものです。
12/06/27 18:14:29.70 Y663bEa5
あごめんKagexだった忘れて

調べてみる

120:名前は開発中のものです。
12/06/27 18:28:44.61 Y663bEa5
☆☆☆まで確実に到達してるんならその関数は正常に動いてると思うんで原因はsaveBookMarkWithAskを呼んでるとこにあるな

121:名前は開発中のものです。
12/06/27 19:13:30.65 FKE4icte
>>119
言っていなくてすみません。
私の使っているバージョンは、KAGEX/TJS2です。

☆☆☆をいじると表示が変わるので、そこまでは到達してると思います。

122:名前は開発中のものです。
12/06/27 19:24:58.05 Y663bEa5
俺の手元のKAGEXならaskYesNoは改造されてて戻り値返してないぞ、YesNoDialog.tjs確認してみてくれ

123:名前は開発中のものです。
12/06/27 21:00:04.47 FKE4icte
>>122
すみません、せっかく教えていただいたのですが、どうも理解できませんでした。
YesNoDialog.tjs見てみたのですが……。
もう一度勉強してみようと思います。

124:名前は開発中のものです。
12/06/27 21:23:24.46 GMItyQAg
saveBookMarkWithAsk()を呼び出す箇所と
戻り値を、「(New)」と描写する部分に受け渡す箇所を見ないと何とも

そもそも「最新のデータ」って何だろう?最後にセーブした栞番号?
栞一覧で、データを一度も書いてない栞に(New)って表示をつけるの?
sf.new_savedataには何が入る?
明確にしないと>>117の実験結果が評価できないぜぇ

125:名前は開発中のものです。
12/06/27 21:28:20.25 Y663bEa5
というかKAGEXって標準のサンプルで最後にセーブしたデータにNEWってついた気がするが・・・

126:名前は開発中のものです。
12/06/27 21:59:48.53 FKE4icte
>>124
「最新のデータ」は最後にセーブした栞番号です。
sf.newsavedataも最後にセーブした栞番号にしたいのですが、
☆☆☆をtrueにすると最後にクリックした栞番号になってしまって。

>saveBookMarkWithAsk()を呼び出す箇所と
>戻り値を、「(New)」と描写する部分に受け渡す箇所

それすらよく理解できていない状態で……。
人様のサンプルスクリプトを不用意にお借りするにはまだ勉強不足でした。

>>125
それが出ないと言うことは、逆に変なことをしてしまっているということですよね。
一回リセットしてみるしかないのでしょうか;

127:名前は開発中のものです。
12/06/27 22:39:47.79 GMItyQAg
>>126
やりたいことは分かったけど、我々のエスパー能力には限界がある
スルーされても恨みっこなしで、全部うぷろだに上げてみてはどうか

>>116
if(result)
{
saveBookMark(num);
sf.new_savedata= num;
return true;
}
else
return ○○○;

はい の場合は正常作動するかも
○○○をどうかすれば いいえもいけるかも

128:名前は開発中のものです。
12/06/27 23:02:52.50 Y663bEa5
どっかのサンプル借りたのか
KAGEXは通常のKAGとの互換性がなかったりするから大改造するならあまり向いてないんじゃないかなー

129:名前は開発中のものです。
12/06/28 07:18:35.12 W5gb+Bob
>>127
>>128
長々とすみませんでした。
私にはまだKAGEXは難しいようです。
KAG3にしましたら、作動しましたのでKAG3を使おうと思います。
ありがとうございました。

130:名前は開発中のものです。
12/06/29 02:12:09.71 70L9UGVk
URLリンク(kasekey.blog101.fc2.com)
sakanoさんとこでも新KAGEXが公開されてた

131:名前は開発中のものです。
12/06/29 02:15:07.58 70L9UGVk
あとNVL Makerのライセンスも作者がここ見て気づいたらしくなんとかするらしい

132:名前は開発中のものです。
12/06/29 03:23:43.13 wuGlQUZH
Zか。時間空いたら触ってみようかね

133:名前は開発中のものです。
12/06/29 23:21:07.43 yJYTGu0v
●爆発エフェクト画像が一枚の非表示レイヤーに横並びになっている
  (いわゆるスプライトシート、仮に160x160が8つ並んで1280x160のレイヤーとする)
●これをアニメーション&回転させつつ、omScreenで対象のレイヤーに描き込みたい

この場合、operateAffineはomScreenに対応しておらず、またスプライトシートから
直接アフィン変換で回転させることはできない(難しい?)ため、

1.まずスプライトシートから、描画したいフレームの部分を160x160だけレイヤーaにcopyRect
2.レイヤーaからレイヤーbにaffineCopyで回転コピー
3.レイヤーbから目的のレイヤーにomScreenでoperateRect

これが一番コストの低い方法ということでいいでしょうか?

134:名前は開発中のものです。
12/06/30 06:30:58.28 YMozOhR8
吉里吉里3は嘘っぱちなの?

135:名前は開発中のものです。
12/06/30 19:32:27.70 OtBiZao3
>>133
1はいらんじゃろ

136:名前は開発中のものです。
12/06/30 19:38:26.01 15ZFllB+
>>135
例えばスプライトシートの4フレーム目[(480,0)-(640,160)]を(560,80)中心に45度回転させ、
画面上の(200,200)に中心が来るように描画

とかだとどんな感じになります?

137:名前は開発中のものです。
12/06/30 20:11:05.91 OtBiZao3
>>136
var mtx = new 2DMatrix(); // 2Dマトリックスとして一般的な処理を実装
mtx.translate(200,200); // 座標移動
mtx.rotate(40*Math.PI/180); // 回転
mtx.translate(-100, -80); // センター位置補正
target.affineCopy(src, 480,0,160,160, true, mtx.a, mtx.b, mtx.c, mtx.d, mtx.tx, mtx.ty, stLinear, false);
こんなかんじで普通にいけるじゃ
ろ。2DMatrix クラスは自分で適当につくってな



138:名前は開発中のものです。
12/06/30 20:13:11.40 15ZFllB+
どうも
研究してみます

139:名前は開発中のものです。
12/07/02 09:10:25.07 dYXmIxZ8
KAGEZってこれもうこのまま運用していいのかな
デフォ吉里吉里・KAGEX・KAGEZどれでもお好きに、みたいに

140:名前は開発中のものです。
12/07/02 15:21:59.16 6znI4Hjk
なんかマニュアル本出すっていう話があったからそれが出たら買ってみて考えようと思ったんだが
現状だとEXと殆ど変わらんからなぁ・・・>>EZ


141:名前は開発中のものです。
12/07/02 16:00:00.42 SGKni6iv
てかEZって具体的に何が便利なの?
ノーマルと

142:sakano
12/07/02 18:09:48.68 +J9Pz3Ek
今のところKAGEXよりずっと良いって所はないかな
これから色々とツール完成したりマニュアル書いたりで便利になっていく予定
EXではenvinit、立ち絵定義その他の設定ファイルを書くのとオプション画面みたいなシステムを作るのが面倒すぎるので
まずはそのあたりを簡単に出来るようにするところから

143:名前は開発中のものです。
12/07/02 20:29:09.24 DLhXCqsJ
このKAGEZのサンプルのシステムってそのまま使ってもいいのかな?

初期の吉里吉里もKAGEXもプレイヤーが弄れる設定項目かなり少ないから
初めからいろいろ設定項目揃ってるのは良いですね
絵とシナリオ書きはじめたらスクリプト弄るのが本当億劫になるから、
一人でノベルゲーム作ってるものとしてはとても有難い

144:名前は開発中のものです。
12/07/03 00:18:12.70 dlCbA8xs
吉里吉里で画面上に常に所持金を表示させたいのですがうまくいきません
ptextを使うことまではわかったのですがそこからがわからないのです
教えていただけませんか

145:名前は開発中のものです。
12/07/03 01:17:32.50 dBSjyn/r
所持金ってどこに仕舞ってんの

146:名前は開発中のものです。
12/07/03 01:27:16.40 soBicl+s
embじゃなくてptextなのか
常にってならKAGプラグインのがいいんじゃないかとも思うが

147:名前は開発中のものです。
12/07/03 01:56:20.72 q0PGQOQm
>>144
ここで紹介されてるのそのまま使えるん違う?
URLリンク(www.geocities.jp)

148:名前は開発中のものです。
12/07/03 02:03:47.58 VdZioSxQ
どう見ても>>144には難易度高すぎるw

149:名前は開発中のものです。
12/07/03 02:49:27.31 dBSjyn/r
まあよほど大量のステータスを表示するんじゃなきゃマクロでレイヤ一枚管理するんでイケそうではあるが。
というか返事ねーから勝手にエスパーするとptextのtext="うんたらかんたら"ってところに所持金変数を入れる方法がわからんとかじゃないか
もしそうならtext=&f.money で表示できるっていう

150:名前は開発中のものです。
12/07/03 02:50:53.72 VdZioSxQ
レイヤーを追加するってどうするんですか(><)
トランジションしたら消えちゃいました(><)

とかなりそう

151:名前は開発中のものです。
12/07/03 17:35:54.92 jx4KLxLw
>>143
自力で使えるならどうぞ

152:名前は開発中のものです。
12/07/04 02:25:32.87 1jlf6Q0H
>>149
無事できました
ありがとうございます
ところでメッセージレイヤのような枠の上にこういった文字を表示させようとする場合
背景の画像に直接そういう枠を描いておくしかないのでしょうか

153:名前は開発中のものです。
12/07/04 05:31:42.56 5LIKOsHD
>>152
枠を描いた画像を置いてそのレイヤ指定してptextすりゃいいんじゃないのかな
というかそれ以外の方法って思いつかないんだけども

154:名前は開発中のものです。
12/07/04 12:28:10.17 VwBnPQvw
index指定してメッセージレイヤの前においた前景レイヤ使う

155:名前は開発中のものです。
12/07/05 01:38:55.25 hEPo6aLE
所持金表示用のメッセージレイヤにframe属性で画像を指定すればいいんであにの?

156:名前は開発中のものです。
12/07/06 08:33:49.66 +ZovoD9I
KAGEXのバーに並んでる音量設定とかエンジン動作とか
ここだけ普通の吉里吉里に移植できんかな

157:名前は開発中のものです。
12/07/06 21:48:47.16 DOI1j826
ここのNo120って回避できないの?
URLリンク(b.koroweb.com)
もし回避できないなら、今使ってるマクロはほとんどKAGEXに
移行できない…

158:名前は開発中のものです。
12/07/07 03:53:42.33 jg4EpFH+
>>157
asd読み込むときにmpの参照先がAnimationConductorの方に変わっちゃってる
読み込む前に他の変数に取っておけばとりあえず回避できる

[macro name=imagemacro]
[eval exp="dm('1: mp.abc = ' + mp.abc)"]
; asdを読み込むとmpが変わってしまうので退避しておく
[eval exp="var mp2 = mp"]
[image *]
[eval exp="dm('2: mp2.abc = ' + mp2.abc)"]
[if exp="mp2.abc == void"]
imageタグの前後でマクロパラメータが消えた! 世界の不思議!
[endif]
[endmacro]


またはoverride.tjsとかに↓の書いておけばmp2がmpの代わりにKAGと同じように使えるようになる
property mp2 {
getter { return kag.conductor.macroParams; }
}

159:名前は開発中のものです。
12/07/07 10:42:28.93 kYW3RO5Q
吉里吉里でメッセージウィンドウの横に主人公の顔を出るタイプの
ゲームを作りたいのだけどお勧めの講座とかありませんか?
ググり方が下手なのかチンプンカンプンです。
コンフィグいじって文字表示の位置変えたりとかは出来るんですが
レイヤー表示をマクロで組んで呼び出しする方が楽なんでしょうか?
メッセージウィンドウには画像を使用して、
キャラ名ウィンドウも作りたいと思ってます。

160:名前は開発中のものです。
12/07/07 11:50:53.97 DFTfaqvv
上の質問で思い出したけど
メッセージウィンドウのフレーム画像って、結局メッセージレイヤの子レイヤに格納されてるかどうか分からなかったなぁ

161:名前は開発中のものです。
12/07/07 11:53:24.89 kx/nqGIK
>>159
んーそんな丁寧な講座あったっけな?要はこう(解決法のひとつ)

↑手前
【メッセージレイヤ0】
【前景レイヤ0(立ち絵)】
【背景レイヤ】

基本のレイヤ構成がこうなっているのはさすがに分かっていると思う
そこに新規のレイヤを定義して付け足していく

【メッセージレイヤ1(キャラ名)】 ←new!
【メッセージレイヤ0】
【前景レイヤ1(顔)】 ←new!
【前景レイヤ0(立ち絵)】
【背景レイヤ】

定義命令は[layopt][position]など(毎回やらなくていい)
config.tjs内で設定されてる枚数制限に注意
手前と奥の順番を変えたければindex属性を使う
複数のメッセージレイヤを用いる場合[current]で操作対象レイヤを指定する

キャラ名切り替えなどは、仰るとおりマクロを作って、ページの頭(セリフの冒頭)で呼び出すと便利
まぁまずは、レイヤを色々追加して遊んでみー

162:名前は開発中のものです。
12/07/07 12:49:05.39 P+9OjB08
>>158
ありがとう。やっぱり退避するしかないのか…。
今まで作ったマクロ中のmpをmp2に変更するのはかなり手間だし、
入れ子になったマクロ中の処理まで考慮すると変更手間が多いし、
KAGEX本体を書き換えるとupdate時に元に戻るかもしれないし、
KAGEXが他にこういう行儀の悪いことをしていないとも限らないので、
KAGEX使うのは諦めることにするよ。残念。

>>159
こんなこと書いといてアレだけど、KAGEXなら簡単にできるよ。
あとごった煮さんとこでも(こっちはKAG+プラグインで)そういうの
テストしてるね。

>>160
メッセージレイヤって複雑だよね。フレームは子レイヤじゃなくて、
メッセージレイヤそのものだったはず。で、文字はメッセージ
レイヤ上にoperateRect()で書き込まれてる。実際はこんなかんじ。
1. 一行が確定するまでは、子レイヤである「行レイヤ」に文字を書き込み、
2. 一行が確定したらそれを画像としてメッセージレイヤ上に貼り付ける
3. 画面クリアの時はフレーム画像読み直し
processCh()、reline()、fixLineLyaer()、clearLayer()あたりを
読むとわかるよ。そして「ハイパーリンクでちゅー」で微笑んで欲しいw

163:名前は開発中のものです。
12/07/07 13:53:19.63 SfsjU2o/
159です。スルーされると思ってたので存外反応してもらえてうれしい。
KKDE使ってたのでKAGEXなら簡単にできると聞けた事と
レイヤーを増やして管理するって考え方であってたのと判っただけでもありがたいです。
(疑心暗鬼で他にうまいやり方があるのかと思ってたので)
161さんや162さん参考にしてもう少し頑張ってみます。有難うございました!

164:名前は開発中のものです。
12/07/07 18:33:43.11 8+Vsrni8
>>158
・Conductor.tjs にある mp_target に代入してるところをさがして削除
・Initialize.tjs の 437行~443 を削除
・吉里吉里バイナリを最新にする

これで mpに起因する問題は根底から消える

165:名前は開発中のものです。
12/07/08 01:30:22.53 +0RMKiIB
俺もKAGEX使うのやめる…。今まで作ってきて謎の挙動が多々
あったのは、157が言うような問題があったからなんだね。
他にもあるかもしれないし、こういうのに一度引っかかると、
せっかくKAGEXの便利機能で削減できてた時間が、あっと
いう間に浪費されてくから…。
今回は、枯れてるって偉大だ、と学んだよ…。


166:名前は開発中のものです。
12/07/08 02:06:20.10 UgQgmlyo
俺もKAGEX使いたくてEZの人のマニュアル本ずっと待ってたけど冬コミからもう半年以上経つし
これ以上待っても時間の方が勿体ないから諦めようかな…

167:名前は開発中のものです。
12/07/08 08:36:39.92 IEz8w4OH
kag.current.linksにハイパーリンクやらグラフィカルボタンが配列として保持されているのはわかりましたが
格納されているグラフィカルボタンの画像名を確認する方法はないのでしょうか?

格納されているオブジェクトのタイプを確認する方法(kag.current.links[n].type)はわかったのですが・・・

168:名前は開発中のものです。
12/07/08 09:27:51.88 KrZ0yeij
links[n].graphicが画像のストレージ。
MessageLayer.tjsの1700行目あたりのaddButtonを見れ。

169:名前は開発中のものです。
12/07/08 19:00:06.13 PPqOU7ed
質問です。
ショートカットキーの割り当てをしたくて、
MenuItem.shortcut
というものを調べているのですが、
具体的にどのようにすれば良いのか全く分かりません。

例えば「P」キーを押したときに、
kag.callExtraConductor('hogehoge.ks','*hoge');
という動作をさせたいのですが……。

170:名前は開発中のものです。
12/07/08 19:41:11.41 ItFPOVFq
>169
MainWindow.tjsのfunction processKeysを参照

171:名前は開発中のものです。
12/07/08 20:20:03.40 PPqOU7ed
>>170
ありがとうございました!
function processKeysに並べて記述しました

172:名前は開発中のものです。
12/07/10 09:19:30.44 9iQnKt7H
今日も朝からdeeたんがあらぶってて面白い

173:名前は開発中のものです。
12/07/10 15:13:16.85 7FfB4vlT
Deeたんはオタクというより、仕事はできるけどセクハラと使えない若手をdisるのが好きな
昭和系バリバリサラリーマンみたい

174:名前は開発中のものです。
12/07/10 20:32:40.30 mgRj1GZX
たびたびすみません。
>>169です。
if(key == #'P')
{
if(f.booknow == true)
{
kag.callExtraConductor('book.ks','*exit');
}
else
{
kag.callExtraConductor('hogehoge.ks','*hoge');
return;
}
}

と、function processKeysに並べて記述したのですが、
今の状態だと、文字が表示中のときでも、
「P」キーを押すと、hogehoge.ksを呼び出せてしまいます。


Plugin.tjsにある、
function onStableStateChanged(stable)
{
// 安定 ( s l p タグで停止中 ) または 走行中 ( それ以外 )
// の状態が変化したときに呼ばれる
// stable = 安定の状態に true, それ以外の場合に false
}
を利用して、安定のときだけ呼び出したいのですが、
どのようにすれば良いのでしょうか。

175:名前は開発中のものです。
12/07/10 20:34:12.44 mgRj1GZX
すみません。
訂正です。
if(key == #'P')
{
kag.callExtraConductor('hogehoge.ks','*hoge');
return;
}

だけでお願いします。

176:名前は開発中のものです。
12/07/10 21:44:14.74 NJL9+htq
>175
if(key == #'P' && kag.inStable==true)
{
kag.callExtraConductor('hogehoge.ks','*hoge');
return;
}

177:名前は開発中のものです。
12/07/10 22:12:14.94 mgRj1GZX
>>176
ありがとうございました。

178:名前は開発中のものです。
12/07/12 21:39:36.13 KpwtCu/L
吉里吉里で、Photoshopとかで言うところの「クリッピングマスク」みたいなのを再現できたらなぁと思案中

今考えてるのは
・fillRectを使ってレイヤの一部を残して透明塗りつぶし
・マスク画像をとっかえひっかえする

手っ取り早そう(というか形にはなった)のは前者だけど、理想を言えば後者で実装したい
というチラ裏

179:名前は開発中のものです。
12/07/12 23:08:25.52 K4hOydN4
>>178
めっちゃほしい!
wktk

180:名前は開発中のものです。
12/07/12 23:50:44.78 KpwtCu/L
そんなんいうても

@iscript
var i=0;
for(i=0;i!=kag.scHeight;i++){
kag.fore.layers[1].fillRect(-i+800,i,kag.fore.layers[1].width,1,0x00000000);
}
@endscript

みたいなんを直書きしとるだけやし・・・
(↑の例だったら画面が斜めの線で切り取られるはず)
えらそうに言って本当申し訳ないけど本当アレすぎてアレ

181:名前は開発中のものです。
12/07/13 00:12:50.49 rSfzIbQj
>>178
layerExBTOA プラグインの clipAlphaRect メソッドを調べると幸せになれるかもね

182:名前は開発中のものです。
12/07/13 00:37:12.16 rZDuHhhV
>>181
そのものズバリのプラグインだった
こねくり回してみるわ、どうもありがとう!

183:名前は開発中のものです。
12/07/13 04:35:27.49 w+C74ZYv
KAGEXって、そのまま使うにはクセあって馴染むのに暇がかかるみたいだけど、バラすと色々いいのあってまいる。
避けて通った方がわかりやすくていいけど、損もするよ的な……。

layerExってついてるから、ごうさん作の一品だよねってロクにしらべもしないできめつけて言ってみるテスト。

184:名前は開発中のものです。
12/07/13 06:38:55.68 rZDuHhhV
KAGからの乗り換えがもうちょっと楽なら考えるんだけどなぁ>KAGEX

185:名前は開発中のものです。
12/07/13 13:26:06.88 qdISisQx
KAGEXは各パーツを全部ばらして好きな機能を自由にKAGにくっつけられたらいいのに

186:名前は開発中のものです。
12/07/13 17:16:35.53 s1mybzF8
吉里吉里3が全てを駆逐するというのに……

187:名前は開発中のものです。
12/07/13 17:21:08.56 wUljWFJ3
3はよ

188:名前は開発中のものです。
12/07/13 21:03:33.44 rZDuHhhV
これがこのスレの総意

189:名前は開発中のものです。
12/07/13 23:24:42.94 rZDuHhhV
あれ、sv.kikyou.infoに入れなくなってる

190:名前は開発中のものです。
12/07/14 16:43:48.01 Pm3RlCeR
嘘乙

191:名前は開発中のものです。
12/07/14 16:45:32.23 7dNhrywq
一時的にしろ、その時間は落ちてたよ。
今は復旧してるみたいだけど

192:名前は開発中のものです。
12/07/14 16:51:28.40 Pm3RlCeR
まじで?それはすまんかった

193:名前は開発中のものです。
12/07/15 09:56:14.86 CAY30znS
>>185
ごった煮さんってそういう思想が好きそうね。
URLリンク(www.geocities.jp)


194:名前は開発中のものです。
12/07/16 10:44:44.65 9ka91v09
KAGみたいな吉里吉里フレームワークを独自に開発してもいいですか?

195:名前は開発中のものです。
12/07/16 10:50:28.27 lGgivo9e
そういう質問をする奴は永遠に開発しない法則というのがあってな

196:名前は開発中のものです。
12/07/17 21:38:47.12 +ARM0ZuK
Vitaで吉里吉里エンジン動くようにしてくれたら面白いのに

197:名前は開発中のものです。
12/07/18 19:41:11.17 yAtf5V8E
吉里吉里JAVAってプラットホーム何でもいけるん?

198:名前は開発中のものです。
12/07/18 23:18:48.67 qiR+QYdG
吉里吉里作品のメッセージ枠に「セーブ」やら「オプション」やらつけるのってどうやるんですか?
前景レイヤにずっとbuttonタグで表示させてるんでごわすか?

199:名前は開発中のものです。
12/07/18 23:54:53.26 yAtf5V8E
めんどくさかったら「tjsに挑戦」先生のところの"ExSystemButtonPlugin"ってのどうぞ
仕組みはわからんごめん

200:名前は開発中のものです。
12/07/19 00:34:07.22 UgaRbJ1P
200

201:名前は開発中のものです。
12/07/19 04:43:47.90 g+V+f+Ik
@macro name=bo1
@layopt layer="massege1"

[button graphic="bo1" exp="kag.fore.layers[1].visible=true"]

@endmacro
---------------------------------------------
こんなかんじでボタンを押すと対応画像レイヤー表示してます
そして消す時は消去ボタンを visible=false で消去してるんですが...

上記ボタンを再度押した時にレイヤー表示offにするにはどうしたら良いでしょうか?

押す>表示
再押>消去
また押す>表示

ボタンを1個にして表示/非表示をしたいのですが....




202:名前は開発中のものです。
12/07/19 07:31:22.37 Hzj2EXcQ
[button graphic="bo1" exp="kag.fore.layers[1].visible = !kag.fore.layers[1].visible"]
!でtrueとfalse反転

203:名前は開発中のものです。
12/07/19 09:51:10.61 g+V+f+Ik
>202
すすすすっすす素晴らしい!
ありがとうございますだー!
きっちり動きました!

またよろしくご指導お願いしますorz

204:名前は開発中のものです。
12/07/19 22:57:05.82 fcwxvPD7
シナリオファイルって分けた方がいいんでしょうか?
それともfirst.ksに全て収録すればいいんでしょうか。
通例なんか教えてもらえるとありがたいです。

205:名前は開発中のものです。
12/07/19 23:09:00.29 ztk7ESZj
分けた方が管理しやすいと思ったら分ければいいし
全部一つにまとめた方が楽だと思ったらそうすればいいし

206:名前は開発中のものです。
12/07/19 23:33:21.63 1JmeiXuz
吉里吉里のメッセージって文字数と行数どのくらいが一般的でしょうか?

207:名前は開発中のものです。
12/07/19 23:46:04.75 DMqGBxOO
吉里吉里というか普通にエロゲーとかノベルゲーとか作ってる種類の作品を参考にどのくらいがいいか決めてくればいいじゃない

208:名前は開発中のものです。
12/07/20 13:03:23.97 OUEcOo8n
夏休みが始まったのか?

209:名前は開発中のものです。
12/07/20 13:22:47.98 5eMh2pdL
Deeたんの彼女のために大切な要素は以下の5点である。

・ツインテ (Twin tail)
・不道徳 (Immoral)
・愚行 (Nonsense)
・ニーソ (Knee socks)
・従順 (Obedience)

これらをまとめて『TINKO』と呼ぶ。

210:名前は開発中のものです。
12/07/20 13:25:15.17 +cwXUPrf
理想の彼女ちん子さんかぁ

211:名前は開発中のものです。
12/07/22 00:56:24.61 Fu8ZBkHj
吉里吉里でメッセージ枠内での1行当たりの文字数や
行数を制限する場合どのようにすればいいのでしょうか?

フォントのサイズや行間字間弄って3行くらいで改ページ

みたいな地道な作業をするしかないんでしょうか。

212:名前は開発中のものです。
12/07/22 09:54:47.85 aFcQ/oyj
>>211
メッセージレイヤーのサイズを変更するんじゃ駄目なの?
1と>>3-5とか読め。

213:名前は開発中のものです。
12/07/22 10:18:34.10 ru8MLx9t
ダメダメダメダメダメダメダメ来年は、ダメ来年はただたするぬうほをねあけ!るる?むみはぬすあうてめよしけへめよよみひひひたかあう
どうしたらレベルあがるのーーーーーー

214:名前は開発中のものです。
12/07/22 10:22:37.89 aFcQ/oyj
夏休みかー

215:名前は開発中のものです。
12/07/23 09:39:31.45 1+t/RB9F
htmlで作られたフレームページみたいのを吉里吉里で作るには
(左に文字か画像でリンク→右にデータ(文字や画像)を呼び出す)
リンク前とリンク後のページを作ってリンクで呼び出すのか
それとも他の方法があるのかを教えてください。



216:名前は開発中のものです。
12/07/23 09:48:10.70 fm4aoOIh
メッセージレイヤー複数使って、左にメッセージレイヤーA、右にメッセージレイヤーB
→メッセージレイヤーAにリンク並べる
→押されたら適当なラベルに飛んでメッセージレイヤーBの中身を消去した後に情報表示

ってすれば?

217:名前は開発中のものです。
12/07/23 20:38:57.08 Ff6PNKoM
質問です
どこかにシナリオファイルは長くても細かくksファイルに分けても
変わらないとあった気がしたので
現在1つのksファイルにシナリオをひとまとめにしています
しかし作っているゲームが上から下へ順番にシナリオが流れていくのではなく
要所要所で条件にあったイベントのラベルに飛んでいるので
もしかして1イベント1ksファイルで呼び出したほうが
ラベルを探す手間なく処理が早いのではないかと疑問に想いました
もしご存知の方がいらしたら多少でも違いがあるのかでも
教えて貰えたら嬉しいです

218:名前は開発中のものです。
12/07/24 00:04:36.82 Wr2IeOWX
気にするようなオーバーヘッドは無いと思うけど
差が気になるならループ文つくって開始時と終了時の時間をはかって検証してみ

219:名前は開発中のものです。
12/07/24 02:48:11.64 xSqQyOS5
>>217
M単位に及ぶような長大な、または非常に多くの分岐を持つシナリオを管理する時に、
どこに何が書いてあるかパッと見てわからなくなるからファイルを分けてるんだと思うよ。俺はそう。
吉里吉里やKAGのオーバーヘッドより扱う人間のオーバーヘッドが先に来る、と。

220:名前は開発中のものです。
12/07/24 03:47:41.89 74u1eaEP
10年くらい前の古いPCだとM単位のファイル開くときにオーバーヘッドはあった気がする

221:名前は開発中のものです。
12/07/24 05:39:18.16 bslXFx6R
シナリオエディタのラベル検索機能かなんかで
容易に場面の頭出しとかできるなら、まとめていいのでは

222:名前は開発中のものです。
12/07/24 13:09:45.43 C0c98s8i
ファイルわけておくと修正パッチの影響範囲を最小限におさえられる

223:名前は開発中のものです。
12/07/24 14:03:44.39 C0c98s8i
あと、スクリプト作業で長いファイルは達成感が得にくくだれるのと、確認作業が面倒になるので、できれば30kb、最大でも50kbを上限に分割したほうが精神的に良い(経験則)

224:名前は開発中のものです。
12/07/24 20:56:05.99 43P4h+j/
デメリット
・見直したくなった時、どれがどこにあったか分からなくなる事がある
・ファイルをいくつも開かないといけなくなったりする

225:名前は開発中のものです。
12/07/24 21:08:27.48 t8ey6tv1
検索はフォルダーごとgrepできるエディタつかえば問題にならないよ

226:名前は開発中のものです。
12/07/24 22:24:40.48 tm5+Vxo9
開発中止宣言が出ましたね

227:名前は開発中のものです。
12/07/24 23:13:01.95 Jstw7kAK
まじで?

228:名前は開発中のものです。
12/07/25 04:19:49.64 LamyZPnL
シナリオは一番最初に吉里吉里でゲーム作った時は1つに全部入れた
その後はシーン別に入れてる
ks一つにするとデバグが面倒すぎるのが大きいと思う
1つだと最初に入れた構文が後々になって影響してたりと
手に負えない状態が起こる

今はメインのシナリオにはシナリオのコールぐらいしか無いなぁ


229:名前は開発中のものです。
12/07/25 07:02:36.03 0vpzVvRZ
『社長が訊く』ブラウザとかいう気持ち悪いアプリ作ってたの
KKDEの人かよ・・・なんかガッカリ

230:名前は開発中のものです。
12/07/25 08:38:23.83 bY98Tk6Q
>>229
オマイは、潔癖症まるだしのリアル厨房女かよ

231:名前は開発中のものです。
12/07/25 09:35:48.61 oQRAlQIm
w

232:名前は開発中のものです。
12/07/25 18:33:43.89 dWGmRKnt
>>217です
>>218-225,>>228
回答ありがとうございます
気にするほどではないもののやはりデメリットもあるんですね
パッチにまで考えが至らず目から鱗でした
アンケートでMeでプレイしている人もいたので
ksファイルはわけて作る事にします

233:名前は開発中のものです。
12/07/26 02:16:32.82 z8JK3CdH
OP再生すると二、三年使ってるXPでは色調反転したような酷い再生のされかた。
最近買った7では普通に再生。
これは何が問題ですかね?


234:名前は開発中のものです。
12/07/26 02:56:52.20 ukHDEnyP
レイヤー再生を使え

235:名前は開発中のものです。
12/07/31 19:54:47.87 j3nuZzZq
KAGで折れ線グラフって表示できませんか?
棒グラフはできても折れ線グラフがどうやっても作れません。
なにかうまいやり方はないでしょうか?

236:名前は開発中のものです。
12/07/31 21:32:17.26 9/0ZnSj+
>>235
LayerExDrawプラグインでがんばれ

237:名前は開発中のものです。
12/08/01 23:17:46.74 VJj+OEJn
>>235
自分はfor文で1ドットづつ打った。当然アンチエイリアスなんてない

238:名前は開発中のものです。
12/08/01 23:21:54.13 SLkK3dYF
>>236がどう見てもただしいw

239:名前は開発中のものです。
12/08/01 23:29:49.35 ASG7kv4C
>>235
それは直線を描く方法がわからないのか
直線で折れ線グラフを実現する方法がわからないのかどっちだろう

240:名前は開発中のものです。
12/08/02 04:35:53.10 nhwJ+1/2
算数や数学の話になってきたりしてな。
ちょっと面白い事やろうとすると奴らが立ちふさがってきやがる……
数学で高校卒業を断念した俺にはとてもとても

241:名前は開発中のものです。
12/08/02 14:43:16.12 bHqH0f+G
>>235です。
>>236
教えていただいてありがとうございます。
今までKAGのタグでできる範囲でしかやってこなかったので、LayerExDraw自体初めて知りました。
どうやらがんばれば作れそうなことはわかったのですが、プラグインを接続?というのができませんでした。
もう少しTJSについて勉強しないとどうしようもなさそうです……。

>>237
すみません、for文がわかりませんでした。
TJSのforステートメントというのでしょうか?

>>239
直線を描く方法がわかりません。
無知ですみません。


242:名前は開発中のものです。
12/08/02 14:49:06.32 z6EpSCLB
まあそのレベルなら大人しくKAGで頑張ってたほうがいいな

243:名前は開発中のものです。
12/08/02 15:51:05.40 PefCP4Vk
>>241
棒グラフが作れるなら
棒の幅を1ピクセルにして敷き詰め かつ棒のてっぺんだけを描けばいいじゃん?
中学で習うであろう一次関数(y=ax+b)を使うんだ。あのグラフを思い出すんだ

244:名前は開発中のものです。
12/08/02 18:52:39.47 nhwJ+1/2
1x1ピクセルの画像をpimageで貼り倒すKAGサブルーチンで対処したら
なんかほほえましくていいかもしれない

245:名前は開発中のものです。
12/08/02 21:16:36.32 tEPrb32o
地点AからBまで直線引く関数とか何かって無かったっけ

246:名前は開発中のものです。
12/08/02 21:20:44.61 z6EpSCLB
プラグイン入れないとない

247:名前は開発中のものです。
12/08/02 21:59:04.74 KC4f3+gE
Override.tjsがきちんと読み込まれなくなってしまったのですが、原因は何が考えられるでしょうか?

Override.tjsではMainWindow.tjsのgoToStart()を上書きしているのですが

function goToStart(){
 System.inform("入った!");
 //以下、いろいろな処理
}

としても「入った!」が表示されません。

ちなみに、Override.tjsを読み込んでいるInitialize.tjsの

if(Storages.isExistentStorage("Override.tjs"))
KAGLoadScript("Override.tjs");

にはきちんと入っているようです。

原因が分かる方がいたらお願い致します。


248:名前は開発中のものです。
12/08/02 22:47:42.53 9TylehNr
function goToStart(){
 System.inform("入った!");
 //以下、いろいろな処理
}

これでMainWidnow.tjsのgoToStartは上書きされません

249:名前は開発中のものです。
12/08/03 02:06:39.68 C8XwI9Hq
1920x1200のモニタが一つ接続されている環境で、WindowEx.dllを使ってSystem.getMonitorInfo()を実行すると以下のようになります。画面外にあるはずの時にモニタが返ってきたり、画面内にあるはずの時に void になったりするのは、使い方を間違っているからでしょうか。

01:45:12 コンソール : System.getDisplayMonitors().count = (int)1
01:45:38 コンソール : System.getDisplayMonitors()[0].work.w = (int)1920
01:45:40 コンソール : System.getDisplayMonitors()[0].work.h = (int)1147
01:46:00 コンソール : System.getMonitorInfo(false, 1199, 0) = (object)(object 0x05A96508:0x05A96508)
01:46:04 コンソール : System.getMonitorInfo(false, 1200, 0) = (void)
01:46:13 コンソール : System.getMonitorInfo(false, 0, 100000) = (object)(object 0x05A9AFF8:0x05A9AFF8)
01:47:15 コンソール : System.getMonitorInfo(false, -1, 0) = (void)
01:47:21 コンソール : System.getMonitorInfo(false, 0, -1) = (object)(object 0x05A9AFF8:0x05A9AFF8)

>>247
Override.tjsに書くなら、以下でいけるはず。

KAGWindow.goToStart = function() {
System.inform("入った!");
//以下、いろいろな処理
};


250:名前は開発中のものです。
12/08/03 16:42:12.00 DEMtdafV
Deeたんエロオヤジすなあ

251:名前は開発中のものです。
12/08/04 02:06:02.98 zH+g1yAN
>>249
確かにおかしい。バグじゃないかな。
System.getMonitorInfo(false, 500, 200, 1, 1);
のように1x1領域をチェックすればとりあえず想定どおり
動くみたいだけど…根本修正してほしいよね。


252:名前は開発中のものです。
12/08/05 02:40:49.34 JxOA4bBL
>>249

WindowEx.dll のソースコードを見た。バグだ。
getMonitorInfo()で、座標指定の時の1754行目と1755行目で、
本当は param[1]とparam[2]を指定しなきゃいけないところが
param[0]とparam[1]になってる。

1752 case 3: // 座標指定
1753 POINT pt;
1754 pt.x = (LONG)param[0]->AsInteger();
1755 pt.y = (LONG)param[1]->AsInteger();
1756 mon = ::MonitorFromPoint(pt, flag);
1757 break;

確認したら、公式はちょっと前に修正されたみたいね。
一応、251の方法で回避はできる。

しかし…こんなバグが残ってるなんて、よっぽど使われてないんだなぁ…。


253:名前は開発中のものです。
12/08/05 03:39:44.09 gdrvZuV+
そのへんのプラグインはこのスレに書けばだいたいすぐなおるよね

254:名前は開発中のものです。
12/08/05 05:07:40.64 JxOA4bBL
>>253
それでいいのかな、公式に書かないといけないんじゃないかな、
とは思うものの、すごく助かるのは助かるよね。
アンテナ広いメンテナーの方々に感謝。


255:名前は開発中のものです。
12/08/05 11:44:38.13 oi4xNQnN
集合痴だからな

256:名前は開発中のものです。
12/08/05 12:55:38.72 XS7fIZvL
大体あってる

257:名前は開発中のものです。
12/08/06 02:58:48.52 6wRb2Hwx
TJSで、あるインスタンスに、そのインスタンスのスーパークラスの
メンバを参照する関数を「後から」追加するにはどうすればいいで
しょうか。

例:kag.leftがpropertyなどでWindowクラスのleftをオーバーライド
している場合に、Windowクラスのleftを表示する関数を kag に
追加する場合、こうだと思っていたのですが、
kag.func = function { dm(super.left); } incontextof kag;
これだと「スーパークラスが存在しないかスーパークラスを特定
できません」と怒られます。


258:名前は開発中のものです。
12/08/06 03:20:17.46 6wRb2Hwx
以下で実現できることは知っていますが、superを指定したいのです。
kag.func = function { dm(.Window.left); } incontextof kag;


259:名前は開発中のものです。
12/08/06 03:44:06.31 +9M0Wrqe
残念ながら super はどうやってもクラス定義中以外では使えない。
オブジェクトのクラスや親クラスを直接取得する方法がないのは
TJSの欠陥よね

全クラスをグローバルに作ってて、単独継承しかしてないなら、
隠れインターフェース経由で以下で対応できる

function getSuper(obj) {
var superName = Scripts.getClassNames(obj)[1];
return superName !== void ? global[superName] : void;
}

260:名前は開発中のものです。
12/08/06 04:38:15.78 6wRb2Hwx
>>259
ありがとうございます。そういう方法があるんですね。
その方法で実装しようとおもいます。


261:名前は開発中のものです。
12/08/09 06:42:27.53 5fT1y0O0
吉里吉里3はハッタリだったね

262:名前は開発中のものです。
12/08/09 06:46:12.74 3UUV0rya
つ 吉里吉里Java


263:名前は開発中のものです。
12/08/09 14:02:34.44 726MuRD5
ぎりぎりJava

264:名前は開発中のものです。
12/08/09 15:35:12.46 3rvMzfMZ
Deeたんってオタク系の変態というよりはベンチャー企業の
セクハラ大好きパワハラ大好き体育会系重役って感じだよね




URLリンク(twitter.com)
でぃー子♀@クネクネ動く猫しっぽ制作中
@harmonia_www エロゲではシェア33%以上を誇るゲームエンジンの作者でつ。
それとは関係ないけどとアメリカに支店、ベトナムに子会社があるとあるIT企業の
取締役でつ!!

URLリンク(twitter.com)
でぃー子♀@クネクネ動く猫しっぽ制作中
@satouni02 いやーむかし女の子が「ちょっやめっ」とかいうの全部無視して
手マンしまくってたらそのうちぐてーっとして恍惚の顔になってぐにゅんぐにゅん
膣内がうごいてたけど「イッてるの?」ってきいても「イッてないよぉ><」とか
いってていまいちわからんですばい


265:名前は開発中のものです。
12/08/10 00:53:48.43 Ob6L7C1p
今シェア33%以上もあるか?

266:名前は開発中のものです。
12/08/10 01:01:28.53 bUW23Yx7
ある

267:名前は開発中のものです。
12/08/10 01:11:36.37 Ob6L7C1p
本人乙
ねーよ

268:名前は開発中のものです。
12/08/10 01:17:16.28 IAoWZsRR
Deeたん実在説とかまだ信じてる奴がいたのか

269:名前は開発中のものです。
12/08/10 02:21:10.11 FxXuLnvz
妹さんがいるんだから兄さんだっているだろ

270:名前は開発中のものです。
12/08/10 02:26:07.38 Y+OM/bgx
昨年のデータだと、新作の25%が吉里吉里

271:名前は開発中のものです。
12/08/10 07:27:00.72 TOnppI03
25%って商業ですか? 同人も含めてですか?(全部カウントするのは無理でしょうけど)

272:名前は開発中のものです。
12/08/10 07:38:21.03 i0Qf1DqE
Deeさん痛すぎて面白いなw

273:名前は開発中のものです。
12/08/10 09:11:16.11 oMZ9kWYE
>>270
低価格ゲーはほとんど吉里吉里

274:名前は開発中のものです。
12/08/10 12:43:08.15 gntNwDjW
俺のエロゲーの100%が吉里吉里

275:名前は開発中のものです。
12/08/10 13:02:38.19 Y+OM/bgx
>>271
商業

276:名前は開発中のものです。
12/08/10 19:29:44.01 A3LbA3eC
学ぶ力には三つの条件があります。

第一は自分自身に対する不全感。
自分は非力で、無知で、まだまだ多くのものが欠けている。
だからこの欠如を埋めなくてはならない、という飢餓感を持つこと。

第二は、その欠如を埋めてくれる「メンター(先達)」を探し当てられる能力です。
メンターは学校の先生でもお母さんでもネットの中の無名の人でも、生きた人間ならどんな人でも、
生涯にわたる師ではなく、ただある場所から別の場所に案内してくれるだけの
「渡し守」のような人でもいいのです。
自分を一歩先に連れて行ってくれる人は全て大切なメンターです。

第三が、素直な気持ち。
メンターを「教える気にさせる」力です。オープンマインドと言ってもいいし、
もっと平たく「愛嬌(あいきょう)」と言ってもいい。

「学ぶ姿勢」のある人は、何よりも素直です。
つまらない先入観を持たないから、生半可なリアリズムで好奇心を閉ざさない。
素直な人に聞かれると、こちらもつい真剣になる。知っている限りのことを、
知らないことまでも、教えてあげたいという気分になる。そういうものです。

以上、この三つの条件をまとめると、

「学びたいことがあります。教えてください。お願いします」

という文になります。これが「マジックワード」です。
これをさらっと口に出せる人はどこまでも成長することができる。
この言葉を惜しむ人は学ぶことができないのです。
学ぶ力には年齢も社会的地位も関係がありません。
>>273さんも、早く学ぶ力を身に付けてください。

277:名前は開発中のものです。
12/08/10 20:02:39.76 oMZ9kWYE
誤爆か

278:名前は開発中のものです。
12/08/12 10:52:59.80 hQpm+Z4+
拾ったゲームをバイナリで開いたらハッキリ吉里吉里の文字列で吹いた。

279:名前は開発中のものです。
12/08/12 12:11:25.19 fAkWPCru
吉里吉里のリポジトリ、どのブラウザで開いても文字化け
してしまうんだけど、エンコーディング何にすればいいの?
例:
URLリンク(sv.kikyou.info)


280:名前は開発中のものです。
12/08/12 12:42:00.28 Vdl4sVoP
「バイナリで開いたら」ってすげーアホっぽい

281:名前は開発中のものです。
12/08/12 12:45:05.21 NLvo2BE1
>>278
何がおもしろいのか全くわからん。

282:名前は開発中のものです。
12/08/12 12:49:41.63 QM3o57vQ
tracが腐ってる。
直接開けばok

283:名前は開発中のものです。
12/08/12 13:26:55.91 HOTsLmE0
豚切り/初心者的な質問で申し訳ありません。
pimageにはflip属性がありませんが、
画像を反転させた状態で追加読み込みは可能ですか?

284:名前は開発中のものです。
12/08/12 14:25:01.03 6V5yNBx1
KKDE3 開発始めるらしいな。

285:名前は開発中のものです。
12/08/12 16:39:26.99 ILpjKAhQ
吉里吉里3まだー?

286:名前は開発中のものです。
12/08/12 20:52:53.69 b+2mjcOD
>283
できるか? といえば、できるが、
容易にできるか? といえば、できない

初心者向けの解決策として、表示結果だけを求めるならば

件の問題を対処するには、
反転させた画像素材を、別途用意しておいて
必要に応じて pimage すれば
動作結果は、 pimage に flip属性があって 反転しているように見える

pimageタグで、flip属性 を使用できるように、tjsで改造して機能を追加する
なんてことをするのは、
自分自身が初心者であると感じているうちは、手を出さないほうがいい
中級者、上級者でも、てこずる解決方法です







287:名前は開発中のものです。
12/08/13 00:44:45.13 Lux0SRZN
>286さん

283です。自分もそのように反転画像を作る解決策は考えていましたが、
立ち絵の表情差分にその方法を適用すると数が多いため、悩んでおりました。

しかしやはりtjsをカスタマイズする必要があるのですね…
上級者でもてこずる方法とは恐れ入りました。
flip属性は、レイヤそのものを反転させられてこそ、という
仕様における考え方なのでしょうか。

難しいという事実は残念ではありますが、
返信ご丁寧にどうもありがとうございました。楽をせずに頑張ってみます。

288:名前は開発中のものです。
12/08/13 00:58:00.65 B4eV59Qm
ていうかflip属性ってなんだよimageにそんなのあったのか。
先週反転画像用意したばっかりだよバカじゃん。

289:名前は開発中のものです。
12/08/13 01:30:52.02 sOLXU1to
998 名前:[名無し]さん(bin+cue).rar[sage] 投稿日:2012/08/12(日) 04:30:37.03 ID:G9gQhxyp0
>>X Wheelは便利だけどさ、あれって吉里吉里製のゲームと相性悪いよね
>>X Wheel起動したままだとホイールが効かなくなるんだよな
>>吉里吉里のゲームはかなり多いし、何かX Wheelと似た機能の他のフリーソフトないもんかね
エンジン設定ツールが付いてるものは、ホイール検出をウインドウメッセージにすればおk
付いていない場合は他の付いてるゲームのエンジン設定ツールをそのままフォルダにコピーすれば使える

ただ、どっちにしてもホイールを使うとフルスクリーン時のメニューバーがグレイアウト点滅状態になって
セーブロードとかEXITとかがここにしか無い場合は面倒なんだよね

290:名前は開発中のものです。
12/08/13 13:11:11.35 Lux0SRZN
再び283ですが、難しい方法でもやはり将来の向学のために
pimageのプログラムによる画像反転について
TJS改造他、何かしらの解決策をお伺いできればと思います。

ここに書けるだけのアドバイス、ヒントだけでも構いませんので
どなたか、どうぞよろしくお願いいたします。

291:名前は開発中のものです。
12/08/13 15:22:51.35 5I823miX
>290
MainWindow.tjs にて、pimage タグは以下のようになっている

pimage : function(elm)
{
// 部分追加画像読み込み
getLayerFromElm(elm).loadPartialImage(elm);
return 0;
} incontextof this,


AnimationLayer.tjs にて、loadPartialImage()を定義している

function loadPartialImage(elm)
{
// 部分追加読み込みを行う
// この読み込みメソッドは レイヤそれ自体の
// 色調補正、フリップなどの設定に従う
// (従って pimage タグ自体には色調補正や
// フリップ関連の属性はない )

件の案件を解決するには、上記の2点を踏まえたうえで、
独自に pimage の挙動を tjs で作る必要がある


292:名前は開発中のものです。
12/08/14 13:46:46.03 f50Zlp43
>291さん

290です。AnimationLayerのほうに書かれてあったのですね!
自分は作品内でアニメーションしないので、そちらの解説は読み込んでいませんでした。

場所がわかっただけでも非常に参考になりました、ありがとうございました。
TJSのことも含め、良い機会だと思って勉強してみます。

293:名前は開発中のものです。
12/08/14 20:53:09.28 Hs9NZRCR
できませんで結論が出そうになってるけど、283のようなことは
デフォルトでできるよ。

[image layer=0 page=fore storage=uni]
[pimage layer=0 page=fore storage=unifore dx=10 dy=10]
[p]
[image layer=0 page=fore storage=uni]
[pimage layer=0 page=fore storage=unifore dx=10 dy=10]
[s]

とやると、二番目のuniforeはlayer=0に付随して反転して
貼られる。座標も反転する。試してみて。


294:名前は開発中のものです。
12/08/15 00:06:46.36 P4cLP8gu
ありゃ、二番目の[image]にfliplr付け忘れてた…

295:名前は開発中のものです。
12/08/15 12:08:23.44 xMq6NM8w
>294さん

283です。ご丁寧にどうもありがとうございました。
その挙動は確認しております。自分も書き方が悪かったですね…

今回は、立ち絵が衣装デザインの関係で左右別の反転した状態で
作成されており、ただ表情だけは使い回しできると判断したはいいものの
表情素材だけの反転ができない、矛盾した状況になってしまっていました。

もともと立ち絵のベース画像も体の向きを同じに作ってフリップすれば
問題は解決するのですが、イラストの子に仕事を負担させる前に
先に自分で出来ることがあればと質問させて頂いておりました。

お手数をおかけしてすみません。お気遣い本当にありがとうございました!

296:名前は開発中のものです。
12/08/15 16:24:08.93 XPgiqops
>>295
画像の反転なんて画像ソフトで左右反転して
差分ファイル用意するのに大した労力いらないじゃん
フォトショならアクションとバッチで一発でできるし
イラスト担当に負担掛けたくないなら
フリーの画像編集ソフトでもDLして自分でもできる
TJSの勉強にも意欲的なのはいいけどその程度のことで
開発の手が遅れるのは勿体無いよ

297:名前は開発中のものです。
12/08/15 19:27:57.09 U6NcMWRm
>>296
手間はかからないけどファイルの容量は量が多ければかなり増えるよね。(上では表情に関してだけど、他の場合の話も含めて)
少しだけならそれでも問題ないんだろうけど。

298:名前は開発中のものです。
12/08/15 19:36:49.97 lVLyLt5F
画像の大・中・小を用意する問題と比べると、「別に画質は左右反転しても変わらない」
っていう違いはあるな

299:名前は開発中のものです。
12/08/15 22:01:34.37 CcilJX3Q
いやいや、自分で絵を描いたことがあれば分かると思うけど
左右反転しても見れる顔をかくのって大変だよ
絵描きに話してやらせた方が良い

300:名前は開発中のものです。
12/08/15 23:13:40.55 U6NcMWRm
>>299
そんなん最前提の話だろ

301:名前は開発中のものです。
12/08/24 04:16:52.78 3iPyoMfF
吉里吉里3は出る出る詐欺でしたね

302:名前は開発中のものです。
12/08/24 04:19:08.68 dLzVl9KJ
Deeたんのある限り我々は何度でも蘇る

303:名前は開発中のものです。
12/08/24 20:05:17.39 Ixy0/vmm
どこぞのゲームメーカーブランドの新作出す出す詐欺と合わせてお楽しみください

304:名前は開発中のものです。
12/08/26 20:57:32.65 wQNjsAGz
吉里吉里4クルー?

305:名前は開発中のものです。
12/08/30 00:29:54.20 lv3hFZFG
TJS2の "const" は、ソースコード上は単純に無視されるようインプリされているように見えるのだけど、ArrayのsaveStructのところには意味があるように書いてあって、どっちが正しいかご存知の方教えてください。
URLリンク(devdoc.kikyou.info)


306:名前は開発中のものです。
12/08/30 02:22:46.03 gMuJE7QQ
TJS中のconstはvarの代わりに使える(例:「const hogehoge = 0;」等)
でも実際にはconst変数ではなく書き換えが可能(未実装なので)

辞書や配列の前の"(const)"は上記ページに書かれている通り
高効率(高速かつ省メモリ)で内容が評価される
でも定数以外の項目を書くとエラーで弾かれるので注意

saveStructで(const)つきで保存されるのは,確かKAGの巨大セーブデータで
ロード時にメモリ不足で落ちることがあったための対策で入ったような記憶


307:名前は開発中のものです。
12/08/30 03:29:12.38 vJF014XK
tjs初心者なのですが、C++みたいに、thisのワードをつかって、
そこからメンバ変数なりにアクセスしていくことはできますか?

また、Visual Studioのようにインテリセンスで楽々開発していけるような、
IDEってありますか?

this->... で開発するスタイルになれてしまって、
いちいち関数名を書くのがめんどくさくて……タイプみすもしそうですし。

308:名前は開発中のものです。
12/08/30 14:19:33.14 b7OD1br9
吉里吉里3が2013年中に出る確率を教えてください(出来れば本人から)

309:名前は開発中のものです。
12/08/30 16:52:10.58 LuwVr1d1
Twitter垢とって自分で聞いてください

310:名前は開発中のものです。
12/08/30 18:20:43.72 8ggvKMfc
ネタじゃなくマルチプラットフォームの吉里吉里が気になってるってことなら
吉里吉里Javaを追う方が利口よ

311:名前は開発中のものです。
12/08/30 18:30:04.94 vJF014XK
質問です。
tjsの辞書配列って順次アクセスはできないのですか?

for (var i = 配列の最初; i != 配列の終端; ++i)
{
if (hoge == hogehoge)
}

みたいな感じで重複部分がめんどうなので、ループで処理したい場所がわりとあります。
普通の配列を使うと、管理が面倒なのでできれば辞書配列をつかいたいのですが……。

312:名前は開発中のものです。
12/08/30 18:34:12.03 CR8Fmp9/
辞書は Array.assign してから処理するのが定石だと思う。
URLリンク(hpcgi1.nifty.com)

313:名前は開発中のものです。
12/08/30 18:36:36.14 8ggvKMfc
そこでScriptsExプラグインを華麗に適用

314:名前は開発中のものです。
12/08/30 18:47:25.42 vJF014XK
>>312
おーなるほど、
二個ずつとばしてなんとかする感じですね。
ありがとうございます!

315:名前は開発中のものです。
12/08/31 06:14:03.67 qBGpNTrs
吉里吉里3とは今にしてみれば何だったのか……?(´・ω・‘)

316:名前は開発中のものです。
12/08/31 21:53:14.09 MyEtrE7N
吉里吉里3は何がどうよくなるの? マルチプラットフォームとか以外で

317:名前は開発中のものです。
12/08/31 21:59:26.87 2umGQ0Tm
むしろDeeたんの機嫌が悪くなる

318:名前は開発中のものです。
12/08/31 22:06:52.33 MfCrXR4m
悪くはならんだろw
発言の○○○○度には磨きがかかるだろうけど

319:名前は開発中のものです。
12/08/31 22:09:15.92 2umGQ0Tm
吉里吉里を習得する上で最大の壁はDeeたん

320:名前は開発中のものです。
12/09/01 06:18:55.01 3EsOs3mB
すいません、質問です。

・マウスイベント処理を使って、メッセージレイヤを拡張したい。

Message.tjsのclass MessageLayerにonMouseDownを見つけ確認がてら触ってみたのですが、
メッセージレイヤ上をクリックしても反応がありません。
System.inform("call");
と記述してチェックしたところ呼びだされていませんでした。
hitThresholdの値を変更しましたが無意味でした。

メッセージレイヤのマウスイベントが呼びだされる方法を教えてください。
templateフォルダのコピペプロジェクトで確認しています。
それとも、なにか根本的に間違ってます?
on~とついてるし、イベントハンドラとあるのにメッセージが飛んでこない理由がそもそもわからなくて。
お願いします。

321:名前は開発中のものです。
12/09/01 17:16:02.59 ransYfxN
質問です。
playbgmで鳴らしているBGMがplayseで鳴らした効果音が鳴る度に
音量が急に下がり、徐々に音量が戻っていくというようになります。
playseで鳴らしたBGMの時にはならないのですが、
これは何が原因でしょうか?

322:名前は開発中のものです。
12/09/01 17:16:53.51 5ZN1GHOE
なんかフェードイン関係のマクロでも使ってるんじゃないの

323:名前は開発中のものです。
12/09/02 01:49:11.86 UodBJEeH
音声台詞時にはBGMをしぼるプラグインとか入れてそうだよな

324:名前は開発中のものです。
12/09/03 00:15:05.05 2QjuY5XQ
>>320
実験してみた
MessageLayerクラスのonMouseDownイベントが呼ばれるのは
メッセージレイヤ上に置かれた リンクテキスト をクリックした時

325:320
12/09/03 02:00:16.37 n9rvNLh2
>>324
ありがとうございます。
疑問はまさにお答えていただいたことで、
リンクテキストがない時に、onMouseDownイベントが反応しないのか?でした。
onMouseDown関数にリンクテキストに関する処理が書かれているのならまだしも、
関数にすら飛んでこないので意味がわからなかったのです。

あれから調べてみましたが、上記の原因はどうやらonHitTest関数にあるみたいでした。
リンクテキストの件では、internalHitTest関数内のfindLinkの戻り値がリンクテキストの無い場合はfalseを返すため、
その結果がonMouse~に影響していました。

というわけでいろいろお手数をおかけしました。
メッセージキューイングの順序がわかればよかったのですが…

326:名前は開発中のものです。
12/09/03 02:25:32.49 UX96RwYv
>>325
吉里吉里新版リファレンスの Layer.onHitTest 見なされ

327:名前は開発中のものです。
12/09/03 02:28:04.51 n9rvNLh2
>>326
ほんとだ…俺がまず見るべきはこれだったのか・・・
ありがとうございます

328:名前は開発中のものです。
12/09/03 06:13:02.71 KnmGucWV
>>319
つか最大の敵の気もするw
ちっとは3の開発でやる気見せろ
Nスクの方はちゃんと2が出たらしいが

329:名前は開発中のものです。
12/09/03 06:16:27.73 8XRU72BH
なんでノベルゲー開発ツールの作者はキチガイばっかりなん?

330:名前は開発中のものです。
12/09/03 09:04:55.92 mT08Ygkv
何か凄いことすればキチガイが許されると思ってるからじゃないの?
もしくは大衆がキチガイを受け入れざるを得ない状況を楽しんでるか

331:名前は開発中のものです。
12/09/03 09:14:11.87 9nCE33Vy
吉里吉里を作らなかった人格者より
吉里吉里を作ってくれたキチガイのほうに感謝する
俺にとってはそれが全て

332:名前は開発中のものです。
12/09/03 17:37:05.83 +Ne1mH6U
情報系が基地外みたいなのは文化

333:名前は開発中のものです。
12/09/03 20:49:48.70 ncHorYN9
作者ごとにそれぞれタイプの違う方向にいっちゃってるのが面白いといえば面白い……か

334:名前は開発中のものです。
12/09/03 23:14:54.65 iUJl2+ud
質問です。
linkするときに、自動的にリンク先を決めるようなことをするにはどうしたらいいのでしょうか?

現状では、ふつうに列挙しているのですが、
要素数が多いとのと条件分岐で使う予定でめんどくさいなぁと思ったので……。

[link target="*hoge1"]あ[endlink][r]
[link target="*hoge2"]い[endlink][r]

これを……

for (var i; i < hoge.count; ++i)
{
[link target="*hoge[i]"]hoge[i].name[endlink][r]
}
こんな感じににしたいです。(KAGですのでfor文では書いていませんだが)
そして、こんな感じの文で処理をすると、iの値が最後になるので、どうしても上手く行かなくて……

335:名前は開発中のものです。
12/09/03 23:28:23.42 ncHorYN9
[link target="&'*hoge'+i"]hoge[i].name[endlink][r]


336:名前は開発中のものです。
12/09/04 13:40:19.79 VKvvjtnb
>>335
やってみましたが、どうにも上手くいきませんでした……。
なんというか、クリックされたらそのクリックされたオブジェクトを受け渡す感じにしたいのです。

for()
{
//以下部分を順次探索なり、条件文で処理して表示させる
選択肢:めろん←例えばめろんをクリックすると……*ジャンプ先に行き、
選択肢:りんご
}

*ジャンプ先
//このジャンプ先の処理自体はどの選択肢をクリックしても同じですが、
//処理対象が選ばれたオブジェクトになる。
//例えば、同じ「切る」でも「めろん」か「りんご」かの違いです。

という感じの仕様です。
オブジェクト自体が無理でも辞書配列のkeyさえ渡せればなんとかなるのですが……。

337:名前は開発中のものです。
12/09/04 18:51:10.52 OERGP69/
linkタグのexp属性でクリックした時に式を評価できるから
f.clickedなり適当な変数にkey入れるようにするだけでいいんじゃね?

338:target=
12/09/04 19:55:06.28 sjsgrzG7
んだんだ

[link target=*branch exp="&'tf.tmp='+tf.i"]略[endlink]
...
..
.
[s]

*branch
[if exp="tf.tmp==1"]
[jump target="*s1"]
[elsif exp="tf.tmp==2"]
[jump target="*s1"]
[else]
[jump target="*s1"]
[endif]

339:名前は開発中のものです。
12/09/05 02:58:40.52 Y0Mutfvy
Dee氏はマゾ臭いからこのスレでも他人のフリして自分を
こきおろして快感覚えてそうw

340:名前は開発中のものです。
12/09/05 17:20:21.12 2MC47uwu
ペロ…これはDee

341:名前は開発中のものです。
12/09/05 20:23:01.11 R54TDq9G
吉里吉里3が出ていればまだしばらく変態やりながら求心力保てたのにな・・
吉里吉里3は出さない、でも変態は続けますじゃあねえ・・

342:名前は開発中のものです。
12/09/05 20:32:54.51 dM73rIDd
普通の変態になっちゃう

343:名前は開発中のものです。
12/09/05 20:50:01.43 XYLqdSNU
変態でもオタク系変態ならまだいいんだが体育会系セクハラ親父系の変態が入ってるからな

344:名前は開発中のものです。
12/09/05 20:53:42.60 2MC47uwu
ぜひ>>343氏の変態学の講義を受けてみたいな

345:名前は開発中のものです。
12/09/05 21:14:40.96 XYLqdSNU
オタク系変態
 ●具体的なマンガ・アニメ・ゲームのキャラに絡めた発言が多い
 ●エロトークはエロ漫画・エロゲに出てくるような二次ネタを前提にしていることが多い
 ●リアル女に対しては多少エロトークをすることはあるが基本的に及び腰でお姫様扱い
体育会系変態
 ●リアル女を見かけるとガツガツ絡んでいく
 ●(女に対する)エロトークは実際のセックスネタなどを使うことが多い
 ●はぁセックスしたい 風俗いきたい など直球発言が多い
 ●ちんこ まんこ などの小学生的エロネタを言うのは他の変態もありうるのだが、妙にしつこい
セクハラ親父系変態
 ●自分のリアルにおける収入や地位などをアピールすることが多い
 ●リアル女を見かけると多少距離を置きつつもしつこく絡み、脈ありとみると非常に馴れ馴れしくなる
 ●ある程度親しくなった女には胸揉ませろとか普通に言う
 ●マジメ系ネタとエロネタを合わせた寒い発言をする

346:名前は開発中のものです。
12/09/06 14:41:56.76 RoK3Q8oX
お世話になります。

アドベンチャー物で、クリア後にゲームのCGのみを閲覧するページについてですが
サムネイルをクリックして、基本CG画像を出すところまで出来ましたが
引き続きクリックで差分(例えば5枚)を全て見せるには、どのようにすれば良いかご教授ください。

秀和システムの参考書にあるテンプレのスクリプトですと、1枚閲覧したら最初のサムネイル画面まで戻るので
差分を全部紹介してから最初の画面に戻るには、どんな風にスクリプトを書き込めば宜しいでしょうか?

347:名前は開発中のものです。
12/09/06 16:11:16.24 Hu03WtG7
>>346
おおかたのCG閲覧はこんな動作だと思うので

1サムネクリック→2CGが表示→3画面クリック→4サムネ画面に

こう変更

1サムネクリック→2CGが表示→3画面クリック→[差分ループ判定]→4サムネ画面に
             ↑______________________________________|

CG差分を見た/見てないとか枚数とか
個々のシーンによってループ条件は違うと思うので、変数などで管理して工夫
とりあえずtf.cgcount=0とか作って
@if、@jump、cond属性あたりを用いて5回ループさせてみんしゃい

348:名前は開発中のものです。
12/09/06 17:15:20.56 RoK3Q8oX
>>347
ご厚意ありがとうございます。

ただ、勉強不足でたいへん恐縮ですが用語に関してサッパリなので
実際のスクリプトで例えて頂けないものでしょうか

出来れば引き続き宜しくお願い致します。

私もいろいろ試しているのですが、本編で画像表示に使うimage storageの応用ではないみたいですね。

349:名前は開発中のものです。
12/09/06 18:19:16.68 sRKei9Bd
コピペさせろってか?
レスからたった一時間で両手挙げるのはどうかと思うわー

350:名前は開発中のものです。
12/09/06 19:49:56.50 kOO0ImXR
出来ないことは諦めろ
言葉だけ丁寧にすれば手取り足取り教えてもらえる訳じゃない

351:347
12/09/06 20:34:53.27 Hu03WtG7
>>348
そちらのスクリプトがどんなのか分からないのに
質問だけ投げられたら、こっちは概念しか返せないよ
そのうえで「具体的なのくれ」では無償労働の依頼やね

その調子じゃ分岐するノベルゲーも苦労しそうだ
まず本編作ろうぜ
最後までできた暁には、CGモードも自然と作れるようになってるよ

画像表示の命令は@image storage=~で合ってるけど
画像の内容を変えるにはif文で実行する命令を選択したり
もしくはエンティティでstorageを指定したり

352:名前は開発中のものです。
12/09/06 20:47:12.52 Hu03WtG7
あ「ループ」の意味わかる?プログラムの処理が同じところをグルグル回ること
(一般的には@jumpで以前のラベルに戻る処理)
無限に回り続けるのはまずいので、条件命令@ifなどで
条件(5枚表示した、とか)を満たしたときに無限ループから脱出させる

ご希望の動作をさせるためには
・上述のループ処理
・表示内容を順に変えていく処理 ヒント>>351
が必要

353:346
12/09/06 21:43:29.27 RoK3Q8oX
>>351
ヒントありがとうございます。
何とかやってみようかと思います。

album.ks
album_init.ks

ただCG鑑賞モードを構築する上の2種類のksのどちらを重点的に書き換えするのかが分からない状態でして
そちらを教えて頂ければと思います(すみません)。

現在、album.ksファイルの今の状態が下記のようになります。

; サムネイル画像が選択された(サムネイル画面からクリック)
*album_select
; イベント絵を前景レイヤに読み込み、表示
[image storage="&tf.album_storage[tf.album_select+20*sf.album_page]" layer="&tf.album_layer" page=fore visible=true left=0 top=0 index=1999999]
------------------------------------
(※この間に画像呼び出しのスクリプトを書き加えるものだと思って作業していました)
------------------------------------
; クリックを待つ
[waitclick]
; イベント絵の前景レイヤを非表示にする
[layopt layer="&tf.album_layer" page=fore visible=false]
[unlocklink]
[s]

(ここでサムネイル画面に戻ります)

すみませんが、何卒宜しくお願い致します。

354:名前は開発中のものです。
12/09/06 22:54:50.62 41lq8MvN
>>337-338
ありがとうございます。

まわしてみたのですが、一旦ループを最後まで回しているので、
tf.iの値が、for文の終了条件の値になってしまい、不正な値になってしまいますorz

リンク先はlink文にexpを入れることで、ひとまとめに出来たのですが、選択肢のループ構造は難しいようです。
愚直に全部書くか、吉里吉里そのものを改造するしか、方法しかないのかぁと諦めました……。

355:名前は開発中のものです。
12/09/06 23:43:04.83 kOO0ImXR
346も354も、まずは自分で分かる構文で全部書くべき
分からないならその機能は諦めろ
ちゃんと続けていけば、そのうち何言われていたのか分かってくるから

356:名前は開発中のものです。
12/09/07 01:52:44.19 Pe8ZiBvW
このくらいのループ処理とかならgoogle先生に聞きながらやればできるだろ。
ほとんど答え載っているようなもんだし

357:名前は開発中のものです。
12/09/07 02:41:34.18 VnyU+LY1
ふむう
・改造箇所は>>353の部分で合ってる。どの命令が、>>347の図の中のどれに対応しているか見極めよう
・[image storage="&~ の&以降が何言ってるか分からない場合は諦める
 というより自分でイチから作った方が動くかも
・参考書とやらは俺ら持ってないので、それを前提に話されても困る

同人(ノベル)ゲーム界隈に元気があるのは良いことなので、作り手を俺は応援する!
しかし最低限の事は自分で解決しなければ、ゲームが完成しないんだよね
まぁCGモードが無くってもゲーム本編の面白さに影響はないってw

358:346
12/09/07 08:55:38.07 asYtRRfj
>>357
改造箇所が合っているという情報だけでも助かりました!
今後はここに絞って、いろいろ試してみたいと思います。

今回はお付き合い頂いて、本当にありがとうございました。

359:名前は開発中のものです。
12/09/07 18:29:08.72 T/D6KsDh
背景だけじゃなく、メッセージボックスの画像や立ち絵もグレースケールで表示したい場合って
別途それ用に画像を用意しないといけないのでしょうか?


360:名前は開発中のものです。
12/09/07 19:24:23.55 4MGmxwGd
>>359
Layer.doGrayScale() ってのがあるよ
セピアっぽくするのは無理

完全なグレースケールだと冷たい感じがするから別に用意したほうがいいと思う

361:名前は開発中のものです。
12/09/07 19:25:21.48 lr1doojE
セピアっぽくするのはガンマ値いじればできる
リファレンスに載ってるので参照

362:名前は開発中のものです。
12/09/09 00:27:57.82 UoexBhAR
TJS2で辞書配列の作成がやたらめったら遅い。多分コレが該当してる。
URLリンク(www.geocities.jp)
配列で作り直して速度はなんとかなったけど、分かり辛くてメンテが
大変で困ってる。吉里吉里3なんか要らないから、辞書配列周りを
もう少し高速化してくれ…!

363:名前は開発中のものです。
12/09/09 01:51:24.80 nEuJaSQ1
辞書配列はよく使うところだしねえ

高速化の余地があるのかわからんけど、機能削減したLightDictionaryとかでもいいから
なんかあるとうれしいな

364:名前は開発中のものです。
12/09/09 02:13:33.81 AWFXq19t
>>362
そんなに差がでるってことは、C++のMAPとかと全然作りが違うんかな?

……辞書配列つかいまくってるけど、
自分のマシンは自作したばっかで高速だから、
本当はすげー重いとか考えると怖いなぁ。

365:名前は開発中のものです。
12/09/09 04:05:50.63 UoexBhAR
>>364
実測してみたら、数千要素くらいからがくっと速度が下がる。気持ち
O(n^2)になっているような。特にassignStructでコピーすると顕著。
件のURLにあるように、ちょっと長いゲームではセーブラベルが
数万くらいにはなるので、これや、これに付随するデータを保存する
のが大変なの。
逆にいえば、そんなに大きい辞書配列を使わなければ、そんなに
困ることはないだろうね。

>>363
うーん、きっと機能削減しちゃうとそれはそれで困る場面が
出るし、使う方も混乱するだろうと思うから、元のまま高速化
できないか考えた方がいいと思うんだ。

吉里吉里のソースコード見てみたけど、さらっと見るには範囲
大きすぎて、(assignStructは単純に要求に応じて確保してる
だけみたいだけど)どうやってるか正確にわからない。ので、
高速化できるかどうかまだわからない。内部仕様書が欲しい…。

高速化できたとして、pluginみたいな形で元のDictionaryを
置き換えることってできるのかなぁ。そうでなければ、BCCの
環境一式揃えて全コンパイルになってしまうから、手が出せ
ないねぇ…。

366:名前は開発中のものです。
12/09/09 09:32:01.28 AWFXq19t
いっそC++とか組み込めたりできんのw?
あんまりにも重いなら、その部分だけはtjsじゃなくてC++使うとか。

367:名前は開発中のものです。
12/09/09 12:00:23.88 UoexBhAR
>>366
辞書配列じゃなくて普通の配列なら速いことがわかっているので、今は
普通の配列で組みなおして速度的には問題なくなっている。ただ、
複雑になってメンテが大変なのをなんとかしたいんだよ。

C++でも組めるけど、それは更に面倒だし、単機能のためだけにdll書く
のもなー、というのが本音。辞書配列ならかなり簡単に書けるから…。

以下みたいなスクリプト書いて所要時間をプロットしてみたら、
見事な二次曲線になってた。辞書配列の要素数には要注意だね。
for (var i = 1; i <= 40; i++) {
var tick = System.getTickCount();
var hash = %[];
for (var j = 0; j < 1000*i; j++)
hash['abc'+j] = j;
dm('tick('+i+') = ' + (System.getTickCount() - tick));
}


368:名前は開発中のものです。
12/09/09 12:03:58.05 UoexBhAR
ちなみに同じスクリプトを配列ベースにすると、40000要素数の時に
手元の環境では辞書配列の1/100以下の時間で終わる。うーん面白い。

369:名前は開発中のものです。
12/09/09 12:41:53.87 AWFXq19t
ソースも読まずにかつ検証もせずにすげぇ適当なこと言うけど。

そんだけ時間に差があるってことは、もしかして、内部的に頻繁にソートとかしてんのかね?
重複を許さない仕様なら、ソートを一切せずに、線形探索をしているのかも?
ハッシュテーブルとか使ったら早そうだけどなぁ。

370:名前は開発中のものです。
12/09/09 15:07:27.31 UoexBhAR
線形探索しているから、じゃないはず。もしそうなら、既存の
巨大な辞書から要素を取り出す作業も同じくらい遅くなるはずだけど、
そうなっていないから。「作成」が遅いみたい。だから今はメモリ
かなーと思っている。要求の度に素直に確保してるんじゃないかなー、
と。作成時にソートしているかどうかはまだ不明。
ハッシュ持てば早くなるのはその通りだけど、要素の種類がたくさん
あるから、適当なハッシュ関数が作れるのかどうか。
ソースは↓のあたりね。
URLリンク(sv.kikyou.info)


371:名前は開発中のものです。
12/09/09 18:43:01.57 mfE2cjN2
辞書作った後にループで一気に何万と要素を足すとハッシュテーブルが
小さいままだから遅いって話なので,ゆっくり足されるのは多分問題ないはず。
ScriptsExプラグインにrehash()を足したので,これ使って

Plugins.link("ScriptsEx.dll");
(中略)
for (var i = 0; i < NUM; i++) {
var elm = "hash_number_is_" + "%06d".sprintf(i);
Scripts.rehash() if (i > 0 && !(i % 1000));
hash[elm] = 1;
}
みたいにしてみると高速化される。理由の詳細はScriptsExのmanual.tjs参照のこと。
でもassignStructは吉里吉里本体をいじらないとどうしようもない予感。

372:名前は開発中のものです。
12/09/09 23:06:04.76 UoexBhAR
>>371
rehash()追加、ありがとう!
でも残念ながら、以下のスクリプトで実測すると、rehash()が
ある場合とない場合とで、実行時間の差は1%程度で殆ど変わらな
かった…。難しいもんだね。

Plugins.link("ScriptsEx.dll");
for (var i = 1; i <= 40; i++) {
var tick = System.getTickCount();
var hash = %[];
for (var j = 0; j < 1000*i; j++) {
Scripts.rehash() if (j > 0 && !(j % 1000));
hash['abc'+j] = j;
}
dm('tick('+i+') = ' + (System.getTickCount() - tick));
}

373:名前は開発中のものです。
12/09/10 16:48:31.80 sxxAr/QX
>>372
そのテストコードは全体的にループ回数が少ない気がする。
i=40以降でどうなるか見てみた?
あとrehashの呼び出し条件を下記にするとより効果的っぽい:

Scripts.rehash() if (j>0 && !(j&(j-1)));

要素数が2^nのタイミング呼び出すようなコードね。
手元環境でtick(40)にて2倍くらいの差になった。
jが小さいと頻繁に呼ばれるのでj>0じゃなくて255とか適当に閾値決めてもいいかも


374:名前は開発中のものです。
12/09/10 18:07:30.21 8rk35zca
TyranoScript ティラノスクリプト
KAG3/吉里吉里と互換性のあるHTML5ノベルゲームエンジン

URLリンク(tyrano.jp)

KAG互換?TJSの代わりにJS使うみたい。
サンプル見ると独自拡張もかなり入ってるみたいだけど。


375:名前は開発中のものです。
12/09/10 18:08:41.02 wEtTvUal
Deeたんとユカイな仲間たちにさんざん突っ込まれてた奴じゃないのw

376:名前は開発中のものです。
12/09/10 19:03:59.53 w8Iin1y0
なかなかいいなと思ったけど、
マウスポインタの絵変えたり右クリックと回転使えるの?
サンプルでは出来てないが

377:名前は開発中のものです。
12/09/10 19:05:13.30 FEZq0v87
右クリック使えないのならきついな
スマホ対応を視野に入れてるのなら仕方ないか

378:名前は開発中のものです。
12/09/10 19:38:22.95 U+XwcDpe
fillRectで枠線とか描けるようにしたけど、どうにも使い勝手があんまり……
いちいち画像で用意するほどのものでもないし、何か参考になりそうなのないかな

379:名前は開発中のものです。
12/09/10 19:39:36.84 wEtTvUal
プラグインとかで拡張しない限り1pixelの幅or高さの
長方形を描く以上でも以下でもないだろ

380:名前は開発中のものです。
12/09/10 19:42:31.53 U+XwcDpe
うーんと枠内に文字とか簡単に入れられるようになったり
ドラクエみたいに上が文字を入れられるように空いてる感じに出来たらなーと思って

381:名前は開発中のものです。
12/09/10 19:46:16.41 wEtTvUal
そんなのはまさに自分で「こっからこう線を引いてここを空けて……」って
関数を試行錯誤していくしかない

テキストの幅とかはLayer.fontからこれで得る
URLリンク(devdoc.kikyou.info)
URLリンク(devdoc.kikyou.info)

382:名前は開発中のものです。
12/09/10 19:51:12.25 U+XwcDpe
そっかー。あとはLocateで文字位置調整したりで何とかするしかないかな
どうもです。なんとか頑張ってみようと思います

383:名前は開発中のものです。
12/09/10 19:53:06.04 wEtTvUal
正直デフォのKAG依存でやってるレベルの人がレイヤーへの描画に手を出すと
いろいろハマりやすいから画像で用意しとくほうが無難だとは思うけど

384:名前は開発中のものです。
12/09/10 20:33:10.08 hfu+dhq8
っLayerExDrawプラグイン

385:名前は開発中のものです。
12/09/10 20:50:17.55 FsWzzwS8
フォローが千超えたらしいし、俺一人くらい抜けてもいいよね…

386:名前は開発中のものです。
12/09/10 23:17:20.59 vGyK/NHW
>>373
色々試してくれて本当にありがとう。
2^nのときのrehash()を試すと、ウチの環境(Corei3 2120T)では大体
全体的に20%くらい高速になった。ただ、n=50 の時で既に実時間で
2秒以上かかっていて、Pentium4 2GHz(個人的にユーザの最低ライン
だと思っている) あたりだと10秒以上かかった。10秒が8秒に
なってもあまり嬉しくない、というのが実情…。
辞書配列使わず、配列で作り直すと、同じ要素数でPen4でも
0.4秒以内に終わるから、やっぱり根本的な解決が必要なんだと
思った。
プラグインで辞書クラス作ってみようかなぁ…。


387:名前は開発中のものです。
12/09/11 01:40:09.21 4GvHH/gU
またDeeたんが女にしつこく絡みすぎてマジレスされてるお……

388:名前は開発中のものです。
12/09/11 03:13:17.11 B/bXUMF5
あなた頭大丈夫?とマジレスするのが普通なんだ

389:名前は開発中のものです。
12/09/11 05:56:19.08 /mp0HENN
俺らはその変態が開発したツールを使ってるんだよなぁ・・・
















と考えると恥ずかしくなってきたw

390:名前は開発中のものです。
12/09/11 06:50:56.48 B/bXUMF5
出来たゲームでさえも変態ゲーだったりしないか?

391:名前は開発中のものです。
12/09/11 11:29:57.33 JfcGKgtO
>>386
どういう目的で辞書にそんな大量の要素を追加するのか知らんけど,
データ構造を根本から見直してみれば?
もちろん配列を使うのもひとつの手だけど,辞書を分割や階層化して
1つの辞書の要素数を減らす工夫をしてみるとか,一気にデータを格納せず,
必要になった時点で格納するようにするとか,色々と方法はあると思う。

392:名前は開発中のものです。
12/09/11 18:16:51.39 7lmoXcw9
初ゲーム制作に使うエンジンをNスクか吉里吉里にするかか迷っていて、
最新OSとの相性は吉里吉里のほうが良さそうかなとこっちに傾いていたんだが、
吉里吉里の作者ってこんなおかしな人だったのか・・・
Nスクにした方が無難そうだな

393:名前は開発中のものです。
12/09/11 18:24:54.50 4GvHH/gU
Nスクの作者も政治論議でわけのわからんことを
ぶちあげてる変な人だよw

394:名前は開発中のものです。
12/09/11 18:28:12.48 xybWlsMr
ポストDeeたんとかいないの?

395:名前は開発中のものです。
12/09/11 18:50:13.51 lQqMX233
>>392
プログラマーは基地外な方が、いいものを生み出す気がするwww
偏見だけどwww

396:名前は開発中のものです。
12/09/11 18:54:57.22 4GvHH/gU
Deeたんの周辺もちょっと神経質な人とか多いよね
オープン系キチガイのDeeたんよりはいいと思うけどw

397:名前は開発中のものです。
12/09/11 19:00:01.35 xybWlsMr
Deeたんってオープンソースだったのかw

398:名前は開発中のものです。
12/09/11 19:43:05.38 VVJjhHPk
>>391
簡単に言えば、メッセージ画面に表示したままの履歴を持とうと
している。文字属性やルビなどが頻繁に出現すると、それらの
変更の度に保存すると2000行(要求仕様だから減らせない)保存する
だけで数万要素になる。ラベル通過時にセーブされるので、
最悪だとラベル通過ごとに数秒停止、みたくなる…。
今は配列を小汚く使って速度的な問題は出ないようにしたけど、
コードが汚いのでなんとかしたかったんだよ。

色々考えたけど、元テキストを履歴データにそのまま使うのは、
分岐時や[emb]でデータを表示した時の処理を考えると、別の
パーサを用意するなど複雑になりすぎる(実際作ってみたが
ちょっと速度的に厳しかった)。メッセージ画面をそのまま履歴に
使うことも考えてみたが、必要な変更が多すぎた。なので、
今回は今の実装で進むことにするよ。というか、辞書配列
使わないだけで速度が十分になるのがなんとも…。

「使い方によっては、辞書配列はびっくりするほど遅い」と
いうのが分かったのが収穫だったということで。みんな
ありがとう!


399:名前は開発中のものです。
12/09/11 22:26:25.02 7Ppo+g9F
最近興味が沸いたんだけど
みんな凄いなーどのぐらいで扱えるレベルになった?覚えるコツとかある?

400:名前は開発中のものです。
12/09/12 00:06:39.11 p5BqBTpn
>>392
YU-RISは?

401:名前は開発中のものです。
12/09/12 00:23:07.00 LfZ0Z62G
使用報告を要求するツールは使わない

402:名前は開発中のものです。
12/09/12 00:33:04.45 F435bvG3
使用済みDeeたん…

403:名前は開発中のものです。
12/09/12 01:03:18.81 u+tTt8No
>>399
覚えるコツは、やっぱり自分で何か作ってみることだと思う。
あと他の人の書いたプラグインなど読んでみること。
それと、わかんないことをわかるまで調べてみる根気。


404:名前は開発中のものです。
12/09/12 01:08:59.05 NpPGs8Ln
覚えるコツ

自分のレベルを自分で把握する
中学生がアソビで作るようなしょぼいノベルゲームから、まほよまで作れるのが吉里吉里だからね

405:名前は開発中のものです。
12/09/12 01:15:48.85 LjfvtzVb
元々C++とかのプログラム言語は知ってたからプログラム的な問題は大丈夫だったけど、
裏画面のシステムはちょっと躓いたなぁ。
いじりながら、ようやく覚えた。あとはリファレンスと開きっぱなしにしたり、常にググったり。

406:名前は開発中のものです。
12/09/12 01:17:34.83 NpPGs8Ln
プログラムができる人間の場合KAGでかえってつまづいたりすることもある
KAGとTJSの関係ってどうなってるの???って

407:名前は開発中のものです。
12/09/12 07:53:11.27 KrJ2O0Xn
プログラムかじってて裏画面がわからんw?

ニワカすぎて腹痛いわ。

当たり前のシステムだろうが


408:名前は開発中のものです。
12/09/12 07:54:51.76 KrJ2O0Xn
その一行でド素人PGでだとわかる。

409:名前は開発中のものです。
12/09/12 08:21:18.69 5vJqmtwF
ドキュメントを読んで最初に裏画面に対して抱いた印象はダブルバッファの延長?だったなーと思いだした。

410:名前は開発中のものです。
12/09/12 09:51:23.69 LjfvtzVb
>> ID:KrJ2O0Xn
(´-`).。oO(なんでこの人、煽ってくるんだろう……怖い)

411:名前は開発中のものです。
12/09/12 10:54:56.71 KrJ2O0Xn
>>410

>元々C++とかのプログラム言語は知ってたからプログラム的な問題は大丈夫だったけど、

片腹痛いだけ。
よくC++を問題ないとかいえるなと。
プロでも理解できないのに。



412:名前は開発中のものです。
12/09/12 11:02:55.05 LjfvtzVb
>>411
あの仕様自体がカオスの、C++を問題ないなんて一言もいってないじゃないですかヤダー。


413:名前は開発中のものです。
12/09/12 11:08:58.47 KrJ2O0Xn
自分の書いた文章読めとしか言えない

414:名前は開発中のものです。
12/09/12 11:10:34.23 KrJ2O0Xn
まあその程度の脳みそだからダブルバッファも知らんのだろうけどw

415:名前は開発中のものです。
12/09/12 11:12:47.97 LjfvtzVb
>>413
俺は、条件分岐とかループとか、そういう初歩のプログラム問題は大丈夫っつっただけだよー。
吉里吉里にアレク以上にtemplateについての完全なる理解が必要なら知らんけど。

416:名前は開発中のものです。
12/09/12 11:13:36.87 LjfvtzVb
>>414
お、おう……。

417:名前は開発中のものです。
12/09/12 11:18:18.07 kIjd7kIW
kagの裏表画面は、ダブルバッファと似て非なるものだぞ


418:名前は開発中のものです。
12/09/12 11:19:59.99 KrJ2O0Xn
概念は似てるし、C++でダイレクトXいじったことあるやつだら誰もがそう思うってだけのこと。


419:名前は開発中のものです。
12/09/12 11:20:07.78 sHOhZnIx
>>417
よせ
まだ早い

420:名前は開発中のものです。
12/09/12 11:25:27.50 KrJ2O0Xn
それにDeeをバカにしてる奴多いけど
お前らザコがあのレベルに達することないわ。
組める奴いるのかよw
見た感じど素人の集まりじゃねえか

421:名前は開発中のものです。
12/09/12 11:28:45.82 kIjd7kIW
DirectX的にはマルチパスレンダリングだろ

422:名前は開発中のものです。
12/09/12 11:35:21.35 sHOhZnIx
>>420
>それにDeeをバカにしてる奴多いけど
バカかてめえ
Deeたんをバカにしてるやつなんていねーよ
変態すげーなとは思ってるが

423:名前は開発中のものです。
12/09/12 12:57:52.97 NpPGs8Ln
いやDeeたんの変態っぷりはだいぶバカにしているけどねw
特に女に迷惑かけるのがいかん

変態紳士というものは迷惑をかけずに独り嗜むものだ

424:名前は開発中のものです。
12/09/12 15:13:10.92 dE2TVkK4
変態性はなんやかんや言ってるがだれもプログラムに関しては何も言ってねーよ

425:名前は開発中のものです。
12/09/12 16:46:27.95 3Cr784K5
自分は雑談スレとはいえ吉里吉里に直接関係ない
Deeたんヲチは最近多くてなんだかなとは思っていた
Twitterさえなければなぁ・・・

426:名前は開発中のものです。
12/09/12 17:04:52.21 o4M6gJnM
スマホで吉里吉里動作するエンジンが出来たって?
URLリンク(almight.jp)

427:名前は開発中のものです。
12/09/12 19:13:16.81 VivVo9gC
>426
>※TJS2とは互換性がありません。また、直接KAGをスクリプトで制御している場合は修正が必要な場合があります

KAGだけで組んでいるの前提の状態みたいだな
そのまま変換ツール通して終わりには、ならないっぽい


428:名前は開発中のものです。
12/09/13 01:46:49.14 CLOJMeGZ
>>425
ヲチられるのはしかたないでしょ
みんなネットしてるご時世、Twitterなくてもあの性格じゃ遅かれ早かれ変態紳士として周知されたろうなw

429:名前は開発中のものです。
12/09/13 01:55:32.35 eNG74QZz
レス数が増えてるのをみて覚悟したが、やっぱり飛ばし見

430:名前は開発中のものです。
12/09/13 03:29:14.52 7gLUclkJ
紳士ちゃうねん

431:名前は開発中のものです。
12/09/13 11:33:11.85 R9AkC3XM
Deeさんのキチガイ面白いじゃん
むしろ吉里吉里の好感度上がったわw

432:名前は開発中のものです。
12/09/13 15:13:22.00 RYiAV76z
プログラマーに限らずクリエイター系はみんな変わり者が多いよ
それに作品自体の素晴らしさと、その作者の人格はビックリするくらい比例しないしねw

433:名前は開発中のものです。
12/09/13 18:13:04.72 LBGhbu9g
流れぶった切ってすみません。

質問ですが、tjsにはtypedefみたいなものは無いのでしょうか?

現状新たに短い名前変数を定義してやってますが、
バグの引き金になりそうでちょっと怖い……。

434:名前は開発中のものです。
12/09/13 18:34:31.58 jfceVyYp
変わり者が多いくらい可愛いものじゃないか。
途中でいなくなったり逃げることを思えば。

435:名前は開発中のものです。
12/09/13 18:52:03.40 PQnSp01L
型指定できないのにtypedefなんかねーよ

436:名前は開発中のものです。
12/09/13 23:50:00.66 WKlwUkQ8
初めてみようと思ったけど吉里吉里2 2.32 安定版 revision 2が最後なんだな

437:名前は開発中のものです。
12/09/14 09:42:41.51 k2Bm2ljq
開発版ばっかで安定版出さないからね

438:名前は開発中のものです。
12/09/14 13:17:27.83 3x9+OZN9
開発版、安定してるよね

439:名前は開発中のものです。
12/09/15 21:00:15.01 L3uagn2D
Nscと吉里吉里 なぜ差がついたのか 慢心環境

440:名前は開発中のものです。
12/09/15 21:01:24.09 +LNpgNe7
最近だと吉里吉里より新しい世代のエンジンのほうが
なんぼか名前を見るようになった気がする

441:名前は開発中のものです。
12/09/15 21:55:44.75 GyI+E9Wk
上でも出てたユーリスっていうやつか

442:名前は開発中のものです。
12/09/15 22:23:15.69 NKh4kN0i
エロゲだとまだまだ吉里吉里無双じゃのう

443:名前は開発中のものです。
12/09/15 22:26:36.69 +LNpgNe7
吉里吉里より新しい世代のエンジンの主なアドバンテージは
ユーザー(開発者)フレンドリーだって点だからねえ

同人作家とか向けだわな

444:名前は開発中のものです。
12/09/16 04:59:20.09 6gNgPihV
最新KAG3で質問があります
moveをスムーズに連続で呼び出したいのですが、moveの間に微妙な間が出てしまいます
実現したい動きはスプラインで表現できないものです
再現コードは下のような感じです

*loop
[move layer="0" page="fore" time="1000" path="(600,400,255)(300,200,255)" spline="false" canskip="false"]
[wm]
;ここに間
[move layer="0" page="fore" time="1000" path="(300,200,255)(600,400,255)" spline="false" canskip="false"]
[wm]
;ここに間
[jump target="*loop"]

間を取り除く方法をご存じないでしょうか

445:名前は開発中のものです。
12/09/16 05:28:52.29 JbsaSqMU
>444
path属性に始点はいらない
というか書いちゃダメ

446:名前は開発中のものです。
12/09/16 10:18:57.04 NDX93R+8
質問です
メニューバーに「音量」ではなく直に「BGM」をつけるのはどうしたら良いでしょうか
効果音を使っていないのでダイレクトにBGM音量を変更をしたいです
他のシステムメニューと同じように変更できないため行き詰ってます
よろしくお願いします

447:名前は開発中のものです。
12/09/16 11:05:16.86 6gNgPihV
>>445
すみません再現コード間違ってました
始点を抜いたらかなり改善しました
でも実コードでは始点を書いていなかったんですよね
実コードでは他の動作も行っているからそれが問題なのでしょうかね
もう一度再現コードを書いてみます

*loop
[move]
;ここでいろいろ、だけどmoveのtimeを十分にとっているので問題なし?
[wm]
[layopt];visibleを変更
[jump target=*loop]

448:名前は開発中のものです。
12/09/16 11:48:34.00 6gNgPihV
追加情報です
始点を抜いた再現コードでも画像サイズが大きくなれば引っかかるようになりました
これは対処のしようがないのでしょうか

449:名前は開発中のものです。
12/09/16 12:57:20.76 Ea43IitD
該当シーンに来る前に非表示状態で読み込みだけしておいてキャッシュさせるしかないよ

450:名前は開発中のものです。
12/09/16 13:06:28.41 6gNgPihV
>>449
回答してもらったのかな
アドバイスありがとうございます
でも今回はimageタグで読み出した後、moveとmoveの間の引っかかりなのでキャッシュは生きていると思ってます

451:名前は開発中のものです。
12/09/17 02:14:53.59 cizX3Nm2
>>450
1280x768のゲーム画面で、1280x768の画像を以下のスクリプトで
動かしてみたけれど、特に止まるようなことはなかったよ。
CPU=Corei3 2120T、WinXP(32bit)、吉里吉里2.30.2.416で。
何か別の問題じゃなかろうか。同じスクリプトで、そっちで
ちゃんと動くかどうか確認してみては。

[image layer=0 page=fore storage=1280x768]
[layopt layer=0 page=fore visible left=600 top=400]
*loop
[move layer="0" page="fore" time="1000" path="(300,200,255)" spline="false" canskip="false"]
[wm]
[move layer="0" page="fore" time="1000" path="(600,400,255)" spline="false" canskip="false"]
[wm]
[jump target="*loop"]


452:名前は開発中のものです。
12/09/17 02:46:03.22 cizX3Nm2
>>446
その聞き方だと何をしたいのか全く理解できない。
それじゃ誰にも答えてもらえないよ。

たとえば、

『吉里吉里 2.32付属のgvolume.ksを使って、first.ks冒頭で
[call storage=gvolume.ks]
[gvolmenu name=BGM control=bgm]
と実行すると、ゲーム画面上部に表示されるメニューバーに「音量」が追加され、
サブメニューとして「BGM」が選択できるようになるが、この「BGM」サブメニューを
直接メニューバー上に配置して選択できるようにしたい。どうすればいい?』

…と聞かれると、ああそれはね、gvolume.ksの12行目、insertToRoot = false;
の部分をinsertToRoot = true; にすればいいんだよ、とか答えられる。

質問は極力具体的に、切り貼りすればすぐ確認できる(パラメータも省略しない)
テストスクリプトを付けるのがコツ。答える方だってヒマじゃないんだから、
確認手間が少ないととても嬉しい。昔、環境とか質問のテンプレって無かったっけ?

あと回答者も、最近は確認せずに無責任に答えてる人が多い気がする。
それが絶対悪いとは言わないけれど、でも自分の回答内容は一度くらいは
実際に確認した方がいいと思う。
変なところでミスってて恥ずかしい思いをすることがあるから > 俺も。


453:名前は開発中のものです。
12/09/17 10:31:13.53 KduT4OFS
>>451
確かに環境依存のようですね
moveとmoveの間がカクつく
 CPU=Athlon(1.15GHz) WinXP(32bit) 古里古里2.31.2010.425
 CPU=Atom D510(1.66GHz) WinXP(32bit) 古里古里2.31.2010.425
カクつかない
 CPU=Phenom 2 x4 905e(2.5GHz) Win7(64bit) 古里古里2.31.2010.425

しかしながら少し古い環境でもカクつかないようにしたいと考えています
質問後、KAGのmove処理部分のソースを読み、実現したい事に対して無駄が多いと思いました
そこでtjsで実験コードを記述すした所、問題が解消されたようなのでmoveはやめてそちらに移行します
ご回答ありがとうございました


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch