1 :
名前は開発中のものです。 :
2008/07/24(木) 11:16:40 ID:w0/6Uk+/
5 :
sage :2008/07/24(木) 13:00:10 ID:UWbEW6z9
!,-/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ, i''./:::::::::::::::::::::://::::::l:l'i::::::ヽ:::::::ヽ:::::::::::::::l丶 お尻の穴に 〉!:::::::::::::::l:::::://l:::::/ll .lヽ:::l !ヽ::::l:ヽ::::::::i::l::l 指をいれて ヽ::::::::::::::l:l::::/:l .l:::/ l l,ヽ:l-l-l:::lヽ:ヽ::::::l:l.ll 匂いをKAGと l::l.l:::::::ll.l:::l''l~~∨' ' ' _,-'i-∨ l::::l::::l:l,,l_ _l::l .l::::l .l,l:l''~(~~i'' l ヽノiヽ.l:::::l:l:l::::::~''-,_ 新スレですよ _,-'':::l:l l:l.l '~l .ll||ll l l l|||l.ノ l:::::l-''''''''---,,'-,_ ,-':::::_,,,-ヽl::::::l ヽ,,,,,,ノ '--'' l::::::l ~ /-''''~ l:::::::l.l ____'___ ./l:::::::l l:::::::l'ヽ. l l / l:::::::l l:::::::ll ',,- ,_ ヽ-' _,-''--,,ll::::::l ~
7 :
名前は開発中のものです。 :2008/07/25(金) 21:47:56 ID:qjLCgJNc
「 乙 だ ッ ! ! 」 , -'´ ゙ー- 、 ,,//// /,// ゙ヽ ,イ ///// /ソソ// ィ/ ゙|,,,,..,、 ノ゙、 イノ从/,/ / イ//リ// //゛゛゛'ヾ.,lii トヽy'从゙、 !ハ从! l! i! i! il i li il! / リ l l 从ヾil lk i iハi l! il! lilハl>k从 イ, _,,..ィチ 从i li il! ll!リ ゙ミ il!从(( ::: )ハl <( ::: ) Yイ l / i! il リ ,,,彡爪ハ ミ -'" _____ `"-イノ /リ////リ ////从从ミ [  ̄カ 彡ノノ/イ/// ./////////ハ从ヽ、`ー-'_,,彡彳/リ///リ : ' //イ iハリ´リ ___゛77' "/////ソリ lリ lソリ _∠派、 / ///ィ"/从 ハノ リ ,/ ヽトミ、__lミイ // /ソ< ̄ト, /_____ l,ゝ<゛<イノハノ リ ゛i l l. /,.==、>" ゝ /" /-- 、 ノ/ l k"ァ-y".: /l /ァ==ミヽ / / l lイ 〔ミ::" ,,ノ |(/⌒ヾ、ミV" ト-" | ヾミ彡"// ! / ! i Y゛"-.y" /i/ i_/ ! ト-t-y" /彡"ノ/
>>1 乙
VS2005のリンカから/COMMENTオプションが無くなっとる…
>VS2005のリンカから/COMMENTオプションが無くなっとる… mjd!?
今レイアを5つに設定しています。いくつまでなら快適に動作しますか? とりあえず7つにしてみよう・・・
レイ「ヤ」な。 動かしたり拡大縮小しなければ、5つだろうが7つだろうが大きな違いは無いべ
d 公式みたら、数は多くても問題ないみたいですね。
オートモード中にクリックしてもSEの再生は止めず、 テキストだけ流していくようにしたいと思っています。 Override.tjs に MainWindow.tjs の waitSEStop() をコピーし、下記の箇所をコメントアウトすることで SEが止まらなくはなったのですが、次のテキストはSE終了待ちのままです。 どの部分を変更すればよいでしょうか。 click : function (id){ //se[id].stop(); // 再生を終了する } incontextof this,
14 :
13 :2008/07/27(日) 12:21:48 ID:hiH98PYG
>>13 すいません、SEを再生していないテキスト部分でも
[ws]を記述していました……。
TJS入門やリファンス読みながら丸2晩、脳が沸騰しかけてきました。 どなたかご指導頂けたら助かります。 メッセージレイヤーをKAG3のpositionタグでドラッグ可能にしています。 で、 案1.ドラックしたところが全景レイヤーに重なった部分だったら知らせる。 案2.ドラックする前と比べて、メッセージレイヤーの座標が○ドット以上移動したら知らせる。 と言うようにしたいのですが、どちらもどうにも上手く反応してくれません。 上記の情報を取得できる簡潔な方法はないでしょうか? またはドラッグ可能で、表示場所が変わっている可能性のあるメッセージレイヤーの 表示座標(始点)を、常に取得できる方法はないでしょうか? どうぞよろしくお願いします。
TJSだけでコリジョンチェック(ヒットテスト)できなかったっけ? 案2はレイヤの位置を記憶しといてドラッグされたら判定すればいい。
とりあえず案1をTJSで書いてみました。動作チェックはしていません。
// メッセージレイヤと前景レイヤのヒットテストルーチン(?)
var mes = kag.fore.messages[0];
f.collisionMessageLayer = false;
for(var i=0;i<kag.fore.layers.count;i++) {
var lay = kag.fore.layers[i];
if( mes.top+mes.height < lay.top //上
|| lay.top+lay.height < mes.top //下
|| mes.left+mes.width < lay.left //左
|| lay.left+lay.width < mes.left ) {//右
continue; // ヒットしていない
} else {
f.collisionMessageLayer = true;
break; // ヒットしたので終了
}
}
@iscript-@endscript で囲んで、KAGサブルーチン化すればいいかな?
案2 は
>>16 の言うとおり。
>16 >17 早速ありがとうございます。 ご丁寧にサンプルまで書いていただいてとても嬉しいです。 参考に頑張ってみます。
1から100のなかからランダムな数字を取得するタグってありますか? ずいぶんググったけど分かりません。
>>20 ありがとう
これはKAGの中に普通に書いたんじゃダメなの?
今試したら、エラーにはならないけど反映もされてないんだけど
埋め込みでも良いからTJSじゃないと無理
拡張子.ks のファイルじゃダメってこと? 基本的なことも見切り発車で作り始めたボクが悪いんですね 死にますサヨウナラ
[iscript] @eval exp="f.ransuu = intrandom(0, 300)"; [endscript] これは何がいけないの? ここだけ終わればタグに戻れるのお願い誰か治して
tjsじゃぬぇえええええええ
>>24 ・・・これはまた・・・・・・
[iscript]
f.ransuu = intrandom(0, 300);
[endscript]
27 :
名前は開発中のものです。 :2008/07/28(月) 16:24:48 ID:EIPkWUTR
>>26 を埋め込んだら
[iscript] というマクロは存在しません
っていうエラーが出ます
>>24 KAGでよかったはず
[iscript] [endscript] 無しで
@eval exp="f.ransuu = intrandom(0, 300)"
でやってみても駄目?
…ksファイルでもTJSを埋め込めるという基本事項を知らずに作ろうとしてるのならどの道ダメっぽいからいっか?
迷える子羊に道を示すことがこのスレの住人の役割だから、 たとえ迷っているのが夏坊でも、救いの手を差し伸べるのさ。 ってじっちゃんが言ってた。
>>30 全米が泣いた
>>29 エラーはでないけど効いてないっぽいです。
その後に
[if exp="f.ransuu = 1"]
(画像を変化させる処理)
[endif]
を置いてるループさせてるんだけど、毎回画像変化します。
試しにメッセージレイヤに f.ransuu を表示させようとしたら
「 f.ransuu 」って表示されたw そりゃそうだわな。
@と[ ] が同じ意味ってのもさっき知りました。
だってメジャーなツールなわりに、半端な講座がいっぱいあって情報が分散してんだもん・・・
[if exp="f.ransuu = 1"] × ↓ [if exp="f.ransuu == 1"] ○ [if exp="f.ransuu == true"] ○ f.ransuu の値を知りたいなら Shift+F4 でコンソール表示して、最下部に「f.ransuu」と書いてEnterな。
>>31 講座の前に、公式のドキュメントがあるからそれ読め
>>31 半端な講座って具体的にはどこ見てるんだ?
>>28 と
>>32 で解決しました、アリガトン!
今までif の後は =< ばかり使ってたから = が2個要るの知らなかった。
>>34 最初に読んだのは「KAGと心中」
バカな俺でもスキャンティに感情移入しながら読んでるだけで
サクサク分かってよかったのだが、後半の項目が全部 Not Found (書籍化したから買わせるため?)
んで逆ギレw 後半にランダムの項目もあったのに・・・
その後昨日からいろんなところ彷徨ってました。
つーか、もっと叩かれるかと思ってたのに、ここの人やさしいな。 お中元贈りたくなるにょ。
吉里吉里2/KAG3版「KAGと心中」が先に消えて、古い版が残っているってのは皮肉ではあるよな。 古参からすると。
>>35 感情移入すんなよw
キモイ人間になるぞ
ひげの方に感情移入した場合の方が
聞いてもいないのに、ベラベラとビルゲイツ批判したり萌え絵批判したり
手におえないけどな
うああ・・・ いまクリッカブルマップで、またつまずいてたんだけど 見てたサイト2つともKAG2だったお 「領域画像のパレット左端の色がクリック不可領域になる」って書いてるけど 何回やってもそうならないのは、仕様変わったのかもね。 2時間ムダにした。。。
少尉いま何やってんだろね なんだかんだいって、初心者にとって最適な講座ではあったな ポータルサイトの役目もしてたしね
41 :
39 :2008/07/28(月) 19:08:35 ID:EIPkWUTR
よく見たら2つのうちひとつはKAG3のサイトだった。 でも何回やっても領域画像がクリック領域にうまく対応しないんだけど もう質問するのも疲れたよw 妥協してライブメーカー使おうかな… GALとやらに変換するのがウザイけど
んきゃー! ばかぢゃんでやー!
>>43 そのサイトを見ながらやったけど出来ないのですよ。
インデックス番号ってのは、フォトショップだと
ウェブ用に保存からPNG-8選んで、右に出るパレットの左上から順に0,1,2・・・になるんだよね?
んで黒は必ず0になるから、黒をクリック不可領域に塗るといいわけでしょ?
でも何度やってもそうならないのです。試しにマップを単純化して・・・
■■■
■○■
■■■
(■は黒で塗りつぶしたところ)
これでやっても、■の部分がクリックできて、○がクリック不可になる。
さらに不可解なのはここからで、○と■の色を入れ替えたら
こんどは□の方がクリックできて、●がクリック不可になる。
つまり何色で塗ろうと、真ん中の○がクリック不可になってしまう。
理不尽すぎて脳が溶けそうだ・・・
45 :
44 :2008/07/29(火) 02:58:28 ID:MDTgkRvB
最後の4行は撤回します。勘違いでした。 ○を●にすれば●の方がクリックできるようになってた。 てことはフォトショップのパレットは左上が0では無いってことですかね・・・?
>>45 写真屋はパレットのインデックスが逆並びだったような希ガス
左上がNo.255じゃなかったっけ?
>>46 じゃあパレットに2色しかない場合
左上が255でその右が254?
それとも
左上が1でその右が0?
ちなみに一般的には左上が0で
黒がある場合は必ず黒が左上にくるペイントソフトが多いようですが
フォトショでも黒は左上に来るようです。
>>47 pngなりbmpで保存しておいてソフトで読み込んでみては?
それと写真屋のパレットと見比べてみるとわかりやすいと思われ
いろいろ試してるけどやればやるほどワケがわからない 黒背景に青と緑の○を描いた領域画像。 インデックスが 黒、青、緑 の順。 これだと 青○がクリック不可、緑○と黒背景がクリックできる じゃあ青がクリック不可なのかってことで 青背景に黒と緑の○を描くと こんどは緑○がクリック不可、黒○と青背景がクリックできる インデックスの並びは変わってないのに 画像の配色によって番号が変わってるとしか思えず こんなカオスでイラつくツールは初めてです 誰か納得いく答えを・・・
吉里吉里は
>>49 が作った通りに動いているだけだ
自分のやったことをもう一度見直せ
あと、パレット編集するならPhotoshopよりEDGEとか専用ツールの方が良いと思うぞ
>>49 がさっきからいじっているのは領域画像ファイルの方じゃなく、(画面に表示させようとしている)画像ファイルの
ように思えるんだが、俺の気のせいか
>>51 その突っ込みは絶対くると思ってたので、そこだけは細心の注意をしておりましたw
EDGEを落としてきて開いたら、やはり写真屋で作ったパレットは黒が右側に来てました。
でも同じ画像を写真屋のパレットで見た時は黒が左側なのです。 ややこしすぎて気が狂いそうだ・・・
さっそくEDGE上でパレット入れ替えたところ、正常なマップになりました。
写真屋で作った3色パレットのPNGはPictBearやpadieでも開けなかったし
こういうことやるのには向かないっぽいね。
とにかく朝っぱらから付き合ってくれてみんなありがとん!
>52 そこを見ながらずっとやってたのです。 しかし写真屋のパレットが特殊であることは書いて無いんだから どんなに熟読して理屈を理解しても永久に出来ないわけですよ。 こんなことを公式テンプレにも書いてないって、どうかと思う・・・
君は1から10まで解説されないと出来ないのかね
>>52 見ながらやってたんなら、EDGEで画像開いてみたら
パレットの色の順番が正しくない→正しくなるように修正しよう、となるであろう
俺もフォトショで画像作ってEDGEで手直ししてるが、公式テンプレじゃなくて写真屋の問題やんけ
>>54 テンプレ(テンプレート)っていうのは雛形や定型のデータという意味であって、
説明書・チュートリアルのような意味ではないよ。
2chでスレの頭にあるFAQや説明がテンプレと呼ばれるのは、
(スレの)お決まり文だからです
>>54 フォトショみたいな高くて所有者が少ないと思われるソフトで解説されるより、
誰でも使えるフリーソフトを例に書かれてた方がありがたいけどね
フォトショほど長らくプロアマ問わずデファクトスタンダードなソフトもそうないけどね。
まあどうでもいいけど
>>39 は自分で理解しようという努力が足りん上にやかましいので
おとなしくライブメーカーとかコミックメーカーとか使えばいいと思う。
こんな調子じゃまたすぐつまづいて騒ぐはめになるぞ。
えらそうに
ところで俺は久しくクリッカブルマップなんて使ってないんだが あれのメリットってなんだ? ボタンレイヤ的なものを配置する形のほうが制御楽じゃね?
100人から煽られ叩かれようが たった一人が解決方を教えてくれればそれでOK これがぼくの考え方です。 自分は問題が解決し、教えてくれた人は人助けできて気分が良いし 叩いた100人の人はそれでストレス解消とか優越感を得ることができ みんなが得するわけです。 あれから順調で、今日一日で随分はかどりました。 教えてくれた何人の人には本当に感謝しています。アリガトね!
>>61 メリットっていうかクリッカブルマップとグラフィカルボタンとかじゃ用途が全然違うと思うけど
ボタンでいいならボタンでいいし画像1枚にリンク何個も貼りたいならクリッカブルマップ使うし
昔はマップから行きたい場所を選んでばったり女の子と出会うエロゲがデファクトスタンダードでなry 今みたいに紙芝居で選択肢選んでりゃ良いもんじゃなかったんだよ。
>>61 それこそ
>>52 のような使い方でしょ。
普通のタイトル画面とか設定画面ならボタンで良いと思うけど、
1枚絵の画像で複数の判定がほしければクリッカブルだろうし。
Yu-Noみたいなんとかじゃね? 推理ものとか、脱出系とか
68 :
名前は開発中のものです。 :2008/07/30(水) 10:25:16 ID:Kwi1vkXh
初心的な質問で申し訳ありませんが、知恵を貸してください。 1〜100のなかからランダムで1つの数字を選び、処理後またランダムで選択する動作を繰り替えしたいんです。 ただし、一度選んだ数字は二度と選ばれない(重複しない)ようにするには、どうすればいいのでしょうか? intrandomで数字を選ぼうとすると、重複してしまい、困っています。
こんな感じ…かな。 1-10までの例でのサンプルです。 最初に1-10までの数の入った配列を作り、その配列をランダムにシャッフルして、配列の先頭から順番に数を取り出しています。 1-100までの対応は適当に書き換えるべし。 [iscript] f.rand = []; for (var i = 0; i < 10; i++) f.rand.add(i + 1); for (var i = 0; i < 10; i++) { var n = intrandom(10 - i - 1) + i; var t = f.rand[n]; f.rand[n] = f.rand[i]; f.rand[i] = t; } [endscript] [eval exp="f.count=10"] *loop [eval exp="f.num = f.rand[0], f.rand.erase(0)"] [emb exp="f.num"][l][r] [eval exp="f.count = f.count - 1"] [jump target=*loop cond="f.count > 0"]
自分とこで使ってる関数 minが最低値、maxが最高値、numberが数値を取る回数で minからmaxまでの連番の値の中からnumber回値を取得、結果は配列で返ってくる // 重複の無い複数の値をランダムで取る function random_nums(min = 0, max, number) { var rndnum = []; var resultnum = []; var tmp = 0; for (var i=0; min+i<=max; i++) { rndnum[i] = min + i; } for (var j=0; j<number; j++) { tmp = intrandom(0, rndnum.count-1); resultnum[j] = rndnum[tmp]; rndnum.erase(tmp); } return resultnum; }
パフォーマンス悪いな。どうでも良い程度だが
// 初期化 var max = 100; var size = max-1; // 配列上の有効な最後の要素の添え字 var array = []; for(var i = max; i; i--) array[i-1] = i; // 取り出す(これを繰り返す) var i = intrandom(0, size); array[i] <-> array[size]; var result = array[size--]; こんな感じとか? テストしてないけど アルゴリズム的で使うときは手を加えないかんけど
>>68 手っ取り早い方法を教えてしまうと、逆引きマニュアルに関数shuffleのTJSスクリプトが
記述されてあるので、それを利用して配列を入れ替えた後に、順に取り出していけばいい。
こういうイメージで使用済みフラグを使う方針もあるね var isUsed = new Array(100); // その番号を使用したかどうか var countLeft = 100; // 残っている数字の個数 function getUnusedNumber(){ var x; // 乱数 if (countLeft == 0) throw new Exception("残り数字なし"); x = Math.floor( Math.random() * 100 ); // 0から99までの整数をとってくる if (!isUsed[x]){ // それが未使用なら isUsed[x] = true; // 使用済みフラグを立てて countLeft --; // 残り個数を減らして return x; // 値を返す } else return getUnusedNumber(); // 使用済みならやり直し }
複数のマクロが持つ共通の値を変数で一括切り替えしたく、下記のように作りました。 例)canskipのtrue/falseを一括で切り替える [eval exp="f.canskips=true"] [macro name=test01] [backlay] [trans method="crossfade" time=3000] [wt canskip=%canskip|&f.canskips] [endmacro] これで試してみたのですがスキップできない状態です。 マクロ内に[emb exp=&f.canskips]と記入するとtrueなら「1」、falseなら「0」と表示されます。 どのような書き方をしたら希望する動作になるでしょうか?
[wt canskip=true cond="f.canskips == true"][wt canskip=false cond="f.canskips == false"] とか
77 :
75 :2008/07/31(木) 01:33:52 ID:breRWshN
さっそくありがとうございます。 組み込んでみたところ無事に動作しました。 そのまま変数を使えないものなんですね。
トランジョンにかける時間とか wait time の時間を変数にしておくことは出来ますか?
>>78 できます。リファレンス参照。
変数を使おう>エンティティ
80 :
78 :2008/07/31(木) 04:07:17 ID:tl8N+NV/
なるほど "&" が要るのですね。 ありがとう。
>>75 %も&も属性の頭につけられたときに、特殊な処理をするもので、%canskip|&f.canskips
とは記述するものではない。変数の頭につけるものと思っているなら確認しなおしだな
あと、確認でのembタグでエンティティはいらない。そもそもTJS式の結果を描画するためのタグなんだから
>>76 真偽を条件にするときはtrueやfalseとの比較はあまりよろしくない
[wt canskip="true" cond="f.canskips"]
[wt canskip="false" cond="!f.canskips"]のほうがよい
まあなぜ[wt canskip="&f.canskips"]にしないのかわからんが
真〜1, 2, 3, 1.1, -3.2, "1", "true", 1 == true, "1" == true
偽〜0, "false", "hoge", "", 2 == true, "true" == true, "" == false
何をもって真偽としたいかによるんだけどね
仮に厳密にtrueかfalseってしたいんなら、===で比較すべき
>>75 だとマクロの属性としてcanskipを取り得たそうなんだが、
>>76 だとそれに対応してない
[wt canskip="&mp.canskip === void ? f.canskips : mp.canskip"]
記述がキモイと感じたなら以下でも同じ挙動
[eval exp="mp.canskip = f.canskips" cond="mp.canskip === void"]
[wt canskip="&mp.canskip"]
82 :
68 :2008/07/31(木) 08:04:42 ID:pFiHkRpw
>>69-74 親切な回答ありがとうございました!
それぞれを試してみようとおもいます
74はちょっとアルゴリズムの筋がよろしくない。 残数が少なくなると、正解を引き当てるまでに何度も何度も再帰を繰り返すようになるんで、実行時間とスタック消費の点でけっこうなオーバーヘッドが。 スタック消費に関しては末尾再帰の最適化が実装されてれば問題にはならないけど、TJS2ってそこまで最適化してくれてたかしらん? 他はまあどれも、効率の面では似たようなもん。
末尾再帰やってたらもうちょっとパフォーマンス出るだろ。ソース読んでないけど。
末尾呼び出しの最適化は速度向上にはそんなに寄与しないが?
86 :
75 :2008/07/31(木) 21:42:19 ID:breRWshN
>>81 一つ目の解だけでは分からなかったですが、二つ目でようやく理解できました。
細かい教示ありがとうございました。
タグリファレンスと合わせ見て勉強してきます。
初心者です 漠然とした質問ですが力になってください 吉里吉里でgif動画のようなjpegやBMPの駒割りした絵を 何枚も表示してリピートしたりする事は出来ますか?
すばやい解答ありがとうございます 実際どれくらいの画像のサイズ(容量)まで 動かせるんでしょ・・ gif動画で考えると150msecの一枚絵(セル)を12枚連続で動かせたり するのは確認できたんですが、吉里吉里はソフト内のプログラムとして 表示を繰り返すので重くなったりする限界のサイズ(容量や全画面表示時の大きさ?) があると思うんですが・・・ なんか要領を得ない質問ですみません
実際に確かめてみればいいじゃん
>>89 特にサイズは関係ないかと。単に特定のタイミングで描画するだけだから
ただ、サイズに応じて読み込む時間によるラグはでてくるかも
まあ、それも各画像はあらかじめ読み込んでキャッシュにためておけるはずなんで
ある程度問題なくアニメーションできるんじゃないかな
具体的にどのくらいまで実用的に可能かはしらないけど
320*240のpngをアニメさせたことあるがかなり早かった。 スプライトのアニメ程度なら余裕だと思う。 ちなみにその時のスペックはCPU cel 2.6G MEM 256M
レスどうもです あれからしばらくググりまくって色々調べました gif動画でもたつき感があったので吉里吉里ではどうかと思いましたが gif動画に対してブラウザが遅延をかけてるのが原因だったみたいです 吉里吉里にて 800*600の画像を重ねてtestしてみるとかなり高速で 細かく表示時間設定すればアニメ動画になるなぁと思いました そしてまた疑問が出てきました 単純な画像貼り+表示時間でアニメできそうなんですが 吉里吉里にはアニメのプログラム?見たいのがあるらしいんですが・・ さらに詳しく書いてあるHPがいまいち見つからず・・ ちょっと悪戦苦闘してます
>>93 まずはこれを
kag3/template/system/AnimationLayer.tjs
95 :
名前は開発中のものです。 :2008/08/04(月) 09:27:24 ID:oARxgIzP
ゲーム上で頻繁に変化するパラメータをを棒グラフ(イコライザのレベル表示みたいなやつ)にしたいのですが 効率良い方法ありますか? 妄想してるのは・・・ 扱うパラメータ f.pow (0〜100の間で変化) グラフ用に0〜100の長さの画像を全部作って pow0.png から pow100.png で保存 グラフ画像用変数 tf.グラフ を用意し… [eval exp="tf.グラフ = pow+'f.pow'"] [image storage="tf.グラフ" page=fore layer=2 visible=true] これが出来るとスッキリする気がするのですが… 要するに 文字+変数 で作った文字変数を 読み込む画像のファイル名として使えるか? ってことです.。
>>95 それをやりたいなら
[eval exp="tf.グラフ = 'pow'+f.pow"]だろう
「効率良い」が何を基準にするのかで変わってくるが、この方法は画像さえちゃんと
用意できるなら、一種類の記述でpow0〜pow100を呼び出せる。という点で効率がいい
あと、画像をそのまま呼び出すだけなのでバグなどが入りにくいメリットもある。
その他、0〜100の数値にしたがって特定の長さの長方形をTJSで塗りつぶす
もしくは画像を長く引き伸ばす(アフィン変換)するなどで、その場で棒グラフを生成する
方法も、素材がいらない。または1つでいいといった意味では効率がいい
ちなみにどこかにプラグインがあって、公式掲示板でも話題にあがった気がする
ttp://contest2004.thinkquest.jp/tqj2004/70619/subindex.html さんのサイトの
「Lesson10 画面切り替えの効果編」
にて・・・
;800*600用の下段メッセージ枠
[position layer="message0" color="0x000000" width="780" height="140" draggable="true" left="10" right="10"top="450"]
[trans layer="base" method="crossfade" time="1000"]
↑画面切り替えした後に設定した800*600の枠がリセットされて
左上上段からのデフォルトの台詞枠になってしまいます・・・
画面切り替え中にクリックすると高確率でこの現象になってしまいます
bgm再生での[wb] bgm終わるまでウェイト
のような物はあるんでしょうか?
回避方法があれば教えてくださいorz
よーく見たら 今まさに事故解決しました! children true/false と [wt] でした
99 :
95 :2008/08/04(月) 16:47:54 ID:oARxgIzP
>>96 修正どうもです。
ベタ塗りの長方形のやり方だと、インジケーターっぽさがないのです」
POW |||||||||||||||||||||||||||||||||||||
↑みたいにしたいので。
長方形の上にさらにレイヤー重ねて、2〜3ピクセル間隔で背景色の線を入れておけば不可能ではないでしょうが。
あと、画像用意の場合は、80〜100の目盛りだけ赤くするとかいう効果も簡単に対応できることに気づきました。
問題は100個も画像保存する根性のみw
フォトショップで、100個のレイヤーを別々のPNGにして保存するプラグインとか無いのかな?
>>95 だったら、インジケータ100%の画像を、f.powの値に応じて
クリッピングするだけでいいような。
プラグインもあるかもしれないけど、フォトショップ使うなら、
アクションとかバッチ処理とか覚えると便利ですよ
クリッピング使うんならこんな感じかな 目盛り1つ分の横幅が一定じゃないなら使えないけど [image storage="pow100.png" page=fore layer=2 visible=true cliptop=0 clipwidth=&f.pow*横幅 clipheight=縦幅 clipleft=横幅]
102 :
101 :2008/08/04(月) 18:50:34 ID:MOGdOupD
ミスった… clipleft=0だ
103 :
99 :2008/08/04(月) 19:23:24 ID:oARxgIzP
>>100 ,101
うおおありがとう! 一気にスマートになりますね。 訊いてよかったー!
104 :
名前は開発中のものです。 :2008/08/05(火) 00:29:07 ID:Aa+LnwEA
右クリックメニューで質問なんですが BGMが再生されている状態で右クリックメニューに入り 抜け出すとBGMが最初から再生しなおされるのは何が原因なのでしょうか?
>>104 temploadタグでbgm=false付け足すだけ
リファレンス嫁
リファレンスの『条件付きリンクによる曲進行の制御』についてなんだけど、 ゲームの進行・情景を反映した曲進行の制御ってどうすればいいのか よく解らないんだけど・・・ シナリオファイル中でBGMのフラグ制御って出来るの??
>>107 レファレンスのループチューナーの部分か
扱ったことないけど、ちゃんと書いてるじゃないか
リンクはループチューナーを用いて、*.sliに記述することができる
リンクは単純なジャンプだけでなく、条件によって制御できる
フラグは、WaveSoundBuffer.flagsプロパティ を用いて、スクリプトから操作することもできる
KAGで使用しているときは、BGMタイプが"Wave"のときのみになるけど、
kag.bgm.currentBufferが、WaveSoundBuffer(の子クラス)のオブジェクトなので、
[eval exp="kag.bgm.currentBuffer.flags[0] = 2"]みたいに書けばよい
*.sliに適切な条件付きリンクがあれば、そのフラグの内容によってジャンプする
……と思うよ
リファレンスのループチューナーの項、一番下の説明をそのままなぞれば出来るよ >ここで、ゲームなどが進行し、フラグ0 が 1 になると ってのがイコール KAGで[eval exp="kag.bgm.currentBuffer.flags[0] = 1"]を読み込むと、ってこと。 便乗質問なんだけど、 >再生が特定の位置に達したとき、吉里吉里上でイベントを発生させる「ラベル」 の方はどうやればいいんだろう? 具体的には曲に合わせて歌詞を出したいんだけど。
>>109 KAGEX が該当処理実装してあるから一度みてみるといい
BGM.tjs 中の KAGWaveSoundBuffer 中の onLabel 周辺
MainWindow.tjs 中の handleBgmLabel, onBGMLabel, setBgmLabel, clearBgmLabel
このあたり。特に難しい処理はしてないので、だいたいそのまま KAG にもってこれるはず
>>111 バグ部分ではなくてわかりやすい所を修正してパッチ当ててみても認識されないかどうか試してみては
パッチの作り方が間違ってるのかもしれないし、修正したスクリプトが間違ってるのかも知れないけど
でも今日はもう寝るといいよ
113 :
111 :2008/08/08(金) 00:32:25 ID:iBm4IWQd
>>112 ああ、わかりました!
パッチの作り方が間違っていたみたいです。
プロジェクトフォルダと同じようにscenarioとかimageとかフォルダ分けしないと
いけないのかと思っていましたが、全部ひとまとめにしてしまってよかったんですね。
初心者な質問で申し訳ありませんでした。失礼します。
画像ファイルを使わずに、メッセージ枠を表示しています。 テキストの文字数と行数に合わせて、自動的にメッセージ枠の大きさを変えることって できるのでしょうか? たとえば、セリフが18文字×3行の時と、12文字×8行の時で、それぞれメッセージ枠の 大きさをフキダシのように変えられたらと思うのですが。 フォントはConfig.tjsで指定した一定のサイズを使います。
>>114 chを監視して、文字が12を超えたらレイヤサイズをいじるとか、になるんだろうけどもー。
一気に文字を表示するならともかく、そうでなければ文字表示中にレイヤサイズが変わって
気持ちの悪いことになるような。
素直に手打ちで指定した方が良いかも。マクロにしておけば、気分的には若干ラクだし。
できる。文字の高さと幅を割り出して枠の大きさを指定する。 YesNoDialogを参考にするのが一番分かりやすいかな。
>>110 うまくやれば、音ゲーみたいなのも作れそうだな。
>>114 です。
>>115 フキダシは一気に表示しないとダメですよね。
テキスト量に応じて何パターンか用意して、マクロ化するのはできそうです。
>>116 やはり動的にサイズを変えるとなると、tjsをいじらねばならないんですね。
YesNoDialogを参考にして、なんとかできるようになろうと思います。
>>115-116 ご教示くださり、ありがとうございました。がんばります!
119 :
109 :2008/08/08(金) 22:34:25 ID:ubNhMWtw
>>110 ありがとうございます、ただKAGEXは使えないそうなんです。
(技術面から製作開始時に見送り
ちなみに自分は元々音担当で、手が空いたから本編から離れたオマケ的部分のプログラムを手伝ってる)
出来たら良いな程度の演出なんだけど、もしKAGEX無しでの方法があれば教えていただけるとありがたいです。
>>119 >>110 はKAGEXの該当部分をKAGに移植すればと言ってるだけだから、KAGEX自体は必要ないはず。
文字表示や効果音や選択肢に関係なく BGMループのように目パチをループをするには どうしたらいいんでしょうか? BGMは選択肢が出ようが鳴り続けているので、そのイメージで 選択肢中に目パチループをしたいんですが・・
animstart
>>121 template\system\AnimationLayer.tjs
を読んでみるといいよ
124 :
名前は開発中のものです。 :2008/08/10(日) 10:28:03 ID:0ok6vmz4
@image storage=eye page="fore" layer="0" mode="transp" visible="false" clipleft=0 cliptop=0 clipwidth=800 clipheight=600 クリップ方式のアニメでこれを止めるには上記のように visivle=false で隠すしかないですか? 良い方法があれば教えてください
>>124 ループしないなら(asd内で)sで止めればいいんじゃね
ところでstorageが「eye」になってるけど、まさか目パチじゃないよな?
キミキスのおまけって目パチ口パクあったけど あれはどうやってるのかな やっぱりasd?
グラフィカルボタンを一時的(秒数指定)にクリックできなくする方法はないでしょうか? トランジションで画面が切り替わってボタンが表示される時に、クリックを連打していると マウスカーソルの位置によってはクリックして先に進んでしまうのを防ぎたいと思ってます。 clickskipは駄目でした。
locklink
こんなタグがあったんですね、見落としでした。 ありがとうございました。
開発者じゃなくユーザーなんですが 全画面モードでセーブorロードしようとすると確認ウィンドウ(はい/いいえ)が表示されずフリーズ と、思いきやWindowsキーやAltTabで最小化=>復帰すると 解像度が小さい状態で全画面になり、この状態では確認ウィンドウが表示されセーブorロード出来る 再び最小化して復帰すると正常に全画面になる 基本全画面なので吉里吉里のゲームが出るたびに面倒な事に・・・回避方法があればお願いします
吉里吉里設定で「フルスクリーン時の画面解像度」を変えてみると、もしかしたら おこらないかもしれませんが、基本的にはそのアプリの作りが悪いと思われるので、 つくってるとこにサポート要求するのが筋です
ん?でも >基本全画面なので吉里吉里のゲームが出るたびに面倒な事に・・・ てことは、一つや二つそうだっただけで言ってる訳じゃないんだろ?
というか
>>130 の環境がおかしくなってるんだと思いますが
吉里吉里以外のフルスクリーンに出来るゲームやってみろ
>>132 おお、「フルスクリーン時の画面解像度」を「画面解像度を変えない」に変更したところ、
フルスクリーンでも正常にセーブ&ロード出来るようになりました。
ワイド液晶使ってるのでこの不具合が出たようです
エンジン設定.exeの無い他の吉里吉里ゲー2種も試しましたが、エンジン設定.exeをコピーする事で対応できました
ありがとうございました
参考までにタイトル希望
つーかモニタにアスペクト比固定拡大とかDbDついてないの? いまどき4万でWUXGAな屑モニタにもついてるのに?
>>136 ・LiLiTHの全部
・私は私のまま、誰にでも変われる
他に過去にプレイしたけど現在インストールしてないのが3作くらい。Fateは大丈夫だった気が
LiLiTHはたまに青地のデバックウィンドウみたいなのが開く(再現不可)
設定変えてから何度か起動=>セーブロード=>終了してみたけど今のところ不具合なし
>>134 過去にプレイしたゲームで不具合が出たのは吉里吉里のみ
CivとかSimとか普通のゲームもやるけど特に不具合なし
ちなみにディスプレイは「EIZO NANAO FlexScan S2110W」
製作技術に質問してすみませんでした。お答え頂き助かりました
わりと最近のタイトルかな。 吉里吉里の新しいコア+古いKAGを使うと、フルスクリーンの状態によっては、画面の拡大率が変わってる 関係で KAGのYesNoDialog の座標計算がバグってておかしくなる場合があるはず。たしか。 気づいてない可能性あるから、それぞれメーカに一応報告してあげたほうがいいかな。
>>138 139も言ってるけどメーカーに報告してあげるといいと思う
グラボのドライバ更新したら、横に伸びてたゲームがちゃんとなった。けっこうな確率で。
142 :
名前は開発中のものです。 :2008/08/13(水) 18:45:29 ID:pqysD1uG
KAGのButtonLayer.tjs内の // 状態 s に対応する画像を描画 // s : 0 : 普通の状態 // 1 : ボタンが押された状態 // 2 : ボタンの上にマウスカーソルがある状態 // (3): フォーカスがある場合 if(!enabled) { s = 0; // 無効状態 } if(Butt_imageLoaded) { // ボタンイメージが読み込まれている // TODO: keyboard focus imageLeft = -s * width; } これって何を意図して画像の座標をマイナスにしてるんだ・・・? それとも、これはマイナスにしてるわけじゃなくて、別の意味で演算子が機能してるの?
ヒント1: ボタンの画像は、状態に応じた画像が3枚横につながったもの ヒント2: 吉里吉里リファレンスの Layer.imageLeft を読むべし
CGの解像度を変更して表示することは出来るのでしょうか? 1600×1200で用意したCGを800×600に縮小して表示したいのですが。
ツールで縮めればいいんじゃね?
ZOOMプラグイン使うとか? キレイに縮小されるかは知らないけど
Layer.stretchCopy(レイヤの拡大縮小コピー)でいいんじゃまい
>>147 それは最初に思ったのですが、
ゲームの解像度はあくまで800×600でレイヤーだけ高解像度なのは可能なんでしょうか?
無知ですいません
>>145 >>146 そういう外部のプラグインとかを使えるんとは知らなかったです、調べてみます。
>>148 ZOOMプラグインは動的にサイズを変えることができるプラグインだけど、
拡大縮小自体にはstretchCopyを使ってるから結局同じことじゃないか
ただ表示するだけなら単体で使った方が楽じゃないかと思ったんだけど…
>ゲームの解像度はあくまで800×600でレイヤーだけ高解像度なのは可能なんでしょうか?
思うんだが、拡大縮小はできても一部だけ高解像度ってのは無理じゃないかな?
個人的には割とキレイに縮小されてるとは思う。試しにやってみるといいよ
ゲームの解像度以上の大きさの画像を扱えるか、という事なら扱える
一々色んなパターンのサイズの画像を用意しておくのが面倒なら
吉里吉里のリファレンス見て
>>147 で適宜拡縮
>>151 これは助かります、
こんなマクロを作っていた方がいたとは・・
stretchCopy(ZOOMプラグインも)は画質が悪すぎると思う DirectXの縮小は元より、.NETにある縮小にも画質が負けてる リアルタイムに綺麗に縮小する方法は無いのかな?
引数のtype弄ってもダメかな? > 拡大縮小のタイプを指定します。 >stNearest : 最近傍点法が用いられます >stFastLinear : 低精度の線形補間が用いられます(一部実装) >stLinear : 線形補間が用いられます(一部実装) >stCubic : 3次元補間が用いられます(一部実装) > 速度は stNearest > stFastLinear > stLinear > stCubic の順に高速ですが、画質は速度が 速ければ速いタイプほど低画質になります。
連投ゴメソ デフォがstNearestだから、要するにデフォルトで一番低画質になってるみたい (バージョンによって指定できないタイプがあるかもしれないのでリファ参照で)
>>154 ,
>>155 stNearestはジャギジャギだし他はぼやける
DirectX無しでリアルタイムの高画質リサイズは困難だからしょうがないのかも知れない
でも遅くていいから高画質な縮小欲しい・・
吉里吉里からDirectX使うdllか何かなかったっけ? あんま知らんけど
>>157 3Dオブジェクトをどうこう、ってのは見覚えあるけど、拡大縮小を引っ張ってきてるのは見たことが無い気がする。
KAGEXでこっそり拡張して無いかなって、ソースほじくったけど
普通にaffineCopyだったorz
ごうさんならいつかきっとやってくれる、かも。
>>156 条件限られるけど、stLinearとかstCubicも実装自体はしてるんだから
そっち試してみれば? 速度的にDirectXとくらべてどうかはしらないけど
>>159 stLinear/stCubicは速度は問題ないけどぼやけるからね
そもそもCPUにやらせる仕事じゃないな。 D3DなりOpenGLなり持ってくるのが一番要求満たすかと。
アンシャープマスクをTJSでやろうとして、かったるくなってやめた事があるな。 二段加工って事がもうだめ臭いだろうけど。
リンクボタンについての質問です。 通常時・カーソルを合わせた時・リンク時とボタンが変化すると思うのですが、 これと一緒にボタン以外の部分の画像を変化させたいと思っています。 初歩的な質問でしたら申し訳ありません。 よろしくお願いします。
buttonタグのonenterにkag.fore.layers[0].loadImages('画像名')
fore.layers[0]の部分は対象レイヤorオブジェクトに置き換えとくれ。
後はリファレンスや
>>4 のInside KAG3を読みつつ頑張れ。
165 :
163 :2008/08/19(火) 20:49:57 ID:fmILhk2H
>164 できました! ありがとうございます。
166 :
名前は開発中のものです。 :2008/08/21(木) 15:27:02 ID:bRPy4aNG
横からすみません質問です。 BGMにoggを使う時にはプラグインを読み込むとなっていてその通りにしたんですが 起動してみると「EAccessViolation」のエラーが出ました。 自分なりに調べたんですがそれ以上の説明が出てなくて煮詰まってます。 書くに及ばない説明でしょうがやっぱり分からないんで説明お願いします。
その通りの部分をもっとくわしく書くとヒントをもらえるかもよ。
168 :
名前は開発中のものです。 :2008/08/21(木) 20:39:52 ID:bRPy4aNG
あ、はいー Config.tjsのBGM再生メディアをWaveに変えました。 kirikiri2内のkrkr.eXeがある場所にwuvorbis.dllコピーで入れました。 それで今現在使ってるfirst.ksに読み込みをさせようと @title name="○○" [wait time=200] *start|スタート [nowait] [clearvar] [image storage="○.jpg" layer=base page=fore] [loadplugin module="wuvorbis.dll"] [playbgm loop=true storage="○○.ogg"] この順で打ち込みました。 ○の部分は半角で、moduleは指示のままに「プラグイン選択」から選んで入れました。 で試しに動かしてみると 「エラーが発生しました タグ:loadplugin EAccessViolation」 です。 [loadplugin module="wuvorbis.dll"] この部分を入れないと普通に動くんですけど(無音で) 自分にはどうしてかさっぱりなんでこれでヒントでももらえると助かります。
krkr.exeとdllのファイルのバージョンがそろってないとか ないかー
wuvorbis.dllのバージョンが違うんじゃね?
みんな同じ結論でフイタw
めっちゃ書いてあるじゃんw
174 :
名前は開発中のものです。 :2008/08/21(木) 21:28:45 ID:bRPy4aNG
ぎあ なんか沢山書いてあってびびった 教えてくれたサイトさん見たはずなのにどこ見てたんだ自分・・・ 優しい人ばっかりで泣きます有難うございました。 で、甘えついでなんですが「吉里吉里/KAGに同梱のプラグインを使用するようにしてください。」 これがどこなのか分かりません;メモも見たんですが つけこむようでごめんなさい。
175 :
名前は開発中のものです。 :2008/08/21(木) 21:38:38 ID:iqhKpCyX
pluginってフォルダの中だよ
176 :
名前は開発中のものです。 :2008/08/21(木) 21:55:08 ID:bRPy4aNG
出来ました!!有難うございます 分からずに違うバージョンを上書きしてたみたいです。
昔2.26用に書いたシステムをひさしぶりに2.26で動かしたら当時は普通に動いたのに今はNPEで落ちる。 どうもGCに確保したオブジェクト捨てられてるみたい。 ソースも吉里吉里(HDD内にある当時DLした物を残してある)も変更ないのになんでだろう。 つか動作追えん、デバッガないと死ねる。 単体テストとかめんどくさい。 TJSUnitから書くべきか・・・。
>>177 よくわからんが、2.26の特殊な機能を使ってる訳ではないんだろ?
2.28(またはそれに近いバージョン)で動く様に修正すればいいんでね?
最近覚えた単語を並べてみた、っていう文章っぽいのがなんとも・・・。
>>175 はいって何だよ。さっきから何度も。何がはいなんだよ。
出来もしねえ奴が軽々しくはいなんて言うんじゃねえよ。
だから申し訳ありませんじゃねえだろうよ。何が申し訳ねえんだよ。
本当に反省してんのかよ。
本当に今なら出来んのかよ。
口先だけの謝罪をするんじゃねえよ。
いい加減な気持ちでやってるんだったら今すぐ帰れお前。
誤爆か?
できる人みたいだから、もっと心に余裕を持てば、人生上向くんだろうになぁ。
なんのスレかと思ったw
唐突な煽り文は大抵コピペだよね
画像や音楽をフォルダの中のフォルダに入れて使用することは可能ですか?
可能です
ゲームを終了しますか?のダイアログが出ている時に 「ゲームを終了しますか?」って言うボイスを流したいのですが 方法が分かる方いましたらよろしくお願いします
MainWindow.tjsを「終了しますか?」で検索して > super.onCloseQuery(askYesNo("終了しますか?")); この行の上に kag.se[0].play(%[storage:'hoge.wav']); とか入れる
>186 そんなのウザいだけだからヤメなさい
すごく初歩的なことなのかもしれませんが、質問させてください。 tjsの行末につけるセミコロンについてなんですが、 function xx { xxx }というような構文を書くときに、 最後の行末部分が「 } 」だけだとエラーが起こり、 「 }; 」のようにセミコロンをつけると動作することがあります。 こういう場合の使い分けはどうすればいいのでしょうか?
>>189 セミコロンは文の最後につけるからセミコロンをつけるのはfunction xx { xxx }が文の一部の時
var func = function(xx) { xxx };
みたいな
これ以外に思いつかないんだけど何かあるか?
エラーが出るのは他の原因な気がするけど
>>190 確認してみると、確かにエラーの出る箇所は
kag.xx = function xx
のようになっているものばかりでした。
超的確な御指摘ありがとうございます。
も、もっと勉強しないと……
フレームに周りを透過したpng画像を使いました 角を綺麗に処理したのですが表示させると汚くなります 解決法等ご存知の方がいたらご教授願えないでしょうか。宜しくお願いします
×ご教授 ○ご教示
どうもありがとうございます。無事解決できました これからはもっと自分で解決出来るようにします スレ汚し申し訳ありませんでした。ごめんなさい
すみません、こちらで質問させていただいてよろしいでしょうか。 Config.tjsでメッセージレイヤの設定を行った後、 .ksシナリオの途中で、メッセージレイヤのサイズなどをpositonタグで変更しました。 このあと、Config.tjsで設定した通りに戻したいのですが、一発で設定を元に戻す方法はないものでしょうか? resetstyle使ったんですが元に戻らなくて……やっぱりいちいち指定しなおしたり、 マクロとか使わないとだめなんでしょうか? 使っているversion:吉里吉里2 2.26 KAG3 3.26
メッセージレイヤが全部初期値にもどっていいなら、laycountタグを使うのが楽かな
>>197 個人的に、そーいうのはマクロ化して逐一自分で元に戻す方が分かりやすくて好きです
>>197 自分も今日ちょうど同じこと考えてたよw
ctで戻るような気がしてたんだ……
マクロにするのが一番わかりやすくて早いんじゃないかね
何か理由があってそれがダメなら理由を書くとアドバイスもらえるかもよ
>>198 laycountですか。
メッセージレイヤは2つ(名前表示と台詞表示用)用意する予定なのですが
シナリオ中にメッセージレイヤをもう1つ用意する設定にした場合、
それも無かった事にされてしまうという事でしょうか。
……と、聞いてばかりで何なのでちょっと調べてみます。
>>199 >>200 うちもctとかerとか色々書いてました。
>マクロだめな理由
マクロ難しすぎて分からないんです。
できれば触りたくなくて。
マクロ記述用に別の.ksシナリオを用意して書くべきなのかとか、
pluginのように最初に一回読み込ませただけでいいのか、とか
あと何よりも、
普段部屋がごちゃごちゃで片付かない自分が
マクロなんて書いた日には最初に何を設定したのか忘れてしまって
あとで混乱になりそうな感じがして怖いんです。
>>201 マクロは独立したksファイルにまとめて、起動時に一回callするといいよ
あとconfig.tjsで、セーブデータにマクロ記録しないようにしとくと便利
何書いたのか忘れるのなんて日常茶飯事だから、こまめにコメント残すようにしる
というか、名前表示と台詞表示用でレイヤ分ける必然性ってあるのかいな
名前表示レイヤと会話文表示レイヤは、分けたほうが見やすくて好き。
そこは[locate]で表示位置指定してやれば解決しそうな気がするけど…
>>201 マクロにしたほうがスクリプトがぱっと見でわかりやすくなるから
マクロを覚えたほうがいいよ。思ってるより難しくないから
メッセージウインドウの設定くらいなら忘れないでしょw
マクロだいすき
>>198 今調べたんですがlaycountってレイヤの枚数変更ですよね?
「サイズの違うメッセージレイヤを複数用意してその都度切り替える」
という事でしょうか?
>>202-207 皆さんありがとうございます。
マクロ嫌なんですがためしにmacro.ks作って触ってみようと思います。
>>208 laycountの値を減らす=>198の初期化
その後、
>>197 のpositionで設定しなおしってのが
>>198 の意図かと。
まあこれやるにしてもマクロ化したほうが記述量が減って楽だとは思いますが。
>>208 リファレンスにも、
「 おきまりのタグの連続は、マクロ化して楽しましょう(^^)」
と、顔文字付きで書いてあるんだから、使わなきゃもったいないよ。
KAG では、たいていの場合ひとまとまりにして使うような機能も細分化してあるんで、
マクロを組まないと使いにくい。(そのぶん細かい制御ができるんだけど)
各自がマクロを組むのは、当然の前提としているんだと思う。
(以下はチラシの裏)
マクロの標準ライブラリが付属しているとか、本家でマクロのライブラリを登録・配布
できるようなシステムがあれば、もっと便利になるんじゃないかなー。
登録・配布に際しては、マクロの名前が衝突するのが一番の問題だな。 @lr、@rl、@wtcとか、分かり易い=思いつき易いものは衝突する可能性が大きい。 マクロ中でマクロを使うのも良くある話(?)なので、遡っていくとどこかで衝突するだろうし。 それに自分で管理してても混乱するのに、他人のを加えると大変なことになりそうだ。 ・・・これは俺の脳みそがお粗末なだけか。 逆に、参考にするだけならxp3を開けて調べるのと大差ないしなぁ。 便利だとは思うけど、難しそうだな。
@mcr_sakushamei_lrとか、@mcr_sakushamei_rlとかすればいいぉ。
kag.conductor.macros['マクロ名']がvoidならマクロを登録。 そうじゃなければ重複する名前があるという事になるからエラー吐かせる、 という風にすればいいんじゃなかろうか。 callさせる順番をなるべく最後の方にするように 指示や注意書きを添える必要はあるけど。
よく使う動作はマクロ使った方が便利だと思った まだ基本的なことしか出来ないレベルだけど
つーかマクロなしで作ってる人って、仕様変更とかあったらどーするんだろう
216 :
208 :2008/08/26(火) 23:27:12 ID:9cDvK1w9
生まれて初めてマクロ書きました。
最初書き方分からなくて手間取ってましたが
(ややこしそうで触りたくなかったcall return
タグも初めて使いました)
無事に動いてくれてほっとしました。
(便利そうな、変数?の%属性とかいうのは
まだ今イチ使い方がよく分かりませんが…)
上手く動いてくれればすごく便利なんですねこれ。
記述ミスも起きにくいですし。一人で「うひょー」とかなってました。
(ただ、マクロは小回りが聞かないのがネックぽいので
事前に仕様を予め練っておく必要があるんだなと思ったり)
皆様このたびは本当にどうもありがとうございました。
>>209 そうなんですか…。
でもシナリオ中のlaycountの記述ってバグを誘発するとか
過去ログのどこかにあったような…???
>>215 その都度コピペ+1つずつ手直しです。
今までは超小品の物しか(ジャンケンゲームとか)
作らなかったんで。
それでもちゃんと完成するものはしてましたが、
ちょっと複雑な事をやろうとして上手く動かなったり
めんどくさくなると頓挫したりとそんな具合です。
>>216 小回りってのは%ととかmpとかで値を渡すようにすればある程度何とかなるかと。
他にはマクロの中でif文使うとか。
tjsがわかれば、マクロよりタグを作った方が便利だな
まあでも、KAGパーサーが処理するタグとか、KAGじゃないとできないこともあるし。
callとreturnか KAGParserの状態が外からスタックに積めればいいだがな
>>217 そうですか。
やっぱり変数は覚えておきたい所ですね…。
マクロってif文使えるんですか!?
知らなかった…どんな風に使うのか想像つかないっす……。
マクロの中でif文は頻繁に使うけど……。 例えばエフェクトONOFFのメニューを作った時に、ONにしてある時だけ かけるようにするとか。
kikyou.infoのDNS鯖死んでね?
>>221 まあifよりcond使う機会が多いかも。
多重分岐ではなく、ON/OFFだけなら。
情報サイトの「5524」も死んでね?
ttp://westsideroom.sakura.ne.jp/ ここのHeartBeatPluginで、どうしても連続での鼓動が出来ず…
古いverの吉里吉里用だからだと思うんですけど、
既にいじったりして吉里吉里2 2.30 RC 1で使えるようにした方とか、
もしくはソースのどの辺りのせいで動かなくなってるか分かる方いたら、助けていただけないでしょうか。
>>227 吉里吉里2 2.30 RC 1で試してみたけど、普通に使えそうな感じが。
↓のように書いたら背景が5回鼓動した。
[heartbeat storage="背景画像名" color="0xFF0000" repeat="5" delay="300"]
記述ミスの可能性を排除する為に、下記を確認すると誰か教えてくれるかも。
・どのバージョンまで動き、どのバージョンから動かなくなるか。
・どういう記述をし、どういう動作を望んでいるか。
HeartBeatPluginって、ちゃんと明示的に動作を止めるタグを置いたりWaitをかけないと 高速スキップ時とかにエラー吐いて止まるんだよな
>>228 うおあああ、ありがとうございます!動作しました!
取扱説明書の、使用例をそのままコピペして動作しなくて、使用例では全部「delaytime="1000"」
ってなってて、上の方見たら属性名「delaytime」じゃなくて「delay」ということが判明…。
ちゃんと見てなくて申し訳なかったです。
質問です。 KAGと心中の新しいバージョンの方の ログをお持ちの方はいらっしゃいませんでしょうか。 一番分かりやすくてログも持っていたのですが HDD飛んだときに消えてしまいまして……orz
すみません、質問です。 ひとつのlinkタグ内でf.flag1=A とf.flag2=Bのように、 二つの変数を変更することは出来るのでしょうか? [link exp = "f.flag1=A" ,exp = "f.flag2=B"] のように記述すると、f.flag2=B しか処理されません。 リンク後に改めて記述するしかないのでしょうか?
[link exp = "f.flag1=A; f.flag2=B"]
midiを流したかったのですが、PCによって音色が若干違うので midiを録音した物をoggにして吉里吉里で流したいと思っています こう言うのって法律的に問題ないのでしょうか? 例えばmidiの音色の著作はmidiシーケンサーメーカーが保有していて 音色のコピーは違法になったりしませんでしょうか?
>>236 そんなこと言い出したら現在流通している音楽のすべてが違法になる
音色の著作権は確かにメーカーが保有しているが、ライセンス的には、
音色そのものを配信するのはダメだが、それを使った曲を配信するのはおkになってる
>>235 234です。ありがとうございました
ものすごく初歩的なことですみません
>>237 そうなんですか、分かりやすかったです。
でも音色そのものは駄目って言うの知りませんでした。
240 :
名前は開発中のものです。 :2008/08/28(木) 23:58:34 ID:GzQab1Sl
すみません、質問です。 吉里吉里エディタの『かぐや姫Studio』は配布終了したのでしょうか? 探してみたら、公式サイトもうなくて困っています。 他に『かぐや姫Studio』をダウンロード出来るところありますか?
>
>>237 グレーゾーンじゃなかったっけ?
確かシンセの音色に著作権料が掛かるって話題になった事あったと思う
今後どうなるか分からない手法は使わない方が良いと思うが…
グレーなので、普通はライセンスに書いてある。 で、普通のライセンスでは大丈夫になっている。
>>233 ありがとうございました!文字化けしていたので諦めていました。
>>240 自分もかぐや姫探していてみつからなくなってしまって
代わりにKKDEっての使っている。
オリジナルマクロのタグを入力する時にフリーズするけどね。
>>243 基本的にPC内臓のシーケンサは問題ないっけ?
ヤマハXG GM音源が一時主張してた気もするが勘違いか
「ゲームを終了します」のログを 自分で用意した画像などに書き換えて表示させたいのですが 何か方法が載っているサイト等ありますでしょうか? ずっと検索しているのですが見当たりませんでした…よろしくお願いします
>>248 素早い対応本当にありがとうございました!
参考にさせて頂きます
oggを二つ同時に鳴らしたり…はできない゛てすよね?
質問です asdの設定で乗算や通常表示を指定したりはやっぱり出来ないんでしょうか? asdごとになら画像ストレイジ時にはじめから乗算でとか設定はできるの解るんですが 同じasdファイルでクリップした画像を1回目は乗算で2回目は通常でってのは不可能 なんでしょうか・・asdタグリファにないからだめなのかな・・ さらにasdでのアニメ動画とSE効果音を合わせたりするのは無理なんでしょうか?
>>253 asd内でevalとかiscript/endscriptが使えるので、
KAGを直接呼べばレイヤタイプの変更やSE再生は可能。
アニメとSEの同期をとりたいなら、動画にした方が無難。
不勉強でもうしわけないんですが iscriptでKAGを呼ぶとはasd内で ---------------- clip なんたらかんたら iscript [image storage="bg0" page=fore layer=base] [playse storage=se1.wav][ws] endscript clip なんたらかんたら -------------------- 見たいな事ができるってことですか?
>>255 254じゃないけど…
>見たいな事ができるってことですか?
うん。記述は違うけどな
要は[iscript]〜[endscript]間とevalタグのexp属性で
TJSを記述できるから、TJSでやろうぜってこと
レイヤタイプの変更やSE再生ならevalがいいんじゃまい
動作確認してなくて悪いが、例えばこんな感じかな
[eval exp="kag.fore.layers[0].type=ltMultiplicative"]
[eval exp="kag.se[1].play(%[storage:se1.wav])"]
>256 asd内にその書式入れたらいいんですかね・・ エラーがでてだめっぽいです 書式がなんたらでエラーが!! asd内でのiscript/endscriptとか 効果音、レイヤー設定変更とかの参考になるHPないですかね・・ 書式がいまいちわからない・・
>>257 あ、スマン。''忘れかな
[eval exp="kag.se[1].play(%[storage:'se1.wav'])"]
これでやってみ。
あと念のために書くけど、[iscript]〜[endscript]内じゃなく、そのままコピペな
>asd内でのiscript/endscriptとか
>効果音、レイヤー設定変更とかの参考になるHPないですかね・・
これは普通のTJS式だから、TJSリファレンス嫁、としか言えないんだが…
レイヤタイプの値が知りたいなら、吉里吉里2リファレンスの
クラスリファレンス>Layerクラス>メンバ>プロパティ>type
に書いてあるよ
>258 解決しました! どうやらコピペして張り付けるさいに半角スペースが混在してて 何回やっても「ch」がなんたらかんたらといわれてとまってました! あと 「’」で音ファイル名を囲むで万事解決しました! レイヤタイプ参考になりますた これで音付きループアニメの問題がほぼ解決しました ありがとうございます
>>259 そうか。よかったね
あと、分かると思うけど一応な
kag.fore.layers[0]は前景レイヤ1の表、
kag.se[1]はサウンドバッファの1番っていう意味だから、
レイヤやバッファを変えたいときはその都度書き換えてね
×kag.fore.layers[0]は前景レイヤ1の表、 ○kag.fore.layers[0]は前景レイヤ0の表、 ゴメンw
特定のキャラの履歴のみ文字色を変更する良い方法ってありますか? 履歴の文字色は kag.historyLayer.historyColor で変更できたのですが、これだと履歴全体に効いてしまい、部分的に効かせる事が出来ませんでした。
昔ここの住人さんがHistoryExtension.ksという履歴拡張プラグインを…… と見てきてみたら、公開停止してるのか。 でも、初期版ならまだ落とせるな。
264 :
253 :2008/09/02(火) 10:45:52 ID:2CqnfPra
前日>253です 前回と同様にasd内でquakeさせるにはどうしたらいいんでしょうか?
なんでasd内でquakeする必要があるんだ?
266 :
253 :2008/09/02(火) 17:39:57 ID:Tj0XZ12t
えっと asdでアニメの絵柄にあわせてquakeさせないと 違和感がでるからかな・・? asdのループアニメとシナリオでのquakeでは同期が取れないので 頭を叩くasdで作ったアニメにSEとquakeをつけるイメージで seの付け方は↑で解ったけど quakeの付け方が全く持ってみあたらない・・orz
くふぅ・・ asdにはquake入れられないってことですな・・ どもありっす
ためしてないが、こんな感じでできない? @eval exp="kag.tagHandler.quake(%[time:1000, hmax:50, vmax:50])" @wait time=1000 @eval exp="kag.tagHandler.stopquake()" wqタグはコンダクタが違うので使えない waitタグでウェイト入れること 動かなかったら、quakeは使えないってことで。
270 :
253 :2008/09/02(火) 22:14:09 ID:Tj0XZ12t
>269 一回quakeは上手くいきましたが・・ asd内で ---------------------------------------- *aaaa @clip left=800 top=0 @wait time=500 [eval exp="kag.fore.layers[0].type=ltMultiplicative"] @clip left=0 top=0 @wait time=500 [eval exp="kag.se[1].play(%[storage:'aaaa.wav',loop:false])"] @eval exp="kag.tagHandler.quake(%[time:1000, hmax:50, vmax:50])" @wait time=1000 @eval exp="kag.tagHandler.stopquake()"<<<<<<<<<<<<<<44行目 @jump target=*aaaa -------------------------------------------------- 2枚のclip画像の間に常にquake入れる動作なんですが -------------------------------------------------- 22:01:14 script exception : エラーが発生しました 行 : 44 タグ : eval ( ← エラーの発生した前後のタグを示している場合もあります ) メンバ "tagHandler" が見つかりません at conductor.tjs(189)[(function) timerCallback] ---------------------------------------------------------------------- と言うエラーがでます 一回quakeが成功した後に止まります
tagHandlerはMainWindowのメンバ。コンダクタじゃない
>>270 試してないけど tagHandler → tagHandlers では?
というか何で tagHandler のままで、一度でもquake成功するんだ???
>>270 tagHandlersだった。
@eval exp="kag.tagHandlers.quake(%[time:1000, hmax:50, vmax:50])"
@wait time=1000
@eval exp="kag.tagHandlers.stopquake()"
>>271 KAG解析で使うコンダクタとasdで使うコンダクタが違うから、asdファイル内で
@eval exp="kag.tagHandlers.wq(%[])"
ってやってもKAG解析側のコンダクタの操作になってしまうってこと。
asdファイル内でのquake完了待ちにはならない。
>272 シナリオでquakeかいてました・・ 気づいて消したらせいこうしてませんでしたorz それ交換してやったら・・・・ 成功しました!!!!!!!!!!!!!!!!!!! うう・・ありがとうごぜーますだ・・・・ しかし・・・tsjとか難しくて脳みそがパンクしまくり・・orz
275 :
274 :2008/09/02(火) 23:15:58 ID:Tj0XZ12t
んー私のやろうとしてる asdでSEとかquakeとか乗算とかってのは 無理やりな方法でアニメを同期させるにしても もっといい方法があるのかなl・・ 似た質問とか解答がまったくないですな・・・ もともとノベルゲーム向きってことで絵を動かして seを同期とかってのがマイナーな作り方なのかな・・ 連投ですが色々助かりました 皆さんありがとう!!!!!
>>275 吉里吉里ではなく、flashで作ったほうが楽なのでは?
>>275 >asdでSEとかquakeとか乗算とかってのは
>無理やりな方法でアニメを同期させるにしても
>もっといい方法があるのかなl・・
270を見てもやりたい事がいまいち解らんので何とも言えないけど
根本的に色々勘違いしてそうな気もするし
具体的に用途を書いてみたら一瞬で解決するかもしれん
というか、見た感じasdじゃなくてもいいように思うんだが気のせいか…?
「それ違う!」ボカッ!「痛い!」みたいなのだったら
>>266 演出指示が.asdと.ksにまたがって、シナリオ管理が超めんどくさいな
ミスやバグを誘発しそうで怖いぜ
274 のやりたいことは、演出こりたい人はわりとみんな考えることだと思うよ。 LiveMaker にも LiveCinema とかあるよね。 KAG はメインの制御と独立した制御系が move タグ系と、レイヤのアニメーション処理 ぐらいしかないから、自分で別途組むのでなければそれを使おうと思うのは正しい発想。 ただ、kag の機能をevalで明示的に呼ぶのは美しくないので、タグを増やして から使うのがおススメ。asd は、表示用のレイヤの先祖にあたる AnimationLayer に くっついた AnimationConductor によって実現されていて、そのタグは、AnimationLayer の メソッドで該当するものがあればよんでるだけなので、こんなかんじで簡単に増やせる。 // Override.tjs に記述 AnimationLayer.laytype = function(elm) { type = Scripts.eval(elm.mode); return 0; }; // ex: [laytype mode=ltMultiplicative] AnimationLayer.quake = function(elm) { window.doQuake(elm); return 0; }; AnimationLayer.playse = function(elm) { window.se[+elm.buf].play(elm); return 0; }; メソッドは該当オブジェクト(レイヤ)のコンテキストで呼ばれるので、そのメンバーを 直接操作できる。KAGEX ならレイヤの回転とか拡大縮小とかも同様のノリで制御できる。 kag 本体はレイヤの親 Window なので、window で参照可能。 quake はグローバルなものだから、ちょっと扱いが悩ましいけど、 まあ、使ってる側が混乱してなければいいんじゃなかろうか。 se も本当はレイヤ個別でもたせたほうがいいんだろうけど、 これも混乱しない範囲で適当に。
アニメと音声の同期か。自前でシステム組んだ方が楽そうだな。
この手の機能ってflashとかの動画でやるべきか、スクリプトでやるべきかどちらが良いのかな。
flashでやるとより通常アニメっぽいセル動画調が 損なわれそうなんだけど、どうなのかな?
吉里吉里でやっとアドベンチャーゲーム完成しました ゲームの内容を説明するサイトやパッケージにゲーム中の画像をキャプチャして 使いたかったのですが、MSフォントのメッセージウィンドウが含まれています MSフォントってゲーム内での読み込みは問題ないけど、画像化は規約に引っ掛かるって聞きました 実際の所どうなんでしょうか?よろしくお願いします
法的にはグレーなんだが ライセンスにはダメと書いてあるからねぇw
j
実際フォントを差し替えてキャプチャーしてる所ってあるの? 色んな商業サイト観たけど、そのままキャプしてる感じもするが… でも皆がそんな苦労してるなんて知らなかったよ キャプも駄目って凄いな、じゃあ吉里吉里のレンダリングは駄目なんじゃないか? まぁとにかく画像化が絶対駄目って事だから 別に読み込むのは勿論問題無いんだよな? だったら差し替えてキャプチャーするしかないな ゲーム中はMSフォントでキャプチャーは違うフォントって言うのも違和感あるが
フォント作ってんのはMSじゃなくてリコーなんだからリコーに聞いた方が良いんじゃないか?
こんにゃくのマニュアルのキャプ画像はまんまだったことを確認した。
>>288 吉里吉里のレンダリングソフトは画像化にするワケだから
リコーの回答を見る限りでは完全にNGっぽいね
これはちょっと問題になるんじゃないか…?
レンダリングソフト使ってるゲームは全部ライセンス料20万必要になるぞ
リコーの回答だとフリーソフトも20万必要ってなってるし
前にきりきりで作ったエロゲを消失しちまって、時折gamedevにあげて反応見てた時の データを復旧したいんだが、消えたgamedevからレスキューする方法ないかな
>>292 それはないんじゃない?
そんなこと言い始めたら、プログラム内でフォントを表示する
ルーチンを含む、再配布を前提としたプログラムは、ゲームや
吉里吉里に限らず全てNGってことになるよ。
>>294 他人のPCにフォントがインストールされてれば問題ないよ勿論
それは画像化ではなくプログラムを使っているだけだから
リコーもその部分は問題無いと回答してる
でも吉里吉里でフォントを画像化するレンダリングプログラムは
フォントを独自に画像化してしまうので、恐らく規約違反になると思われ
toolsフォルダに入ってるラスタライズツールのこと? それとも吉里吉里内部の話?
>>296 ツールのこと
krkrfont.exe開けば分かる
フォントはあらかじめこっちが決め打ちして用意しとかないと表示とか崩れるからなあ でもフォントの著作権周りってややこしいんだよな、フリーのしか安心して使えんわ
>>295 ああ、レンダリングソフトってレンダリング済みフォント作成ツールのことか。
あれでMS系やダイナフォント使ったら一発アウトだろうね。
フォントマップが不可なのはまあわかるとして、その一部が含まれる画像すら
再配布不可ってのがなぁ…。
なんでゲーム実行画面のキャプチャの話からレンダリング済みフォントの導入の話になってるの?
>>300 まぁとにかくキャプもレンダリング済みもMS系は駄目って事で
いやPrintScreenはおk
フォントを画像化してる時点で、PrintScreenした画像はNGだろ キャプチャした画像が印刷物になればOKということか?
>>304 リコーの回答だと印刷物の場合は商用ライセンスが必要
ゲームライセンスよりは安いけど高い
>>303 だから画像化が駄目だって言ってるじゃんw
リコーがダメなんだ!
ゲーム作るのがだめなんだよ!
>>295 レンダリング済みフォントデータ作成ツールを使うときはライセンスを確認するようにとマニュアルで明記されているから、
その手のミスは確認作業を怠った製作者側の問題かと。
ttp://devdoc.kikyou.info/tvp/docs/kr2doc/contents/FontMaker.html 以下引用
> レンダリング済みフォントのデータを作成しようとする元のフォントの著作者が、
> このような用途 ( そのフォントから作成した多数の文字のビットマップデータをゲームなどとともに配布し、
> そのビットマップデータを組み合わせて文字表示に用いること ) でそのフォントが使用されることを許可しているかどうかが定かでない場合は、
> そのフォントの著作者に確認をとることをお勧めします。
で、そもそも
>>283 の話だけど、ゲーム中の画像をキャプチャーするのに際し、フォントまでをキャプチャーする必要ってあるんですかね?
イベント絵を数枚と、メッセージウィンドウがどんな感じか分かるキャプチャーがあれば必要十分な気が。
ちなみにフォントについては、吉里吉里では変更機能がデフォルトで実装されており、
ユーザーがどのフォントでプレイするか分からない以上、
フォント付きのキャプチャーにそれほどの意味があるとは思えないのですが。
ここに本文が表示されます程度の説明なら
>>284 のいうようにIPAフォントとかを使うのが無難でしょう。
システムボタンとかコンフィグ画面のフォントについてはデザイナーと要相談という事で。
>>309 ライセンスを確認するようになんて書いてあったっけ?
あ〜何か残念だ、つーか衝撃だなorz
ライセンスでチマチマグチグチ言うんなら最初から売らなきゃいいのにね ほんまウザイは フリーがいちばん
マジレスしとくと、世の中で出回ってる「フリー」といわれてるフォントの大半は、 商用用途、あるいはゲームなどへの組み込みは許可されてないものが ほとんどなので、むやみに採用するのは危険。
313 :
名前は開発中のものです。 :2008/09/06(土) 20:46:27 ID:FO7g6lA7
そんなの当然すぎるから省略したのに、即効ツッコミ入れますか、そうですか。 フリー素材探す時は、真っ先にどこまでOKか確認して ダメなものは最初から落とさない。 ムカつくのは、どこまでOKなのかハッキリ書いてないやつね 個人で使用>フリーソフトに使用>商用で使用>フリーの18禁で使用>商用18禁で使用 どこまでOKなのかサイトに書いとけよな イチイチ問い合わせとかさせるようなのは面倒なのでパス。
どうでもいいです(^q^)
>>310 マニュアルの熟読は基本かとは思いますが。
特に権利関係周りは。
知らなかったで済まされる話じゃないし。
ちなみにフォントの現状については
>>312 だから、対処法は下記あたりかなと。
・ユーザーのPCにインストールされていると思われるフォントを使用する(例:MSゴシック)
・
>>284 のリンク先を参考に、ライセンス上ゲームで使用しても大丈夫なフォントを使用する。
・フォントを買う(個人で使用する権利ではなく、ゲームで使用する権利。
>>285 曰く、MSフォントは20万みたいですが)。
>>313 物凄く分かる
でもフォントってバージョンアップとか無いから儲からないし
規定が厳しくなるのも分からないでもないんだよね
だけどやっぱりライセンスどーの言うなら最初から売んなくていいよって感じ
>>315 つまり画像化は駄目だけどインストールされてるのを使用するのはOKなんでしょ?
ユーザーが選んだフォントだと行数とか崩れたりするから
選べないようにMSゴシックだけしか使えないように最初からなっているって言うのは
特に問題ないんだよね?あくまで駄目なのは画像化でしょ?
ユーザーにフォントがインストールされていれば
プログラムにMSゴシックとか記載しても問題ないよね…
MSゴシックって言う名前を載せるのもお金いるなんて言われたら唖然とするわ
でもこの状況だと何も信じられないな
>>317 当然インストールされているものはOKかと。
それがだめだと、vectorとかで配布されている普通のソフトとかも引っかかるし。
もちろん配布されている吉里吉里そのものも。
その為、
>>317 の使用法はどれも問題ないはずですよ。
319 :
名前は開発中のものです。 :2008/09/07(日) 02:24:05 ID:bnDHyb+4
[playse storage="1111" buf="0" loop="true"] [playse storage="2222" buf="1" loop="true"] えっとこれで動かすと 1111がloopになり 2222が途切れ途切れ に鳴るのは仕様ですか? ちなみに2222は普通に鳴らせばちゃんとloopする音です
>319 自己解決しました loopするように編集したファイルを名前2222で 上書きするのを忘れていたようです・・ loopしないwavで途切れるのはあたりまえですな・・・・・・・・・・・・・ orz orz orz 失礼しました
321 :
名前は開発中のものです。 :2008/09/07(日) 17:55:51 ID:7Bnb7nLN
リファレンスにあるsaveメソッドの具体的な記述方法を教えてください。 例えばaaa.txtに配列データを保存したい場合。 @iscript save(aaa, 'c'); @endscirpt でいいんでしょうか?
配列名.save('aaa.txt','c');
>>317 むしろ卸値が1万円程度のWinidowsXPに他社の1万円のフォントに
劣らない超高品質のフォントがついてくる事自体が驚異的なわけで…
フォントに関してはMSを褒めてもいいんじゃないか
324 :
名前は開発中のものです。 :2008/09/07(日) 21:11:11 ID:7Bnb7nLN
初心者質問失礼します。 マクロ定義の属性値[name]なんですが、英語(小文字)と、日本語で書くのと処理上の速さって違いますか? あと、マクロ内で [image storage=%img|'sample'] って書くのと、 [eval exp="mp.storage='sample' cond="mp.storage===void"] [image storage="&mp.storage"] の2行ではどっちがいいんでしょうか?わかる方よろしくお願いします。
>>325 1.速度は実質同じ。2.一行の方が読みやすくない?
>>326 おお!!ありがとうございます!!!日本語にしたいけど迷ってたから、ふっきれました。
MSゴシック(R)の話ですまないが
質問です。 吉里吉里2に同梱の音量調節プラグインを使ってみたところ、 音量(O)の子属性?が二つずつ表示されます。 音量(O) BGM(B) 効果音(S) BGM(B) 効果音(S) のような具合です。 プラグインはfirst.ksの最初で呼び込みんでおり、 gvolume.ksの改変は行っておりません。 一体何が問題なのでしょうか?
最初に戻るで戻っても音量の項目自体は増えません。 最初に戻るの位置は確認済みで、再読み込みは行われていません。 起動して(コールして)すぐから二重に表示されます。
>>331 ソースがないから想像だけど、単純に二回書いてるだけ(例えばfirst.ksとmacro.ksに書いてて起動時に両方通っている)とか
まあ@call storage=gvolume.ksをコメントアウトしたりとか、
@call storage=gvolume.ksの前後にでもdm入れてコンソール確認するとか、
gvolumeでgrepすれば原因が特定できるかもね。
333 :
331 :2008/09/10(水) 23:49:18 ID:w4Zks6Zn
>>332 ありがとうございます。
二度は書いてありませんでしたが、@call macroから戻る際に読み込みしなおされていました。
失礼致しました。
callで呼んだのにjumpで戻ってるのか?
335 :
331 :2008/09/11(木) 00:15:50 ID:oKMX3RbK
>>334 macroはjumpで読み込んでいたので、始めに戻されたようです。
macroもcallで読むように訂正しました。
336 :
名前は開発中のものです。 :2008/09/12(金) 01:32:03 ID:R6de2cdd
[iscript] function fff() { return 100; } [endscript] [macro name="ddd"] [position layer=message0 left=fff() top=fff() ] [endmacro] [ddd] みたいにマクロ中でtjsスクリプトの返り値つかいたいんですけどどうしたらいいですか?
337 :
名前は開発中のものです。 :2008/09/12(金) 01:41:33 ID:k/NG3IFJ
ど田舎富山DQN男の家族消えろ ど田舎富山DQN男の親消えろ ど田舎富山DQN男の子供消えろ ど田舎富山DQN男の親戚消えろ ど田舎富山DQN男の家族消えろ ど田舎富山DQN男の親消えろ ど田舎富山DQN男の子供消えろ ど田舎富山DQN男の親戚消えろ ど田舎富山DQN男の家族消えろ ど田舎富山DQN男の親消えろ ど田舎富山DQN男の子供消えろ ど田舎富山DQN男の親戚消えろ ど田舎富山DQN男の家族消えろ ど田舎富山DQN男の親消えろ ど田舎富山DQN男の子供消えろ ど田舎富山DQN男の親戚消えろ ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・) 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね 死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 死ぬとき このレスの事思い出してから地獄へ行けよ ニヤ(・∀・)ニヤ(・∀・)
>>336 [position layer=message0 left=&fff() top=&fff() ]
339 :
名前は開発中のものです。 :2008/09/12(金) 02:12:48 ID:R6de2cdd
340 :
名前は開発中のものです。 :2008/09/12(金) 04:13:11 ID:vkjqh76f
はじめまして。 吉里吉里初心者なのですが、kag3\kag3plugin\snowのsnow.ksを編集して、 別の画像を回転させながらふらせたいのですが、うまくいきません。 どのようにしたら回転させながらふらせることができるんでしょうか?
>>340 「回転させる」の回転させかたにもよるんじゃないかと。
普通は回転して見える画像を用意するんじゃないかと。
回転の向きを間違えていることに気がついたorz ようするに風車が降ってくるわけだなorz
質問です。 メッセージレイヤにクリック待ちアイコンが表示されますが、あれ自体は layopt で触れる1つのレイヤー扱いなのでしょうか? よろしくお願いします。
344 :
名前は開発中のものです。 :2008/09/12(金) 11:36:13 ID:vkjqh76f
>>342 回転のしかたをかくのをわすれてました。
画像の中心から時計回りや反時計回りに回転するものなので、
簡単に言うと風車がふってくるという感じであっています。
>>343 layopt タグで直接は触れないけど、レイヤではある
eval タグ経由のTJSでならアクセスすることは可能
ちなみに kag.lineBreak kag.pageBreak でそのレイヤにアクセスできる
クラス名は ClickGlyphLayer (AnimationLayer.tjs)
>>345 メル欄
まったくだ
>>344 元のプラグインでは80ミリ秒ごとに SnowGrain#move を呼び出して、
速度などを計算したうえで、雪のレイヤの位置を変更している
そこで回転させればなんとかなる
画像の回転には、アフィン変換という画像処理を行う必要がある
別に変換の名前はどうでもいいのだが、地味に処理に時間がかかって
通常は、吉里吉里上で変換しても特に目立たないかもしれんけど
逐次変換してアニメーションのようにみせるには、もたつく可能性もある
あらかじめ、処理した結果をレイヤに用意しておき、逐次コピーする
だけといった方法だと多分解消される気がするけどスペック次第かも
クリック待ち記号のように、1つの長いレイヤにしてクリッピングを
行う方が資源的にも速度的にもよいのかもしれない
KKDEはもう更新してくれないのかね?
351 :
名前は開発中のものです。 :2008/09/13(土) 00:07:06 ID:JPOyK6CV
<<347 ありがとうございます。
やっぱゆきは3Dでパーティクルだな
>>350 へー、動いてるんだ
少しでも改善された部分があるなら表に出してほしい
立ち絵レイヤを拡大したり縮小したりしたいんですが、 どのようにすれば実現できるのでしょうか?
済みません、いきなり拡大縮小されるのではなく 徐々に大きくなったり小さくなったりしたいのですが
連続で済みません、拡大だけなら吉里吉里付属のpluginにありました ただ、これに縮小もさせたりとか、フェードインしながら拡大・フェードアウトしながら縮小等の機能を追加するにはどこを弄ればいいのか・・・
>>347 横からだけど自分も貰った。TNX!
zip に license.txt が見当たらないけど、これ吉里吉里のライセンス?
>>357 あ、license.txt 忘れてた
そうそう。同梱のやつ
フォトショとかでバッチ処理ができるなら、そっちの方がキレイだろうよ
BGM同様SEでも、フェード結果を 栞に保存するには? .ks修正より手軽可能なら、KAG改造チャレンジ。 ヒント頼みます。
>>356 accelも、opacityも改造しないと無理
改造しても5行追加ぐらい。
>>359 BGM.tjsの改造になるだろうな。
BGMのフェード結果を栞に保存する必要性がよくわからんが。
361 :
359 :2008/09/13(土) 11:04:07 ID:iK4qnQQa
>>360 ありがとう。
SE.tjsのstore()の冒頭でも、
StopFade();でよさげです。
セーブラベル跨いでフェードしてたの。
携帯なので詳細勘弁。
>>360 拡大・縮小時にopacityの値を加減算すればいいのだと思うのですが、
どの辺りに手を加えれば良いのでしょうか・・・?
試しにここかと思う所に値を持たせてみたら、エラーが出てしまいました。
363 :
359 :2008/09/13(土) 12:38:15 ID:iK4qnQQa
fadaeOut()に currentVolume=0; 一行追加でうまくいったみたいです。 おじゃましました。
364 :
359 :2008/09/13(土) 14:05:04 ID:iK4qnQQa
再三すみません。363嘘です。ちゃんと、 store()でinFadeAndStopとかフラグ見て フェードアウトならdic.currentStorage=""; で・・・頭冷やせ自分。
iK4qnQQaは書きこむ前に深呼吸でもして落ち着け
366 :
名前は開発中のものです。 :2008/09/14(日) 19:47:29 ID:86igVhAb
config.tjsの方でレイヤ数は20にしてあるんですが 0〜9のレイヤは正常に動いても layer=10 のように二桁番号のレイヤにするとエラーになります。 二桁以上はただの数字表記では駄目なんでしょうか。
>2008/1/24 > 吉里吉里2 2.30 RC 1 を公開しました (RC 版です) > これは次期安定版の候補であり、安定性をテストする目的で公開しています。実際に使っていただき、不具合などを報告してくださると幸いです。 総スカン喰らってんの?いつ安定版になる? お前らもっと協力しようぜ
日記に忙しかったて書いてあるだろ
>>367 最近リリースされてる作品見ると2.28が多く、
それ以外だと2.31という公式では配布されてないバージョン使ってるとこ見かけるけど、
2.30って見かけないね。
じゃあ2.30スルーなんじゃない?mozillaではよくある事w
2.30 きてる
372 :
名前は開発中のものです。 :2008/09/16(火) 15:31:55 ID:Xe7kyJ6B
>>366 いけるはずだけど。
メッセージレイヤの方増やしてるとかはないよな?
吉里吉里のバージョンアップって 旧ver展開フォルダに上書き解凍でよいの?
>>373 吉里吉里本体はそのまま上書き
KAGは開発中のプロジェクトフォルダのsystem内の各ファイルを、
新しいバージョンのtemplate\systemの中身で上書き
すると開発中のConfig.tjsと、新しいConfig.~newが共存した
状態になるので、その状態のまま一回実行したら設定の
引き継ぎが行われる。引き継ぎがすんだらConfig.~newは
削除してもいい
MainWindow.tjsとかを改造しているなら、単純に上書きせず
改造後と前をdiffとったあと、それを参考にしつつ、新しい
バージョンのMainWindow.tjsを修正してから上書き
こんなところかな
2.30リリースおめ。 これってRC1がそのまま名前が変わっただけって思っておk?
>>374 373じゃないけど、サンクス!
MainWindow.tjsなんてイジってねーぜ! ってそのまま上書きしたらctrlキーのスキップが出来なくなったorz
まあまた書き直せばいいんだけどさ・・・。
>>377 thx
がっびーん。KAGもガリガリやってあるなぁ。
どこいじくったか覚えてねーぜこんちくしょー。
すげーどうでも良い事だけど、krkr.eXeのプロパティで表示されるアイコンって古いバージョンの物になってるね。 2.28の時はそんな事なかったんだけど。
丁度昨日、ごうさんのゲームのEXEで色々やってた所に更新ktkr 最新版のかゆい所に手の届く更新はいいねぇ。
ゲームが完成した日にバージョンアップされる俺すげええええええ orz
>>381 マジレスすると
手間考えるならver上げずにリリースするほうがいい
2.31の方が気になる件
おまいら
>>381 の orz の意味を汲み取ってやれよ・・・
汲み取った上でのフォローだろw
質問です。 kr2_230.lzh収録のバージョンからconfig.tjs内でセーブデータ保存場所("savedata"など)の指定が消えていたのですが どこか別のtjs内で指定するように変更されたのでしょうか? よろしくお願いします。
>>387 標準では System.dataPath を参照するようになったので、混乱を
避けるため config.tjs からは姿を消してる。
System.dataPath の値は起動時にコンフィグまたはコマンドラインで決定されていて、
krkrconf.exe を使うと「システム全般/データ保存場所」で指定できる。
krkrconf.exe の設定は、従来のうめこみではなく cf ファイル吐き出しに
なってるので要注意。状況に応じて cf ファイルを作り分けておいて、
インストーラでさしかえするようにすると、インストール時に
セーブデータフォルダの制御ができる。
config.tjs で saveDataLocation をかけばそれはそれで上書きで機能するが
自己責任で。ログをはき出す場所も標準で System.dataPath の場所に
なってるので、それを適切に指定するほうがいい。
>>388 なるほど、設定ツールで指定出来るようになっていたのですか!
ありがとうございましたm(_ _)m
>>389 単にセーブファイルを保存するフォルダの名前を指定するという観点でしか見ていなかったので
System.dataPathうんぬんではピンと来ていませんでした、すみませんでした。
クソOSのせいか・・・ Vista死ね、氏ねじゃなくて死ね。
2.30安定版を出した背景には総スカン喰らってないよという俺への強いメッセージを感じた
いま 2.30安定版の MainWindow.tjs をいじっているのだが、 スペースキーを、 「追加の読み進み」ではなく 「ウインドウを消す」に使用したい ここの設定を、無効っぽくするには、これで大丈夫だろうか 旧 /*C*/var supportReadingKey = VK_SPACE; // 追加の読み進みキー 新 /*C*/var supportReadingKey = VK_RETURN; // 追加の読み進みキー
2.30安定版キテターーーー!! 作者の中の人、乙です! ありがたく使わせていただきます。
>作者の中の人 微妙にホラーな表現だと思った
Deeたんって被り物だったんだね
非常に困った 安定版が出たので、早速バージョンの入れ替えをやっていたら フルスクリーンの時にフリーズした どこかミスしたのだろうと思い あれこれ修正した個所を見直ししたが原因がわからず そこでためしに、自分が失敗した OS windows 2000 RADEON 7000 デュアルモニターで接続 の、環境で 吉里吉里2 SDK version 2.30 stable / KAG 3 3.30 stable 同梱の syoukai を 起動させ メニューの、「画面」→「フルスクリーン」を選ぶと フルスクリーン化に失敗して停止した 「終了しますか?」の、ダイヤログは、かろうじて出たが 全然安定していない 他の人も同じような状態になるのだろうか? みんなで検証してみて欲しい。
ならない 安定してる
デュアルモニタ環境だからソフト描画の解像度選択アルゴリズム変更周りで引っかかったんじゃね?
まずはデバイスドライバを新しくしてみるところからだな ついでに DirectX も。
2.30から clipboardEx.dll がパッケージに添付されるようになったので小技。 Alt+PrintScreenが押された時にCopyright入りでゲーム画面をクリップボードに放り込むコード。 AfterInit.tjs -- Plugins.link("clipboardEx.dll"); kag.onKeyUp = function(key, shift) { if (key == VK_SNAPSHOT && (shift & ssAlt)) { var captureLayer = new Layer(kag, kag.primaryLayer); captureLayer.setSize(kag.primaryLayer.width, kag.primaryLayer.height); captureLayer.piledCopy(0, 0, kag.primaryLayer, 0, 0, kag.primaryLayer.width, kag.primaryLayer.height); captureLayer.drawText(10, 10, "Copyright 2008 吉里吉里.", 0x000000, 255, true, 2048, 0xFFFFFF, 1); Clipboard.setAsBitmap(captureLayer); invalidate captureLayer; } };
やはり更新が積極的な流れを産むものだ
KAG3で[を書こうとするとタグを探しにいってしまうのかメンバーがというエラーになってしまいます \[ や"["といろいろ試したのですが 上手くいきません。 どうしたら表示できるでしょうか表示したい文字列は Test[9].flag=[emb exp="Test[9].flag"] です。結果として Test[9].flag=1 となってほしいです。どなたか教えてくださいお願いします
>>406 [を2つやればいけるんじゃね?
Test[[9].flag=[emb exp="Test[9].flag"]
ためしてないから、動かなかったらすまん。
>>407 教えてもらった通りに実装してみたらできました。
素早い返信本当にありがとう御座います!
乗り遅れたッ 個人的にはこういうのが直感的で好き [emb exp="'Test[9].flag=' + Test[9].flag"]
もうダメだ、助けてくれ・・・ orz ゲーム内の時間(ノンリアルタイム)をデジタル時計で表示したいんだが、 数学理解できない俺にはTJSでもKAGでもデジタル時計が組み立てられない。 誰か、ヒントをください・・・
何がしたいのか ・ ノンリアルタイムを導入し、ゲーム内時間を進める・戻す・保存するなどがしたい ・ 時間をデジタル時計風の数字で表示したい 後者ならデジタル時計風の数字をたくさん用意して [glyph]で表示すればいい
一番簡単なのは、条件式でf.hour(時間)とかを判定して、 1だったら時間レイヤーに"hour01.png"を読み込む、とかを必要な回数繰り返す。 デジタル数字の画像を1〜60まで表示するなんてやだ、 FDで配布したいから画像は減らして容量は軽くしなきゃ、ていうなら、 f.hour \ 10 (時間を10で割って小数点以下切り捨て=時間の十の位) f.hour % 10 (時間を10で割った余り=時間の一の位) とかを駆使して、桁の回数だけ画像読み込みをやるとか。
>>411 [glyph]は違う気がするんだ。
[graph]か[pimage]じゃないかと思うんだこの場合。
説明不足すぎてすまない。 選択肢を選ぶごとに3分ずつ進むというシステムなんだが、 単純に「60分を過ぎると0分からスタート」という 時計の基本的なプログラムが組めなくて困ってる。 デジタル時計って言ったのが不味かったか。申し訳ない。 っていうか俺の文章力が低下しすぎてマジ鬱 orz
ごめん、自分で文章書いてやっと解決した。 単純にその時間の変数から60引いてやればよかったんだよな。 スレ汚しスマソかった orz
概念的な話でいうなら、 var time = XXXXX; // 合計秒数 var sec = time % 60; // 秒数 var min = (time / 60) % 60; // 分 var hour = (time / 3600) % 24; // 時間 これでいい。
>>416 そうか、そういう手もあったか・・・
しかし、想像もつかんかった。
勉強になる。ありがとう。
デジタル時計なら三角関数必要ないから算数のレベルだろ
LayerクラスのonMouseEnterやonClickは、レイヤー内の有効範囲を指定できますか? 300*300の大きさのレイヤーの、(20,20)から(100,100)の範囲にマウスが入ってくると処理A、 (150,100)から(180,150)の範囲にマウスが入ってくると処理B、というような
そういうのはMouseMoveでみるんじゃないの。
任意のマスク領域を塗りつぶして、hitType=htMaskにする hitThresholdでマウスイベントの受け取るレベルを調整する
onClickなら引数みればいいだけ。
ファミコンウォーズみたいな、チップセットを用意して一枚のマップを作成するのに 一マスごとにレイヤーを作るのは効率が悪いので、一枚の大きなレイヤーを用意してチップを描画していき マス目ごとにマウスを載せると地形情報が出たりとか、そういうのがやりたかった事です。 MouseMoveでレイヤ内のマウスの座標を取得して、位置に合わせた処理を書くと実現できるかなと考えたのですが 他に何かスマートというか、良い処理の方法案があればお教えいただけますと幸いです。
424 Layer#coursorXとLayer#coursorYでマウス座標がとれるから、 Timerかcontinuous handlerで処理させればいいんでね?
すまん、綴りまちがった。 cursorXとcursorY
>>424 その考え方であってるよ。
チップ配置した座標はプログラム側で把握してるだろうから、
その大きいレイヤの onMouseMove で座標判定して処理を起動すればいい。
ただ、毎回起動しちゃうと処理の無駄なので、前回と処理対象がかわった
場合のみ更新するするようにするのが普通。
var target; // 現在の処理対象
function getTargetNo(mousex, mousey) { 座標から処理対象をきめて返す }
function onMouseMove(x, y) {
var newtarget;
if ((newtarget = getTargetNo(x,y)) != target) {
// ここで target の情報を消去して newtarget の情報を表示
// 処理対象がない場合は null を返すとかして区別する
target = newtarget;
}
}
world_object.env.forelayers[n]がそれになるんかな? 最初に読み込んだキャラが0、これで正しいかどうかは知らんけど。 プラグインで何かしらキャラクタレイヤを弄る場合は KAGEX用にプラグインを改造する事になると思う。
2.30になって、9x系のOSが動作対象から外れたけど、 2.30RC1と比べて、何か特別に非対応になる要因が あったのかな? 旧OSの対応に重点を置く場合、2.30RC1やら2.28r3を 使うほうがメリットがあるんでしょうか? 詳しい人、情報お願いします。 少なくとも98で起動することだけは確認しましたが。
>>427 ありがとうございます、現状ではまだ頭の中での組み立ての段階ですが
技術的に実装できそうな目処が立ってきました
セキュリティじゃないでしょか
>>430 現時点では、特に非対応になる要因はないはずです。
単にサポートの放棄かと。MSももうサポートしてないですし。
使うなら自己責任で。
>>429 ありがとうございます。
どうもそれで正しいみたいです。
★前景レイヤ読み込み前
world_object.env.forelayers[0] = (void)
★前景レイヤ読み込み後
world_object.env.forelayers[0] = (object)(object 0x01B7DF4C[instance of class CharacterLayer]:0x01B7DF4C[instance of class CharacterLayer])
また複数の前景レイヤを読み込んだ所、若い番号順に割り振っているようでした。
もっとも layer に world_object.env.forelayers[0] を付加しても動作しませんでしたが。。。
★gutchieさんのマクロを使用したサンプル(前景レイヤにブラーを適用したつもりですが、ブラーが適用されず)
ttp://hpcgi1.nifty.com/gutchie/wifky/wifky.pl?p=KAG%A5%DE%A5%AF%A5%ED%BD%B8#p2.1 @call storage="world.ks"
@macro name=blur
@eval exp="kag.getLayerFromElm(mp).doBoxBlur(+mp.x, +mp.y)"
@endmacro
環境レイヤ読み込み前[l]
[begintrans]
[newlay name=星 file="star" show]
@blur layer=world_object.env.forelayers[0] page=back x=4 y=4
[endtrans]
なお
>>434 のソースで使用するレイヤを stage や event に変更すると動作しましたが、
それだと2枚しかレイヤが使えなくなるので、3枚以上のレイヤを読み込みたいときには使えなさそうな気が。
; stage レイヤ
[星]
@blur layer=stage page=back x=4 y=4
; event レイヤ
[EV file=star]
@blur layer=event page=back x=4 y=4
後、
>>429 の書き込みを参考に、 KAGEX 用のプラグインのソースを見れば分かるかなと
ttp://www5f.biglobe.ne.jp/~pbp/krkr.htmlのソースを見たのですが 、
特にそれっぽい記述が見当たりませんでした。
stage レイヤを使って動作する事は確認しましたが、前景レイヤでは動きませんでした。
world_object.env.forelayers[0] という記述に問題があるだけで、
ここの記述方法を変更するだけで動作するのかも知れませんが。
436 :
430 :2008/09/21(日) 17:14:17 ID:gozbQrv5
回答ありがとうございます。 とくに非対応になる要因はないとのことですので、2.30に突撃することにします。
動くかどうかは別だろ
>>435 書いたのはメンバ名なのでタグの記述には用いない。
stageとeventはkag.getLayerFromElmで処理されるので問題なく動く。
kag.getLayerFromElm_org = kag.getLayerFromElm;
kag.getLayerFromElm = function(elm, prefix = '')
{
if(elm.layer.indexOf('char') >= 0) {
return world_object.env.forelayers[+elm.layer.substr(4)];
}
return kag.getLayerFromElm_org(...);
};
とりあえず的な処置だけど↑をAfterInit.tjsに書き加えれば
layer属性にchar0、char1...で動くようになる、page属性は不要(fore限定)。
>>434 の最後にある処理は問題なく動作した。
ただキャラクタレイヤ関連のタグを通さないから栞に状態が保存されないと思う。
ぼかしは元々保存してないっぽいけど。
ありがとうございます。
>>438 をafterinit.tjsに追加した所、
>>434 がchar0で動作するようになりました。
とりあえずchar0などを使用する箇所では、栞をまたがない形で進めていこうと思います。
後、複数のKAGプラグインを試してみた所、
>>429 にあるようにプラグインの改造が必要そうな感じだったので、
プラグインを使用したい箇所や演出で栞をまたぐ際は、KAGEXの前景レイヤではなく、KAGの前景レイヤを使う形で逃げる事も検討してみようと思います。
多分それなら、プラグインも動く可能性が高そうですし、栞にも保存されそうなので。
あるエロゲを起動しようとしたらxp3dec.tpmを起動出来ないと言われ、 仮想ディスクソフトが入ってると駄目らしいと聞いたのでdaemonアンインスコしてもまた同じエラーが出て起動できません どうすればいいですか。ていうかxp3dec.tpmってどんなファイルなんですか
メーカにきけ
>>440 >>441 の言うように、それは吉里吉里全般の話ではなく、
そのソフト固有の問題だと思うから、そのメーカーに聞くのが一番良いかと。
割れ厨か?
質問させてください。 現在ノベルゲームを作っており、 文中のクリック待ち毎でセーブを可能にしたのですが……。 セーブ時にメッセージレイヤに描写されている文字を保存することができず困っています。 ロードした時に、前回のメッセージレイヤと同じように文字を描写するには、どんな方法が良いのでしょうか。 よろしくお願いします。
>>444 どういう方法でセーブを可能にしたのか、
現状ではロードしたときにどう表示されるのか
もう少しわかりやすく質問すると答えが出やすいのですよ
446 :
444 :2008/09/23(火) 18:29:20 ID:WhNAgyBe
>>445 失礼しました。
*page01A|ページ01
おはようございます。[l][r]
*page01B|
こんにちは。[l][r]
*page01C|
こんばんは。[p]
というように、セーブした時の行までをロード時に表示させてやりたいのですが、
現状だとロードしたラベル以前のメッセージが表示できません。
もしかして
>>446 の期待する動作というのは
*page01Cでセーブ後ロードした時に、メッセージ画面が
-----
おはようございます。
こんにちは。
こんばんは。
-----
となる、ということ?
ワロチw
449 :
444 :2008/09/23(火) 18:52:58 ID:WhNAgyBe
>>447 はい、そうです。現在は
-----
こんばんは。
-----
になってしまっています。
どうしてもそうしたければ、MessageLayer.tjsの改造が 必要だけど、茨の道だと思うよ。
>>446 >>450 のリンク先にあるように、ラベルの後には[cm]をつける必要があるので、そもそも記述自体が間違っています。
> ラベル名 ( | より前の部分 ) は、同じシナリオファイルの中では、重複する名前があってはなりません
> ( 違うシナリオファイル中では重複していても OK です )。それに対して見出しは内部的に扱われるだけですので、シナリオファイルを作る側だけが注意していれば OK です。
> また、このようなラベルの後には必ず [cm] を書きます。
もっともメッセージレイヤの内容を栞に保存するよう改造すれば
>>446 の書き方でも動作するかもしれませんが。
453 :
444 :2008/09/23(火) 19:12:40 ID:WhNAgyBe
そうですかあ……。ありがとうございます。 MessageLayer.tjsを改造してみます。
いじらず無理やりなら1行ごとにkag.historyLayer.getLineで取得したのを 適当な変数に追加していき何らかの形で加工してシステム変数にセーブ ロード時にそれをメッセージレイヤーに表示とかか?
455 :
444 :2008/09/23(火) 19:30:49 ID:WhNAgyBe
>>454 それなら簡単そうですね。
改行時にf.nowLineCount++とかしておいて、ロード時に描画させてみます。
456 :
444 :2008/09/23(火) 20:40:00 ID:WhNAgyBe
[eval exp="tf.i = kag.historyLayer.dataLines"] [eval exp="tf.str = kag.historyLayer.getLine(tf.i-2)"] [if exp="tf.str == ''"] [emb exp="'\n'"] [else] [emb exp="tf.str + '\n'"] [endif] で直前の行を表示できました。 ありがとうございましたー。
10個の画像が直結して1個のファイルとなってる画像を読み込む事ってできますか? 分けて読み込んだ方が負担は軽いですか?
質問です buttonはメッセージレイヤーグラフィカルボタンは解るんですけど このボタンメッセージレイヤー1,2で分けて表示することできますか? 色々見たんですけど良い回答が無くて メッセージレイヤー1を表示して流れてる間 メッセージレイヤー2で常にボタン表示は出来るんでしょうか? その他でよい操作があれば教えていただければ幸いです
ずっとボタンを表示しておきたいってだけなら、システムボタンプラグイン 使えばいいのでは。
; プラグインを読み込みます [call storage="systembutton2.ks"] [iscript] // ボタンを作ります var button = new SystemButtonLayer(kag, kag.fore.base, function(){KAGParser.goToLabel("start");}); // ボタンに画像を設定します button.loadImages("bota001.png"); [endscript] --------------------------------------------------------------------- 某HPを参考に改良してみたのですが・・・・ エラー「スクリプトで例外が発生しました実行コンテキストが違います」 とでます・・ ボタンを押したら*startに戻るようにしたいのです ボタン押し>任意ラベルへ
テストしてないけどこういうこと? var button = new SystemButtonLayer(kag, kag.fore.base, function(){KAGParser.goToLabel("start");} oncontextof this);
462 :
名前は開発中のものです。 :2008/09/25(木) 02:59:01 ID:56kW1JwW
文法エラーです(syntax error, unexpected T_SYMBOL, expecting "," or ")") at conductor.tjs(189)[(function) timerCallback] ボタンが表示される前にと言うエラーが返されてしまいました・・ >460 の状態でボタン表示までは うまく行って ボタンを押すと>460 の症状が出ます・・
>文法エラーです(syntax error, unexpected T_SYMBOL, expecting "," or ")") at conductor.tjs(189)[(function) timerCallback] >ボタンが表示される前に ↑と言うエラーが返されてしまいました・・ 失礼・・
それが意図するものなのかどうかは知らんが エラーの原因はoncontextofだな。
new SystemButtonLayer(kag, kag.fore.base, function{kag.process('', '*start');}); もしくは (kag, kag.fore.base, function{conductor.goToLabel('*start');} incontextof kag); じゃないのか?
上の分で問題解決しました! ありがとうございました
前景レイヤを左クリックでドラッグして、自由に移動させる事は出来ますか?
できますv^^v
俺も出来る
吉里吉里用エディタでオススメのありますか? かぐや姫Studioというのを使おうとしたら既にDLできない状態になってて。 Excelを使った「とかちなんたら」というソフトがあるって聞いたんですけど?
じゃあググってみれば?(優しい人)
472 :
467 :2008/09/26(金) 15:13:38 ID:x/zBtT+g
出来ますか? メッセージレイヤのドラッグ操作は可能なようですが、前景レイヤについては設定もプロパティも見あたらないので・・・
473 :
467 :2008/09/26(金) 15:21:29 ID:x/zBtT+g
ググっていくうちに、Dee氏の書かれたサンプルを見つけ、希望の動作が出来ました。
>>472 どういうことをしたいのかを書いたほうがアドバイスしてもらいやすいよ
意味もなくレイヤをドラッグしたいわけでもないんでしょ?
フォントのメイリオってXPでも結構人気あるみたいだな 見やすいと評判がいいのでメイリオで制作することにしよう
>>475 VISTAにしか使えないし
画像化にはライセンス
入れてからウェブサーフィン(まだ死語じゃないよな)したらメイリオがチラホラ使われてるのが分かるよね
; プラグインを読み込みます [call storage="systembutton2.ks"] [iscript] // ボタンを作ります var button = new SystemButtonLayer(kag, kag.fore.base, function{kag.process('', '*ravel001');}); // ボタンに画像を設定します button.loadImages("bota001.png"); [endscript] ----------------------- 前回ボタン設置に成功した者です 先日はありがとうございました 上記ボタンの横(右)にもう一つ(bota002.png)設置するにはどうしたらいいのでしょうか? 今回のボタンもジャンプ先はラベルです シナリオの方に座標成分を入れるのか・・ systembutton2の方に入れるのか またその手段についても・・もぉ・・かなりチンプンカンプンです・・ 御助力お願いします
>>480 systembutton2プラグインってらんかさんとこのか
他所で質問するなって書いてあるじゃないか
わかんないなら素直にタグで書けよ
>>481 そういう意味じゃなくて
メイリオって割と普及してるんだねと言いたかったんだろ
フォント厨隔離しろ
>>484 横からマジレスさせてもらうが、
いくら製作者側でメイリオを指定しても、見る側がメイリオを入れてなかったら意味がない
これはゲームだろうがサイトだろうが同じだろ?
で、このスレ的に製作者側(指定する側)の視点での話だってのは分かるだろ?
479曰く、サイトの場合は閲覧者に向けてメイリオを指定している製作者がチラホラいる
(つまりそれだけメイリオを入れているPCユーザーが多いと考えられている)
だからゲームを作る上でも、ユーザーに向けてメイリオ指定してもいいんじゃね?
的なニュアンスだろう、普通に考えて
存在チェックして、あればメイリオをデフォルト、なければMS明朝でがまん、 とかはありだろうな
>>486 いや、下から4行目は理解できるんだが(
>>479 はそういう話だろうし)。
ただそれをもって
>>483 や
>>486 の下から3行目の証明にはならないというのは理解できる?
サイトを作ったことがあれば分かると思うけど、
あれ単にfont-familyにOsakaとかそういうのを羅列してるだけで、
Vistaがリリースされたからメイリオを新たに追加したといった所だね。
そんな感じで製作者が指定=普及という式は成立しないのは分かる?
それこそ
>>486 の言うことが正しいのであれば、web上でfont-familyにOsakaを指定してる所がメイリオより多ければ
Macの方が普及しているという話になるの?
要はそういう話。
>>487 cssのfont-familyと同じように、config.tjsで1番をメイリオ、2番をMS明朝で良いと思うよ。
そうすればメイリオが入ってない環境では自動的にMS明朝で表示するから。
一言忘れた。 スレチすまん。 ↓通常の流れへ
490 :
479 :2008/09/27(土) 19:42:57 ID:jYSiBtKn
なんというかすまんかった
俺もなんかすまんかった そもそも俺メイリオ入れてないしどうでもいいんだが
お前ら可愛いな
>482 systembutton2 については 書き換えたりすると自分ではわからなくなるので2とつけてるだけです 中身はノーマルのsystembutton.ksです
>>494 あ、すまん。
らんかさんのソースじゃないのね。
俺の勘違いです。
マルチかよ('A`)
これはひどいw
久しぶりにすごいお子様を見たw
HP製作者>>>閲覧者の数の方が多いと思うけどね。 設定で見やすいフォントにしておくから製作者の意図したフォントにはならないこともあるし。
誰へのレス?
質問ですが立ち絵とか小物の画像とかの座標計算ってみなさんどうしてます? いろいろなサイズの画像をいろいろな場所に配置したり移動させたりする際、毎回手計算しているのですが、 もっと効率的なやり方があるような気が。
そこらへんめんどくさいけどGUIでポンポンやれるものじゃないと知った上で選んだツールだから諦めてます
フォトショップで組んでから座標見て指定してる 計算しやすいサイズで画像を作るとらくちん。実際そうも行かないんだけどねw
レイヤをドラッグできるようにしておいて、並べたりした後コンソールでそのレイヤのプロパティを見る。 ざっとあたりとる時はそんなことしてるかな。滅多にしないけど。
プロパティから現在位置を割り出して 動かしたい分の値を入力すればOKにするとか。
ドラッグして微調整出来るUIツール作ってそれを使ってる
うp
やってる事っていうのが、最初に画面の右端より1000ほど右に画像を表示しておいて、
それを画面の見える所に移動させるとかなんですよね。
で、動かしてみると一番最初は大抵画面に何も変化がおきないと。
タグ自体の書き方はコピペしてるので、単純に座標が間違ってるだけなんですよね。
なのでそういう時は適当に値を変更して、まず画面に部分的にでも表示されるようにして、
そこから微調整しています。
例えば↓にルール画像の調整を行うツールがありますが、
それの前景レイヤ向きのツールがあれば良いのかなとは思うのですが
(多分
>>508 のツールはそういうものかなと)。
ttp://pokeita.4ever.jp/modules/wfdownloads/singlefile.php?cid=1&lid=4 まあツールを作る工数と手作業で対応する工数を考えると、皆さん
>>504 あたりを落としどころにしているのかも知れませんね。
UIでのなんて吉里吉里使えば一日もあれば出来んだろ。
>>510 >やってる事っていうのが、最初に画面の右端より1000ほど右に画像を表示しておいて、
>それを画面の見える所に移動させるとかなんですよね。
何でわざわざそんなことしてるんだ?
move等で表示画面外から入ってくる場合はそうすると思うんだが。
でも効率良くならない原因は
>>510 の不手際な気もする。
毎度計算してるとかマクロ使ってないっぽいし。
move使った後、imgで新規に読み込んでも座標とかの値が残っててハマる
や、512じゃないが俺も右端からさらに1000離す意味はわからん。
その距離を移動させる時間を他の処理にからめるとか
そういう深い考えもなさそうだし、
(そうだとしても掛かる時間をわりだしてウェイトでもかけりゃいい話で
実際に動かす必要なんざないと思うが)
画面外で1000ピクセル動かしている時間は全くの無駄じゃね?
普通に右端ぴったりで待機させてりゃいいやん。
あとは、そもそも座標確認のたびにmoveで動かすのはやっぱり無駄だろ。
まずimageのみで表示させながら最終的に落ち着くべき位置を調整→
その後、そこを目指してmoveさせるっつー手順だべ、普通は。
>>514 そういうときは表示前にレイヤの座標リセットするもんだろ
>>513 そうそう。ゴメン、言い方が悪かったorz
立ち絵だよな?それが全部右からスライドしてくるっていうのも気になるけど、
何でわざわざ1000も右にやってるんだと聞きたかった
moveならただのタイムロスにしかならないわけだし
あと513も言ってる通り、同じ動きをさせるのに
何でわざわざ毎回計算してるんだよ、とか
座標が間違ってるって分かっててなんでコピペしてんだよ、とか
画面に表示させるだけの座標なら0.0でいいだろ、とか
基本的に色々おかしい気がして
>>512 ピストルの弾を画面外から表示するときなんかに使ってます。
>>513 確かに不手際はあると思うんだけど、動かす基点位置がバラバラ&画像サイズもバラバラの関係上
マクロを使う事で座標があうとは思えないのですが?
>>515 加速度とか考えると、画面ぎりぎりから動かすより少し離れた所から動かした方が見た目の動きが良い気がして。
私がそう感じるだけなのかも知れませんが。
まあそんな感じで1000も離すのはよっぽど極端な例ですが、勢いのある動きを見せたい際はそこそこ離してます。
それと作業手順は
>>515 の言うように、最初に画面上の見える位置に表示してそこから動かすべきですね。
今後そうします。
>>516 >>503 にも書いたけど、立ち絵以外にも小物もあります。
後、特に同じ動きはさせていません。
場面に合わせてバラバラで規則性は特に持たせてません。
それと下から3行目は勘違いされてるかと。
コピペしてるのはタグだけで、座標は毎回手計算して実行してますよ。
正解率低いですがw
わかってるのはタグは毎回コピペしてる関係上間違ってないということで、
そうなると必然的に間違っているのは座標という事です。
とりあえず
>>515 や
>>516 の言うように、最初に画面に絵を表示して、その後動かしたいポジションまでもって行き、
そこを原点にして見える場所にmoveさせるようにします。
アドバイスどうもありがとうございました。
>場面に合わせてバラバラで規則性は特に持たせてません。 ……動的演出に力を入れてるゲームなんだとは推測できるんだけどさ 全編とおしてもマクロで処理をある程度まとめられないほどのランダムさが はたして本当に必要なのか、手間に見合うだけの意味があるのかとか 考えてみてもいいんじゃね? どうしてもそれが必要なんだってんなら、 作業効率についてもっと調べたり考えたりしたほうがいいと思うぞ。 まあ、数分程度のミニゲーなんだったら余計なお世話だが。
>>518 必要性は無いですが、趣味で作ってるのでその点は大丈夫ですよ。
仮に仕事だとしたら、必要性も無い(セールスにほとんど影響しない)だろうし、
手間に見合うだけの対価ももらえないとは思いますが。
プレーヤーには同じ風に見えても、より短い時間で目的の動作が達成できるのであれば
当然そちらの方が好ましいので、効率的に出来るよう調べたり考えたりしてみながら作っていこうと思います。
ご指摘どうもです。
2.30r2で、終了確認を行う設定で [button graphic="btn" exp="kag.close()"] を使うと、デバッグメニューがfalseの状態でも、 終了時にデバッグ用の窓みたいなものが一瞬表示される ような気がする。気のせいかもしれないが
2.30からはフルスクリーン時にマウスカーソルが拡大されなくなったのか
>>521 もともとされてないぞ
「解像度を変えない」とかの指定になってんじゃないか?
>>516 説明あったけど1000という数字自体は画面外を強調する単なる例えだと思った。
それに伴う効果は演出感覚が個々で違うから何とも言えないけど。
>>517 バラバラ思えないのですが?ペッじゃねぇよ、半日リファレンス読めやヽ( TДT)ノゴルァ
例えば画像が隠れる左端の位置は0-kag.fore.layers[レイヤ番号].widthで算出出来る。
imageタグは画像読み込み→座標指定の順番で処理するので
left&top属性にそのまま突っ込んでも現状問題なく自動調節する。
レイヤの座標のアタリは監視式にkag.fore.base.cursorXとYで見られる。
でもあらかじめ眉間の位置を割り出しておけば
一々確認、手計算しなくても自動化してゴルゴる事も可能だ。
その他も大体算数で行ける、でもタグを改造する必要も出てくるだろう。
先にあった「プロパティを見ろ」ってのはそれら全てが予見されている筈。
後はまぁ頑張れ、お前の表現能力にTJSが必要な時がやって来たのさ。
>>520 何かButtonLayer.tjsの164行目辺りでエラーが出てるね。
>>522 完全に同一のものを3DRagePro(オンボード、画面比従来)とGM965(オンボード、画面比ワイド)で差異が出てしまった
よく解からないので調査中……
>>524 ヒント:コマンドラインオプションの -fsres
デフォルトは auto で、ワイド(画面比がゲームと違う) と
そうでない場合で挙動がが変わる。nearest にすると従来通り。
ワイドモニタでも、ドライバかモニタがアスペクト比固定ズームを
サポートしてれば問題なく表示されるが、そうでない環境のために
デフォルトはこうなってる。
>>523 言ってる事は何となく分かったけど、今までどおり多分kagでがんばりそうw
表現を行うにあたり、kagでは絶対無理でtjsが必要ならtjsを使うことになるとは思いますが。
後、最初に見える位置に画像を表示することで多少合わせやすくなりました。
それとよくよく考えると位置合わせを間違いやすい原因の一つは、
改ページ時に前景レイヤ×3+背景レイヤを小刻みに3回くらい動かしたりするから、
今どのレイヤにどんな画像が入ってて、今どの位置にあるのかの把握に手間取ってる感じです。
まあおいおい慣れていくでしょう。
吉里吉里でネット対戦みたいな事出来ないかなあ プレイヤーとプレイヤーが回線を通してデータをやりとりするの 誰かプラグイン頼む!
>>525 どうやらそれらしい
吉里吉里側で拡大処理をしてたから結果マウスカーソルだけが拡大されていなかったのね
サンキュ
>527 スコアランキングとかならあるけど、リアルタイムでやろうとおもったら大変なんじゃない?
だって吉里吉里しか使えないもの
現状httpしか出来ないんだから、リアルタイムは無理だろ ちょっと前のブラウザゲーみたいな奴ならできるんじゃね
質問です。 *title_menu|スタート [cm] [startanchor] [history output=false enabled=false] [disablestore store=true restore=false] [layopt layer=message0 visible=false] [playbgm storage="top.ogg" loop=false] [image storage="top.png" layer=base page=fore visible=true] 上記のようなタグを打って、タイトル画面を作ったのですが、 吉里吉里を起動すると、音楽だけが再生されません。 トップ画面はクリッカブルマップなので、 それをクリックしてシナリオに飛ぶときちんと音楽が鳴り、 システムから最初に戻るを選択すると、トップ画面の音楽がきちんと再生されます。 これはどういうことなんでしょう? 文法的にミスはないと思うのですが。 解決するためにはどうすればいいでしょう? お願いします。
>>533 別の曲を鳴らしてみる
ボリューム関係を疑ってみる
>システムから最初に戻るを選択すると、トップ画面の音楽がきちんと再生されます。 ならstartanchorの前(厳密には*title_menuラベルの前)に問題があるんだと思うが 推測だけど、 [playbgm storage="top.ogg" volume="100%" loop=false] これでどうだろう
>>534 両方やってみました。
>>535 *title_menu
[startanchor]の前にはって
あ、もしかしたら、oggのプラグイン読み込むフラグ入れてなかったからかもしれません。。
あ、やっぱりoggのプラグインでした。 ありがとうございました。 明後日体験版出すんで焦ってましたorz
吉里吉里で端末作って汝は人狼なりやとか言ってみるテスト
人狼は流行りすぎてクソゲー化したからなあ・・・ 挑戦する人がいるなら、全く別のゲーム作ってほしいと無責任な(ry
人狼BBSブラウザ(JB)は吉里吉里製だったね。 懐かしいな、まったく。 まだ生きてるのか、人狼BBS。
ああ、久々に起動してみたら、記憶違いだった。 JBを使用して、ログをノベルゲーム仕様にする時に使うのが、吉里吉里 使用してたのか。 この機能はまず使わなかったが。
ところでリメイク版月姫はKAGなんだろうか?
>>542 想像だけど、”吉里吉里”は使っても、”KAG”は使わないかも。
拡張してるイメージがあるので、
>>542 のさすKAGとはもはや別物になっているかも。
ただ前作から時間がたってるから、自前のエンジンを用意してたり他のエンジンに乗り換えてる可能性もあるかもね。
fateでも相当いじってたからなぁ。
前にゲームパッド周りのコードくれた人か
専業なんだから演出周りの吉里吉里プラグイン提供するとかして欲しいなあとか、乞食根性丸出しで言ってみる っかし、layerExSave触ってるけど何に使うんだろ。 清兵衛さん、相変わらずマニアだなぁ……
>>547 むしろ専業だから提供できないのでは?
法人で業務中に開発したものであれば、権利は個人ではなく会社側にあるだろうし。
本当の意味で個人で作ったものであれば、作った人の判断で何とかなるとは思うけど。
プラグインなんぞなくてもKAGというかTJSのポテンシャルは広大無辺なのぜ 要はアイデアよアイデア
吉里吉里のTJSを最近始めたのですがとても楽しいですね。
今日はforループで遊んでいたのですが 自分ではどうにも解決できないので助けを借りようとここへきました。
i,j,kスタートはともに0からでtest_var[i][j]を見る
もしfalseならjのカウンターを1動かし次へ
jが2以上になったらiカウンターを1増やし
test_var[i][j]がTrueだった場合、out_var[i][k]に詰めて置く。
この処理を最後まで続ける
という事をforのみでwhileを使わずに挑戦したのですが 見事に挫折しました。
スクリプトは改行の制限のために
>>551 ほぼ、希望通りの動きをしてくれたのですが、よくみるとout_var[2][0]に文字列が入っていませんでした。
3週間悩んだのですが全くわかりません。助けてください お願いします
var test_var=new Dictionary(); for (var i=0;i<4;i++){test_var[i]=new Dictionary();} //最初true test_var[0][0]="true"; test_var[0][1]="false"; //最後true test_var[1][0]="false"; test_var[1][1]="true"; //全true test_var[2][0]="true"; test_var[2][1]="true"; //全false test_var[3][0]="false"; test_var[3][1]="false"; //チェック開始 var out_var=new Dictionary(); for (var i=0;i<4;i++){out_var[i]=new Dictionary();} for (var i=0;i<4;i++){ for(var j=0;j<2;j++){ if(!test_var[i][j]) continue;//もしtest_var[i][j]がfalseなら次へ for(var k=0;k<2;k++){ if(out_var[i][k]) continue;//もしすでに使われていたならcontinue out_var[i][k]="I="+i+" J="+j+" K="+k;//処理後、forループkを抜ける break; }continue; } }
>>551 実機では試してないから自信ないけど、こんな感じ?
//チェック開始
var out_var=new Dictionary();
var k;
for (var i=0;i<4;i++) {
out_var[i]=new Dictionary();
}
for (var i=0;i<4;i++) {
k = 0;
for(var j=0;j<2;j++) {
if(test_var[i][j]) {
out_var[i][k]="I="+i+" J="+j+" K="+k; //処理後、forループkを抜ける
k++;
}
}
}
とりあえず、trueとfalseは""で囲む必要はないよ
>>552 0から詰めていくのにforを使う必要はなかったんですね。勉強になりました。
思い通りの動作ができました。ありがとうございます
>>553 確かに変な癖がついてしまってるのか、stringで入れていました ご指摘ありがとうございます。
OSが日本語Windowsかどうかを判断するような方法ってあるでしょうか? 同人ソフトやエロゲなどを売っているっぽい台湾のサイトを見つけたんだけど、 どうみても不正な販売。 というか俺のも売られてる・・・('A`) しかもパッケージ販売ではなくDL販売。 割れ物が流れるならまだ仕方ないが、商売するとか・・・ まあ日本語OS以外では動かないようにしても自分の作品の売れ行きは変わらんのだけど、 なんとなく悔しいので、やれるなら対策しておきたいな、と思った。
>>555 俺のもnyとかBTで流れてるが、それは仕方ないと思ってる。
DL販売してる方はちと気になるので、そのサイトのURL教えてもらえないだろうか。
アドレス晒しちゃえよーそのサイトつぶした方が早いぜ
>>555 自分はシェアじゃないけど、聞いてるだけで異常にムカついてくるよ
心中お察しする
>>555 少し前にメイリオの話題出てたけど、メイリオ表示限定とかにするわけにもいかないもんなぁ…
>>556 先生!checklocal.dllが手に入りません!
(´・ω・`)知らんがな 作り方自体のヒントは書かれてるわけだから、それを参考にどうぞ。 正直1円にもならん作業だからおすすめしないけど。
562 :
555 :2008/10/06(月) 23:08:02 ID:sUurTtJI
ごめん、まあ簡単に対策できるとか、既に対策してる人がいたら教えてもらえたらいいな程度で そんなに手間をかけてまでやろうとは思ってなかったんだ。 他力本願でスマン。 台湾・中国なんかで出回ろうが何しようが、 実際たいした影響はないので、まあ気分の問題なだけなんだ。 件のサイトの細かい中身までは見てはいなかったんだけど、 今見てみたらDVDクラック用のデータが置いてあるっぽいので ここに晒していいかわからん・・・ TOPを見ると微妙にわからんが「購物區最新商品」とかあるので売ってるっぽいけど なんか全体的に割れサイトっぽい。 でもウチのサイトへのリンク元URLが「/shop/」から始まってるから、 勝手に売ってるんだと思ったんだけど、そこを見ようとすると IDとパスワード要求されるので本当に販売してるのかは不明。 ゴメン、荒れそうならもう忘れてください・・・
警察のお仕事じゃないの?
背景にブラーかけた状態で右クリックメニュー表示して戻ってくるとブラーが消える・・・ ブラーかけた状態でtempsaveしても、temploadすると消えちゃうんだ。 あらかじめブラーかけた画像を用意するしかないのかな。 お手数おかけしますが、他にこれを回避する方法があったら教えていただけないでしょうか。
御仁が書いたkag本に載ってる
566 :
名前は開発中のものです。 :2008/10/07(火) 01:42:50 ID:opXP1iiI
>>565 ありがとう。書籍も一冊くらい持っておくことにします。
とりあえずbacklay属性で解決したっぽいです。
KAGで配列の中身を順番に表示するマクロをつくりたいのですが、 マクロ中にはラベルが書けず、TJSからKAGのタグを呼び出す方法も分かりません。 ↓の方法でお茶を濁してみましたが、正しい方法をご存じの方、ご教授ください。 末尾再帰とか、してくれるわけないですよね……。 [macro name="dump"] [eval exp="tf.i = 0"] [eval exp="tf.array = mp.array"] [dump_iter] [endmacro] [macro name="dump_iter"] [emb exp="tf.array[tf.i]"][r] [eval exp="tf.i++"] [if exp="tf.i < tf.array.count"][dump_iter][endif] [endmacro]
>>568 要素を抜き出して一行ずつ書き込みたいってことでいいのか?
それなら
[emb exp="['foo', 'bar', '', 'baz'].join('\n')"]
[emb exp="'foo\nbar\n\nbaz'"]
を参考に
動的にtemp.ksを生成しそれを呼び出す
>>570 をマクロ化するとこんな感じかな
[macro name=list]
[emb exp="(mp.array!).join('\n')"]
[endmacro]
[list array="['foo', 'bar', '', 'baz']"]
[eval exp="tf.a = ['foo', 'bar', '', 'baz']"]
[list array=tf.a]
573 :
568 :2008/10/09(木) 01:04:36 ID:2FlOP2HR
おお。皆さま、ありがとうございます。 実は、ループの中で、さらに他のタグを使いたかったりします。 例えば、選択肢が3つ表示して、選択すると*option1〜3に飛ぶマクロ↓ [show_selection options="&['選択肢1', '*option1', '選択肢2', '*option2', '選択肢3', '*option3']"] 動的に ks を書き出す案は最強ですが。 ところで、マクロの中の eval から kag.tagHandlers を直接呼び出すのは 問題ないんですよね。BaseConductor の timerCallback では onTag を呼んでから 様々な後処理をしているので、少し心配で。
問題ないタグもあるし、思い通りうごかないタグもある。 動的生成なら、ks をはき出すほかに、 コンダクタの pengings にタグを積む方法もある。前スレのどっか参照。
575 :
568 :2008/10/09(木) 01:38:17 ID:2FlOP2HR
なるほど!pendingsはそのためにあったんですね。 前スレが読めないので、ソースを読んで適当に解釈して実装してみたのが↓ 解決です。ありがとうございました。 [macro name="show_selection"] [backlay][nowait][history output=false][current page=back] [eval exp="{var i; var options = mp.options!; for (i=0; i<options.count; i+=2) {kag.conductor.enqueueTag(%[tagname: 'link', target: options[i+1]]); kag.conductor.enqueueTag(%[tagname: 'ch', text: options[i]]); kag.conductor.enqueueTag(%[tagname: 'endlink']); kag.conductor.enqueueTag(%[tagname: 'r']); } }"] [trans method=crossfade time=100][wt] [endnowait][history output=true][current page=fore] [s] [endmacro] [show_selection options="['選択肢1', '*option1', '選択肢2', '*option2', '選択肢3', '*option3']"]
結局実際にやりたいことがはっきりせんのだが、一番安心できるのは
[macro name="show_selection"]
[link target="&mp.options[1]" cond="&mp.options.count+' > 1'"]
[emb exp="&mp.options[0]" cond="&mp.options.count+' > 1'"]
[endlink cond="&mp.options.count+' > 1'"]
[link target="&mp.options[3]" cond="&mp.options.count+' > 3'"]
[emb exp="&mp.options[2]" cond="&mp.options.count+' > 3'"]
[endlink cond="&mp.options.count+' > 3'"]
; 以下適当に
[endmacro]
これで頑張れば上限50要素くらいの可変長になるんじゃね?
あとは直接コンダクタに読ませる方法とか
ttp://kikyou.info/tvp/bbs/bbs.cgi?mode=&action=treeall&num=11688
吉里吉里のフロントエンドみたいなソフトないでしょうか? デバッグ作業が面倒なので画像を画面に貼り付けてメッセージが出るところに直接文字を 打ちながら作っていきたいんだけど、、 なさそうなら自分で作ろうと思うんだけど需要あるんかな?
そんなものよりステップ・イン・アウト・オーバー実行ができるデバッガがかなりありがたい。
コーディング作業をある程度自動的にやってほしいなとは思うな。 システム周りだったら、ツールボックスからコントローラを配置した上で、 クリック時などのイベントプロシージャを設定して、 コーディングはその段階から行えば良い風になるとか。 それでコントローラは画像に差し替えられたりとか。 スクリプト周りだと、動的な演出を直接コーディングするのではなく、 GUI上に値とかを入れる事でコードを記述しなくても視覚的に分かるようになるとか。 それで、その時に自動的にコードが生成されて、それが流用できるようになると良いね。 後、デバッグは確かに面倒なのでブレークポイントは設定できるといいな。 ステップインできるとだいぶ楽だし。
580 :
577 :2008/10/10(金) 01:27:00 ID:h8yKaarK
作ろうと思ったらコミックメーカーってのがあるみたいで これから吐き出させるスクリプトを吉里吉里用にコンバートするほうが楽そうだからそうするわ まだ手つけてないからわからないけど、デバッギングは子プロセスとして起動すればできるんじゃないの?
そういや吉里吉里3って今どこまで進んでるんだろう まあ公開されても当分は2の方使うと思うけど
アドベンチャー作るならコミックメーカーより吉里吉里の方がいいよな? 難しいけどやってみるか
585 :
577 :2008/10/10(金) 13:52:55 ID:N3TX7EE1
コミックメーカー糞過ぎて使えね マウスでだらだら操作するより記述したほうがはええわ ってことになった
577 がわりと多数がたどった道を一瞬でたどっててワラタ
次はデバッガが欲しくなってその次はRADが欲しくなるんだな。
>>584 なんでコミックメーカーと吉里吉里の二択なんだw
あんまりコミックメーカー馬鹿にすんなよ! 初心者には最適の踏み台ツールなんだぜ
Liveなんとかもたまにでいいのでry
コミックメーカーの知名度思ったよりあるんだな 作品数そんなにあったっけ? 先日ランタイムアンインストールしたばかりだ
592 :
577 :2008/10/10(金) 23:24:07 ID:nYJLqIZp
>>591 おれはアドベンチャーツクールで検索したら上位にあって試しただけ
スクリプトを書かなくていいって売りだけど、タグをコマンドという機能にスリ変えただけだからな・・・
マウスでタグ打ってるような感覚・・・完全に設計に問題あるだろ
>>590 liveも試したが多機能なのはいいけど、やっぱ制約が多いからうざくなってやめた
KAGはVBのようなコード書かないといけないから、なんかキモイわw
すみません、ちょっとスレチなんですが 吉里吉里で作ったゲームが完成して、配布したいのですが サークル名を決めてませんでした サークル名に「チャンス」を入れたいのですが 商標検索してみると沢山登録されていました 商標登録されている言葉ってサークル名に使っちゃいけないんでしょうか? また、ゲームのタイトルにも「チャンス」と入れたいのですが、これも駄目なのですか? 皆さんどのようにサークルの名前を決めたのか教えて頂きたいです
>>581 エンジンを変えるという選択肢ですか。
確かにそれもありですね。
Flashのノベルゲーにどういうものがあるか調べてみて、乗り換えるメリットがあるか検討してみます。
>>582 2年前にそういう提案があったんですね。
進んでいれば良いのですが。
>>592 VBのようなコード書くのは大丈夫だけど、部品は座標を手入力するのではなく、GUIで視覚的に配置したいな。
VBみたいだとやりやすいんだけどね。
オススメの吉里吉里関連本はありますか? 手元にあると便利な書籍など教えて頂きたいです。 どんなところが、良いのかの一言もあると助かります。 すでに『萌えるゲーム制作 吉里吉里/KAGで作る美少女ゲーム』を書店で見かけて購入しています。 まだ、読み途中。
>>596 そんなに本買わなくてもいいよw読む暇あったら作り始めたほうがいい
あえて言うならプラグインとか作ってる人が本出してたよね。あれ欲しい
吉里吉里のLayerはウィジェットやGUIコンポーネントとして使えるんだから吉里吉里2だけでもRADは作れそうだけどな。 吉里吉里3はそこら辺焦点当てて開発されてるみたいだけど。 前にLayerクラスで一通りのGUI実装したらライブラリの総サイズが20Mくらいいった。 結局Layerクラスじゃ限界があると結論づけて捨てたが。
用意した長方形の画像を台形に変形って出来ますか? もしくはそういうプラグインがあれば教えてください
perspective.dll で出来る
wuvorvis.dllだっけ? Ogg Vorbis 1.20がだいぶ前に出ていたような気がする ちゃんと差し替えてんのかな
サークル名 チャンス!+ まず部屋の中を見渡す そしてチャンスとくっつける 俺の場合 目の前にコップがあるので チャンスカップ サークル名なんてそんなもんだ
>>602 でも前「二人のロッテ」ってアニメがあったけど
ロッテの商標問題で使えなかったんだよな
商標の前に何か付けてもNGになる場合もあるって事だ
ロッテだと思い浮かぶのは1社しかないので、それはそうでしょ チャンスと同じ土俵では比べられないよ
二人のチャンスでいいじゃない
>>597 プラグインの人の本って『吉里吉里/KAGではじめるゲーム制作―タグでノベルゲームが簡単にできる! 』?
発行が5年前のものだから手を出さなかったけど、また見つけたら買おうかと思う。
習うより慣れろと分かってても、紙媒体が近くにあると安心するんだw
同じ情報でも、モニタで見るのより、本で見るほうが頭に入ることはあるな
>>606 「吉里吉里/KAG ノベルゲーム制作入門」じゃないかな。
本は読んでないが、既存本の作者の中ではこの人が技術的に一番安心できるだろ。
609 :
597 :2008/10/12(日) 00:07:25 ID:Bpvyd8yK
>>608 それそれ。でもちょっと高いよね
>>606 関連書籍については過去ログでも何度か出てきてたと思うので
読んでみるといいよ
紙媒体があると安心するのは同意w寝転がって読めるしね
610 :
606 :2008/10/12(日) 00:47:34 ID:2k7ww1nZ
>>608-609 ありがとう。発売日あたりの過去ログ参照した。
機会があったら購入しようかと思う。あの本の厚みは惹かれるw
紙媒体か…
>>612 2番目の本のタイトルは
●萌えるゲーム制作 吉里吉里/KAGで作る美少女ゲーム
付属リファレンスを印刷しただけの本が一番欲しい
まあちゃんと製本されたものの扱いやすさってのはあるな
本だとかえって見ないな 寝転がって読むと読む前に寝る webで講座作ってる人マジありがとう
>>617 やってみたことある?
とんでもなく分厚くなるよ
薄いリファレンスなんて見たことが無いが
MSの仕様書とかとんでもない分厚さだぞ
それをプリントアウトするのがイヤっていう話じゃないの?
そそ、ちゃんとインデックスもついたリファレンスってこと 自分は一番見るドキュメントがKAG・吉里吉里・TJSリファレンスなんで それを紙媒体にしてほしいんだよね
俺は毎日ちまちま携帯で読んでたなぁ
こんばんは。質問させてください。 2.30安定版を使ってます。 今画面上部のメニューを消してるんですが、 右クリックメニューからバージョン情報ダイアログを出せればと思ってます。 方法が分かる方がいたらご教示をお願い出来ればと思います。
chmの見にくさは異常
吉里吉里同根のリファレンスはブックマークに入れてブラウザで見てるけど やっぱり紙媒体は強いんだよね どの言語で開発してても慣れてくると一番使うのはリファレンスだし
625です。解決しました。ごめんなさい。
パソコンをフォーマットして秀丸のmacroの再設定してるんだけど、 うまくいかないんだよね・・・ リストボックスは表示するのに吉里吉里の実行になるとパスがうまく読めないっておかしいなぁ・・・
今TJS勉強中なんですけど、文字列から数値に変換する際、 頭文字に”0”が付く文字列ってのは数値変換出来ないんでしょうか? ”01”〜”07”までは1〜7に変換出来たんですけど、”08”と"09"を数値変換した場合、0が返ってきたので。 当たり前だろ的な質問だったらすみません・・・。
>>630 先頭に0がつくと、その値は8進数として扱われる
01〜07は8進数としてセーフだが
08や09という8進数は存在しないためエラー→0と変換されていると思われ
コンソールで 01 とか 08 とか評価させてみ
>>631 確か、単項プラス演算子あたりでの変換は、変換できるところまで
変換して返してた気がするんで、+"018"は1じゃなかったかな
630です。
>>631 先頭が0だと8進数として扱われるんですね。覚えておきます。
んー・・とりあえず二桁の数値しか扱う予定がないんで、
先頭が0の場合は、一の位だけを数値変換、って感じでやってみます。
ありがとうございました!
>>632 なるほど、メモっとかないと忘れそうですねこれ。
試してみます。ありがとうございました!
08をintに変換できないのは嵌ったな
今、小数点を挿入して実数にして…などと報われない方法を思いついたw
>>634 文系素人スクリプタの俺には、どう変換していいのか見当もつかないぜ
return ( "1"+ x ) - 100;
文字列に変換して、先頭の0を全部削って、またintに変換 して戻す関数を作ればいいんじゃね?
TJSってn進数に変換する標準関数って無いの? 例えば、phpでいう intval(値, 基数); みたいなの 無ければintvalに相当する自作関数作れば良いかもね。
あれ? デスクトップのPCにうまく設定できたのにノートに同じ設定ができない。 DLLがロードされてないのにdllfunc関数が使われました 全部同じバージョンなのになんってこったい
function ZeroSuppressInt(val) { return +(val.replace(/^0+/g,"")); }
こんな感じか function ZeroSuppressInt(val) { return val ? ZeroSuppressInt("0" + (val >> 3)) *10 + val % 8: 0; }
>>641 マイナスのこと忘れてる
>>642 なんかいろいろと問題あるっぽい
実数、負数、eによる指数表現とか考えたら、こんな感じかね
function ZeroSuppressInt(val) { return (+val < 0 ? -1 : 1) * +(val.replace(/^\-?0+/g,"")); }
>>639 調べてみたけどPHPのintvalはCのstrtolをそのまま使ってるだけだよ
どうでも良いがキャメルケースの方が好きです。
kag.current.processCh("前"); kag.tagHandlers.s(); kag.current.processCh("後"); kag.tagHandlers.s();を普通に素通りしてしまうのですがなぜでしょうか
>>646 KAGの tagHandlers は、あくまで Conductor から呼び出されることを前提に
設計されているもので、コンダクタの状態変更をともなうタグは直接呼び出しても
正常には機能しません。(コンダクタは帰り値を参照して動作変更してます)
どうしても tjs で処理を記述したければ何度かでてますが、pendings に次の
タグをつんで KAGの Conductor から呼ばせるようにしましょう
意味がわからなければ、素直に KAG で eval とか使って処理したほうが無難です。
>>647 分かりました。色々調べて無理そうならあきらめることにします。
TJSはかなり奥が深くて楽しいですね
>pendingsに 設計的にリフレクション並みに邪道だな。
秀丸に吉里吉里の入力補助と実行補助の設定をしているのですが うまくいきません。 入力補助は動作するのですが、実行補助になると DLLがロードされてないのにdllfunc関数が使われました と、エラーが出てしまいます。 completeXは 3 だとエラーが出ると書かれていたので 2 を使用しております。 回避方法が解る方がいらっしゃいましたらご教授願います。 バージョン 秀丸 Ver 7.07 吉里吉里 Ver 2.28 completeX Ver 2.48 KKTH Ver 1.00
秀丸のほうで聞いた方がいいんじゃないの?
できなきゃ自分で何とかするか諦めろの世界
秀丸側に問い合わせっぽい
654 :
名前は開発中のものです。 :2008/10/17(金) 10:52:40 ID:b4E9dKiw
吉里吉里とKAGって何が違うの?
吉里吉里=プログラムエンジン KAG=命令セット
市販されている吉里吉里を使ったゲームのxp3ファイルは ソースに戻せますか?
659 :
名前は開発中のものです。 :2008/10/17(金) 15:26:23 ID:b4E9dKiw
超めんどくさいお なんか簡単になるエディタでもないのかお?
KAG(吉里吉里アドベンチャーゲーム)があるなら KMG(吉里吉里MMOロールプレイングゲーム)も作ってほしい
661 :
名前は開発中のものです。 :2008/10/17(金) 16:09:02 ID:IDY+GOy9
よくわかんないけどでフォの機能こてこてにつければいいの?
ちょっと抽象的すぎる質問ですが・・・ 他プレイヤーとデータやりとりして遊ぶようなゲームって作れますかね? 例えばダビスタのようなゲームで馬のデータのみを外部ファイルに出力するような
馬のデータの入った変数をファイル出力して そのファイルを読み込む処理を付ければよい
>>665 なるほど、出力も読み込みも出来るんですね
ただ強さを競うようなゲームだと簡単にチート出来そうなのが難しいですね・・・
ありがとうございました
まずそれに適したプログラミングソフト(言語)を探した方が良さそう 吉里吉里しか候補にないのかな
>>666 データを読み込んだ後、チェックしちゃだめなの?
吉里吉里の話じゃないじゃねーかw
ダンジョンのマップデータ(300件強)を Scripts.evalStorage()の引数のファイルに %["p0621" => [int 4, int 0, int 0, int 0],...]) といった具合に記述していたのですが、 どうも、constというおまじないをすると、 省メモリになるらしいということで、 栞データの記述を参考に (const) %["p0621" => (const) [4, 0, 0, 0],,...] としてみたのですが、これでいいのでしょうか? 色々とか分かっていなので、変な質問ですみません。
>>670 TJS2の場合、constは将来のために予約されているだけで
実際には機能しない。従って省メモリ効果はない。
ググってもよくわからなかったので質問です。 右クリックメッセージレイヤ消去で、 隣にあった顔グラまで消えたゲームを見つけたのですが、 あれってimageタグで出来るものですか? それとも使わないメッセージレイヤにflame画像で顔グラとして見せているんですか?
>>672 そのゲームがどうやってるかは知らんが、
普通は右クリック処理をカスタマイズするんじゃないかな。
>>672 多分、layoptタグのautohide属性。
>>670 エラーでてなければおk
>>671 実は const つけてるとパーサが処理するので、読み込み時間とその時に使うメモリ量が激減する。
巨大なデータだとすごい有効。その代わり定数以外が入ってると解析できなくてエラーになる。
逆に右クリしても隠れないメッセージレイヤ設定するための属性ってないよね。 いや、もちろんリファで探したけど、もし見逃してたらと思って。
672です。
>>673 右クリック処理のカスタマイズでそんなことができるんですね。
細かく調べてみます。ありがとうございました!
>>674 実際にautohideしてみたら前景も一緒に隠れました。
よくわかりました。ありがとうございました!
>>676 確かにそういう属性は見た感じではありませんね。
あってもグラフィックを見る時邪魔になるからかも知れませんね。
678 :
670 :2008/10/19(日) 14:28:11 ID:ZCv+eZS1
>>671 レスありがとうございました。
ver2.30への変更で『saveStructで保存したデータをconst配列として出力…』
というのがあったのですが、
リファにconst配列の記述方がなかったようなのと、
『パーザの段階』うんぬんの話がかいもく分からないのとで、
頭が混乱したまま、不適切な仕方で質問をしてしまいました。m(_ _)m
>>675 適切な回答をありがとうございます。
メモリ管理やら吉里吉里(C++)は、殆ど分からないので、
エラーにならなければいいで、先へ進むことにしました。
(次はモンスターのデータ作成です。
今のデータ量ならボリュームテストの必要もなさそうです)
var hennsuu = string "tjs変数の型は動的!";
var hennsuu2 = "変数値";
System.inform(hennsuu, 'test1');
hennsuu = (const) [1,2,3,"constが付いたので定数値?"];
System.inform(hennsuu[3], 'test2'); //この行まではOK
//hennsuu = (const) hennsuu2; //文法エラー。hennsuu2は定数値として不適格だから?
>>678 ちょっと解説しとくと、「パーサ」ってのは、テキストでかかれたTJS2 を内部形式に変換する部分。
パーサが変換したあと、TJS2の実行部分(VM) がそれを解釈して実際のデータやらファンクション
やらになるのが本来の流れ。
(const) をつけると、そのパーサが、その後ろは定数だってことで、あらかじめ配列やら辞書やらを
最終的な形まで組み上げてしまう。パーサはC++で組まれているのと、定数ってことで変数を参照したり
する処理がいらないのでその分軽いわけ。あと逐次処理なので、実質結果分のメモリだけあればいい。
VMで処理すると、VMが処理してる間、元のデータ構造も全部持っておく必要があるので、単純に倍の
メモリが必要になるし、実行時間も余分にかかる。だから、
良く使う定数データの配列/辞書はコードの中でも (const) つけておいたほうがちょびっと軽い。小さいと誤差の範囲だけど。
そこでかかれてるサンプルだと hensuu2 は変数であって定数じゃないからエラーになる。
var a = (const)[1,2,(const)[1,2,3]]; // 定数だけなのでOK
var b = (const)[1,2,a]; // 変数まざってるのでパーサで処理できないのでNG(文法エラー)
var c = (const)[1,2,[1,2,3]]; // これも内部の [1,2,3] が定数になってないのでダメ
マニュアル的には「トークン」の項目の、「数値即値」「文字列即値」「オクテット列即値」および、
それらだけで構成されて (const) をつけて定数化した辞書/配列がOK。
「@つき文字列即値」はVMによる解析が必要なのでダメ。
パーサ?lexerの情報いらね?まあどうでもいいが。
>>679 ‐
>>680 ありがとうございました。from 真珠を貰った豚なのかの678
(今、収納に眠らせ続けていた「●スクトップ●スコットを作ろう!!」という
参考書をパラパラと捲ってみました。なるほど…構文解析、字句解析、
解析プログラムを自動生成するプログラム「le×」とか異次元です)
あーでも、メモリの確保の仕方ではなく、単純に解析処理の流れ的に、
時間やメモリの消費に差がでるというのは了解しました。
>マニュアル的には「トークン」の項目の、「数値即値」「文字列即値」「オクテット列即値」および、
>それらだけで構成されて (const) をつけて定数化した辞書/配列がOK。
>「@つき文字列即値」はVMによる解析が必要なのでダメ。
以上、メモっておきます。
682 :
名前は開発中のものです。 :2008/10/19(日) 21:04:50 ID:9j59swOm
別でアクションゲー作り、吉里吉里で作成したゲームに組み込むことはできますか?
C++でゲーム作ってそっちに吉里吉里組み込んだ方が早い。
>>682 可能。ただしそれなりに大変。以下、Windows プログラミングのスキルが十分あるとしての回答。
方法その1
Window.HWND で Windows クラスのウインドウハンドルが取得できる。
そのハンドルから FindWindowEx で "TScrollBox" を探すと実際に
描画につかってるウインドウが取得できるので、その上に独自の
ウインドウプロシージャをもった子ウインドウをつくって描画するような
プラグインの形で作る。この方法の場合、フルスクリーン切り替え時に
ウインドウが破棄されるので、Window.registerMessageReceiver を
使ってそれに対応した復帰処理をきちんと書かないと誤動作する。
方法その2
吉里吉里 2.30 以降なら、drawDevice プラグインを使えば、
吉里吉里の表示/入力系に独自の処理を融合できるのでそれを使う。
ウインドウの復帰処理は drawDevice の機構に組み込まれてるので、
それに応じて処理を記述すればいい。
メインループはいずれの場合でも、tTVPContinuousEventCallbackIntf を実装して
TVPAddContinuousEventHook() すれば吉里吉里が continuous handler
としてコールバックしてくれるのでそれを使えばいい。また、スレッドを分けた場合の、
吉里吉里との安全な通信には Window.registerMessagReceiver の機構が使える。
>>683 吉里吉里はほかに組み込むことを考えて設計されてるわけではないのでそれは難しいと思う。
一番基本的なことを忘れてた。フレームバッファ的に描画するシステムなら、 こんなめんどくさいことをしなくても、レイヤの内部メモリ(32bit ARGB)に対して 直接描画してしまえばいい。 メインループの扱いや、スレッドをわけて処理を組むような場合の部分の処理は同様になる。
動きの激しくないアクションなら吉里吉里だけでも実装できると思うのは甘い? まあ自前でC++のコード書くのと速度は比べものにならんが
実際、吉里吉里でACTやSTG作ってる人は何人かいる。
CとC++とVBちょこっと弄ってみたけど、同じ事するのにもC++の分かりにくさは異常 吉里吉里に慣れてるとVBが一番わかりやすかった
そりゃC++は何でも出来て軽いのが身上なんだから やれることを制限&重くした代わりにわかりやすく 簡単になってるVBや吉里吉里とは違う
なんちゃってオブジェクト指向で組むならまだ楽だけど 本気で覚えようと思うときつい言語ではあるな<C++
tjsはc++で出来ている よって同じことが同じ重さでできるはず
693 :
 ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ :2008/10/21(火) 12:19:21 ID:nXXQtIA4
___ _ / ____ヽ /  ̄  ̄ \ | | /, −、, -、l /、 ヽ いや、そのりくつはおかしい | _| -|○ | ○|| |・ |―-、 | , ―-、 (6 _ー っ-´、} q -´ 二 ヽ | | -⊂) \ ヽ_  ̄ ̄ノノ ノ_ ー | | | ̄ ̄|/ (_ ∪ ̄ / 、 \ \. ̄` | / ヽ ` ,.|  ̄ | | O===== | `− ´ | | _| / |
俺とDeeタンは同じ種族だ つまり頑張れば俺にも吉里吉里が作れるはず
今までのレス見てると なんでここに居る人達ってこんなにも知識沢山あるの? 法律の問題とかライセンスの問題とか超詳しすぎw ネットに落ちてる情報でもないのに… 普通に勉強になりやす
明らかに混ざってるよ「やつら」が 難しい難問に即答とかおかしいぜ・・・
おっさんなだけでしょ
俺も同じおっさんだ つまり頑張れば俺にもスレ住人のような知識が身につくはず
>>684 それって目的にはなるけど手段にはならなそだね
リアルでIT土方やってて知識がそこそこあるだけじゃない
>>688 VBから吉里吉里って移行しやすいと思うけど、
吉里吉里からVBって移行しやすいのか
吉里吉里からプログラム始めるってのは
VBからはじめるのに比べて
覚えにくいイメージがある
俺は大学に入って吉里吉里からプログラム始めた
すいません、ちょっとわからない箇所があって詰まってしまったので質問させてください。 ・配列LoadDataに読込んだ1000行のデータから、一行ずつ目的の文字列を検索し、 目的の文字列が見つかれば、その行を、配列StoreDataに格納する。 また、その進捗状況を 1%毎にレイヤ5に描画する。 という処理をTJSで行いたいのですが、レイヤ5への進捗状況の描画が反映されず困っています。 以下のコードでSystem.informを行えば、レイヤ5への描画が正しく行われている事が確認できるのですが、 System.informを行わない場合、何も描画されずに処理が完了してしまいます。 System.getTickCountを使ってupdate()後に1秒ほど待つような処理を入れても描画自体が行われなかったので 何か画面の更新を行うような命令が足りないのではないかと思うのですが、それが何かわかりません。 どなたか分かる方がいたら、教えて頂けないでしょうか。 //------------------------------ var progress = 0; var disp_prog = 0; for(var i=0; i<1000 ;i++){ if(i==progress){ progress += 10; disp_prog = progress/10 +"%完了"; kag.fore.layers[5].drawText(dx, dy, disp_prog, 0xFFFFFF,255,true,0,0,0,0); kag.fore.layers[5].update(); //System.inform("表示確認"); } if(LoadData[i].indexOf("目的の文字列",0) != -1){ StoreData[i] = LoadData[i]; } } //------------------------------
>>702 TimerクラスかContinuousハンドラの使い方と、イベント駆動プログラミングモデルの勉強をしよう
探せばサンプルはあちこちに転がっているよ
704 :
名前は開発中のものです。 :2008/10/22(水) 19:48:41 ID:NpV65SEl
C/C++ DirectX 使いだが 吉里吉里超わかりにくい 簡単に説明してあるサイトない?
いきなりTJSをバリバリ使おうとしているからじゃねーの
うん TJSとKAGの違いがまったく区別つかない
まずはイベントドリブンとタイマーを頭から消し去るところから始めるんだ んである程度作れるようになってきたらイベントドリブンとタイマーを 吉里吉里でどう実現できるか考える
C++とDirectX使いこなしているヤツが 何でTJS分かんないんだ('A`)
ECMAScriptのリファレンスあたりを参考にしつつ KAGのソース読んでみるとか
KAGとTJSの2つに区別する必要性が分からない KAG → スクリプト用 TJS → 拡張用 吉里吉里 → どちらも解析できるエンジン こんな感覚?
シナリオって何よ?
より単純で原始的なスクリプトと考えてくれ
みんな…俺の後は頼んだぞ… ガクッ
こんな理解力でPGやれるもんなのか
TJS オリジナル言語(JavaScriptに似てると聞いたことがある。前世で) KAG アドベンチャー向けスクリプト 吉里吉里 TJSの愛称だと思っている
吉里吉里 TJS用ランタイムかな?
>>710 ここあたりが参考になるかな
ttp://kikyou.info/diary/?200809#i28_2 まあ、スクリプタという職種の人は基本的にプログラムが出来ません。
そういう人がスクリプトを書くとなると、何より簡単である必要があります。
その為にHTMLタグ位の難易度のKAGという物があります。
一方tjsはプログラムと考えれば良いと思います。
KAGでは出来ないことや、KAGを使用するよりtjsを使用する方が適している場面で用います(システム周りや凝った演出など)。
なので最初はKAGだけでゲームを作ってみて、KAGだと解決出来ない所や、
プログラム的な記述をした方が良い場面でtjsなどを使用すれば良いと思います。
719 :
名前は開発中のものです。 :2008/10/22(水) 22:26:11 ID:5B1FTMEK
Yuuki!でも使っとれたわけが!
>>703 よくわからないので、Conductorクラスを読む所から始めてみようと思います。
ご回答ありがとうございました。
>>710 最初俺も、KAGとtjsと吉里吉里の違いがよくわからんかった。
吉里吉里
バーチャルマシン。画面・ストレージ・オーディオなどの機能があるが、これだけだとなにもできない
tjs
吉里吉里を操作するための言語。吉里吉里内部で解析されて実行される。
KAG
吉里吉里を使ってアドベンチャーゲームを簡単に作れるようにした、tjsのテンプレート。
俺はこういう解釈にしたわけだが。
違っていたらすまん。
>>710 C++ で組むときも普通に階層プログラムするだろ……
吉里吉里: 実行環境。DirectX や Win32APIに相当。いろんな機能が提供されている。
TJS: プログラミング言語。C++ に相当。吉里吉里の諸機能を直接操作できる。
KAG: TJSで記述されたゲームエンジン
エンジンが吉里吉里 エンジンに命令を送るのがTJS TJSで分かりやすくアドベンチャーゲームを作るためのスクリプトがKAG(Kirikiri Adventure Game)
template\systemに最初から用意されているMessageLayer.tjsとかを 何と呼ぶべきか C++とかから入る人間が混乱する理由にはそれもあるような気が
というかちょっと使ってみてからtjs追えばすぐ理解できると思うんだが・・・
まあ要するに、ノベル製作用に初めからmacroがたくさん登録されてるようなもんよね
吉里吉里:tjsエンジン tjs:スクリプト言語 KAG(システム):吉里吉里上で実装されたアドベンチャーエンジン KAG(言語):htmlみたいなスクリプト言語
うはw
シナリオって脚本だから、
イベントドリブン…
オブジェクト指向…
構造化プ……………とか違うのよね
頭でわかるのと体がおぼえるのって別でw
はじめてのKAGのとき、リンクとかでバンバン飛ぶの気色悪くて、
無駄な悪足掻きしたっけなー
電波の方の所の、描画デバイスの拡張のサンプルとか
楽しそうー
吉里吉里でもHGIMGみたいに、素人が比較的簡単に3D出来る
プラグイン、
>>704 に期待?!
>>727 KAG(言語):マークアップ言語ーだと思う
変数一つ作るにもTJSを埋め込まないといけない。
正にマークをつけてるだけ。
KSファイルはKAGシステムから読み込まれるデータファイルであって
スクリプトじゃないんだけど混同してる人多いのかな。
>>729 ゲーム業界の現場では、普通、KAGみたいなやつこそを「スクリプト」って言う
マークアップ言語、は言語のスタイルを指す言葉。
KAGは制御構文もってるから HTMLと単純には同列におけない。
TJSも「スクリプト言語」だけど、それはプログラマよりの用語
HTMLは、ハイパーテキストのためのマークアップ言語だ。 スクリプティング言語では、断じて、ない。
Nスクから乗り換えようか迷ってんだけど、吉里吉里って ウィンドウ最小化の命令みたいなものってある?
あるよ
あるの?
あ、いやごめん間違えた
ググれば出てきそう
フルスクリーンのとき、他のアプリケーション(マニュアルとか)が アクティブになると自動的に解像度を一時的に元にもどして、 左下隅で小さくなってくれるようだが…
TJSはLLで良いんじゃなかろうかDSLじゃないし。
739 :
732 :2008/10/24(金) 10:07:09 ID:904TALkL
>>737 ありがとう。
あれあるとパニックボタンとかボス来たとか作れて面白いんだけどな…
もうちょっと調べてみる
あとNスクから乗り換えた人とかいたら、乗り換えたメリットとか教えて
下さい
何度もごめん
Nスクでいいじゃん むしろ何故乗り換えるのかよくわからない 素人レベルだとNスク使っても吉里吉里使ってもどうせ同じクオリティになる 俺は初めに吉里吉里使ったから惰性で使ってるだけ
>>739 初めに1作Nスクで作ってから吉里吉里にしたけど
透過PNGが使えるのが一番大きい(今はNスクでも使えるかもしれないけど)
あとはタグを覚えやすいとか[]で閉じるのが好きとか
バカでもとっつきやすい初心者講座が結構あるのもいいかな
つまり自分はノベル程度のものしか作らないのでどちらでも大差ない
栞ってなによ? 藤崎詩織? Kanonの栞? 本につけるしおり? ギャグ? テラキモス クリックゲーにこんな機能つけても無意味じゃね? Nスク使おう
ボスが来た? Windowsのタスクバーにボタンが表示されたままでいいなら、 もう、調べたかもしれないけど、 吉里吉里リファでWindow クラスを調べてみると 工夫で応用出来るものがありそう。 あと、krkrconf.exeで「フルスクリーン時で解像度」を 「変更しない」にしておくと、解像度を戻す必要がなくてよいかも。 吉里吉里/KAG使うならリファは一通り目を通しておくべし。
744 :
732 :2008/10/24(金) 13:19:57 ID:904TALkL
>>740-743 素早い回等ありがとう
Nスクじゃちょっと物足りないなと思って乗り換えようかと思ってただけなんで
凄い参考になった
>>743 ありがとう
ちょっと流し見(と適当検索)しただけだったから見落としてた
あとメモ帳の間違いだった ごめん
745 :
名前は開発中のものです。 :2008/10/25(土) 18:59:31 ID:EqxAr2mt
この数日試行錯誤してるんですがどうもうまく行きません。 通常のメッセージレイヤmessage0で本文を進めながら、ところどころ色が違う単語をクリックすると 別のメッセージレイヤmessage1が開き用語解説を表示、適当な場所をクリックするとmessage1だけが 閉じてそのままmessage0を読み進められるというようにしたいんです。 message0中のlinkタグで用語解説の部分に跳んでmessage1を開くという方法しか思いつかないんですが、 こうすると本文に戻って来るときにラベルが必要になります。 ラベルを表示している本文の頭に置くともう一度本文を頭から順に表示していくことになるし、nowait等で 一瞬に表示してみても瞬間本文が消えてからの瞬間表示となり、どうも不細工です。 message0はそのままで、message1だけを開いたり閉じたりする方法はあるでしょうか?
>745 linkタグのexp属性で、kag.callExtraConductor()すればいいんじゃない。 KAG System リファレンスの「TJSをもっと使うために」を参照。
748 :
745 :2008/10/25(土) 19:11:26 ID:EqxAr2mt
RESありがとうございます。 returnということはつまりcallでサブルーチンとした場合ですよね。 しかし結局linkで何処かに跳んでからでないとサブルーチンを呼び出せないので linkの後にまた最初のksファイルのその位置に戻ってくるjumpが必要になってしまうんです。 linkから直接returnできないかと思ったんですが「returnが多い」と怒られてしまいました。
>>747 入れ違いになってすみません。
linkタグのexp属性というのは知りませんでした。調べてみます、ありがとうございます。
>>745 こんなかんじでどうよ。ただし処理中は右クリックサブルーチンは使えない
[link exp="kag.callExtraConductor('kaisetu.ks', '*ほえほえ')"]ほえほえ[endlink]
kaisetsu.ks
-----------------------------------
*ほえほえ
# messeage1 の表示は適当に処理
[current layer=message1]
用語の説明を表示
[waitclick]
# message1 は消して処理対象は message0 に戻しておくこと
[current layer=message0]
[return]
*ふがふが
.....
-----------------------------------
>>750 でけたー、ありがとうございます!!!
なるほど、linkから直接returnする方法があったんですね。
TJSはまだ全然使えてないので、まずはこれの意味を調べてみることで勉強してみます。
俺もこういうtjsのコツみたいなのを覚え始めると、吉里吉里いじるのが楽しくてたまらなくなったなー
link hint=で表示できる用語解説の、文字サイズを変える方法ってありますか?
画面のプロパティのデザインのところに調整項目がある
>753 吉里吉里側からは無理じゃね?
>>753 あの項目はユーザ」のOSに依存してるから
独自のデザインにしたかったらTJS覚えて
自分で文字画像用意すればいい
ちなみにフォントの規約には注意しろ
758 :
753 :2008/10/26(日) 02:10:58 ID:gdEHV40C
>>754-757 ありがとうございます!
ウィンドウモードだと気にならないのですが、フルスクリーンにすると
用語解説の文字が小さく感じたもので、もう少し大きくできたらなと。
いろいろ調べて、チャレンジしてみます!
質問させてください。 今ADV作っててボイスリピート機能をつけたいんですけど どこをいじればいいかヒントだけでよいので教えてくれませんでしょうか? 散々ぐぐってみたんですけどとっかかりすら掴めなくて……OTZ
>>760 [hact]
[endhact]
に関して調べると、幸せになれるよ
ヒント:「TJSをもっと使うために」
直球でぐぐってない機能は、既存の機能を組み合わせて出来ないか
考えてみて下さい。
遣り様によっては、
>>750 辺りも参考になるかもしれません。
初心者(限定)に質問です。
興味のないラノベを一冊読むのと、
「KAG System リファレンス」を一読するのと、
どちらが大変でしたか?
ようやくTJSの処理を読めるようになった程度の初心者ですが どっちが大変だったかって言うと、リファレンスかな… でも個人的には、興味のない小説はたとえラノベでも最後まで読むのは無理だから、答えるのが難しい それにリファレンスは最初にざっと斜め読みして概要を頭に入れておいて、あとは 作る⇔その都度必要になったところをじっくり読む の繰り返しだったから、一読というのとは違うかもしれない
比較対象がおかしくない?w 初心者なので答えておくとどっちも大変じゃない ラノベくらいなら興味なくてもつまんなくても読めるし リファレンスは>763と同じく最初ざっと読んで作るときにじっくりって感じ なんでこんなこと聞くのか教えてくれ
自分はラノベの方がいいです。 興味がなくてもストーリーがあるものなら何らかの感情にうったえてくるはずだから。 しかしリファレンスを全部一通り読むのは、資格取得とかの勉強をするようなもので、 小説を読むこととは比べられないような気が。
>>761-762 ありがとうございます!!
メチャ助かりました!!
そして散々調べたと言いつつ、
タグリッファレンスも斜め読みしかしていなかったことをお詫びします……
しっかり載っていました……
直接お礼したいけどそういうわけにもいかんので身近な人に親切にします。
巡りめぐってお二方にいいことがありますように……
>>763 だけど、言葉足らずだったので補足
興味のないラノベは、読めないって言うより何度繰り返し読んでも全く頭に入らない、マジで辛い
時間や手間はかかっても、読んでて楽しかったのはリファレンスの方
てことです
リファレンスは、読むときにそれぞれどんな用途に使えるかを考えるから妄想が広がって嬉しい。 微調整の苦しみを味わう前段階だから尚更。 つまらんラノベは……どうしようもないなw
絵につられたお前が悪い・・・
リファレンス読んでも クラスの使いどころがいまいちよくわからない 便利そうな空気は伝わってくるのに
俺もクラスの概念と上手い使い方がよく分からない まあTJSに限った話じゃないけど
レスありがとうございました。
>>764 質問の意図は、
「KAG System リファレンス」に限って言えば、
ストーリーを追うだけ(
>>763 「ざっと斜め…」)ならそんなに大変じゃないと思うけどな?
ってことでした。比較対象がラノベなのは、お遊びw
調べて(さっと、潜って)見つけられなかったとき、
初心者の内なら、
吉里吉里ADVで普通に見かける機能なら
「KAG System リファレンス」に立ち返り、
「ストーリーを追うだけ」をもう一度、最初からして頂ければ
とっかかりぐらいは掴めることも多いのかなと思ったので。
>>766 お心遣い感謝。
私もここでは、お世話になっている事の方が多い…3年目突入。
質問にも、情報としての価値があると、開き直っャ…心掛けていますがw
おまけ
「吉里吉里2 リファレンス」は
C++Windowsプログラミングの入門書とか齧っておくと理解度+応用力UPかな?
(解らんものは解らんが)
クラス自体(概念)が何の役に立つかは、取り合えず、tjsの入門講座を当たってみるとよさげ
KAG改造に手を染めはじめると必然で身についてくる気もする(気のせいだけかも)
吉里吉里の場合、クラスの用途は主にKAGの機能を継承する事にあるから、 Systemフォルダ見て何の機能があるかがわからないなら無理してクラス作る必要は無い。 基本的には、クラスを作るメリットは、どの機能がどこで定義されて、どこで使われるかはっきりさせる事。 これをやっていれば後々機能を追加する時も最小限のコードとデバッグで済む。 デメリットはその分、インターフェイスや再利用性など設計を考える段階で作業量が増える事。 なので、作品的にどこで何をやってるかすぐわかるような小規模構成で、プログラム的に拡張も殆どしないでいいって場合なら、 KAGのタグやTJSのグローバル関数だけで作っても、クラスで作っても何も差は無い。てか面倒な事を考えないで良い分、クラスを作らないほうがいい。
つまり クラス=単なる整理整頓のための引き出し よほど部屋が広くて持ち物が多くない限り 物は出しっぱなしの方が使いやすい ということだろうか
自分で作ったクラスとかの変数のデータって、なんかしないと栞に保存してくれなかったよね
というか永続オブジェクトがほしい。
776 たしかに
>>774 違う。クッキーの抜き型みたいなもん。
>>775 KAGPluginを継承してsave()とload()を実装する。
>>772 個人の能力差というのはかなり極端なもので、「ただ〜〜を読むだけ」と誰かが思っていても
それがある人にとってはとんでもなく高い障害だったりすることはよくあるよ。
理詰めで書かれた文章なら誰でも理解できるかというとそうではない。
読解力というのは元々アナログな能力なので、その感覚で文章を読む人にはkagリファレンスは
難解な呪文にしか思えないだろうな。
この頭の使い方を切り替えるというのは出来そうでなかなか出来ないものなんだ。
吉里吉里とNスクだったらやっぱ吉里の方が難しいですよね?
リファレンスとラノベならラノベの方が読みやすいな
も少し一般的なものに置き換えると辞書と国語の教科書のどちらが読みやすいかみたいなものかな?
まあ
>>765 の言うようにストーリーのあるものと無いものを比較したら、
そりゃ無いものを読む方が苦痛でしょ
ストーリーがあってないようなノベルゲーと、そうでないノベルゲーを比較するようなもの
HTMLとかJavaの知識があったら吉里吉里の方が簡単
>>779 個人差は、当然のことと認識している。
ただ、「KAG System リファレンス」に限って言えば、
ある程度のADVのプレー経験があり、
ラノベが読める国語力と
興味のないラノベを最後まで読める忍耐力があれば、
多分、一読するのはさして難しくないのでは? 一読と精読は違う。
細部の理解はもとより、
全体をプロット立てて把握するまでゆかなくても、
単語レベルから何かしら起想することは可能な訳だし……
>>読解力というのは元々アナログな能力なので、その感覚で文章を読む人にはkagリファレンスは
>>難解な呪文にしか思えないだろうな。
あえて、誤読し
その感覚とは、もしかしたら、リファは難解という先入観のことではないだろうか?
と言ってみる。
「吉里吉里2 リファレンス」は確かに色々と難しい。
でも、「KAG System リファレンス」は肩の力を抜いて親し……
おまけ
KAGPluginを継承したクラスは、一つあると何かと重宝。
小ゲームパートをクラスけちって、
[iscript][endscript]に匿名関数で作ったら、
不要になった変数とか関数を破棄するのが結構めんどー
>>780 俺はマニュアルの見づらさでNスクを断念した。
それに、普通のノベル作るだけならどちらも大差ない。
786 :
名前は開発中のものです。 :2008/10/28(火) 12:42:31 ID:YDfR84mw
そもそも吉里吉里って何のために作られたのよ?
われらが dee たんがゲームをつくるために作りはじめたけど、そのゲーム制作自体は頓挫して今に至る……だっけ?
吉里吉里>Nスク>>>ライブメーカー>>>>>>>>>>>>>>YUUKI>>>>>>コミックプレイヤー 出来上がったゲームが何製かわかりにくい順序で人気がある気がする
>>788 ポイントすればリソース(プロパティ)で丸わかり。
「栞」という表記がデフォなのが気に入らない
バージョンアップしたときはまず栞というのを変えるところから始める
和風のゲームなら栞でもいいと思うけどね
俺はまず詩織(ときメモ)に変える
どーでもいいようなことを気にする人もいるんだな。
気に入らない所はとことん弄れるのが、吉里吉里の最大の特徴だと思うけどな。 逆に言えば、そこに手を出そうとすると一気に難易度が上がる訳だけど。
>>791 AfterInit.tjs
てか、SYSTEMフォルダ内のファイル直上書きは
更新のたびに面倒すぎだろう
>>796 下手にSystem内の内容を変更してAfteinit.tjsとかに書くと、
その部分がピンポイントでバージョンアップされた際
反映させ忘れることがあるから、
Afterinit.tjsとかには書かずマージさせてるね
どちらが良いのかは分からないけど
>>786-787 「元々吉里吉里は『学院生』という恋愛シミュゲーのエンジンとして開発されたもの」
ってPIA少尉が言ってた
言ってたのはW.Dee本人じゃね?インタビューで 魚のアイコンが気仙沼由来とは意味なく驚いたもんねー
質問させてください。 画像をfillRectで8*8に分割して塗り分けたいと思っています。 1マスごとに違う色(何色でもいい)にしたいんですが、 RGBを一定ずつ増やすとか?はどうすればいいんでしょうか? for(var i=0;i<8;i++){ for(var c=0;c<8;c++){ kag.fore.layers[0].fillRect(c*640\8,i*480\8,640\8,480\8,0x000000); } }
>>801 0x000000などは16進数で
たとえば0x1324a0だったら
赤が0x13、緑が0x24、青が0xa0ということ
それぞれの色は0x00から0xffまでの値をとる
>>797 ちゃんとしたシステムがないとマージさせる方がめんどくさくね?
805 :
801 :2008/10/29(水) 01:41:22 ID:2lELB0tG
すみません16進数をどうすればいいのかがわかりませんorz 0xつけて適当な16進数を加算したり、0-9、a-fをランダムに選ばせたり、 R、G、Bごとにやってみたり色々しましたが、真っ黒になったり透明になったりします。
806 :
801 :2008/10/29(水) 02:58:46 ID:2lELB0tG
度々すみません。自己解決したかもしれません。 不格好ですが、試した中ではこれが一番マシに動きました。 さっきはこれでもダメでしたが、AARRGGBBのAAを忘れていたことが原因のようでした。 16進数の加算等はわからないままですが、 一応当初の目的は達成したので高望みはやめておこうと思います。 みなさんアドバイスありがとうございました。 var color=[0,1,2,3,4,5,6,7,8,9,'a','b','c','d','e','f']; for(var i=0;i<8;i++){ for(var c=0;c<8;c++){ var test=color[intrandom(10,color.count-1)]+color[intrandom(0,color.count-1)]+color[intrandom(0,color.count-1)]+color[intrandom(0,color.count-1)]+color[intrandom(0,color.count-1)]+color[intrandom(0,color.count-1)]; kag.fore.layers[0].fillRect(c*640\8,i*480\8,640\8,480\8,'0xff'+test); } }
>>805 16進法について勘違いしてないか?a〜fはアルファベットでなく数字なんだ。
10進法は0〜9までが一桁でその次が10という二桁になるだろ。
16進法は、10進法でいうところの0〜15までが一桁でその次が初めて10という二桁になるわけだ。
つまり10進法でいうところの10、11、12、13、14、15というのは16進法では新しい一桁の数字で
表さなければならない。そこでアルファベットのa、b、c、d、e、fを使っているわけだ。
00、01、02、03、04、05、06、07、08、09、0a、0b、0c、0d、0e、0f、
10、11、12、13、14、15、16、17、18、19、1a、1b、1c、1d、1e、1f、
20、21、22、23 …と続いていって、最後が ffになるわけ。
>>807 昔改造コードとかにも興味があったので
16進数の意味は一応わかっていたのですが、
吉里吉里で16進数の計算をどう書けばいいのか
まったく頭が回らなかったのです。
急いでいたので適当にしか試さなかったのもありますが、
とりあえずは色分けできればそれでよかったので
てっとりばやくランダムにしました。
801 いまさらだが、これをやりたいのか? for(var i=0;i<8;i++){ for(var c=0;c<8;c++){ var r = intrandom(0,255); var g = intrandom(0,255); var b = intrandom(0,255); var color = 0xff000000 + (r << 16) + (g << 8) + (b); kag.fore.layers[0].fillRect(c*640\8,i*480\8,640\8,480\8,color); } }
setZoomとsetMaskRegionを併用する方法 知っている方いたら教えて下さい。
>>810 setMaskRegion する画像をあわせて変形
高度な(俺から見たら)話題に皆ついていってるけど ここの住民ってエロゲメーカーに勤務してる本職のスクリプタだったりするのか? そうじゃないとすれば、暇つぶしにスレ覗いてるプログラマか、プログラマ目指してる学生か……
>>811 ありがとうございました。
0.テンプにloadImages 1.stretchCopyで拡大コピー
2.setMaskRegion 3.copyRectで戻す。
の手順で大体上手く行きました。
カーブの部分のマスクが微妙なのが今一。
正攻法がないなら、setMaskRegionのニアリーバグって気が
しないでもないですが。どうなんでしょうねー。d
>>813 ジャギるのも、サイズ調整ができないのも Windows 側の API仕様の問題なのでいかんともしがたい模様。
結局のところ、全部レイヤで組んじゃったほうがすっきりすることに。
>>812 自分は吉里吉里の前はhtmlとRPGツクールしかやったことがない。
でもKAGレベルでのスクリプトだと、この2つの経験がすごく役立ってる。
ただの16進数の計算のどこが高度なんだ?
>>809 ありがとうございます。今まで使う機会もなく
ビットシフトってなんだろうと思っていましたが
こういうときに使うんだったんですね。
正直調べても今はなんとなく意味がわかっただけで
自力で使いこなせそうにないですが、書いてくださった
スクリプトを参考に勉強していきたいと思います。
>>816 他の方の話題かもしれませんよ。
でも、きっとわかってらっしゃる方にとっては
ものすごく簡単なことなんだろうなとは思っていました。
自分はひたすらあたふたするばかりでしたが。
親切にしていただいて本当にありがとうございました。
>>814 そーゆーことですか(公式でブーたれなくてセーフ)dd
ちょっとはみ出る様が萌えなので・・・・・・
フルスクリーンのときだけ、レイヤでもいいけど、手間だし
ダイアログは大したのないから、拡大しないですますことにしますd
>>812 人の飯のネタをただで教えて貰う場合もあるだろうから、
そこら辺、触れないのはマナーかもよ?
812 俺、自宅警備員\(^o^)/ と書いとけばセーフか?
そうだd
ニートだよ オールオブザニート
「ビットシフトはなんの役に立つのでしょうか」を思い出したw
よく考えるとシュールな質問だ。
正直俺もビットシフトってどういう時に使うのか分からない
ビットをシフトするときくらいしか使わないしな
2で割るとき
今更だろうけど16進の計算って電卓使えばよくね? Windowsに入ってるやつ
>>827 そんなもの使わないで暗算しろよ。
まずは小学校の時に九九を覚えたみたいにFFを暗記しろ。
2×5=A, 2×6=C
2進数や16進数を扱うときに ビット計算だと何をやってるのか感覚的に分かり易いだろ。 例えば、0xRRGGBBの色定数から緑成分だけを取り出すときに、 @ (0xRRGGBB \ 256) % 256 A (0xRRGGBB & 0x001100) >> 8 @とAのどちらが一目で何やってるか分かるかってことで、 @の方が分かり易いと言われたらそれまでかもなあと 書いてる途中で思いました。
0x00ff00
タグの属性のexpとcondってなんていう単語の略でしょうか? expはexperienceしか思いつかないけど経験じゃピンとこないし・・・・ condはcondition?
expression (式) と condition (条件) だろ
agg.dllを使用して、hoge.svgで画像描写したいのだが 調べてみても >agg.dll (experimental) > 吉里吉里で AGG (Anti-Grain Geometry) を利用して図形描画を行うプラグインです。 > 簡易的な SVG 読み込み/描画機能を利用することができます。 > SVG を描画するには、たとえば >例: >var svg = new AGGPrimitive(layer, "SVG", "tiger.svg"); >var svg1 = new AGGPrimitive(layer, "SVG", "tiger.svg"); > >とします (もとの AGG の SVG 読み込みサポートの制限により、読み込めない SVG が多いです)。 > 詳しくは 吉里吉里ソースの kirikiri2/trunk/kirikiri2/src/plugins/win32/layerExAgg ディレクトリを参照してください。 上記以外の詳しい説明が見当たらない。 layerExAgg ディレクトリの、どこを詳しく読めば、agg.dllに関して使用方法や使用例がわかるのか? 吉里吉里230r2の場合、AGGで、どんなことまでできるのか? またどのようにしたら KAG+tjs(ちょっとだけ)のレベルで使用できるか? 詳しいかた、教えてください
ソース嫁ってことかと。
>>834 >> 詳しくは 吉里吉里ソースの kirikiri2/trunk/kirikiri2/src/plugins/win32/layerExAgg ディレクトリを参照してください。
>上記以外の詳しい説明が見当たらない。
詳しい文書の位置を示されてて、見つけられないのはどうよ
readmeがあればそこをまず見に行く
次にその他説明がありそうな文書を見に行く
ごうさんが関わっているプラグインは大抵manual.tjsをつけてくれてる
……と思ったけど説明少ないし、Layerに加わった拡張はプロパティっぽいな
838 :
名前は開発中のものです。 :2008/11/06(木) 08:14:00 ID:0b4Dga9+
質問です。 レイヤーの関係なのですが、メッセージのレイヤーを出したり消したりと繰り返したいのですが、 以下の方法ではつきっぱなしになります。 初心者なりに調べようとはしたのですが、なかなか解決法が分からなかったためにここに野書かせていただきました。 どなたかおわかりの方いらっしゃいましたら、よろしければ回答お願いします。 [image storage="bgi-001" layer=base page=fore] [wait time=3000] [layopt layer=message0 page=back visible=true] [trans method=crossfade time=1000 layer=message0][wt] [backlay] [layopt layer=message0 page=back visible=false] [trans method=crossfade time=1000 layer=message0][wt] [backlay] [layopt layer=message0 page=back visible=true] [trans method=crossfade time=1000 layer=message0][wt] [backlay] [layopt layer=message0 page=back visible=false] [trans method=crossfade time=1000 layer=message0][wt]
839 :
838 :2008/11/06(木) 08:26:41 ID:0b4Dga9+
sage
追記失礼します。
上げてしまいました、、、ごめんなさい。。。
えと関係ないとは思いますが、吉里吉里及びKAGは最新版です。
KAGと心中様の
ttp://yokohama.cool.ne.jp/pia/kag0301.html の
「……計画性のない……」
と
「こんなもんかなー」
の間に挟まれたものも実行するとレイヤーは表示されるものの文章が表示されないので、
だから、もしかしたらバージョンの違いなのかとも思ったのでいちお報告です。
一度に書かずに申し訳ございませんでした。。。
2.30 Rev.2で再現しました。 取り敢えず、 1.[trans]タグでlayer属性の使用を止めるか、 2.[layopt]でvisibleの替りにopacityを使用するかで対処出来ました。 [trans]でlayerを指定した場合は、 レイヤのvisibleは反映されないということのようです。 (リファにある制限に該当するのかバグなのかは調べていません)
普通に仕様通りの動作だね。 トランジションは描画されてる内容を差し替えるもの だからvisible指定はあくまで元のものが維持される。 backlay と複合して表示のon/off で使うときは 全体で処理するのが基本 opacity 同様の理由で order/absolute も変更できない backlay と visible を
編集中におくってしまったスマン opacity 制御でもいいんだけどバグの温床になりやすい。 あと opacity いじってフェードするだけなら trans より move のが効率はいい。 backlay せずに常に back で image/freeimageするという方法もあります
843 :
838 :2008/11/06(木) 13:17:44 ID:zGehfMY+
早い対応、誠にありがとうございます! いまいちタグについて理解してなかったみたいです……わかりました。それでは、頑張ってみたいと思いますm(_ _)m
質問します 1枚の画像に文字を手書きで描いて、それをクリックしていくごとに表示したいのですが、 どうすればいいでしょうか? 地道に黒い画像を剥がして行くしかないのかな・・・
>>844 もうちょっと具体的に書いてくれないと、何を言ってるのか分からんのぜ
_______ |男は――名前を| |名無しといった | | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ みたいな字が手書きで描かれた画像があって、それを、 _______ |男は | | | | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ クリックすると、 _______ |男は――名前を| | | | |  ̄ ̄ ̄ ̄ ̄ ̄ ̄ こんな風に表示したいんです
pimageタグを使う。 詳しくは、KAG System リファレンスを参照。
>だから、もしかしたらバージョンの違いなのかとも思ったのでいちお報告です。 >早い対応、誠にありがとうございます! ここは公式じゃないぞ
マルチっぽくなってすいません 学び始めてもいない初心者なんですが 文章を表示するとき、 ファミコンのドラクエや探偵物や逆転裁判などみたく、 一文字ごとに音を出す表現って吉里吉里では出来るでしょうか? 文章が表示されるとき「ポポポポポポ・・・・」みたいな音が鳴るアレなんですけど NScripterスレでは「できない」と言われたんですが、同様なのかな
そういう表現の仕方はNscripterでも同様 1文字書いて音出し命令置いて1文字書いて音出し命令置いて・・・ とやれば出来るけど、糞重くなるだろうね。 音なんか出されてもうざいだけだしやめといた方がいいかと
タイプライタープラグイン使えば出来るんじゃない? ミニゲームなら雰囲気出て楽しいかもね
そういうプラグインがあるんですか!
ありがとうございます探してみます。
ちなみにNscripterではそういうプラグインを使っての表現などは無理ですかねえ・・・
>>851 ご忠告ありがとうございます。そういう表現がどうしても必要な事情があるんです
俺ならそのシーンだけフラッシュにするかな。 全編そうなら諦める。
どっかで見たよそのプラグイン
KSPか懐かしいな
>850 KAGのテキスト表示は内部で1文字ごとにchタグに分解されるから、 MainWindow.tjsのchタグを記述してるところの、 var text = elm.text; の前の行ぐらいに、 if(!f.noPlayTypeSe) se[0].play(%[storage:"pi.wav"]); とでも追加するといいよ。
GEKIOMO☆
な〜んだ
ファミコンのポポポって文字数と音合って無かったよね
そういう演出は昔のパソコンのほうがあったかな
Nスクではあるが昔ねこねこソフトで似たようなことやってたね >ポポポポポ あれはメッセージ(2、3行単位)ごとに頭の部分で『ポポポ』ってSE流してた(多分) だけだったけど、特に違和感は感じなかったよ うるさいなとは思ったけど。 ついでに質問 フリーセーブモードの長所とか短所があれば適当でいいんで教えてください
>>864 適当な想像だけど
長所
セーブの数が無制限?
短所
どこにセーブデータを置いたか分からなくなるかも
>>864 自身はどう思っているの?
特にこだわりないなら、「rclick_tjs.ks」辺りが落としどころでないかい。
標準のファイル選択ダイアログが表示されると雰囲気壊すから嫌ってユーザーさん
多そうだね。(自分はファイル整理がし易くて好きだけど)
>>864 セーブしにくいところが面白いゲームもあるからな。
普通のノベルやAVGではあんまり関係ないだろうが。
一見どこでもセーブできるように見えて選択肢が表示されてるときだけセーブできないとか
>>868 それはムカつくだけだろう
時々そういうのがゲーム性だと勘違いしている作者がいるが
セーブしにくいのが面白さになると言ったらバイオハみたいなタイプかな
>>869 昔10回しかセーブ出来ないみたいなゲームあった記憶があるが
超クソゲーの烙印を押されてたもんな
Yu-Noってやつは、物語の設定とシステムがかみあってて感じが出てた。 めんどくせーとも思ったけど、今思えば悪く無い。 時間軸を行ったり来たりして遊ぶんだけど、入手したアイテムを使って時間移動するって設定で アイテムを任意の時点に配置するのがセーブの役目みたいな。だから最初は一箇所のみ。 10年も前の話だから違ってたらごめんよw
今の若者向けでは無い
ゆとりか
あまりにもセーブしやすいとぬるいってんで責任者が切れたゲームもあったな 昔のゲームはセーブが地点がおかしくて嵌る要素いっぱいだったのに 今はどのゲームも嵌りにくくなくなったよな フラグばっきばっきに折って進行できなくなったのも良い思い出だ
すみません、初心者です。 サブルーチンとマクロと関数の違いを教えてください。 特に後者二つ。
セーブは出来ないけど実は通過後に戻ることは出来るとか 親切なような不親切なような微妙な機能
「ロードするたびにセーブしたところよりちょっと戻されるバグがあるんですが」 っていうクレームが多い。
昔のゲームはセーブポイントの間隔あったし難易度が高い なぜここでセーブ?ってとこでセーブしておかないと痛い目みるとか さらに下手なとこでセーブすると二度とクリアできないというゲームもあった
昔々、Deeタソという、可愛らしいマジカル少女がいました。
パラポラピレ〜。Deeタソは呪文を唱えます。
輝く光と共に世界にキリキリとカグの人造姉弟が誕生しました。
(中略)
Deeタソは、カグの紹介状を書くことにしました。
―――― カグは、脚本にしたがって、舞台を入れ替えたり、
音楽や効果音をならしたりが巧いです。役者さんに舞台の立ち位置を
カンペで知らせたりもします。
カグとコミュニケーションするには、脚本にタグという魔法言語で幾つかの
呪文を書いておきます。(タグ語は別表にまとめておきます。マクロという
他の呪文を組み合わせて使うためのスペシャルコンボもあります)――――
Deeタソは、可愛らしく溜息をつきます。
カグの守護精霊の栞・ラベルちゃんについては、
ツンデレって説明しておけば、ハードル下がるかしら?
そうそう、使い間のT.J.エスについても触れておくと…………(´・ω・`) ショ
ボーン。゜゜(´□`。)°゜。KAG System リファレンス 嫁!!
>>875
Deeたんハァハァ(;´Д`)
882 :
753 :2008/11/11(火) 01:52:12 ID:LBqIY4w6
>>881 それ、バグfixとかでxp3パッチで作品をアップデートした時、セーブデータの互換が
無くなる危険があると聞いたことがあるんだけど、どうなんでしょうか?
>>875 あまりにも漠然とし過ぎていて説明のしようがないよ。
どうしてそれらを同じ様なもののように思ったのか、それが判らないと説明もできないだろう。
>>875 エスパーな俺からアドバイス
いいから全部KAGで作れ
callタグでサブルーチンに飛ばす?
今のスキルじゃ流れを追えなくなるから止めとけ
同じ処理を繰り返す箇所は 追 々 マクロを作って置き換えろ
関数?ヘタにTJSで書くと栞に保存されない動作が出てきておかしくなるぞ
それを見極められないうちは止めとけ
[eval exp="tf.c= tf.a + tf.b"]ぐらい出来てりゃヨシ
なにぃ、今時のエロゲみたいなカッチョイイエフェクトとか、
痒いところに手が届くコンフィグ画面とかやりたいだと?
アフォか、んなことよりゲーム本体を最後まで作るのが先だろうが!
そうしたら多少はスキルが上がって作れる…かもしれない
TJSのトークンで"<->"という記号があるのですが、 どういう風に使うのでしょうか?
("<->")あたし、きれい?
>>885 a <-> b
aとbの値を入れ替える
ありがとうございました。 わざわざ一時的な変数を用意しなくても良いんですね。
一時的な変数を用意しないためには b-=(a=(b+=a)-a) とかでも
あーいや同じ型の数変数じゃないと怪しい
892 :
864 :2008/11/13(木) 11:32:07 ID:QhCOFEWw
お礼も出来て無くてすみません>フリーセーブ ありがとう、参考になった とりあえず文句は出ないだろうしおとなしく右クリックで作る事にしました
変数名に日本語をつけると何か問題が起こるんじゃないかと思ってしまう俺は考えが古いですか? 今まで日本語名一切つけないでがんばっていたのですが、音声の管理が死ぬほどめんどくて、さすがに心が折れそうでつ。
f["キャラ名"] といった形で扱えば精神的には楽かと。
895 :
名前は開発中のものです。 :2008/11/14(金) 16:05:40 ID:qaQt2+O7
質問させてください。 下記スタッフロールの流れにて、クリックしている間のみ速度を10倍にしたい場合、 (下記はクリックすると最後まで10倍で流れてしまう)どのようにすればよろしいのでしょうか? [iscript] function myLeftClickHook(){ with(staffroll_object){ .moveStartTick=System.getTickCount(); for(var i = 0; i < .foreLayers.count; i ++) { .foreLayers[i].orgY=.foreLayers[i].top; .foreLayers[i].orgX=.foreLayers[i].left; } .moveTime=.moveTime\10; .current = System.getTickCount() - .moveStartTick; .current = .moveHeight * .current \ .moveTime; } kag.leftClickHook.remove(myLeftClickHook); return true; }; [endscript] @eval exp="kag.leftClickHook.add(myLeftClickHook)"
896 :
名前は開発中のものです。 :2008/11/14(金) 16:06:35 ID:qaQt2+O7
;ここからスクロール処理です(staffrollプラグインのサンプルそのまま(^^;) @call storage=staffroll.ks @staffrollinit @staffrolltext x=100 y=80 text="スタッフ1" @staffrollstart height=1000 time=20000 ;ここで終了を待ちます。終了時間になるまで*loopの中でループしています。 *loop [eval exp="tf.残り時間=staffroll_object.moveStartTick+staffroll_object.moveTime-System.getTickCount()"]\ [if exp="tf.残り時間>0"][wait time=200][jump target=*loop][endif]\ *scroll_end @staffrolluninit [eval exp="kag.leftClickHook.remove(myLeftClickHook)"] 終わりです[p]
Nスクでいう『for〜next』にあたる吉里吉里の命令って何ですか
KAGのタグで、使用するレイヤーをlayer=1などと指定できますが、 このレイヤーの指定を、 var hoge = new layer など、自分で新たに作ったレイヤー(この場合hoge)にする事は出来ませんか?
>>895 staffrollいじったことないけど
それだとマウスボタンを離したときの動作は別に書く必要があるのでは?
WindowクラスのonMouseDownとonMouseUpイベントを使ってみるとか
作中のエロシーンにループ動画入れてる人って MPEG、wmv、もしくはフラッシュ、どれにしてます? ユーザーからすればどれがいいんじゃろ?
ユーザーは画質最高ででかくて軽いのがいいに決まってるだろ どこを妥協するかは制作側で考えることだ
>>898 たぶん、その貴方のlayerクラス(記述)では、無理だとおもわれます?!
1.タグで使用したいレイヤは、laycountタグ等で確保する。
そのKAGレイヤをtjs側で使用することは比較的容易に出来ます。
KAGレイヤへのアクセス方法は「KAG System リファレンス」-「TJSをもっと使うために」を参照。
2.tjs側でレイヤを追加したいなら、ある程度、tjsに慣れているなら、
「MainWindow.tjs」でlaycountタグを実行している部分を追ってみて下さい。
※どちらも、KAGのメッセージレイヤか前景レイヤが対象になります。
それがイヤなら、既存のタグは使用しないで、全部、自前でtjsしてねっ!
具体的に何をしたいのかを、質問された方がよさげです。
900 環境依存せずに安定再生できるのは、flashとMPEG
>>902 例えば、TJSで自分で作ったレイヤに読み込ませた画像に対して、
KAGのanimstartを使いたかったりするのですが・・・
>>904 何かKAGの前景レイヤを使用したくない事由があるのでしょうか?
そうでないなら、KAGの前景レイヤを使用して下さい。
>>903 Flash はすごい環境依存するだろ……
まず Flash Player がインストールされてないとだめで、さらにバージョンに依存する
同人サイトの吉里吉里ゲームを適当にやってみてバグ探ししてたんだけど、 linkやbuttonをsで止めてる時にunlockを忘れてrclickに飛ぶ処理をしてるものが幾つかあった 皆も変なバグを残さないようにボタンいろいろ連打テストはやっておこうw
だいぶ前にこのスレで、 「二次元配列を、事前に使う分だけ宣言しなくても 好きな時に好きな場所に値を代入して、エラーを出さない方法」 として、 class AutoArray extends Array { function AutoArray() { super.Array(...); Scripts.setCallMissing(this); // missingメソッドを有効にする } function missing(get_or_set, name, value) { if (!get_or_set) { *value = this[name] = []; return true; } return false; } }; という方法を教えてもらったのですが、これで宣言した変数 f.a = new AutoArray(); f.a[100][200] = 1; は、一度栞の保存→読み込みを行うと、データが失われてしまいます。 データを保持するにはどうすればいいのでしょうか?
>>903 wmvが一番汎用性高いのかと思ってた。
windowsならどんな環境でも再生できるのかと。
911 :
名前は開発中のものです。 :2008/11/15(土) 13:37:13 ID:56rIt8Hu
>>910 WMV は Windows Media Player 9 以降、あるいは Codec パックがはいってないとダメ。
MPEG が一番環境依存性は低いが、そのかわり画質は低い。
雫組の日記より↓↓ システムが吉里吉里じゃないにしても 雫組はムービーにwmv使ってるってことかね。 ---------------------------- WindowsMediaPlayerのバージョンによってWMVのエンコード画質に変化がある。 メディアプレーヤーによってエンコードが左右されるとは考え辛いんだけど、実はエンコードソフトはメディアプレーヤーの構成ファイルを利用して圧縮している場合が多いようだ。 うちではAVI→WMVのエンコードにTMPGEnc4.0Xpressを使っているが、その時インストールされているメディアプレーヤーのバージョンによって、明らかに画質が低下してしまう。 この辺の情報がネット上を調べても見つけられなかったので、ちと紹介。 画像はメディアプレーヤーのver.11とver.10、それぞれをインストールしている際に行ったエンコード画質の比較。 特に画質に変化が現れる動画の出だし、1フレーム目をクリップ。 明らかにver.11のインストール時のほうが、ブロックノイズが目立ち汚い。 このブロックノイズは再生が進むにしたがって消え、数秒後には良好な画質にもどるのだけれど、ウチのようにループアニメーションを利用する場合は問題がある。 最終フレームと1フレーム目に大きな画質の変化があり、ループの瞬間が如実に分かってしまうからだ。 これはかなり興醒めだったりするので旨くない。 なのでループアニメーションを使う作品を作る際にはメディアプレーヤー10がお薦め。 ----------------------------
あ、ソフトの詳細みたら雫組もやっぱ吉里吉里らしい。
915 :
895 :2008/11/15(土) 23:09:59 ID:Rt5VzMaa
>899 それはなんとなくわかるんですけどね。 結局書き方がわからないのです。 ありがとうございました。
メッセージレイヤを2つ使って、名前を表示させる部分と、地の文と台詞を表示させる部分で分けているのですが、
ttp://zakuroso.nobody.jp/kiri.htm#mlname 上記のサイトだと
[current layer=message1]ハル
[current layer=message0]眠そうだね[p][cm]
[current layer=message1]こー
[current layer=message0]昨日夜遅くまでテレビ観ちゃってたからなあ……[p][cm]
というように書いてあり、レイヤを交互に使うようになってるのですが、
名前をレイヤ1に、文章をレイヤ0にと毎回記述すると見にくいので、
【名前】 みたいな感じで書いて、【】内だけをレイヤ1に表示する。
といったような処理をする事は可能なのでしょうか?
調べてみたものの、見つけられなかったので質問しにきました。
っマクロ
>>916 マクロでできるんじゃないかな?
KAG Systemリファレンスに使い方かいてあるよ
[macro name=message0]
[current layer=massage0]
[endmacro]
で登録して
[message0]メッセージレイヤ0に表示する文章[p][cm]
みたいに使う
つーかそれじゃ煩雑すぎない? 属性使った方がいいだろ。 [macro name=name] @p @cm @current layer=massage1 @ch text=%chara @current layer=message0 [endmacro] として [name chara="ハル"] 眠そうだね [name chara="こー"] 昨日夜遅くまでテレビ観ちゃってたからなあ…… [p][cm]を含めるかどうかは、文章表示のやり方によって変わってくるが。
>>919 コピペでキャラ別に作って[ハル]とか[こー]とかだけで出来るようにした方が最終的にラクじゃね?
921 :
916 :2008/11/16(日) 15:11:41 ID:5Wm1tQOo
>>917 >>918 解答ありがとうございます。
けど、すいません、書き方が悪かったので訂正させてください。
マクロは最初から使用しようと思ってたのですが、何が言いたかったかというと、
[current layer=massage0]
という命令を入れると、そこから先が全てレイヤ0に入ってしまうので、
[current layer=message0]眠そうだね[p][cm]
[current layer=message1]こー
という感じで、地の文に切り替えるためにレイヤを1に戻す表記を必要がありますよね?
そこのレイヤを戻すという、切り替え部分をどうにか省けないでしょうか?
ということが書きたかったことです。
初期設定で最初からレイヤ0に地の文が入るので、【】の中身だけを自動的に検出してレイヤ1に入れることができるのなら、
レイヤの切り替えをする手間が省けるのでは? と思ったので。
勘違いさせてしまってすいませんでした。
>>921 マクロの中でレイヤ1まで戻すマクロ組めばいいんじゃね?
923 :
916 :2008/11/16(日) 15:24:05 ID:5Wm1tQOo
>>919 >>920 921を書いてる間に書き込みありがとうございます。
やろうと思ってたことができました、ありがとうございました。
マクロ定義の中にマクロって入れられたんですね、初めて知りました。
名前部分はスクリプトを入れる時に一括で置き換えるので、一行で表記できるのなら特に問題はないです。
余談なのですが、
××
というのを
●●、
□□□。
みたいな感じで改行等を含めて置き換えることのできるソフトというのは存在しないでしょうか?
そんなツールがあるととても便利だと思ったのですが、色々エディタを見てみたものの、そんな感じの機能が見つけられなかったので。
924 :
908 :2008/11/16(日) 15:29:11 ID:gNR8Brh/
>>923 少し意味が取れないが、改行含んで検索・置換したいってこと?
それなら正規表現検索できればいいだけだから、大体のエディタにオプション
で機能ついてると思う。
926 :
916 :2008/11/16(日) 15:58:13 ID:5Wm1tQOo
>>925 正規表現検索のちゃんとした意味を理解できてなかったので、調べたらわかりました。
自分のエディタにもちゃんとついてました。
ありがとうございます。
吉里吉里で作ったソフトをDLsiteに登録すると 向こうで勝手に解析して CGや文章の不適切な表現をチェックしてるみたいなんだけど どうやって展開してるのかね? シナリオ001ファイルの高校生って表現を修正してくださいみたいに ファイルまで指定してダメだしされたんで ナチュラルプレイでチェックされてるとは思えんし。 最近の吉里吉里に対応した展開ツールって出回ってる?
最近もなにも、昔から簡単にばらせる。
>>924 そのScripts.setCallMissingの出元は?
>>929 前にこのスレで「二次元配列の変数をあらかじめ宣言しておく方法」
を質問して、
>>908 の関数を教えてもらいました
その13の
>>573-574 です
これだと、確かに自由に二次元配列に要素を入れられるのですが、データの保存には対応していなくて
>>930 わかんないけど、内部を改造して
オンデマンドに作られる配列がそのつどf.に入れられるようにすればよいような
>>930 なんかそのAutoArrayって代入参照は問題なく行えてるっぽいんだけど、
countも増えないし、saveStructも空配列を吐くし、thisの要素としてちゃんと
格納されてないんかもしれん
>>928 どうやってばらすの?
昔はエロゲユーザーがCG抜くための展開ツール出回ってたけど
最近の吉里吉里に対応したやつなくね?
その昔のがそのまま使えるよ
>>933 普通に各所のそれを使うなり、ツール作るなり出来るじゃん。
吉里吉里がオープンソースなの忘れたか?
linkなんかで使うhintが見えないってたまに言われるんだけど これって原因はWindows側?こっちではどうしようもない?
画像ファイルの読み込みについて質問なんですけど、 test に対応するマスクで、 test_m を作成した場合、 test を読み込むとマスク処理がオートでかかるじゃないですか? キャラクラーの表情差分なんかで、マスク部分はtestと変わらない test2 というファイルを作成した場合、test_mをマスクとして使用することはできないでしょうか?
>>937 なんか、"_m"がつくファイルがあれば……とかやってるのは
吉里吉里内部っぽいんでそのレベルで弄らなきゃ無理っぽい
ただ、Releaserは内容が一緒の、別のファイルはまとめて、
1つしかないように圧縮するとかどっかで見た記憶があるので
素直にtest_mをコピーしてtest2_mを作って対応かな
940 :
937 :2008/11/18(火) 07:59:44 ID:TTlsiLjD
>>938 >>939 解答ありがとうございました。
なるほど、手間はかかっても容量はかからないんですね。
手間かけて頑張ることにします!
質問です。 左右を見回すような演出で、背景レイヤーだけスクロールさせたいと思っています。 この場合、続きの背景を2枚用意して、スクロールトランジションを 右→左 左→右 とかけるしかないのでしょうか?
画像を横につなげて一枚にして右左
943 :
941 :2008/11/18(火) 21:36:52 ID:vFFfrKHe
画面サイズよりも大きい画像にトランジションできるということでしょうか? 違うサイズの画像を指定するとエラーになるんですが・・・ 初心者質問ですみません
move使うとか
あー背景レイヤってmoveできなかったんだったごめん スクロールトランジションでうまくいかないんなら、前景レイヤを背景代わりに使ってmoveすれば 画面をはみ出すような大きい画像でも動かせる
946 :
941 :2008/11/18(火) 21:57:02 ID:vFFfrKHe
前景レイヤを背景代わりに使うというのが盲点でした なんか、背景は背景じゃないといけないと思いこんでた・・・ ありがとうございます!
確かに背景レイヤは必須じゃないね しょっちゅう操作するなら背景は常に前景レイヤの一番下のを使うと決めておいた方がいい 逆に背景は普通に640×480で表示するだけの作品ならそのまま背景レイヤを使っている方が 感覚的に間違いが少ないだろうけど
吉里吉里はライセンス的にも有利だと思ってるけど、あってる? 吉里吉里 : 商用・フリー・シェアウェア・同人全て無償 NScripter : フリー・シェアウェア・同人は無償、商用、一作につき40万円(交渉可) LiveMaker : フリー無償、シェアウェア・同人は販売価格3,000円まで無償 Yuuki! Novel:フリー・シェアウェア・同人は無償、商用は事前許可が必要です。 コミックメーカー3: 商用・フリー・シェアウェア・同人全て無償
>>948 せめて下3つの代わりにYU-RISを挙げるべき。
キャラを出す時に、透度を変えてキャラが浮かび上がるようにして、 差分に変えるときはクロスフェードのトランジションをかけてるのですが、 キャラを複数同時に出す時に ・キャラAをレイヤ1に出す ・キャラBをレイヤ2に出す という処理は同時にできるのですが、([wt]を使うと同時に出てきてくれないので) その後をクリック待ちにして、 ・キャラAの差分を2に変える ・キャラBの差分を2に変える というのを同時にやろうとすると、一つのレイヤに複数のトランジションを指定することはできません。 と言われてしまいます。 ・キャラAの差分を2に変える [p] ・キャラBの差分を2に変える とすればエラーは出ないのですが、それだと2キャラを同時に差分を変化させることができず、1キャラずつしか変化させられません。 どうにか複数のキャラを同時に変化させることはできないでしょうか?
>>949 下の3つの代わりって言うからGUIで開発できるのかと思ったじゃないか
YU-RIS : サポートなし・条件付なら商用も無償
>>950 backlayしてbackにキャラABの差分を読み込んでトランジション
>>953 [image storage=A layer=1 left=250 page=fore visible=true opacity=0]
[move Layer=1 path=(250,0,255) time=200]
;
[image storage=B layer=2 left=250 page=fore visible=true opacity=0]
[move Layer=2 path=(250,0,255) time=200]
;
[p]
;
[backlay]
[image storage=A2 layer=1 left=250 page=back]
[trans method=crossfade time=200]
;
[backlay]
[image storage=B2 layer=2 left=250 page=back]
[trans method=crossfade time=200]
これでやってたのですがエラーが出てしまいます。
自分としてはどこが間違っているのかわからないです(書き方の効率が悪いとかは別として)
あと、[move]のpathの()内部の数値にposや、%を入力してみたのですが駄目でした。
どうにかそこを指定する方法はないでしょうか?
質問ばかりになってしまってすいません。
>>954 キャラA と Bの差分を読み込んで から トランジション
>>954 理解できました。
画像を両方読み込んでからトランジションしなければいけなかったのですね。
ありがとうございます。
>>954 path属性で変数その他を使いたいときは、最終的にpathの形式になるような文字列を渡せればよいので
[move layer="0" path="&'('+tf.x1+',0,255)('+tf.x2+',0,255)('+tf.x3+'0,255)'" time="2000"]
左端位置だけtf.x1〜tf.x3の変化があるようなmove
わかりにくければ@付き文字列を使ってもいいし、evalやiscariptで生成してもよい
[iscript]
tf.path = "";
for(var i = 0; i < tf.pos.left.count; i++){
tf.path += "(" + tf.pos.left[i] + ",";
tf.path += tf.pos.top[i] + ",";
tf.path += tf.pos.opacity[i] + ")";
}
[endscript]
[move layer="0" path="&tf.path" time="2000"]
どうでもいいけど、属性でLayerなんて書くと無視されると思うよ
↑タグの名称と属性は大文字で書いても小文字に変換されてなかったっけ 今、調べてる時間がない。誰かあと頼む。
960 :
954 :2008/11/21(金) 07:31:35 ID:WIYQ5vSC
>>958 詳しく書いて頂いてありがとうございました。
最終的にその形式になればいいわけですね、わかりました。
>>959 時間が無いのにありがとうございます。
自分のとこで一応動いているので、大文字でも問題無いみたいです。
>>959-960 おはよう
どっかで変換されているのかな
あー。確かに内部のパーサのところで小文字に変換してるっぽい
試してないけどいけるっぽいすね。すみません
962 :
954 :2008/11/21(金) 10:59:02 ID:WIYQ5vSC
>>961 おはようございます
いえいえ、指摘されるまで気付かなかったんでむしろよかったです。
ks見直したら、なぜかあそこだけ大文字Lだったんで。
963 :
959 :2008/11/22(土) 10:58:09 ID:UObqoTx5
興味ある人いなさげ、一応、回収m(_ _)m var hogeKP= new KAGParser(); hogeKP.curStorage= 'test.ks'; var hogeA=[]; hogeA.assign(hogeKP.getNextTag()); System.inform(hogeA.join('/\n')); <test.ks> @ABCDEFGHIJKLMNOPQRSTUVWXYZ_TestN ABCDEFGHIJKLMNOPQRSTUVWXYZ_TestP=TestP
かぐや姫Studioって再配布しても大丈夫だろうか?欲しい人結構いそうだけど
再配布してもいいですかって作者にメールしてみたけど返事来ない
968 :
名前は開発中のものです。 :2008/11/24(月) 06:27:01 ID:NKRuyGCn
うちだとKKDE起動すらしねえw
>>967 うげ、Documents and Settingsに設定保存するのか
exeと同階層にini置けばいいのに
Vistaのせいかな
おのれ〜Vistaめ
俺も起動しない・・・
KKDEうごかねぇとか言っている人は.NET Framework 2.0が入っていないんじゃないかな? あと、.NET Framework 1.1以下しか入っていない場合もエラーで起動しないよ。
.NET Frameworkってユーザーに掛けさせる手間が大きすぎないかね Visual Basic 2.0とかの頃は数百KBのDLLちょろっと落とすだけだったのにw
.NET Frameworkは全部敬遠している。単に食わず嫌いで。 つか、最初はかぐや姫で作ってたけど、メモ帳で作り出すと 便利機能とかむしろ邪魔くさく感じる体になってしまった。
メモ帳はねえよw せめてTeraPadとかさ
>>976 それはその通りなんだよね。
容量にして24MBもあるのは大きすぎだし、インストールにもそれなりに時間がかかるし。
Vistaには最初から入っているからそのあたりは問題ないんだけど、
使っているやつあんまりいないというのが問題だ。
DirectXの最新版は入れてる奴が何言ってんだか、というのはあるけどねw でも.NET Framework 2.0製のツールは最近かなり増えてきてるよね。
DirectXがあんま鬱陶しくないのは数百MB〜のゲームとかに光メディアで
くっついてきて「DirectXもインストールする?」みたいになるからかな
ちょっとした機能のユーティリティに
>>979 だからさ
.NET Frameworkは全バージョン入ってるけど KKDE起動しようとするとエラー吐いて強制終了する
次スレは? テンプレ変えなくていいの?
>>612 の案には反対。テンプレとしては自我が入り過ぎ。
(関連書籍まとめてレビューしてる外部サイトへのリンクなら悪くないかも…)
↓追加しといてもいいかも。
【講座 ※注意】
KAGと心中 ※吉里吉里1/KAG2時代の遺物(思い出のスキャンティ……)
ttp://yokohama.cool.ne.jp/pia/ もう残レス少。995で議論が未消化なら、現行のままがOK!
KKDE version 2.0.0 α1で、 ファイル →新規作成 →プロジェクトのインポート →実行ファイルのパス: の右の [...] のボタン押すとエラー出るな。 win2kのおいらのとこだけなのか?
>>985 なぜか片言なのが気になるが、おおむね同意
書籍紹介の方は俺もいらないと思う
リファレンスも含めてフリーで十分教材は揃ってるのに、
買わなきゃ作れないような誤解を招きそうだ
ただ、心中のほうも作者の許可がないから大っぴらには…ゴニョゴニョ
じゃあ今まで通りでいいんじゃないの?
ところで
>>1 に載ってる過去ログサイトは
もう更新されないのかな
おつ
993 :
985 :2008/11/27(木) 12:52:18 ID:18utrnY1
>>991 Zカレー
>>990 スレ立ての前にテンプレ談議をもう少ししといた方がいいのかと思った。
事前にテンプレ談議がこなれていれば、自分のような比較的不案内な者でも
次スレ立て易いと思うし。
自分が初心者の頃には、もうオリジナルの「KAGと心中」はなかった。
当時の事情は、ここの過去ログでみかけた以外には知らない。
講座等の賞味期限は、本来、ユーザーが自分で判断すべきこと。だけど、
「KAGと心中」は、当時の公認「吉里吉里/KAG推進委員会 本部公式サイト」の
コンテンツだったそうで…別格で注意書があってもいいかとおもた。ゴニョゴニョも
別格ということで特例ゴニョゴニョ。
…なんだけど、今更、テンプレに入れるほどのことでもなかった気がしてる。
(古いミラーであることと、なんか別格ってニュアンスを短く表したかったんだけど、
遺物という言い方はマイナスイメージがあってよくなかったか。
残像と言ったほうがまだましだった?)
KAGと心中に思い入れがないので
正直それほど議論する必要のある話だとは思わない
それならどちらかというと
書籍紹介の方がまだ話す意味がありそうだけど
さらっと決まったことに不満もない
>>991 乙
心中は一言注意添えてリンク残す今の形でいいと思う なにも消すこたぁない
996 :
990 :2008/11/27(木) 18:33:20 ID:7ptOs0vH
スレ立て乙でした 心中は推進委員会内のコンテンツでどうのこうのというより、実際に内容がちゃんとしているので 講座としての価値はあると思う。思い入れ云々というよりか、議論するポイントはそこじゃないかな ちゃんと注意したうえでリンクってのはありだと思った 書籍情報は、一応公式ダウンロードページにちゃんと載っているんだよね 敢えて書籍の情報を示したければ、ダウンロードページを tvp/#downloads にして、書籍などの 情報は tvp/#supports にリンクするとか? 1あたりで どっちにしろ、次のときは議論したほうがいいね
うめ
うめ
埋まりますー
1000なら吉里吉里3が出る
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。