トップページgamedev
1002コメント407KB

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

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

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

吉里吉里スレ過去ログ倉庫
ttp://bbs.bokunatu.com/krkr/
吉里吉里2/KAG3雑談質問スレ_過去ログ
ttp://www.geocities.jp/kirikiri_log/

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

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

前スレ
■吉里吉里/KAG/TJS雑談質問スレ■その28
http://peace.2ch.net/test/read.cgi/gamedev/1391503520/
0400名前は開発中のものです。2015/08/15(土) 20:50:22.51ID:wj7jIf4x
>>399
どちらも横が4の倍数ピクセルなら変わらない
そうでないならメモリアラインメントの関係で差が出る可能性がある
詳細はLayer.mainImageBufferPitchを見るとわかるかと。
-layer.mainImageBufferPitch * layer.imageHeight
で大よそのメモリサイズが図れる(実際はprovince領域メモリとかあるのでもっと大きいけど)
0401名前は開発中のものです。2015/08/15(土) 21:20:37.85ID:226vrWd9
ふむふむ
4の倍数なら問題なしね
じゃあどっちでもいいか
0402名前は開発中のものです。2015/08/17(月) 18:51:26.20ID:pifiQHxB
ちょっと教えて欲しい
.ksのプラグイン作ってみたいんだけど、表裏のレイヤー管理やセーブラベルの仕様、その他プラグインで継承できるクラス諸々について知りたいんですが
詳しく載ってるサイトありませんか
0403名前は開発中のものです。2015/08/17(月) 19:39:28.02ID:QjYL6+a8
>>402
TJSに挑戦!
http://tjs2.info/
0404名前は開発中のものです。2015/08/18(火) 03:56:36.73ID:PvNqBXv6
>>403
ありがとー
0405通りすがり2015/08/18(火) 23:21:01.78ID:v7ssVe6P
すみません
検索で解決策捜してる
通りすがりの初心者なんですがちょっと質問
α動画を吉里吉里で使ってるんですが
(エンコーダーとかがセットで入ってるやつ)
時々、α動画再生時に偶に落ちる事があるんですが
(40〜50回再生してみて1回くらい)
思い当たる理由とか解る方いませんか?
0406名前は開発中のものです。2015/08/18(火) 23:29:50.75ID:kuJgzUnU
>>405
たしか完全に透明なフレームがあると、
アルファチャンネルを可逆にしてると落ちる
0407通りすがり2015/08/19(水) 01:06:47.05ID:ozzdHfnZ
アドバイスありがとうございます
実はエンコーダーがフリーズする事があって理由が解らなかったのですが
何度もやってるうちに透明フレームに関しては自力で気が付いたんです
(検索しても見つからなかったので何度もトライして)。
…で、その対策として右上に1ドットくらいの黒点を入れる事でエンコードして使ってます
あと、α動画は再生指定する時、存在しないファイル名だとエラー表示とかなにもなくていきなりゲームが落ちるとか言うのも気づきました

私はPCの仕様とかどのように動いているのかとか仕組みはよく解ってませんが
可逆圧縮だと不安定になるとかあるんでしょうか?
あるのならば非可逆圧縮も検討しようかと思いますが
(試しに同じように非可逆圧縮で造って何回も再生してみるとか)
ただ、かなり不安定なので落ちない時は全く落ちないのに、
落ちる時は1〜3回目の再生時に落ちるだとかでよく解りません
単にメモリの問題とかなのかな?…とかなんだか悩ましいのです

ゲームなのでプレイ中にエラー表示もなくいきなり落ちられたら切れますよね…
0408名前は開発中のものです。2015/08/19(水) 01:12:50.78ID:lOC5VmCN
>>407
OSごとおちる、とかだと環境の問題の可能性が高いけど、おちるのがアプリだけなら、
再生プレイヤーのバグの可能性が高い

出来ればシンプルな再生処理で、落ちやすいサンプルを準備して、あと、落ちたときにたぶんkrkr.console.log が出来てるだろうから、
それと合わせて楓さんに報告するのが妥当
0409通りすがり2015/08/19(水) 01:38:31.97ID:ozzdHfnZ
OSごと落ちる事は無いので報告した方がいいのかなぁ…?
とりあえずもうちょっと弄繰り回してみます

