[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 01/02 11:46 / Filesize : 271 KB / Number-of Response : 959
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:名前は開発中のものです。 [2007/08/06(月) 19:12:57 ID: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辺りを参照のこと。

138 名前:名前は開発中のものです。 [2007/08/28(火) 23:50:28 ID:ap8CUtqf]
>>137
フォルダもタグも直したが鳴らない

139 名前:名前は開発中のものです。 mailto:sage [2007/08/28(火) 23:53:36 ID:nRDIgrKO]
プラグインよみこんでない

140 名前:名前は開発中のものです。 mailto:sage [2007/08/28(火) 23:54:47 ID:nA6g/CjX]
('A`)つttp://homepage1.nifty.com/gutchie/kirikiri_kag2/faq.html#faq_error105.html

141 名前:名前は開発中のものです。 mailto:sage [2007/08/29(水) 00:25:42 ID:gtxeTC/a]
>>132
ありがとうございます。
ご指摘の方法でこちらの希望する動作が実現する事を確認致しました。

142 名前:名前は開発中のものです。 mailto:sage [2007/08/29(水) 02:43:10 ID:XBBh2O7y]
厨房は夏休みの宿題でもやっとけよ

143 名前:名前は開発中のものです。 mailto:sage [2007/08/29(水) 05:01:47 ID:RQh+/BIx]
音源と設定は音鳴るようにできてんのか?
ファイルはまともか?

144 名前:名前は開発中のものです。 mailto:sage [2007/08/29(水) 07:13:56 ID:Q6W1FWj3]
>134
fadeinbgmでボリュームを指定してないからミュートで流れてる

145 名前:名前は開発中のものです。 mailto:sage [2007/08/29(水) 07:57:57 ID:uiup7AQw]
二次元配列のソート、例えば
f.test[i][5] (仮にi=0〜10くらいとする)番目の要素を昇順・降順ソートしたいとすると、
(f.test[0][5] = 4、f.test[1][5] = 12……という風に値が入っている)
その場合どうすればいいでしょうか?


146 名前:名前は開発中のものです。 mailto:sage [2007/08/29(水) 09:44:00 ID:G1wLM+RC]
>>145
「ソート アルゴリズム」でぐぐれ。



147 名前:名前は開発中のものです。 mailto:sage [2007/08/29(水) 09:58:35 ID:8AYyO6OI]
sortメソッドに比較関数を渡せばおk
f.test.sort(function(a, b) { return a[5] < b[5]; }, true);

148 名前:名前は開発中のものです。 mailto:sage [2007/08/29(水) 13:36:26 ID: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;
}

こんな関数を作ってみたりしたのですが、ソートの完了を判断する所で詰まってました。

149 名前:名前は開発中のものです。 mailto:sage [2007/08/29(水) 14:21:42 ID:QrtVn23d]
それはバブルソートを書こうとしたのか

150 名前:名前は開発中のものです。 mailto:sage [2007/08/29(水) 16:31:00 ID:uVBEZhL2]
今どきソートの実装なんて誰も気にしねぇよ
XBox版カルドセプト以外はな

151 名前:名前は開発中のものです。 mailto:sage [2007/08/29(水) 23:25:48 ID:GGUKfeuL]
>>150
その話はやめてくれ。
友人と上位bitか下位bitでもめて俺が疑似乱数なんて所詮、漸化式って言ったら友人キレたw

>>148
前提条件でぐぐれ。

152 名前:名前は開発中のものです。 mailto:sage [2007/08/30(木) 07:18:54 ID:2dUYEvCQ]
Auto Path Table に登録されたファイル一覧みたいなものは取得可能なんでしょうか?

153 名前:名前は開発中のものです。 mailto:sage [2007/08/30(木) 12:10:00 ID:wdLWmfL6]
俺は必要だから自分で管理している。

154 名前:名前は開発中のものです。 mailto:sage [2007/08/30(木) 22:52:58 ID:stgXZKwj]
>>134
実は拡張子が wav で中身が mp3 とか?

155 名前:名前は開発中のものです。 mailto:sage [2007/08/31(金) 04:24:12 ID:bUmv3QO3]
地味な嫌がらせだなw
まあ、一度コーデック確認してみると良いんじゃない?

156 名前:名前は開発中のものです。 mailto:sage [2007/09/01(土) 21:52:50 ID:K5U/ZpZG]
吉里吉里2 2.29-dev.20070901が公開され検証依頼が出ているわけだが俺には対応できそうに無いorz
ベテラン諸氏にお任せしますね。
ttp://kikyou.info/diary/?200709#i1_1



157 名前:名前は開発中のものです。 mailto:sage [2007/09/02(日) 06:01:34 ID:6PyOsUM/]
ベンチマークって以前の吉里吉里のバージョンでもできる?

158 名前:名前は開発中のものです。 mailto:sage [2007/09/02(日) 16:33:45 ID:mKfO9Dnq]
吉里吉里でテキストファイルに
abcd
とか出力することってできんのかな?

159 名前:名前は開発中のものです。 mailto:sage [2007/09/02(日) 17:33:37 ID:hZOg3bG2]
>>158
できます

160 名前:名前は開発中のものです。 mailto:sage [2007/09/02(日) 17:45:43 ID:mKfO9Dnq]
できるのか!
よかったらやり方教えてくれ

161 名前:名前は開発中のものです。 mailto:sage [2007/09/02(日) 18:18:41 ID:NsV4FRbI]
var mess='abcd';
mess.save('abcd.txt','');

ただしこれだとある不具合が起こるから、後は自分で考えてみ。

162 名前:名前は開発中のものです。 mailto:sage [2007/09/02(日) 22:20:29 ID:mKfO9Dnq]
やっと出来ました
ありがとうございます

163 名前:名前は開発中のものです。 mailto:sage [2007/09/03(月) 20:02:11 ID:hmL3wcEz]
new CSVParser()とinitStorageで配列に読み込んだCSVファイルの
行数を取得する方法はありませんか?
forループで行の末端まで回したいのですが、途中でvoidを返したらbreakで抜ければいいんですけど
Arrayクラスのcountに相当するものがあれば良いかなと思ったので


164 名前:名前は開発中のものです。 mailto:sage [2007/09/04(火) 03:34:09 ID:qFzdTxhy]
>>163
csv.initStorage('xxx.csv');
while((cell = csv.getNextLine())){
if (cell === void) break;
//

}


こうですか?わかりません><

165 名前:名前は開発中のものです。 mailto:sage [2007/09/04(火) 06:31:24 ID:6QBnuvNC]
まー、質問の意図としては「count 相当」っていってるから、
initStorage直後に全行数の取得方法が無いかどうかを
知りたいだと思うんだけど、それで言うと「無い」。
getNextLine() の度に逐次パースする実装になってるのよ。


166 名前:名前は開発中のものです。 mailto:sage [2007/09/04(火) 07:44:10 ID:+sDb9/K3]
>>164-165
言葉足らずな説明でしたが御回答ありがとうございました。
素直にvoidとbreakで抜ける事にします。



167 名前:名前は開発中のものです。 mailto:sage [2007/09/04(火) 09:31:59 ID: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++) { ... }

ちょいトリッキーだが、クラス書いてインスタンスつくるよか手短になるので辞書を使ってみた。

168 名前:名前は開発中のものです。 mailto:sage [2007/09/04(火) 09:41:41 ID:7cVbmaSk]
連投スマンが、直接CSVParserのインスタンスに差し込んだ方が楽だった
var csv = new CSVParser();
csv.result = [];
csv.doLine = function(line) { result.add(line); } incontextof csv;
csv.parseStorage("xxx.csv");

169 名前:名前は開発中のものです。 mailto:sage [2007/09/04(火) 09:56:04 ID:6QBnuvNC]
>>167
CSV は、単純なファイル行数≠エントリ数(getNextLine()1回を1エントリ)なんで、
Array#load() だとちとアカンですな。まあ、クオートされた文字列中に改行が
含まれないことが保証されていれば問題ないかな。

そうでなければ、やっぱ一通り CSVParser に食わせて数えるしかないやね。

170 名前:名前は開発中のものです。 mailto:sage [2007/09/05(水) 01:11:03 ID:eyToDUpX]
凄く初歩的な質問なのですが、式を評価する時に使う
「===」というのは、「==」と何がどう違うのでしょうか?

171 名前:名前は開発中のものです。 mailto:sage [2007/09/05(水) 01:15:36 ID:3ko+xHlL]
>>170
リファレンス嫁

172 名前:名前は開発中のものです。 mailto:sage [2007/09/05(水) 01:21:49 ID:eyToDUpX]
>== 演算子は型が異なれば適切に変換されてから比較
>=== 演算子(識別比較演算子)は型の変換は行われず、
>型までもが一致しなければ真にならない

どうも失礼しました

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

だが・・・ここでやめるわけにはいかないっ!!
賽は投げられたのだっ!

174 名前:名前は開発中のものです。 mailto:sage [2007/09/05(水) 13:30:48 ID:iylqPPj2]
>== 演算子は型が異なれば適切に変換されてから比較
>=== 演算子(識別比較演算子)は型の変換は行われず

関係ないがjavascript1.3に移行したときはこれ混乱したな・・・。

175 名前:名前は開発中のものです。 [2007/09/05(水) 16:52:41 ID:1aQXf4+A]
javascriptはバージョン変わるごとに仕様が変わったり戻ったりしているから困ったことあったな。

176 名前:名前は開発中のものです。 mailto:sage [2007/09/05(水) 19:36:30 ID:2DwcKv4X]
最近の等値性比較演算子と同一性比較演算子の両方を持つスクリプト言語は
ecma-262と同じ意味だけどアリスのSystem4.0だけjs1.2のままなんだよな。まあ、元もとアレはスクリプト言語としておかしな設計だが。



177 名前:名前は開発中のものです。 mailto:sage [2007/09/05(水) 22:24:09 ID:wushZy2l]
JavaScriptもスクリプト言語としておかしな設計だし、
下敷きにしたTJSもおかしいよな。

178 名前:名前は開発中のものです。 mailto:sage [2007/09/05(水) 22:57:51 ID:a5xDNyHJ]
じゃあなんだったらいいんだ

179 名前:名前は開発中のものです。 mailto:sage [2007/09/05(水) 23:01:04 ID:tcseuKyF]
ここで満を持して
ひまわり
の登場です!

180 名前:名前は開発中のものです。 mailto:sage [2007/09/05(水) 23:07:29 ID:74ijxx8F]
いや

FORTRAN
COBOL
APL

きっとこのあたり

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

そりゃ変に見える奴にはとことん変に見えるだろ。両方とも。

182 名前:名前は開発中のものです。 mailto:sage [2007/09/06(木) 01:16:16 ID:XwlU/szQ]
いやJavaScriptが叩かれる要因はほかにもいろいろあるとおもうがw
弱い型付け、暗黙の型変換、扱いづらいオブジェクト指向モデルなどなど

183 名前:名前は開発中のものです。 mailto:sage [2007/09/06(木) 13:31:38 ID:eNp4qSO1]
>扱いづらいオブジェクト指向モデル
これ言いだすと宗教問題になると思うよ。
クラスベースかプロトタイプかは。

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

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

Java厨 vs C#厨やPython厨 vs Ruby厨みたいな争いに加わりたくはないw

184 名前:名前は開発中のものです。 mailto:sage [2007/09/06(木) 16:04:55 ID:mJ+xYya0]
tjsで一番変態なのは incontextof

185 名前:名前は開発中のものです。 mailto:sage [2007/09/06(木) 17:42:25 ID:AkvD/ZjP]
やり方が違うだけでコンテキストの書き換えが出来る言語は他にもあるぞ。
invokeしてるのと同じ事だからリフレクションでも出来ないことはないし。

186 名前:名前は開発中のものです。 [2007/09/07(金) 03:49:40 ID:Gxn0uWUD]
質問です。
右クリックした時に、前景レイヤー0も消すように
@layopt layer=0 autohide=true
としています。
ゲームの途中の一部分だけ、前景レイヤー1も一緒に右クリック時に消したかったので
@layopt layer=1 autohide=true
として、消しておきたい部分が終わったら再度前景レイヤー0のみ消える
ようにしようと思い、
@layopt layer=1 autohide=false
を挿入したのですが、右クリックすると前景レイヤー1も消えてしまいます。
どうしたらよいでしょうか?



187 名前:186 mailto:sage [2007/09/07(金) 03:56:53 ID:Gxn0uWUD]
すみません、勘違いでした。
挿入部分が間違っていたため、訂正したらちゃんと消えました、失礼しました…

188 名前:名前は開発中のものです。 mailto:sage [2007/09/07(金) 12:47:09 ID:/HtJ/PzP]
いつの間にかKKDE使いやすくなってた
と思ったら起動5分でおかしなエラー吐いて気のせいだった

189 名前:名前は開発中のものです。 mailto:sage [2007/09/07(金) 13:12:37 ID:y3SMZJhh]
す、スレチかもしれませんが質問です。

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

どこを見ればわかりやすいとか示唆がでも構いません情報がほしいです。

190 名前:名前は開発中のものです。 mailto:sage [2007/09/07(金) 14:42:13 ID:/HtJ/PzP]
KKDEってまだ背景色を変えられないのか
まだまだかぐや姫Studioが現役のままだなこりゃ

191 名前:名前は開発中のものです。 mailto:sage [2007/09/07(金) 16:27:32 ID:gx3lT2vJ]
「ちょあでぃふぇんすという同人ゲーム」、「あーいう風に」なんて聞かれて
答えられるやつがいるとでも思うのか。その同人ゲームを知らないやつが
ほとんどだろうし、知らないやつはわざわざゲーム名でぐぐってまでお前の
質問に答えようとはしない。

「あーいう風にMAPにコマを配置」ってところを、具体的に分かりやすく
お前が説明しろ。


192 名前:名前は開発中のものです。 mailto:sage [2007/09/07(金) 16:28:22 ID:X/wOMBuQ]
つーかサンプル画像持ってこい

193 名前:名前は開発中のものです。 mailto:sage [2007/09/07(金) 18:00:28 ID:y3SMZJhh]
す、すいませんでした。
画像を用意しました。

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

vista.undo.jp/img/vi8915545097.jpg

194 名前:名前は開発中のものです。 mailto:sage [2007/09/07(金) 18:05:19 ID:D3ZislDS]
レイヤーを等間隔に配置するだけじゃないか

195 名前:名前は開発中のものです。 mailto:sage [2007/09/07(金) 20:08:38 ID:jQIVwKv+]
キャプをヒントにやっとぐぐれたよ。いちおう吉里吉里なんだな。
KAGリファレンスやテンプレのサイトを参考に>>194をやってみるといい。
話はそれからだ。

196 名前:名前は開発中のものです。 [2007/09/07(金) 20:14:12 ID:7jYc5R4s]
unxp3とかxp3decでソース抽出して読め
読みにくいけどそこまでひどくはない



197 名前:名前は開発中のものです。 mailto:sage [2007/09/07(金) 20:16:53 ID:y3SMZJhh]
>>194-196
わかりました。示唆ありがとうございます。
頑張ります。

198 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 02:37:44 ID:RITYgY6W]
つーかC++とかjavaとかああいう言語で作った方が楽そうだな。

199 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 03:16:27 ID:fInbOD0W]
>>198
C++やJava使うなら、TJS使って吉里吉里を直接叩いたほうがラクだと思う。

200 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 03:20:35 ID:psxOKq1m]
>>193
未だに見つけられないけどタイトル間違ってね?

