893 :
890:2005/04/19(火) 03:08:36 ID:JkpjtZTP
>>891さん
早いレスありがとうございますm(__)m。
本家のほうか2chのどちらに質問しようかは迷ったのですが、過去ログで似たような質問がHITした
こちらのほうに書き込ませていただきました。
ビデオ再生の項目については吉里吉里付属のリファレンスも読んだつもりだったのですが、
流してしまっていたのかもしれません。。。orz
吉里吉里のムービー再生はDirectShow依存らしいという事も分かりましたので、そちらのほうの
リファレンスも読んでみようと思います。
>>もう遅いけど…。
なるべく出来るものなら企画者の要望には応えたいと思っているので、どうしても分からなければ、
厚顔にも本家のほうにも質問するかもしれないです^^;。
894 :
884:2005/04/19(火) 10:17:06 ID:6WS3iNcB
>>888 クリッカブルマップのルール部分(?)が何十個もあって、
しかもメッセージ部分をクリックしていざクリッカブルマップ!
って時には既にハング状態。
そこで座標を取って計算した方が手っ取り早いと思ったのです。
しかし、軽くなりハングしなくなったが新たな問題が…
「最後の値」を格納するのがkag.lastMouseDownX(Y)ですよね?
シーン移動やメッセージ送りをした直後に、その値は残っているはずで、
肝心の画面クリックの時に、自動的にその値が使われてしまうのです。
最初、使うべきシーンの前で初期化しようと
[eval exp="kag.lastMouseDownX=-1"]\
とかやったのですがエラーが出ました。kagオブジェクトは操作できないんですね。
「座標を使うべきシーンに入った瞬間」
その直前のクリック座標情報は無視できる、出来れば-1などで初期化できる、
あるいはkag.lastMouseDownXを使わずにやる、
そんな方法はないでしょうか。
#もちろん数が少ないならクリッカブルマップでやりますけどねぇ…。
#85個もあると…
895 :
884:2005/04/19(火) 11:17:26 ID:6WS3iNcB
あ、すいません
[eval exp="kag.lastMouseDownX=-1"]\
使えましたわ。
ちゃんと代入されてる。
自己解決すいません。
うち別にルール部分がそんなにたくさんあってもそういう状況にはならないなあ
なんか間違ってるんじゃないの?
どう書いてるの?
>>885 TJSのVMがGC積んで無かったなら恐ろしい事になるなぁおい。
まあ実際にはGCはあるので、大丈夫なんだけどね。
>>885 function finalize 内で invalidate しておいた方がいいとは思うよ。
899 :
885:2005/04/20(水) 00:29:39 ID:h9ZmiOs0
>>897>>898 ですね、自分もなにかしらのクローズ処理が必要と思ったのですが
気がついたのは昨日寝る直前にリファレンスを読み直しているときでした。
>>899 close() が無いって事はそれを意識しないで良い実装になってると考えて良いと思われ。
IOストリームのクローズは多分、ストレージが変更された時と finalize 時に実行されてる
と予測するのが妥当なので確実に閉じておきたいなら invalidate するのがまぁ正解。
以上を踏まえて MessageLayer に関数追加するならば、
var test_se; // = void
function setGlyphSE( storage ) {
( test_se = new WaveSoundBuffer() ).open( storage );
}
function resetGlyphSE() {
invalidate test_se; test_se = void;
}
function finalize() {
...略
invalidate test_se if( test_se !== void ); //追加
}
再生部分では test_se が void かどうかで実行判定を行えば良い。
if( test_se != void ) {
test_se.stop() if(test_se.status == "play");
test_se.play();
}
本当に初心者の質問で申し訳ないのですが、
@link targetを使って
WEB上のhtmlページに飛ばすのはどうするのでしょうか orz
人はおまえを初心者ではなく教えてクンと呼ぶ
マニュアルに一回でも目を通したか?
本当に教えてクンの質問で申し訳ないのですが、
@link targetを使って
WEB上のhtmlページに飛ばすのはどうするのでしょうか orz
>>901 |-`)ノ⌒[吉里吉里/KAGではじめるゲーム製作(工学社) P185~]
目が節穴なお方が参られたようですね
>>907 そんな悠長なことしてられるか。
>>908 お前は自分のチンコがどこについているのか数えたことはあるのか?
>908
ありが㌧ 大感謝
へー。"どこについているか"って"数える"ものだったんだね…日本語って不思議。
========================チラシの裏=======================================
さて、時間ねぇぞぉおい。
ウチ、夏コミ間に合うのかほんと。
絵師は既に体験版用の絵の締め切り1ヶ月以上過ぎてるし。
まぁ、俺も遅れてる以上偉そうにいえないが…
まともに納期守ってるのシナリオ担当だけだorz
=========================チラシの裏終わり================================
へー。"チラシの裏"って"!?"ものだったんだね…2chって不思議。
完成品をxp3形式で固めた場合、
krkr.exeとプラグイン類を同じフォルダに入れれば動作するのでしょうか。
なんか、コマンドラインで*.xp3を指定しろ見たいなエラーが出るんです。
そんでxp3をD&Dしてやったら起動。
exe一発で読んでくれる方法って無いですか?
patch当てる必要が出た時に、全部コマンドラインでは…。
data.xp3という名前にすればいけます
TJS2ってLuaとかRubyみたいな他のインタプリタ型のスクリプト言語と比べて
速さはどうなんですか?
組み込みとしての実績はいまのところ吉里吉里だけですよね?
LuaはともかくrubyとTJSを比べるのは、なんか違う気が。
実績という言い方も同様
言語としてじゃなくて速さだけ比べてるのか。じゃ>916の一行目は撤回。
すまんかった。
右クリックでメニューを表示して
栞のセーブロードや、ゲーム終了や、メニューに戻る、メッセージを消す
など、普通のゲームに一通りあるのを実装したいのですが。
どうもサブルーチンでは、記録可能ラベルに戻る行為は出来ないようで。
同じファイルのラベルに飛ばしたい操作ができません。
( [jump target=*menu]\ とかやるとエラー。)
こういう時はどうやって飛ばせばよいのでしょうか。
rclick属性のjumpを使えばいいのかな?
もしがいしゅつだとかそう言うこと解説してるサイトがあったら
ごめんなさい吉里吉里と吊ってきます。
920 :
名前は開発中のものです。:2005/04/23(土) 21:30:05 ID:M0I6onmW
>>917 サンキュー
そういうのが知りたかったんだ
HSPより速いなんて知らんかった
>>918 ごめん
俺の書き方が悪かったみたいだ
923 :
名前は開発中のものです。:2005/04/24(日) 13:48:29 ID:Ut/wLJpB
>>850-853 のように、私も
@macro name=links
@eval exp="tf.temp=mp.target.length"
@eval exp="tf.temp=mp.target.substring(1,tf.temp-1)"
@if exp="sf[tf.temp]==void"
@eval exp="sf[tf.temp]=0"
@endif
@if exp="sf[tf.temp]==1"
@font color=0x808080
@endif
@eval exp="mp.exp+=',tf.temp2=kag.fore.messages[0].links[kag.fore.messages[0].lastLink].target,tf.temp=tf.temp2.length,tf.temp=tf.temp2.substring(1,tf.temp-1),sf[tf.temp]=1'"
@link storage=%storage target=%target exp=%exp clickse=se_click
@endmacro
というマクロを使ったのですが、
リンクにフラグを付けたときはうまくいくのですが、
フラグの付いてないリンクの時にエラーが起こります。
@eval exp="mp.exp+=',~~~'"
の、「,」部分を消すと、フラグ無リンクはうまくいくのですが
今度はフラグ有リンクがエラーになります。
フラグの有無に関係なくうまく行くようにするには、どうしたらいいのでしょうか?
evalの","を消しちゃって、そのevalの前に
@eval exp="mp.exp+=',' if mp.exp!==void"
とかを置いてみるとか?
925 :
923:2005/04/24(日) 15:32:19 ID:Ut/wLJpB
>>924 出来ました!ありがとうごさいました!!
>>919 右クリックメニューからタイトル画面何かに戻る処理をしたい場合の話か?
記録可能かどうかは関係無しに、サブルーチンから一度 [return] しないと [jump] は使えない筈。
[return] の storage / target 属性を指定する事で戻り先の指定は一応可能。
右クリックメニューから更にサブメニューのラベルに飛びたい場合は [call] を使え。
間違って別のファイルをXP3にしてしまったんですが、
元に戻す方法はあるんでしょうか?
アーカイブ前のファイルを消すと言う思考がワカンナイ
戻す方法を考える事も調べる事もしてないのかお前は
>>927 まちがえて別のフォルダをxp3にしたとしてもだ。
その間違えた方のフォルダも本来xp3にするはずだったほうのフォルダもそのまんま
残ってるだろ?
展開厨はばれない様に自力で隠れてやりやがれ
#xp3デコードするアプリ作ればいいんじゃね?などとしれっといってみる
なんでプログラムが上手くいかなかったら
なんでもかんでもバグと言う奴がいるんだろうね。
確かにプログラムはストレスが溜まるが人のせいにするのはイクナイ
プログラム/スクリプトが意図通りに動かない=バグがある状態。
自分自身で書いたスクリプトにあるバグは普通に自分の責任だから、
別段他人のせいにしているワケでは無いと思うのですが、が、が。
一見してわかりにくいミスの事を特にバグって言うんだったっけ?
>935
プログラマの意図と書かれたコードが合致してる、という前提条件が抜けてる。
>>936 合致してたら意図通り動くんじゃ……。
プログラマの意図とコードが合致していてプログラム自体の動作が意図に合致しない場合は
コンパイラなりVMなりの言語処理側に問題があると考えるべきでは。それこそ他人のバグだ。
>>937 多分言いたかったのは、その
「プログラマの意図とコードが合致していて」
という部分をはじめから検証すらせずに、
あー動かない。吉里吉里のバグじゃねー?
という感じでコンパイラなりVMなりのせいに
してしまうのが困ったものだっていう
ことなんじゃないかと思われて。
居るのかそんな人が。
普通はまず真っ先に自分のコード疑うもんだと信じたい……。
// それはそうと無名プロパティ作れるようにならないもんかねぇ。
そういう奴のミスはバグとか言うほど可愛いもんではなくあきらかに最初からおかしい
あとからpatch.xp3を配布する場合、
修正したファイルと新しいファイルをReleaserにつっこめばいいようですが。
画像ファイルで、フォルダを掘っている中に追加したい、と言う場合には、
(img/hoge/hanya/00.png とか)
フォルダを再現した上でパッチを作らねばならないですか?
それとも本当にファイルだけ纏めればよい?
img/hoge/hanya/ が自動検索パスに含まれていない場合は
ディレクトリ構造を再現した上でパッチを作成しないと駄目。
自動検索パスに含まれている場合はファイルだけで良い。
// layer.loadImages( "00.png" );
// で img/hoge/hanya/00.png が読めるなら自動検索パスに含まれてる。
>>943 追加したいファイルが
template/image/hoge/hanya/0.png
の場合は
(patchフォルダを作って)
patch/image/hoge/hanya/0.png
として、patchフォルダをreleaserにD&Dすればよいと言うことですね。
プロジェクトフォルダ名/image/
はデフォルトで自動検索パスに含まれているので
hoge/hanya/0.png というディレクトリ構造にしてリリーサーに放り込むのが正解のはず。
って言うか自分でイロイロ試せ。
全部まちがい。
パッチに含めるファイルは、ディレクトリ構造を作らずに
全部、ベタに配置しなきゃダメ。1度試してみれ。
> この patch.xp3 を作成するには、修正のあったファイルや、追加されたファイルのみを一つのフォルダにまとめ、
>Releaser でそのフォルダを指定して patch.xp3 ファイルを作成します。
ちなみに、ドキュメント中のこの部分ね。
patch.xp3の中身自体が、優先的に検索されるフォルダとしての
扱いを受けることで、data.xp3内のファイルより先に見つかるとゆー仕組みな。
ごめん。読み間違えてた。
自動検索パスに入ってない場合は、たぶんフォルダ
掘らないとダメだね。その通りだね。
どんまい
すいません、ちょっと質問です
吉里吉里作者の日記見て吉里吉里のシューティングが配布されているのを
知ったのですがあれと同レベルのものをKAGで作ろうとしたらかなり遅くなっちゃう
のではないでしょうか
TJSでもああしたものは作れるんだなあと参考にはなりますが
私はまだまだ初心者KAGレベルの者ですのでよくワカリマセン…
さすがにKAGでアレを作るのは現実的じゃない、と思う。
実行速度云々以前に、複雑すぎて手に負えないよ。
KAGはあくまでノベル・アドベンチャー記述用言語なので
KAGでシューティングを作ろうと思ってもevalタグとか、結局TJS寄りの機能を使わないと無理です
954 :
951:2005/05/06(金) 18:00:43 ID:vekVBLiu
うーん、そうでしたか…
やはりKAGでものを考える時、ああした作品は例外的なものとして
捉えるより他ないみたいですね
KAGの勉強はやめないけどTJSもここで勉強して見ようと思います
あえて限定された環境で、変わったもの作って
限界まで軽くするための変則的な方法を考えるのが気持ち良い
って人は結構多いに違いない
kirikiri for Mac とか出る可能性もないわけではない
すみません、2日悩んでどうしても解決しないんでご存知の
方は教えて頂ければ助かります。
透過つきの画像レイヤーを何枚か重ねて、その上にAVGタイプの
メッセージウインドウ(画像付)を表示させているのですが、
後ろのレイヤーを書き替えた後など、文章のクリック待ち([l])で
レイヤーの画像上や、メッセージウインドの表示枠内でのクリックが
効かなくなってしまいます。
=画像レイヤーの透過部分か、メッセージウインドウの文章枠外で
クリックしないと、反応してくれない。
お恥ずかしながらこの現象が何故起るのか、自己解決出来なくて
困っています。 どうぞよろしくお願いします。
>>957 レイヤの順番が変わってるんじゃないの?zindex変えてみたら
>>957 そういう質問は本家でちゃんと訊いた方がいいと思うぞ。
957です。 げっそり……ようやく謎が謎をよび解決致しました。
>>958さんアドバイス有り難うございます。
zindexを検索してみたところ、java言語なのでしょうか?
残念ながら、まだtjsを操作できるほどの技量が無い為に変更
出来ませんでした。 変わりに問題のシーンの直前にindexで
レイヤーの順番を書いたり、激しくあれこれいじくりかれこれ3日……
結論と致しましては、表示画像の上でクリックを受けつけてくれない
レイヤーを[mapdisable]でマップ無効化したところ、ようやく
なぜだかクリックを受けつけてくれるようになりました。
でもマップ定義なんて全くしていないレイヤー(見おとしではなく)なので
本当に謎で首をひねるばかりです??? 激しく謎
どうも有り難うございました。
>>959 このような(本人さえも)要領を得ない不具合だった為に
気後れしてしまって本家では投稿出来ませんでした。
もっと理解せんといかんですね。 精進します。
962 :
958:2005/05/12(木) 06:16:15 ID:rEJUsKsy
俺はもっぱらKAGだけでやってんだけど
TJSでやっている人って全体の何割位なのだろう?
いきなりTJSでやってる人って少なさそうだね
>>963 ノ
俺、KAGより先にTJSで遊び回ってた人
ノシ
オレもオレも
モグラ叩きとか作ってみた
ノ
プログラム経験あると、逆にKAGよりTJSの方が入りやすいからなー。
みんなtjs使えるのか。うらやまC (・ω・`;)
まあ最近はkagでもグラフィカルなゲーム結構出てるし、
自分にできる範囲でがんばろうと思った。
configtjsを何度も読んだんですが、メッセージ枠を表示して普通のアドベンチャー
ゲームみたいな表示にするにはどうしたらいいですか?
いまは、初めから設定されている、かまいたちの夜のようなビジジュアルノベル風の
画面です。
縦書きなどの設定の仕方は確認できたのですが、メッセージ枠を表示して話を進める
やり方はどうしたらいいんでしょうか?
>>968 shoukaiフォルダを実行、んでscenario\first.ksを読むといい。
あとkr2docの下読んでなかったらそれも。
970 :
名前は開発中のものです。:2005/05/15(日) 16:52:42 ID:7e8uZwBF
吉里吉里でFLASH使いたいんだけど、FLASHのfpsはどうすればいいんでしょ?
60とかにしたら遅すぎて正常に動かなかった。
24とか、標準値として決まってるんですかね?
60FPSってすげーな
人間の目で見えんのかよ
見える。
つーか人間の目で普通に違いがわかるぎりぎりの時間分解能が60fps。
だから、テレビ(NTSC)なんかも60fpsが基準になってる。
60fps以上になると、区別できる人間は少なくなって来る。
バーチャファイター1が30fps、バーチャファイター2が60fpsっつえば、
たいがいの人は、違いがわかるんじゃないかな?
NTSCは仕様では30fpsですが
(インターレースなので垂直同期は60Hz)
>>972 >つーか人間の目で普通に違いがわかるぎりぎりの時間分解能が60fps。
>だから、テレビ(NTSC)なんかも60fpsが基準になってる。
なんじゃお前デタラメ言うな。
テレビは商用電源周波数と一致させたから60Hzになったんだろが。
絵チャで気の合った人に吉里吉里を教えた
初めてKAGを体験するらしいので すきゃんてぃ を薦めた
挫折した
可愛そうなので教えてあげた
理解した
linkタグで作ったハイパーリンクが
マウスカーソルを重ねても青い矩形が出ません
クリックすると普通に動きます
原因の見当がつく方教えてくださいませ
config.tjsは触ってません
バージョンは
KAG 3.22
吉里吉里 2.22
です
Layer.face がおかしい
Layer.type がおかしい
Layer.onMouseEnter を上書きしてしまっている
>>977 その辺は変更してないです
関係してそうなプラグインも使ってません
979 :
978:2005/05/17(火) 23:29:43 ID:VzAc5Aal
>>977 再度確認してみましたが、
やっぱりその可能性はなさそうです
>>979 [link]を閉じ忘れている。或いは[endlink]の綴りを間違えている。
ご指摘通り
endlinkタグが抜けていました
エラーが出なかったので見落としていました
ありがとうございました
選択済のリンクは灰色表示、という仕様にしているのですが、
ファイル名(**.ks)が違ってても、ラベル名が一緒だと
そのリンクは選択してないのに選択済と認識されてしまうのでしょうか?
仕様による。ジャンプ先のラベル名だけから変数を作っているならそうなるかも。
どんなマクロなの?
987 :
985:2005/05/20(金) 00:45:19 ID:pLfDFtzI
>>986 >923>924のマクロです。
マクロを変更すればいいのか、
同じラベル名にしないようにするしかないのかどちらでしょうか??
>>987 >923-924を、storageも変数名に含めるように変更したらいいんじゃない?
ラベル名を変えるのが楽かもしれないけど
989 :
985:2005/05/20(金) 08:58:36 ID:pLfDFtzI
>>988 すみません…どのように変えればいいのでしょう…?;
>>989 俺が使ってるマクロを少し改造してみた。これで良いのでは?
@macro name="links"
@eval exp="mp.storage=kag.mainConductor.curStorage if mp.storage===void; mp.exp+=',' if mp.exp!==void"
@font cond="sf[mp.storage+'_'+mp.target]" color="0x808080"
@link * exp="& mp.exp+'sf[\''+mp.storage+'_'+mp.target+'\'] = true'"
@endmacro
992 :
985:
>>991 できました!
しかも短くなってて嬉しいです、ありがとうございました!!