あと、落ちやすい動画とかもなくてα動画全てが対象なような感じです
(全て可逆圧縮でエンコードしたファイル)
0410通りすがり2015/08/19(水) 08:58:27.70ID:8i68f5Wf
昨日からあれから試したんですが
どうやら
>存在しないファイル名だとエラー表示とかなにもなくていきなりゲームが落ちるとか
というのもなんらかの原因が重ならないと起きない(落ちない)と言うのが解りました
わざと存在しないファイルを記述して試したんですが普通に落ちませんでした
2〜3ヶ月前だったか、落ちてた時はファイルネームが違ってたら100%落ちていたので
ファイルネームを修正してまともに動くようになったのを確認して
そんな仕様なのね?と納得してたんですが…どうも違うようです
もうちょっと弄繰り回してみます
0411名前は開発中のものです。2015/08/19(水) 12:15:49.72ID:KmgvbTfB
どう言う作りにしてるのかわからないがたぶんKAGEXかと思うが、例えばアルファを画面外の右か下にくっつける形で作ろうとしてる場合、
市販されている一般的な分解ツールでは完全な透明フレームは出力されない仕様のものが多い(三社試したが)
で、連番がズレる事があったりしてそれを気づかずくっつけて動画を作るとレイヤーモード関係でエラーが起きる場合がある
動画関係は吉里吉里ではほとんど議題に上がらないし、そもそもノーマル吉里吉里だと再生までの手順やお約束が複雑過ぎてテンプレあっても意味ワカメだから、
このあたりは自力で解決するしか無い
ただ今のところ、KAGEXベースでノーマルのタグのまま再生させようとすると挙動が若干おかしい事を除けば(KAGEXの仕様に書き換えて動かせば問題無し)俺はバグらしいバグは見つけていないから動画そのものの問題の可能性かおまじない(タグ)が何か足りてない可能性が高い
0412名前は開発中のものです。2015/08/19(水) 12:22:21.72ID:OjogH12H
毎回落ちるわけじゃないっていうのならタグどうこうではないだろうなあ
アンチウイルスソフトとか絡んだ環境依存の可能性も

できれば複数の知り合いににもテストプログラムを回してもらうほうがいい
0413名前は開発中のものです。2015/08/20(木) 11:58:09.88ID:C7hRCB+g
ここに載っていたCSVParserを使ってUIを一括管理しようと思ったのですが、このdllはcsvファイルとしてロードせず単純に変数に仕舞ってあるカンマないしタブ形式のデータをカラムには変換してくれないんですね
var parser=new CSVParser();
var stack=new array();
parser="012,456,89,bcd";
stack=parser.parse;
0414名前は開発中のものです。2015/08/21(金) 03:28:13.96ID:2sqZawow
CSVParser.parse()は引数テキストに対して自身のdoLine呼び出すだけで
分割されたarrayが返るわけではないのでその使い方はおかしい(manual.tjsは熟読しよう)
あとparserに文字列を代入してるので元のCSVParserの参照がなくなってたり
parser.parseって関数を直接参照しようとしてたり本当にTJSわかってるのレベルなんですが
まあ一応使い方サンプル書いとくけどもっと勉強したほうがいい

var text = "012,456,89,bcd";
var parser = new CSVParser();
with (parser) {
.result = [];
.doLine = function (c) { result.add(c); } incontextof parser;
.parse(text);
}
var stack = parser.result; // === [ [ "012", "456", "89", "bcd" ] ]
Debug.message(stack[0]*); // -> 012, 456, 89, bcd

stackは二重arrayになってるので注意ね
(text文字内に改行コードがあれば [ [1行目], [2行目], [3行目] ... ]になる)
1行目しか使わないなら doLine のとこ工夫すればどうとでもなる

あとお手軽に文字を区切りたいなら「"〜".split()」を使うという手もある
var text = "012,456,89,bcd";
var split = text.split(","); // === [ "012", "456", "89", "bcd" ]
Debug.message(split*); // -> 012, 456, 89, bcd
厳密にはCSVParserの動作とは違うけど(csv内のダブルクォートの扱いとか)
圧倒的にこっちの方が記述量が少なくて楽
0415名前は開発中のものです。2015/08/21(金) 11:53:11.52ID:98MTb1gv
incontextofの使い方すらいまいち分からないのでネットで勉強しているクラスなので、もっと勉強します!
出来ないと思ったのですが出来てしまうのですね
0416名前は開発中のものです。2015/08/22(土) 00:04:31.95ID:9c8Y/YeL
>>414
splitの後ろのアスタリスクは配列すべてと言う意味とわかるんだが
その使い方ってリファレンスに載ってる?
0417名前は開発中のものです。2015/08/22(土) 10:43:36.59ID:XY/flz1X
配列の引数への展開
http://devdoc.kikyou.info/tvp/docs/tjs2doc/contents/function.html#id215