201 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 03:29:06 ID:92vPEHUG]
>>200
間違ってるな。
キャプのを見れば?

202 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 03:36:40 ID:psxOKq1m]
>>201
キャプにタイトル載ってた悪い

203 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 03:36:42 ID:92vPEHUG]
PSP2で動かしたいなぁ

204 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 04:58:52 ID:Knrt4QsC]
>>199
TJSで書くとメインループが変態になるし標準ライブラリが無さ過ぎだからそれはない。
LLで書きたいならRubyなり、Pythonなり何でもあるし吉里吉里はKAGありき。

ミドルウェア作る手間が無い上に、ソースいじれるのは相当なアドバンテージ。

205 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 05:53:10 ID:psxOKq1m]
二次元配列(Array)に対して、findを使って添え字を返す事は出来ませんか?
例えばArray[0][5]〜Array[20][5]の中から、aaaという文字が現れる添え字を返す、というような

206 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 05:57:26 ID:fInbOD0W]
>>205
多値を返す関数を作りたいって事?



207 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 06:17:49 ID: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
というようにはいかないので・・・

208 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 13:35:25 ID:MdoufHni]
位置が(3, 2)だからhoge.find(10) => 2は絶対にあり得な様な・・・。
多値を返したいんじゃなくてn次元の深さを考慮したいならループ回せばいいだけじゃない?

