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

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

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

※スレで質問をするときは、ドキュメント、スレの過去ログ、公式掲示板のログ、
 FAQ、Google等で調べてからにしましょう。

前スレ(その11)
ttp://pc11.2ch.net/test/read.cgi/gamedev/1175480292/l50

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

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

詳しくは>>2-5辺りを参照のこと。
0135名前は開発中のものです。2007/08/28(火) 23:27:18ID:YtOhwXNI
config.tjs
0136名前は開発中のものです。2007/08/28(火) 23:30:25ID:ap8CUtqf
>>135
MIDIからwaveにちゃんと書き換えたのにSEもBGMも鳴らないんだよ
0137名前は開発中のものです。2007/08/28(火) 23:33:07ID:YtOhwXNI
playbgm
playse
0138名前は開発中のものです。2007/08/28(火) 23:50:28ID:ap8CUtqf
>>137
フォルダもタグも直したが鳴らない
0139名前は開発中のものです。2007/08/28(火) 23:53:36ID:nRDIgrKO
プラグインよみこんでない
0140名前は開発中のものです。2007/08/28(火) 23:54:47ID:nA6g/CjX
('A`)つttp://homepage1.nifty.com/gutchie/kirikiri_kag2/faq.html#faq_error105.html
0141名前は開発中のものです。2007/08/29(水) 00:25:42ID:gtxeTC/a
>>132
ありがとうございます。
ご指摘の方法でこちらの希望する動作が実現する事を確認致しました。
0142名前は開発中のものです。2007/08/29(水) 02:43:10ID:XBBh2O7y
厨房は夏休みの宿題でもやっとけよ
0143名前は開発中のものです。2007/08/29(水) 05:01:47ID:RQh+/BIx
音源と設定は音鳴るようにできてんのか?
ファイルはまともか?
0144名前は開発中のものです。2007/08/29(水) 07:13:56ID:Q6W1FWj3
>134
fadeinbgmでボリュームを指定してないからミュートで流れてる
0145名前は開発中のものです。2007/08/29(水) 07:57:57ID:uiup7AQw
二次元配列のソート、例えば
f.test[i][5] (仮にi=0〜10くらいとする)番目の要素を昇順・降順ソートしたいとすると、
(f.test[0][5] = 4、f.test[1][5] = 12……という風に値が入っている)
その場合どうすればいいでしょうか?
0146名前は開発中のものです。2007/08/29(水) 09:44:00ID:G1wLM+RC
>>145
「ソート アルゴリズム」でぐぐれ。
0147名前は開発中のものです。2007/08/29(水) 09:58:35ID:8AYyO6OI
sortメソッドに比較関数を渡せばおk
f.test.sort(function(a, b) { return a[5] < b[5]; }, true);
0148名前は開発中のものです。2007/08/29(水) 13:36:26ID:uiup7AQw
>>146
>>147
ありがとうございます、比較関数の方法で出来ました。

function downsort(array, num) {
  do {
    var j = 1; var c = 0;
      for (i=0; j<array.count; i++) {
        if (array[i][num] > array[j][num]) {
        array[i] <-> array[j];
        c++;
      }
      j++;
    }
  } while (c != 0);
  return;
}

こんな関数を作ってみたりしたのですが、ソートの完了を判断する所で詰まってました。
0149名前は開発中のものです。2007/08/29(水) 14:21:42ID:QrtVn23d
それはバブルソートを書こうとしたのか
0150名前は開発中のものです。2007/08/29(水) 16:31:00ID:uVBEZhL2
今どきソートの実装なんて誰も気にしねぇよ
XBox版カルドセプト以外はな
0151名前は開発中のものです。2007/08/29(水) 23:25:48ID:GGUKfeuL
>>150
その話はやめてくれ。
友人と上位bitか下位bitでもめて俺が疑似乱数なんて所詮、漸化式って言ったら友人キレたw

>>148
前提条件でぐぐれ。
0152名前は開発中のものです。2007/08/30(木) 07:18:54ID:2dUYEvCQ
Auto Path Table に登録されたファイル一覧みたいなものは取得可能なんでしょうか?
0153名前は開発中のものです。2007/08/30(木) 12:10:00ID:wdLWmfL6
俺は必要だから自分で管理している。
0154名前は開発中のものです。2007/08/30(木) 22:52:58ID:stgXZKwj
>>134
実は拡張子が wav で中身が mp3 とか?
0155名前は開発中のものです。2007/08/31(金) 04:24:12ID:bUmv3QO3
地味な嫌がらせだなw
まあ、一度コーデック確認してみると良いんじゃない?
0156名前は開発中のものです。2007/09/01(土) 21:52:50ID:K5U/ZpZG
吉里吉里2 2.29-dev.20070901が公開され検証依頼が出ているわけだが俺には対応できそうに無いorz
ベテラン諸氏にお任せしますね。
ttp://kikyou.info/diary/?200709#i1_1
0157名前は開発中のものです。2007/09/02(日) 06:01:34ID:6PyOsUM/
ベンチマークって以前の吉里吉里のバージョンでもできる?
0158名前は開発中のものです。2007/09/02(日) 16:33:45ID:mKfO9Dnq
吉里吉里でテキストファイルに
abcd
とか出力することってできんのかな?
0159名前は開発中のものです。2007/09/02(日) 17:33:37ID:hZOg3bG2
>>158
できます
0160名前は開発中のものです。2007/09/02(日) 17:45:43ID:mKfO9Dnq
できるのか!
よかったらやり方教えてくれ
0161名前は開発中のものです。2007/09/02(日) 18:18:41ID:NsV4FRbI
var mess='abcd';
mess.save('abcd.txt','');

ただしこれだとある不具合が起こるから、後は自分で考えてみ。
0162名前は開発中のものです。2007/09/02(日) 22:20:29ID:mKfO9Dnq
やっと出来ました
ありがとうございます
0163名前は開発中のものです。2007/09/03(月) 20:02:11ID:hmL3wcEz
new CSVParser()とinitStorageで配列に読み込んだCSVファイルの
行数を取得する方法はありませんか?
forループで行の末端まで回したいのですが、途中でvoidを返したらbreakで抜ければいいんですけど
Arrayクラスのcountに相当するものがあれば良いかなと思ったので
0164名前は開発中のものです。2007/09/04(火) 03:34:09ID:qFzdTxhy
>>163
csv.initStorage('xxx.csv');
while((cell = csv.getNextLine())){
if (cell === void) break;
//

}


こうですか?わかりません><
0165名前は開発中のものです。2007/09/04(火) 06:31:24ID:6QBnuvNC
まー、質問の意図としては「count 相当」っていってるから、
initStorage直後に全行数の取得方法が無いかどうかを
知りたいだと思うんだけど、それで言うと「無い」。
getNextLine() の度に逐次パースする実装になってるのよ。
0166名前は開発中のものです。2007/09/04(火) 07:44:10ID:+sDb9/K3
>>164-165
言葉足らずな説明でしたが御回答ありがとうございました。
素直にvoidとbreakで抜ける事にします。
0167名前は開発中のものです。2007/09/04(火) 09:31:59ID:7cVbmaSk
激しく無駄だが、行数を知りたいだけならArray.loadで読み込んだ行数を使うとかな。
var list = [];
list.load("xxx.csv");
csv.initStorage("xxx.csv");
for (var i = 0; i < list.count; i++) { var line = csv.getNextLine(); ... }

あるいはparseStorageで全部取得してからその行数を調べる方法とか。

var csvdata = %[ result:[] ];
csvdata.doLine = function(list) { result.add(list); } incontextof csvdata;

var csv = new CSVParser(csvdata);
csv.parseStorage("xxx.csv");
for (var i = 0, result = csvdata.result; i < result.count; i++) { ... }

ちょいトリッキーだが、クラス書いてインスタンスつくるよか手短になるので辞書を使ってみた。
0168名前は開発中のものです。2007/09/04(火) 09:41:41ID:7cVbmaSk
連投スマンが、直接CSVParserのインスタンスに差し込んだ方が楽だった
var csv = new CSVParser();
csv.result = [];
csv.doLine = function(line) { result.add(line); } incontextof csv;
csv.parseStorage("xxx.csv");
0169名前は開発中のものです。2007/09/04(火) 09:56:04ID:6QBnuvNC
>>167
CSV は、単純なファイル行数≠エントリ数(getNextLine()1回を1エントリ)なんで、
Array#load() だとちとアカンですな。まあ、クオートされた文字列中に改行が
含まれないことが保証されていれば問題ないかな。

そうでなければ、やっぱ一通り CSVParser に食わせて数えるしかないやね。
0170名前は開発中のものです。2007/09/05(水) 01:11:03ID:eyToDUpX
凄く初歩的な質問なのですが、式を評価する時に使う
「===」というのは、「==」と何がどう違うのでしょうか?
0171名前は開発中のものです。2007/09/05(水) 01:15:36ID:3ko+xHlL
>>170
リファレンス嫁
0172名前は開発中のものです。2007/09/05(水) 01:21:49ID:eyToDUpX
>== 演算子は型が異なれば適切に変換されてから比較
>=== 演算子(識別比較演算子)は型の変換は行われず、
>型までもが一致しなければ真にならない

どうも失礼しました
0173名前は開発中のものです。2007/09/05(水) 09:02:39ID:1YUuZJE3
     ,, -─‐-、,,-─-,、
     /        ,'⌒ヽ\
    〈  ,‐-⌒-、ノ,,,  |.  \
    /, ミ、Vヽl〉| | |,,,  |.   \
     '|\Nヘ「ヽ||_|__,|.     \
              |L.|  |       ヽ、
            | | ,,,|,        .l
.              |_|_,||        .ノ
                |::|::: :|_|       ,ノ |
             rrr´‐::: :j. L,,---‐‐'´ ノ
            i´^^i´ ̄~    ̄ ̄ ̄~i‐⌒ヽ,
            ヽ、__ヽ、______」-、__.⌒っ
                           ̄
売れない僻みで、必死に偽ハッシュを投下・・・
オレたちが斜め上の努力をしてる間に、
売れてる作家はその時間で正攻法の努力っ・・・更なる飛躍っ・・・
差が開く一方・・・

だが・・・ここでやめるわけにはいかないっ!!
賽は投げられたのだっ!
0174名前は開発中のものです。2007/09/05(水) 13:30:48ID:iylqPPj2
>== 演算子は型が異なれば適切に変換されてから比較
>=== 演算子(識別比較演算子)は型の変換は行われず

関係ないがjavascript1.3に移行したときはこれ混乱したな・・・。
0175名前は開発中のものです。2007/09/05(水) 16:52:41ID:1aQXf4+A
javascriptはバージョン変わるごとに仕様が変わったり戻ったりしているから困ったことあったな。
0176名前は開発中のものです。2007/09/05(水) 19:36:30ID:2DwcKv4X
最近の等値性比較演算子と同一性比較演算子の両方を持つスクリプト言語は
ecma-262と同じ意味だけどアリスのSystem4.0だけjs1.2のままなんだよな。まあ、元もとアレはスクリプト言語としておかしな設計だが。
0177名前は開発中のものです。2007/09/05(水) 22:24:09ID:wushZy2l
JavaScriptもスクリプト言語としておかしな設計だし、
下敷きにしたTJSもおかしいよな。
0178名前は開発中のものです。2007/09/05(水) 22:57:51ID:a5xDNyHJ
じゃあなんだったらいいんだ
0179名前は開発中のものです。2007/09/05(水) 23:01:04ID:tcseuKyF
ここで満を持して
ひまわり
の登場です!
0180名前は開発中のものです。2007/09/05(水) 23:07:29ID:74ijxx8F
いや

FORTRAN
COBOL
APL

きっとこのあたり
0181名前は開発中のものです。2007/09/06(木) 00:12:29ID:XDEo8NLL
jsはそもそも関数型言語をC構文にしただけだし。
そのせいで関数型のパラダイムを理解出来ない奴が叩いてるだけ。
TJS2の仕様は昔のNSのjs2.0草案の劣化版。

そりゃ変に見える奴にはとことん変に見えるだろ。両方とも。
0182名前は開発中のものです。2007/09/06(木) 01:16:16ID:XwlU/szQ
いやJavaScriptが叩かれる要因はほかにもいろいろあるとおもうがw
弱い型付け、暗黙の型変換、扱いづらいオブジェクト指向モデルなどなど
0183名前は開発中のものです。2007/09/06(木) 13:31:38ID:eNp4qSO1
>扱いづらいオブジェクト指向モデル
これ言いだすと宗教問題になると思うよ。
クラスベースかプロトタイプかは。

作った本人としては動的に書けるからプロトタイプベースにしただけなんだろうからそれ以上争う話でもないだろうし。

けど、TJS2の実装見てるとdeeタンがイマイチ元にしてるJSのプロトタイプの
仕組み理解してない部分があるように見える。
現状、TJS2はオブジェクトを動的に変更可能なクラスベースな状態だけど、
ES2共々メインパラダイムをどっちかはっきりしないと実装が困難になるだけでコード書く方はgdgdコードになりかねん。

Java厨 vs C#厨やPython厨 vs Ruby厨みたいな争いに加わりたくはないw
0184名前は開発中のものです。2007/09/06(木) 16:04:55ID:mJ+xYya0
tjsで一番変態なのは incontextof
0185名前は開発中のものです。2007/09/06(木) 17:42:25ID:AkvD/ZjP
やり方が違うだけでコンテキストの書き換えが出来る言語は他にもあるぞ。
invokeしてるのと同じ事だからリフレクションでも出来ないことはないし。
0186名前は開発中のものです。2007/09/07(金) 03:49:40ID:Gxn0uWUD
質問です。
右クリックした時に、前景レイヤー0も消すように
@layopt layer=0 autohide=true
としています。
ゲームの途中の一部分だけ、前景レイヤー1も一緒に右クリック時に消したかったので
@layopt layer=1 autohide=true
として、消しておきたい部分が終わったら再度前景レイヤー0のみ消える
ようにしようと思い、
@layopt layer=1 autohide=false
を挿入したのですが、右クリックすると前景レイヤー1も消えてしまいます。
どうしたらよいでしょうか?
01871862007/09/07(金) 03:56:53ID:Gxn0uWUD
すみません、勘違いでした。
挿入部分が間違っていたため、訂正したらちゃんと消えました、失礼しました…
0188名前は開発中のものです。2007/09/07(金) 12:47:09ID:/HtJ/PzP
いつの間にかKKDE使いやすくなってた
と思ったら起動5分でおかしなエラー吐いて気のせいだった
0189名前は開発中のものです。2007/09/07(金) 13:12:37ID:y3SMZJhh
す、スレチかもしれませんが質問です。

最近、ちょあでぃふぇんすという同人ゲームがサイト上でアップされましたが、
あーいう風にMAPにコマを配置するにはどうすれば出来ますか。

どこを見ればわかりやすいとか示唆がでも構いません情報がほしいです。
0190名前は開発中のものです。2007/09/07(金) 14:42:13ID:/HtJ/PzP
KKDEってまだ背景色を変えられないのか
まだまだかぐや姫Studioが現役のままだなこりゃ
0191名前は開発中のものです。2007/09/07(金) 16:27:32ID:gx3lT2vJ
「ちょあでぃふぇんすという同人ゲーム」、「あーいう風に」なんて聞かれて
答えられるやつがいるとでも思うのか。その同人ゲームを知らないやつが
ほとんどだろうし、知らないやつはわざわざゲーム名でぐぐってまでお前の
質問に答えようとはしない。

「あーいう風にMAPにコマを配置」ってところを、具体的に分かりやすく
お前が説明しろ。
0192名前は開発中のものです。2007/09/07(金) 16:28:22ID:X/wOMBuQ
つーかサンプル画像持ってこい
0193名前は開発中のものです。2007/09/07(金) 18:00:28ID:y3SMZJhh
す、すいませんでした。
画像を用意しました。

マスにそってコマを置いていくというものなのですが、
RPGツクールなどのように画像を等間隔に配置
していく感じです。

http://vista.undo.jp/img/vi8915545097.jpg
0194名前は開発中のものです。2007/09/07(金) 18:05:19ID:D3ZislDS
レイヤーを等間隔に配置するだけじゃないか
0195名前は開発中のものです。2007/09/07(金) 20:08:38ID:jQIVwKv+
キャプをヒントにやっとぐぐれたよ。いちおう吉里吉里なんだな。
KAGリファレンスやテンプレのサイトを参考に>>194をやってみるといい。
話はそれからだ。
0196名前は開発中のものです。2007/09/07(金) 20:14:12ID:7jYc5R4s
unxp3とかxp3decでソース抽出して読め
読みにくいけどそこまでひどくはない
0197名前は開発中のものです。2007/09/07(金) 20:16:53ID:y3SMZJhh
>>194-196
わかりました。示唆ありがとうございます。
頑張ります。
0198名前は開発中のものです。2007/09/08(土) 02:37:44ID:RITYgY6W
つーかC++とかjavaとかああいう言語で作った方が楽そうだな。
0199名前は開発中のものです。2007/09/08(土) 03:16:27ID:fInbOD0W
>>198
C++やJava使うなら、TJS使って吉里吉里を直接叩いたほうがラクだと思う。
0200名前は開発中のものです。2007/09/08(土) 03:20:35ID:psxOKq1m
>>193
未だに見つけられないけどタイトル間違ってね?
0201名前は開発中のものです。2007/09/08(土) 03:29:06ID:92vPEHUG
>>200
間違ってるな。
キャプのを見れば?
0202名前は開発中のものです。2007/09/08(土) 03:36:40ID:psxOKq1m
>>201
キャプにタイトル載ってた悪い
0203名前は開発中のものです。2007/09/08(土) 03:36:42ID:92vPEHUG
PSP2で動かしたいなぁ
0204名前は開発中のものです。2007/09/08(土) 04:58:52ID:Knrt4QsC
>>199
TJSで書くとメインループが変態になるし標準ライブラリが無さ過ぎだからそれはない。
LLで書きたいならRubyなり、Pythonなり何でもあるし吉里吉里はKAGありき。

ミドルウェア作る手間が無い上に、ソースいじれるのは相当なアドバンテージ。
0205名前は開発中のものです。2007/09/08(土) 05:53:10ID:psxOKq1m
二次元配列(Array)に対して、findを使って添え字を返す事は出来ませんか?
例えばArray[0][5]〜Array[20][5]の中から、aaaという文字が現れる添え字を返す、というような
0206名前は開発中のものです。2007/09/08(土) 05:57:26ID:fInbOD0W
>>205
多値を返す関数を作りたいって事?
0207名前は開発中のものです。2007/09/08(土) 06:17:49ID:psxOKq1m
作りたいというか、例えば
hoge = [0,2,0,4,5,3]
とかだと、hoge.find(2)とかで2の入ってる値を返せると思うんですけど

hoge = [[1,3], [4,9], [5,10], [7,3]]
とかだと、hoge[i][1]の中の10の入ってる添え字を返してほしいと思っても、単純に
hoge.find(10) = 2
というようにはいかないので・・・
0208名前は開発中のものです。2007/09/08(土) 13:35:25ID:MdoufHni
位置が(3, 2)だからhoge.find(10) => 2は絶対にあり得な様な・・・。
多値を返したいんじゃなくてn次元の深さを考慮したいならループ回せばいいだけじゃない?

ただ、外側のインデックスも欲しいなら配列で返さないといけないような気がするけど。
0209名前は開発中のものです。2007/09/08(土) 13:39:12ID:92vPEHUG
多次元配列で、一致する値のキーを取り出したって事?

専用関数がないなら、ループが早いかな。
0210名前は開発中のものです。2007/09/08(土) 13:56:04ID:GR0gOYSF
ループが基本として、
サイズが固定なら設計をかえて1次元配列に格納してしまうというのもありかと。
hoge[y*サイズ+x] の形でつかう。find したあとは y = i / サイズ, x = i % サイズで逆算
0211名前は開発中のものです。2007/09/08(土) 14:28:35ID:jV8L49pw
配列で返すのが無難
0212名前は開発中のものです。2007/09/08(土) 15:54:43ID:52YGSB/b
検索する回数が多いんであれば、辞書配列と組み合わせてみるとか。
配列に格納するタイミングで辞書配列にも格納するとか。

array[3][2] = "aaa";
なら
hash["aaa"] = "3,2";
みたいな(格納方法は色々あるけど)

tjsのループは遅いから、メモリを消費したほうが効率がいいかもしれない。
0213名前は開発中のものです。2007/09/08(土) 22:31:06ID:NNwR9/3A
配列hogeの中身自体は配列objectだからそりゃfindじゃ探せない
内容である[5,10]の中のポインタなり文字列表現なりをfindに放り込まないと駄目だな
暇だしちょっと多元配列の中身探す関数でも書いてみるか少しかかる

>>208
indexは0から始まるから[5,10]のindexは2であってる
hogeが外側でhoge[n]はむしろ内側な気がするんだが
0214名前は開発中のものです。2007/09/08(土) 23:00:27ID:NNwR9/3A
//こんな感じか
//ポイント
//配列はArrayクラス(型)のオブジェクトである
//tjsの多元配列はArrayオブジェクトを要素として持つ配列に過ぎない

function recursiveFind(array, value) {
    for(var i = 0; i < array.count; i++) {
        //お馴染み配列要素ループ
        if(array[i] == value) {
            //配列内要素が検索値と一致する場合
            //インデックスを配列に格納して返す
            return [i];
        }
        if(array[i] instanceof "Array") {
            //配列内要素が子配列であった場合
            //子配列を対象に再帰
            var result = recursiveFind(array[i], value);
            if(result instanceof "Array") return result.insert(0, i);
        }
    }
    return -1; //検索値valueが見つからない場合は-1を返す
}
0215名前は開発中のものです。2007/09/08(土) 23:17:10ID:NNwR9/3A
//階層化された辞書配列にも対応するとなると面倒だな
function recursiveSearch(object, value) {
    if(object instanceof "Array") {
        for(var i = 0; i < object.count; i++) {
            if(object[i] == value) return [i];
            var result = recursiveSearch(object[i], value);
            if(result instanceof "Array") return result.insert(0, i);
        }
    }
0216名前は開発中のものです。2007/09/08(土) 23:17:42ID:NNwR9/3A
    //続き
    if(object instanceof "Dictionary") {
        //辞書配列を配列に展開する時に
        //添え字の降順で展開されるのを保障しないと駄目だけどメンドイ
        var dicarray = [].assign(object);
        while(dicarray.count > 0) {
            if(dicarray[1] == value) return [dicarray[0]];
            var result = recursiveSearch(dicarray[1], value);
            if(result instanceof "Array") return result.insert(0, dicarray[0]);
            dicarray.erase(0);
            dicarray.erase(1);
        }
    }
    return -1;
}
0217名前は開発中のものです。2007/09/08(土) 23:22:22ID:NNwR9/3A
動作チェックしてねー
うまく動かないときの修正は自分で何とかしてください
返り値の配列には
hoge = [[1,3], [4,9], [5,10], [7,3]] に対して
recursiveFind(hoge, 10)の場合は[2,1]
recursiveFind(hoge, 3)の場合は[0,1]

hoge = [%["a"=>1,"b"=>3], %["c"=>4,"d"=>9], %["e"=>5,"f"=>10]] に対して
recursiveSearch(hoge, 10)の場合は[2,"f"]が返るハズ
0218名前は開発中のものです。2007/09/09(日) 04:03:47ID:qk5Qqg96
>ID:NNwR9/3Aさん

ありがとうございます、早速試してみたのですが
recursiveFindの方は、if(array[i] instanceof "Array") {〜の所が上手く動いていないようで
エラーにはならないものの値が帰ってきませんでした。(-1も帰ってこない)
recursiveSearchの方は、while(dicarray.count > 0) {の所でエラーが出てしまいました。

自分ではちょっと分からないので、とりあえずこのままにしておきます。
わざわざ済みませんでした。
0219名前は開発中のものです。2007/09/09(日) 10:55:56ID:gBJvuiSC
//はーい、array.insertは値を返さないのが原因でしたね
//これでおk
//recursiveSearchも手直しするか

function recursiveFind(array, value) { 
    for(var i = 0; i < array.count; i++) { 
        //お馴染み配列要素ループ 
        if(array[i] == value) { 
            //配列内要素が検索値と一致する場合 
            //インデックスを配列に格納して返す 
            return [i]; 
        } 
        if(array[i] instanceof "Array") { 
            //配列内要素が子配列であった場合 
            //子配列を対象に再帰 
            var result = recursiveFind(array[i], value); 
            if(result instanceof "Array") {
                result.insert(0, i); 
                return result;
            }
        } 
    } 
    return -1; //検索値valueが見つからない場合は-1を返す 
0220名前は開発中のものです。2007/09/09(日) 11:10:27ID:gBJvuiSC
function recursiveSearch(object, value) { 
    if(object instanceof "Array") { 
        for(var i = 0; i < object.count; i++) { 
            if(object[i] == value) return [i]; 
            var result = recursiveSearch(object[i], value); 
            if(result instanceof "Array") {
                result.insert(0, i); //
                return result;      //ココが原因でvoidが返ってた
            }
        } 
    } 
0221名前は開発中のものです。2007/09/09(日) 11:12:37ID:gBJvuiSC
    if(object instanceof "Dictionary") { 
        //辞書配列を配列に展開する時に 
        //添え字の降順で展開されるのを保障しないと駄目だけどメンドイ 
        var dicarray = [];         //
    dicarray.assign(object); // Array.assignも値を返さなかった
        while(dicarray.count > 0) { 
            if(dicarray[1] == value) return [dicarray[0]]; 
            var result = recursiveSearch(dicarray[1], value); 
            if(result instanceof "Array") {
                result.insert(0, dicarray[0]); // ココが原因でvoidが返ってた
                return result;
            }
            dicarray.erase(0);
            dicarray.erase(0); //配列の短縮処理が間違ってた
        } 
    } 
    return -1; 
}
0222名前は開発中のものです。2007/09/09(日) 22:51:06ID:BYjQlIfL
そろそろうざいから消えろよ^^
0223名前は開発中のものです。2007/09/09(日) 23:06:00ID:RII2Su3r
半日もレス付いてないんだから黙ってれば良いだけだろ。
自分で蒸し返してどうする。
0224名前は開発中のものです。2007/09/10(月) 03:18:17ID:9r8dLBdh
>>223
さらに煽りたいだけだから無視するんだ
0225名前は開発中のものです。2007/09/10(月) 07:12:58ID:HRJrQ8HB
>>ID:gBJvuiSCさん
新しい記述の方で、思っているような二次元配列からの指定の値の位置を取得できました。
お手間をお掛けしまして本当にありがとうございました。
0226名前は開発中のものです。2007/09/10(月) 22:58:59ID:0vTzkYhX
すいません。
KAG上でTJSを使って背景レイヤに画像を読み込む方法が分かりません。

[iscript]
kag.fore.base.loadImages("画像ファイル.jpg");
[endscript]

というソースを記述したのですが、なぜか動きません。
「メンバ"mode"が見つかりません」というエラーが出るのです。

どなたか分かる方がいらっしゃればご指導ください。
0227名前は開発中のものです。2007/09/10(月) 23:28:53ID:HRJrQ8HB
kag.fore.base.loadImages(%[storage:'画像ファイル.jpg']);
0228名前は開発中のものです。2007/09/11(火) 09:41:44ID:5Ce72Rks
>>227
ありがとうございます。本当に助かりました。

「%[storage:」という記述は初めて見る記述です。
改めて自分の勉強不足を思い知らされました。

本当にありがとうございました。
0229名前は開発中のものです。2007/09/11(火) 11:55:35ID:u7yp+b2J
xyzzyの吉里吉里モードとかって需要あるん?
自分用にキーワード色分けとかしてみたけど。
こういうのってどこに持ってけばいいのかな。
0230名前は開発中のものです。2007/09/11(火) 12:26:16ID:fpRLOyRS
ここなりWikiなり自分のサイトなり
0231名前は開発中のものです。2007/09/11(火) 14:19:34ID:4dHR8dw4
>>228
TJSリファレンスの「オーバライド」の部分と、AnimationLayer.tjs の function loadImages() と、
これまたTJSリファレンスの「式中辞書配列」の部分をよむべし
0232名前は開発中のものです。2007/09/11(火) 14:20:16ID:4dHR8dw4
>>229
JScript モードでわりとしのいでるけど property をちゃんと処理してくれるならうれしいのでどっかあげとくれ
0233名前は開発中のものです。2007/09/11(火) 14:44:18ID:2O9Ni67C
NoEditer用のなら作ったぜ。適当だが。
0234名前は開発中のものです。2007/09/11(火) 15:01:41ID:fpRLOyRS
>>219-221
の関数使ってみたけど、これvalueの値が文字列('テスト'みたいな)だと値が返ってこないな
■ このスレッドは過去ログ倉庫に格納されています