載ってるやで
0418名前は開発中のものです。2015/08/22(土) 16:48:03.60ID:Yw+oe4Aw
こんにちは

Windows8に吉里吉里2をダウンロードし、exeで作動させようとしたのですが、
「スクリプトで例外が発生しました ストレージstart.upが見つかりません」
と言われてしまいます。

ハードに内蔵されたデータがソフトに対応していないのでしょうか?
ごく基本の話かと思いますが、お答えください。
0419名前は開発中のものです。2015/08/22(土) 18:17:45.88ID:QBljz5A9
>>417
urlthx それで全部ざっと読んだんだが
例:
function func(func_array, *)
{
// func_array で指定された関数に、
// その関数の func_array 内の位置につづき、
// func に渡された 2 番目以降の引数を
// そのまま引き渡して呼び出す
for(var i = 0; i < func_array.count; i++)
func_array[i](i, *);
}

これの意味が良くわからなかった
これ単体の例じゃ引数に何を入れていいかわからなくて?だったので、解説かもう少しわかりやすい例があると嬉しいです

>>418
それdataフォルダ直下にstartup.tjsが無いだけなんじゃ?
0420名前は開発中のものです。2015/08/22(土) 18:37:55.77ID:Yw+oe4Aw
>>419

ご助言ありがとうございます。
ファイルを作り、kirikiri2のexeとKag3のstart.upをコピー
したらメモ帳が開けました。とりあえず、作動させることが
できたので、地道にスクリプトの練習をしたいと思います。
0421名前は開発中のものです。2015/08/22(土) 19:27:20.43ID:QBljz5A9
>>420
いや\kag3\templateに最低限の環境が一式入ってるよ
0422名前は開発中のものです。2015/08/22(土) 19:37:00.92ID:Yw+oe4Aw
>>421
なるほど、ここのstartup.tjsからメモ帳を開いて
というわけですか
0423名前は開発中のものです。2015/08/22(土) 21:21:46.89ID:PSKboffZ
( ゚д゚)
0424名前は開発中のものです。2015/08/22(土) 23:51:09.32ID:+UyPHmSI
初心者 吉里吉里 あたりでググって、どうぞ
0425名前は開発中のものです。2015/08/23(日) 00:24:00.82ID:Yi0wVLCd
やっとわかった
こう言うことか

function func(func_array, *)
{
for(var i = 0; i < func_array.count; i++)
{
Debug.message(func_array[i](i, *)+"だよーん");
}
}

function func0(i, a,b){return a+b;}
function func1(i, a,b){return a-b;}
function func2(i, a,b){return a*b;}

var f_array = [func0,func1,func2];
func(f_array,1,2);
0426名前は開発中のものです。2015/08/24(月) 23:33:44.07ID:G5fW+F0R
class a(HOGE){
var hoge;

function a(HOGE){
hoge=HOGE;
}

function b(){
var moge = hoge+"moge";
}
}

吉里吉里ってこのメソッドbの変数mogeに直接アクセス出来る?
global.a.b.moge?
0427名前は開発中のものです。2015/08/24(月) 23:41:18.86ID:P6/CUZ2P
何故クラスaに引数?があるのか
0428名前は開発中のものです。2015/08/24(月) 23:49:14.72ID:G5fW+F0R
可能かどうかなのだが、やっぱクラスの引数から引っ張るしかないか
0429名前は開発中のものです。2015/08/25(火) 18:22:29.00ID:DnvIK6/g
そもそもfunctionの中で普通に宣言した変数拾えるわけなくね?
拾えるもんなの?
0430名前は開発中のものです。2015/08/25(火) 18:23:14.70ID:RRIW8Zdy
JavaScriptなら色々ややこしくなる
0431名前は開発中のものです。2015/08/25(火) 23:23:23.78ID:jTmMs0C3
パスが存在するかどうやって調べるか教えて
0432名前は開発中のものです。2015/08/26(水) 03:30:07.86ID:sXlncBgX
>>426
(メンバ)関数内の変数に外部から
アクセスする必要はない
もっと言えばすべきでない