ただ、外側のインデックスも欲しいなら配列で返さないといけないような気がするけど。

209 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 13:39:12 ID:92vPEHUG]
多次元配列で、一致する値のキーを取り出したって事?

専用関数がないなら、ループが早いかな。

210 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 13:56:04 ID:GR0gOYSF]
ループが基本として、
サイズが固定なら設計をかえて1次元配列に格納してしまうというのもありかと。
hoge[y*サイズ+x] の形でつかう。find したあとは y = i / サイズ, x = i % サイズで逆算

211 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 14:28:35 ID:jV8L49pw]
配列で返すのが無難

212 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 15:54:43 ID:52YGSB/b]
検索する回数が多いんであれば、辞書配列と組み合わせてみるとか。
配列に格納するタイミングで辞書配列にも格納するとか。

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

tjsのループは遅いから、メモリを消費したほうが効率がいいかもしれない。

213 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 22:31:06 ID:NNwR9/3A]
配列hogeの中身自体は配列objectだからそりゃfindじゃ探せない
内容である[5,10]の中のポインタなり文字列表現なりをfindに放り込まないと駄目だな
暇だしちょっと多元配列の中身探す関数でも書いてみるか少しかかる

>>208
indexは0から始まるから[5,10]のindexは2であってる
hogeが外側でhoge[n]はむしろ内側な気がするんだが