カプセル化はオブジェクト指向の基本
0433名前は開発中のものです。2015/08/26(水) 07:42:58.97ID:p0QdlS62
constしたって外部からは拾えないし どういう言語ならそんな使い方できんだろ
0434名前は開発中のものです。2015/08/26(水) 20:09:26.18ID:KiJj/wnM
いろいろ試したけどパスの有無の確認がわからん。。。。
結局、作っていらなくなったら消すのが一番確実か。。。。
0435名前は開発中のものです。2015/08/27(木) 19:43:45.67ID:MxxjLwsC
質問の意味がよくわからないんだけどパスってなんのパス?
ディレクトリやファイルの存在有無を確認するってこと?
現状自分がインストールされてる位置を知るってこと?
暗号化やシリアルのパス?
0436名前は開発中のものです。2015/08/27(木) 19:52:28.42ID:MxxjLwsC
って聞いたところで 俺は isExistentStorage しか知らないことに気がついたわ
違ったらシラネーヨ!
0437名前は開発中のものです。2015/08/28(金) 20:00:54.09ID:HG5UB0YC
>>435
ディレクトリ構造のパスの事
Storages.addAutoPath(System.exePath + "bmp/");で作ったとして、
処理中にもしそのパスが存在していなかったら作ると言う作り方にしたかったんだけど、
オブジェクトやファイルの存在の有無の確認はわかるけどパスの有無ってどうやって確認するんだって
0438名前は開発中のものです。2015/08/28(金) 20:29:56.34ID:II5WanEA
fstat プラグインに isExistentDirectory()があるじゃろ
0439名前は開発中のものです。2015/08/28(金) 21:55:28.03ID:HG5UB0YC
>>438
あった。。。。。
スマンggrksだったなorz
ありがとう
0440名前は開発中のものです。2015/08/28(金) 23:18:17.57ID:eC2d3Ajd
ファイル指定、path付きを前提にしないほうがいいよ。
パッチ作る時に苦労することがあるから。
0441名前は開発中のものです。2015/08/28(金) 23:19:48.03ID:oJKChouF
ゲームならフォルダーほる必要性ないし、ツールとか作ってるんじゃね?
0442名前は開発中のものです。2015/08/29(土) 05:56:05.70ID:yLHDjobB
吉里吉里を作るには吉里吉里が一番
0443名前は開発中のものです。2015/08/29(土) 19:15:57.41ID:LWLyWDDp
//この間配列が宣言されているかどうか質問したものなのですが、今度は二次配列のクリアでハマってしまいました
//ちゃんと二次配列をクリアするにはどうしたらいいでしょうか?
//以下みたいにしたら、クリアしたあとでエラーが起きてしまいました

var test0 =[0,"犬","猿",1,0,"豚","牛","羊","狸",1,0,"コアラ","ゴリラ","マリオ",1];
var test1 =[0,"鰹","鮪",1,0,"鰯","鰺","河豚","秋刀魚",1,0,"たこ","イカ","ナマコ",1];
var arr = [];

function arr_test(test){
var v0 = 0;
var v1 = 0;
for (var i0=0; i0 < test.count; i0++){
//0or1以外(つまり動物だった場合)
if (test[i0] !== 0&&test[i0] !== 1){
//arr[i0]が配列か確認
if(!(arr[v0] instanceof'Array')){
//カテゴリで分けられてる順に配列を作り
arr[v0] = [];}
//その二次配列に、配列testの添え字を記録
arr[v0][v1] = i0;
//v2のカウントを+1する
++v1;}
//カテゴリ分けの終了のマークが0なので、見つけたらv1をカウント+1する
if (test0[i0] === 1){++v0;}
} //分別終了
//中身確認
for (var i=0 ;i<arr.count ;i++){dm(i +"のカウントは"+ arr.count +"です");}
}
0444名前は開発中のものです。2015/08/29(土) 19:17:20.22ID:LWLyWDDp
function arr_cls(){
//次にいったん配列クリア
for(var i0=0 ; i0<arr.count; i0++){
for(var i1=0 ; i1<arr[i0].count; i1++){
invalidate arr[i0][i1];}
arr[i0].clear;
invalidate arr[i0];}
arr.clear;
}

arr_test(test0);
arr_cls();
arr_test(test1);
0445名前は開発中のものです。2015/08/29(土) 19:19:21.33ID:LWLyWDDp
>//カテゴリ分けの終了のマークが0なので、見つけたらv1をカウント+1する
マークが1なので が正しいです
0446名前は開発中のものです。2015/08/31(月) 00:55:41.71ID:OpadeWCr
invalidate いらないんじゃね?
0447名前は開発中のものです。2015/08/31(月) 10:31:43.23ID:YpNiOKa+
今度アクションゲーム作るんだけど使い慣れてるからってTJSしっかり学んで吉里吉里でアクションやるよりは他でやった方がやっぱりいいのかな
0448名前は開発中のものです。2015/08/31(月) 12:33:03.56ID:A7R6O/T0
>>443-444
arr.clear;だと関数が参照されただけで実行はされない。正しくはarr.clear();
基本的に配列とか辞書は律儀にinvalidateする必要はない。
Array.clear()呼べばその中にある配列も参照が消えて自動で破棄される。
(中身同士で循環参照とか変なことしてなければの話ではあるが)
なのでarr_cls();はarr.clear();だけでいい。

あと余計なお世話かもだがv0,v1,i0,i1とか変数のつけ方が
可読性悪く記述ミスを誘発するのでよろしくないかな。

> if (test0[i0] === 1){++v0;}
これはtest0でなくtestだな。そうでないとarr_test(test1)が正しく動かない
他にも色々弄ったせいなのか全体的に微妙だな。練習だから仕方ないのかもしらんが
0449名前は開発中のものです。2015/08/31(月) 17:11:02.63ID:/TlY1eGD
>>447
TJSでもアクションはできる

ただRPGならウディタのほうが早いのは分かるだろうけど
それと同じでアクションはアクション用のツールのほうが早い

ADVパートが半分のゲームなら向く
0450名前は開発中のものです。2015/08/31(月) 17:14:33.16ID:EUP0FgCY
>>449
ただアクションは定評あるツールが少ないのよね

Unityやるのも大変だろうし
GameMakerも日本語の情報があんまないみたいだし

結局HSPかな?
0451名前は開発中のものです。2015/08/31(月) 17:24:36.89ID:A7wkvbm/
ウディコンだっけ見てるとアクション作ってるのあったけどどうなんだろうね WALLなんちゃら
0452名前は開発中のものです。2015/08/31(月) 17:27:43.57ID:EUP0FgCY
ウディタに思い入れ・ノウハウあるならいいだろうけど、1から始めるならウディタでやることないんじゃないだろうか

逆に吉里吉里のTJSをめっちゃ使い込んでたり、独自ライブラリ豊富にあったりで自信あるなら吉里吉里で
アクション作ってもいいだろうし、実例はいくつかあるし
0453名前は開発中のものです。2015/08/31(月) 17:55:40.77ID:/TlY1eGD
ウディタでアクションは
吉里吉里でアクションよりもっと向かない

RPGやADVに近いジャンルなら簡易にできるが
自由度が低すぎる
0454名前は開発中のものです。2015/08/31(月) 19:12:19.73ID:Ph0BxSAI
“制服戦士Act youtube”で検索すると、吉里吉里のエロアクションが出てくる。
特に動作が重そうでもない。
0455名前は開発中のものです。2015/08/31(月) 19:15:47.84ID:A7wkvbm/
40年前のアーケードゲームかな?
0456名前は開発中のものです。2015/08/31(月) 19:26:06.18ID:Ph0BxSAI
40年前…ブロックくずしかな?
0457名前は開発中のものです。2015/08/31(月) 19:29:05.10ID:EUP0FgCY
35年前ならインベーダーかもしれない
0458名前は開発中のものです。2015/08/31(月) 19:37:34.88ID:EUP0FgCY
https://www.youtube.com/watch?v=gMSpHqe58To
こんなのもあった
まだリリースされてないけど作者いわく吉里吉里なんだとか
0459名前は開発中のものです。2015/08/31(月) 19:49:10.27ID:NT35lsP7
言い過ぎたか…なんかファミコンとかスーファミの香りがする!
0460名前は開発中のものです。2015/08/31(月) 19:53:25.00ID:Ph0BxSAI
プレステとかサターン世代のゲーム作ろうとしたら一気に大変になるで
多分その場合はUnityが現実的

ドットの豪華さとかを求めるならツール関係ないがもはやロストテクノロジー臭い
0461名前は開発中のものです。2015/08/31(月) 19:56:07.73ID:EUP0FgCY
https://www.youtube.com/watch?v=u_IbL-zKotQ
吉里吉里でもコレは十分作れる
作れるが、しかし・・・
0462名前は開発中のものです。2015/08/31(月) 20:34:10.21ID:Ph0BxSAI
多少具体的な話をするなら、画面内のオブジェクトが大量にあって
大量の衝突判定が毎フレーム発生するようなゲーム機は
設計考えないと厳しい気がする