214 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 23:00:27 ID: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を返す
}


215 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 23:17:10 ID: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);
        }
    }

216 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 23:17:42 ID: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;
}



217 名前:名前は開発中のものです。 mailto:sage [2007/09/08(土) 23:22:22 ID: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"]が返るハズ

218 名前:名前は開発中のものです。 mailto:sage [2007/09/09(日) 04:03:47 ID:qk5Qqg96]
>ID:NNwR9/3Aさん

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

自分ではちょっと分からないので、とりあえずこのままにしておきます。
わざわざ済みませんでした。

219 名前:名前は開発中のものです。 mailto:sage [2007/09/09(日) 10:55:56 ID: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を返す 


220 名前:名前は開発中のものです。 mailto:sage [2007/09/09(日) 11:10:27 ID: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が返ってた
            }
        } 
    } 


221 名前:名前は開発中のものです。 mailto:sage [2007/09/09(日) 11:12:37 ID: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; 
}


222 名前:名前は開発中のものです。 mailto:sage [2007/09/09(日) 22:51:06 ID:BYjQlIfL]
そろそろうざいから消えろよ^^

223 名前:名前は開発中のものです。 mailto:sage [2007/09/09(日) 23:06:00 ID:RII2Su3r]
半日もレス付いてないんだから黙ってれば良いだけだろ。
自分で蒸し返してどうする。