弾幕シューティングとかね
0463名前は開発中のものです。2015/08/31(月) 21:47:52.47ID:OWojJM6t
>>448
ありがとうございました
自分でもあのあと動かしてみて、思ったように挙動してなくてちょっとはずかしいものを出したなと思ってました
たしかにclear()ですね
練習して少しずつ覚えていきます
0464名前は開発中のものです。2015/08/31(月) 23:44:49.25ID:YpNiOKa+
>>447だけどTJS気になるし折角だから吉里吉里でアクション作ってみようと思う
マリオレベルのもの作ってみて色々キツそうなら次から考える
0465名前は開発中のものです。2015/09/01(火) 06:46:50.54ID:Oo3Hkjbq
既存のKAGを丸々生かすよりはWindow生成するところから
作っていったほうがスッキリすると思うんだけどその辺どうなんだろうね

ノベル部分を結構自前で書かなきゃいけなくなっちゃうし

KAGのループがアクションゲーム部分の処理の負担になったり
変な入力拾ってgdgdしないように一時的に殺しておくのって
簡単なんだろうか?
0466名前は開発中のものです。2015/09/01(火) 09:39:30.51ID:xKuERc/6
>>454
ヌいた
0467名前は開発中のものです。2015/09/03(木) 14:29:10.12ID:t3Oj9qaR
吉里吉里の産みの親が、幼稚園から人生をやり直したがっており、これは由々しき事態である
もしそれが叶ったら、今日我々は吉里吉里3を手にしていないことになるではないか!
0468名前は開発中のものです。2015/09/03(木) 14:36:02.33ID:SoWJw9F5
やり直す直前にツインテニーソ1人連れてくればおk
0469名前は開発中のものです。2015/09/03(木) 20:02:00.21ID:+hMgqMyw
ただ幼稚園行きたいだけやろ
0470名前は開発中のものです。2015/09/04(金) 02:23:17.55ID:hQLv4NfY
不満を抱かせにくいゲーム用擬似乱数列の生成と利用
標準的なゲームプレイヤにとって自然に見える擬似乱数列の生成法

ttp://www.jaist.ac.jp/is/labs/ikeda-lab/rs_randomgeneration.html
0471名前は開発中のものです。2015/09/05(土) 05:49:15.05ID:eR9N06uV
吉里吉里プラグイン選択肢プラグインSelectPlugin.ksについて

これを使おうとドキュメントを読んでみたのですがよくわかりませんでした。
選択肢を画像として表示するには
[select_start]
[select_button text=選択肢1 target=選択肢1選択]
[select_button text=選択肢2 target=選択肢2選択]
[select_button text=選択肢2 target=選択肢2選択]
[select_end]

のほかに何か設定が必要なのでしょうか
0472名前は開発中のものです。2015/09/05(土) 11:33:17.69ID:H2tZtSQF
画像を選択肢としてじゃないのか…
サンプルコードねーの?
0473名前は開発中のものです。2015/09/05(土) 11:57:32.67ID:eR9N06uV
画像を選択肢としてでしたわ。
ないんですよねサンプルコード。
0474名前は開発中のものです。2015/09/05(土) 11:58:18.09ID:Fz7kSowS
冒頭のcall忘れてるとかじゃないよね…?
0475名前は開発中のものです。2015/09/05(土) 17:21:34.65ID:d8pef+fT
[select_button_opt]
説明: ここで指定した値は、[select_button]のデフォルト値となる。
※従って、[select_start]前までに設定されていなければならない

引数:
★width= ボタンの横幅(def=横書きならbareawidth, 縦書きなら32)
★height= ボタンの縦幅(def=横書きなら32, 縦書きならbareaheight)

〜〜〜〜〜省略〜〜〜〜〜

★graphic=
ボタンのベース画像(def=指定なし)。
normal/click/enter の三枚が横に並んだ画像を指定する。


使ってないからわからんが↑このgraphicで設定するんじゃね?
あと前提プラグインも忘れずに
0476名前は開発中のものです。2015/09/05(土) 20:42:19.49ID:H/qp2ioZ
俺、kagでもkagexでも使えてるから、たぶん>>474.475が言うようにそれ自体を入れてないか前提プラグインを入れてないんじゃない?
0477名前は開発中のものです。2015/09/05(土) 22:43:32.33ID:rXzkfcxf
それごった煮さんとこのじゃないの?だったら全部入りサンプルスクリプトが同じページからダウンロードできるよ
0478名前は開発中のものです。2015/09/07(月) 21:53:09.06ID:uauFH9lt
思いっきり今更だけど今はアクション作るならClickteam Fusionがそこそこ人気あるみたいね
>>464は吉里吉里決意したみたいだから挫折したとき試してみてもいいんじゃね
0479名前は開発中のものです。2015/09/07(月) 22:54:56.20ID:kzpBHvl2
>>478
それ今見に行ったけど、多少プログラム囓れるスクリプターから言わせて貰うと
すべてマウスで作ると言うのは、作業の効率化が計れないから辛いな
0480名前は開発中のものです。2015/09/07(月) 23:03:35.89ID:uauFH9lt
あーテキストエディタでばりばり書くようなやり方できんのか
それは微妙かもね
0481名前は開発中のものです。2015/09/08(火) 02:09:43.86ID:Po7UR3FL
マウス使う業務(プログラミング)とか考えられないわ 新人じゃあるまいし・・・
0482名前は開発中のものです。2015/09/08(火) 02:10:27.48ID:Xjgmv0iE
>>464は業務じゃなさそうだけど
0483名前は開発中のものです。2015/09/08(火) 02:26:03.41ID:Po7UR3FL
ツイッターばりの返信の速さだな・・・
スマホ上で簡単に操作できるレベルまで落ちないかぎりマウスで操作すんの辛くね?
0484名前は開発中のものです。2015/09/08(火) 04:14:30.47ID:b5O7Uh93
可能なら打ち込んでる最中は一切マウス触りたく無いわな
マウス握り直すタイムロスが嫌
そんなの一瞬だろとか言われそうだけど、1タイトル作るのに何千回とキーとマウス往復するからな
0485名前は開発中のものです。2015/09/08(火) 08:30:45.80ID:UCeWyOWO
>>484はVimmer
0486名前は開発中のものです。2015/09/08(火) 22:55:53.86ID:Po7UR3FL
tjsでKAGのコンダクターに登録して処理が終わるの待つのってどうやるの?
evalとかじゃなくて真面目にtjsオンリーで
0487名前は開発中のものです。2015/09/08(火) 23:06:26.66ID:Xjgmv0iE
TJSの実行途中でコンダクターにKAG登録して実行させ、
終わったら登録した直後から継続・・・みたいのはむりっしょ

タイマーを回してKAG登録&実行直後にループを抜け、
その後はタイマー呼ばれる毎にKAGがアクティブかどうか
チェックして終わってたらループ再開とか

KAGが終わったとき、ループ再開のための関数呼ぶとか
0488名前は開発中のものです。2015/09/09(水) 19:33:44.76ID:F4l1stGz
単に終了待ちだけならwaittrigタグで出切る
トリガの発砲は global.kag.conductor.trigger( 'hoge' ); でいい
ただ、下手すると永久に発砲待ちになって止まるから

kag.tagHandlers.waituseraction = function( elm = %[] ) {
if( true ) { // 特定処理実行中なら待つ、みたいな何らかの判定
elm.name ="hoge";
elm.canskip = false;
return waitTrigger( elm ); // コンダクタに登録
}
else return 0; // 実行中でないので無視
}incontextof kag;
みたいなマクロ使う方が安全。
色んなとこにある カーソル自動移動プラグイン(の演出終了処理)とか読んで参考にするといい
0489名前は開発中のものです。2015/09/10(木) 03:32:23.69ID:68DRszrY
>>487 ムツカシイ。具体的に何処を監視したら良いのかわからないOTL
>>488 おぉ・・・これは良さそう。出来そうな気が・・・!
http://pastebin.com/Z6z0LJAU
出来そうな気がしたけど気のせいだった。
ソース上げてみたんですが・・・よかったらご教授いただけませんか
(何故かコンストラクタから直接プラグインを読み込もうとすると1個目の、
他から読み込んだ時は2個以上読みこもうとすると読み込まれなくて困ってるんです)
0490名前は開発中のものです。2015/09/10(木) 04:39:39.15ID:HQ6f1Nlo
>>489
ソース見たけど要は.ks式のプラグインを自動で検索して
複数一括でKAG的なcallを発行したいってことだよね。
なら多分こっち使う方が目的に合ってると思う
ttp://kasekey.blog101.fc2.com/blog-entry-93.html

最初の質問で最終的に何がしたいのか書いた方が
ベストな回答得られる典型的例かなw
とにかくトリガはTJSで待ちタグを作る時に使う作法なので、
別のスクリプト呼ぶとかの使い方にはあまりマッチしない

あとはKAGEXのみだけどaddTagとかでタグ積む手法があるけど、
これはcallとかのKAGParserネイティブのタグは積めない問題があるので
今回の目的には使えないかな。まあ参考までに。
ttp://www.biscrat.com/blog/kagex-addtag/
0491名前は開発中のものです。2015/09/10(木) 05:45:08.99ID:68DRszrY
おはようございます
今試しに >>490 のkag.eval つかってプラグイン読み込んで見たんですが、どうやら
returnの所でエラーはいてました。kag.evalとreturnは相性が悪いのだろうか・・・
理由が全くわからない(´・ω・`)

ログ : http://pastebin.com/SCK77U3c
0492名前は開発中のものです。2015/09/10(木) 10:28:43.04ID:meV8bPFk
質問があります。
KAG3から右クリックメニューを通して文章のオートモードを切り替えるようにしたいのですが、
[eval exp="kag.onAutoModeMenuItemClick()"]という風にしても文章が自動で進みません。
吉里吉里本体メニューの「自動的に読み進む」の項目にはチェックが付きますし、
コンソールから、kag.autoModeと打ち込めば1が出てきます。
なぜでしょうか?教えてください。
0493名前は開発中のものです。2015/09/10(木) 16:17:30.32ID:6yZEUgw6
それ、未読のみor文章全部のチェックの問題じゃね?
0494名前は開発中のものです。2015/09/10(木) 17:53:27.23ID:HQ6f1Nlo
>>491
すまん、callまで試してなかった。こうしてみてくれ
kag.eval = function(scenario) {
/**/this._evalOrigOnConductorScenarioLoad = onConductorScenarioLoad if (typeof this._evalOrigOnConductorScenarioLoad == "undefined");
/**/this.onConductorScenarioLoad = function(name){
/**//**/return (((string)name).charAt(0)=="\n") ? name : _evalOrigOnConductorScenarioLoad(...);
/**/} incontextof this;
/**/process("\n"+scenario, "");
} incontextof kag;
0495名前は開発中のものです。2015/09/10(木) 19:07:38.88ID:CePdUNzT
>>492
多分コール系の右クリメニュー呼んで
@オートモードのボタン押してオート開始+メニュー非表示処理開始
Aメニュー非表示の処理が終わってサブルーチンから戻る
ってやってるからAのreturnの箇所で色々変更(?)されてるせい
スキップや履歴表示やらせても失敗してるとエスパーしてみる

簡単な対応策は
@ボタン押してオート開始のtjs文字列を登録+メニュー非表示処理開始
A[return]の直前にTimerオブジェクトに@の文字列を登録しタイマ開始(interval は最短でいい。)
最初のonTimer時に登録したtjs文字列を実行+Timerオブジェクト破棄って感じにやるのがいい。

※あまり安定しないと思います。return後に最初のonTimerが処理される前に操作できる猶予がある為
if(!kag.inStable)return;のような非安定中はtjsを実行しないで終了みたいな判定をonTimerに加えとくと吉

難度結構高いから妥協して右クリメニューからAuto,Skipは行えないようにした方がいいかもしれん
0496名前は開発中のものです。2015/09/10(木) 19:57:06.13ID:meV8bPFk
>>495
はい、その通りです、スキップもさせようとしていますがうまくいっていません。

class MenuAutoTimer
{
var timer;
function MenuAutoTimer() {
timer = new Timer(this, action);
}

function action(ev) {
if (ev.target == timer)
if (ev.type == "onTimer") {
if (!kag.inStable)
return;
kag.onAutoModeMenuItemClick();
}
}
}

function menuAutoTimer()
{
var matimer = new MenuAutoTimer();
}
上記のコードをAfterInit.tjsに追加して、
KAGから右クリックメサブルーチンの[return]の直前に
[eval exp="menuAutoTimer()"]と呼んでいるのですが、やはりうまくいきませぬ。
素直にあきらめるべきなのでしょうか……。
0497名前は開発中のものです。2015/09/10(木) 19:59:05.12ID:Z1mFH9x0
ノベルゲームで右クリックメニュー自体が「なきゃ絶対困る」もんでもないと思うしなー
わかりやすいところからシステムメニューばっと開けばいいんじゃないか
0498名前は開発中のものです。2015/09/10(木) 20:01:36.13ID:HQ6f1Nlo
kag.onExtraConductorReturn てのがあるので
右クリックメニュー(extraConductor)の処理内で
[eval exp="kag.onExtraConductorReturn=kag.onAutoModeMenuItemClick"]
みたいにして[return]するといいんじゃないかね
0499名前は開発中のものです。2015/09/10(木) 21:23:20.75ID:meV8bPFk
>>498
おお、うまくいきました!
ありがとうございます。
■ このスレッドは過去ログ倉庫に格納されています