224 名前:名前は開発中のものです。 mailto:sage [2007/09/10(月) 03:18:17 ID:9r8dLBdh]
>>223
さらに煽りたいだけだから無視するんだ

225 名前:名前は開発中のものです。 mailto:sage [2007/09/10(月) 07:12:58 ID:HRJrQ8HB]
>>ID:gBJvuiSCさん
新しい記述の方で、思っているような二次元配列からの指定の値の位置を取得できました。
お手間をお掛けしまして本当にありがとうございました。

226 名前:名前は開発中のものです。 [2007/09/10(月) 22:58:59 ID:0vTzkYhX]
すいません。
KAG上でTJSを使って背景レイヤに画像を読み込む方法が分かりません。

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

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

どなたか分かる方がいらっしゃればご指導ください。



227 名前:名前は開発中のものです。 mailto:sage [2007/09/10(月) 23:28:53 ID:HRJrQ8HB]
kag.fore.base.loadImages(%[storage:'画像ファイル.jpg']);


228 名前:名前は開発中のものです。 [2007/09/11(火) 09:41:44 ID:5Ce72Rks]
>>227
ありがとうございます。本当に助かりました。

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

本当にありがとうございました。


229 名前:名前は開発中のものです。 mailto:sage [2007/09/11(火) 11:55:35 ID:u7yp+b2J]
xyzzyの吉里吉里モードとかって需要あるん?
自分用にキーワード色分けとかしてみたけど。
こういうのってどこに持ってけばいいのかな。

230 名前:名前は開発中のものです。 mailto:sage [2007/09/11(火) 12:26:16 ID:fpRLOyRS]
ここなりWikiなり自分のサイトなり

231 名前:名前は開発中のものです。 mailto:sage [2007/09/11(火) 14:19:34 ID:4dHR8dw4]
>>228
TJSリファレンスの「オーバライド」の部分と、AnimationLayer.tjs の function loadImages() と、
これまたTJSリファレンスの「式中辞書配列」の部分をよむべし

232 名前:名前は開発中のものです。 mailto:sage [2007/09/11(火) 14:20:16 ID:4dHR8dw4]
>>229
JScript モードでわりとしのいでるけど property をちゃんと処理してくれるならうれしいのでどっかあげとくれ

233 名前:名前は開発中のものです。 mailto:sage [2007/09/11(火) 14:44:18 ID:2O9Ni67C]
NoEditer用のなら作ったぜ。適当だが。

234 名前:名前は開発中のものです。 mailto:sage [2007/09/11(火) 15:01:41 ID:fpRLOyRS]
>>219-221
の関数使ってみたけど、これvalueの値が文字列('テスト'みたいな)だと値が返ってこないな

235 名前:名前は開発中のものです。 mailto:sage [2007/09/11(火) 17:05:40 ID:VpoQYryg]
状況をもう少しkwsk

16:59:20 コンソール : tf.hoge = [
    ["文字列1","文字列2","文字列3"],
    [3,5,6],
    ["文字列7",8,"文字列9"]] = (object)(object 0x05156FC4:0x05156FC4)

17:00:00 コンソール : recursiveFind(tf.hoge,"文字列9")[0] = (int)2

17:00:02 コンソール : recursiveFind(tf.hoge,"文字列9")[1] = (int)2

17:02:35 コンソール : tf.hoge = [
    %["辞書A"=>"文字列1","辞書B"=>"文字列2","辞書C"=>"文字列3"],
    [3,5,6],
    %["辞書G"=>"文字列7","辞書H"=>8,"辞書I"=>"文字列9"]] = (object)(object 0x0516AFC8:0x0516AFC8)

17:04:07 コンソール : recursiveSearch(tf.hoge,"文字列9")[0] = (int)2

17:04:09 コンソール : recursiveSearch(tf.hoge,"文字列9")[1] = (string)"辞書I"


236 名前:名前は開発中のものです。 mailto:sage [2007/09/11(火) 17:17:57 ID:fpRLOyRS]
>>235
ごめん俺の勘違いというかミスだったマジごめん



237 名前:名前は開発中のものです。 mailto:sage [2007/09/12(水) 11:28:24 ID:PQsSXN1S]
昔ウィンドウズ98でKAG writerでゲームを作っていて、HDDが飛んだ
それ以来ショックで作っていなかったが、近頃また作りたくなってきた

…と思って探してみると、なんとKAG writerの配布はとっくに終了していたと…orz
なんでもバックアップはちゃんととらなイカンね
……今、KAG writerを手に入れる方法はない
となると、使い心地の近いソフトが欲しくなる。そんなのってあるのかな?

238 名前:名前は開発中のものです。 mailto:sage [2007/09/12(水) 12:21:52 ID:Vz6XBwPC]
>>237
web.archive.org/web/20030623141331/http://funnytaste.cool.ne.jp/factory/html/kirikiri.html
あ、あんたのためなんだからねっ!!






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<271KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef