■吉里吉里/KAG/TJS雑談質問スレ■その12at GAMEDEV
■吉里吉里/KAG/TJS雑談質問スレ■その12 - 暇つぶし2ch2:名前は開発中のものです。
07/08/06 19:13:40 CjKwgtC1
過去スレ
10 スレリンク(gamedev板)
9 スレリンク(gamedev板)
8 スレリンク(gamedev板)
7 スレリンク(gamedev板)
6 スレリンク(gamedev板)
5 スレリンク(gamedev板)
4(タイトルは3) スレリンク(gamedev板)
3 スレリンク(gamedev板)
2(再利用) スレリンク(gamedev板)
1 スレリンク(gamedev板)

3:名前は開発中のものです。
07/08/06 19:14:58 CjKwgtC1
【公式】
kikyou.info
URLリンク(kikyou.info)
吉里吉里/KAG 掲示板
URLリンク(kikyou.info)
公式掲示板過去ログ検索
URLリンク(www.kirikiri.info)
吉里吉里開発サイト
URLリンク(sv.kikyou.info)

【ドキュメント】
KAG System リファレンス(※初心者必読!)
URLリンク(devdoc.kikyou.info)
吉里吉里2 リファレンス
URLリンク(devdoc.kikyou.info)
TJS2 リファレンス
URLリンク(devdoc.kikyou.info)

【FAQ】
逆引きマニュアル
URLリンク(homepage1.nifty.com)

【網羅的リンク集】
OUTFOCUS Wiki ブックマーク
URLリンク(hpcgi1.nifty.com)

4:名前は開発中のものです。
07/08/06 19:15:30 CjKwgtC1
【講座】
吉里吉里2/KAG3によるノベルゲーム開発
URLリンク(homepage1.nifty.com)
Studioついんくる - 吉里吉里2/KAG3講座
URLリンク(contest2004.thinkquest.jp)
成恵同盟 - もえかぐ(萌えるKAG講座)
URLリンク(www.geocities.jp)
熊野にんち - 吉里吉里講座
URLリンク(www.h2.dion.ne.jp)
RUTA'S GAME - 初心者のための吉里吉里講座
URLリンク(www.manitoux.net)
TJSに挑戦!
URLリンク(www.geocities.co.jp)

【解説】
Inside KAG3
URLリンク(hpcgi1.nifty.com)
TJS入門
URLリンク(homepage1.nifty.com)

【KAGEX】
KAGEX
URLリンク(ruriko.denpa.org)
KAGEXのダウンロードの仕方(Subversionリポジトリへのアクセスの仕方)
URLリンク(kikyou.info)

5:名前は開発中のものです。
07/08/06 19:50:23 wNe2stay
                !,-/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ,
               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
   匂いを嗅ぐと      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 ~

6:名前は開発中のものです。
07/08/06 20:00:31 AYOmsVmK
>>1
>>5


7:名前は開発中のものです。
07/08/06 20:06:45 mO1J2D/t
>1
乙です

>5
次スレから修正するように
×嗅ぐ
○KAG

8:名前は開発中のものです。
07/08/06 20:20:01 YBswYqQb
>>1
乙です

9:名前は開発中のものです。
07/08/07 03:41:32 2LaV1/+e
やっぱまほろさんもテンプレなのか。
どこぞの海原先生みたいだな。

10:名前は開発中のものです。
07/08/07 06:51:58 lo1t7Y5s
二十四季完成らしいよ

11:名前は開発中のものです。
07/08/07 07:37:56 yAHyvxSm
URLリンク(psychedelic-note.vivian.jp)
こっちの方かと思った俺

12:名前は開発中のものです。
07/08/08 12:21:24 u/JQJHuj
min~max間の連番の数字から、重複無しで"number"回数、数字をランダムで抽出したいのですが、
下の通りの記述だと、抽出回数(number)を2以下に指定すると「関数ではないかプロパティの種類が違います」とエラーが出ます。
3以上だと問題ないのですが、どの辺りがおかしいのでしょうか?

function onlyrandom(min, max, number) {
 tf.rndnum = []; var resultnum = [];

 for (var i=0; min+i<=max; i++) {
  tf.rndnum[i] = min + i;
 }

 for (var j=0; j<number; j++) {
  tf.temp = intrandom(0,tf.rndnum.count-1);
  resultnum[j] = tf.rndnum[tf.temp];
  tf.rndnum.erase(tf.temp);
 }
 return resultnum;
}

13:12
07/08/08 12:23:46 u/JQJHuj
済みません、エラーが出るのは関数の後の記述に問題がありました。
失礼しました。

14:名前は開発中のものです。
07/08/10 04:06:35 IEmUbbDt
お、いつの間にか新スレだ
1乙ノ

15:名前は開発中のものです。
07/08/10 10:07:08 Cgn+5F2b
前レスでVistaに触れてたけど
マイドキュメントにセーブデーター指定しとけば
パッケ裏に対応OS Vistaって加えても大丈夫?

房な質問スマソ。

16:名前は開発中のものです。
07/08/10 12:18:05 KKZ0SxxM
完成した作品のパッチを作る時、旧バージョンから更新のあったファイルをxp3にまとめる訳ですけど
どのファイルを変更したか、一々別のテキストか何かにファイル名を書き留めておかないと分からなくなるんですが
何か効率のいい方法は無いでしょうかねえ?

17:名前は開発中のものです。
07/08/10 12:23:42 uBokD6wE
バージョン管理。
ディレクトリへの配置を工夫すればデスクトップ検索でごまかせるが。

18:名前は開発中のものです。
07/08/10 15:44:43 kw/aasoO
更新日付順に並び替え

19:名前は開発中のものです。
07/08/10 17:36:51 elxmvfIX
パッチを作らな


変更前のデータを別のディレクトリにコピーして置いておけば
そのディレクトリを見ればいいだけなので書き留める必要は無くなる。
ディレクトリのパス名を日付にでもしておくと末吉。

普通にバックアップとってるだけの話だったりするけど。

20:名前は開発中のものです。
07/08/10 20:38:01 5GhJKIgd
>>15
吉里吉里自体はVistaに正式対応していないので(一応は動作するけど)
自分でサポートでききるのであれば、パッケージに対応OSとして書いてもいいかと。

OS : Windows 98/98SE/ME または Windows 2000/XP



21:名前は開発中のものです。
07/08/11 00:34:49 XAB1OZNf
質問です
現在読んでいるシナリオファイル名を得る方法を教えてください

22:名前は開発中のものです。
07/08/11 01:55:26 Cupyohsx
>>21
kag.conductor.curStorage

23:名前は開発中のものです。
07/08/11 02:02:55 XAB1OZNf
>>22
ありがとうございました

24:名前は開発中のものです。
07/08/11 09:35:22 9b9bsas9
グラフィカルボタンでロードしようとすると、
「スクリプトで例外が発生しました。オブジェクトはすでに無効化されています」とエラーが出てうまくいきません
どうすればうまくいくでしょうか?

記述はこうやっています
[button graphic="load_d.png" exp="kag.restoreBookMark(0 + sf.savepage)"]\

ちなみにぐぐって調べた限りの対策と、その結果は、
○新しいバージョンでは直ってる → 新しくしたけど駄目だった
○別のラベルに飛ばして、そこで@loadでやれ → ロードがサブルーチン内なのでreturnできなくなる
って感じです

助けて!!

25:名前は開発中のものです。
07/08/11 09:40:36 9b9bsas9
エラーログはこんなです

09:39:18 load.ks : [endif]\
09:39:18 load.ks : [s]\
09:39:20 ================================================================================
09:39:20 Scenario loaded : first.ks
09:39:20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
09:39:20 first.ks : jumped to : *scene01d0
09:39:20 処理を開始します
09:39:20 ==== An exception occured at buttonlayer.tjs(155)[(function) onMouseUp], VM ip = 3 ====
09:39:20 -- Disassembled VM code --
09:39:20 #(155) Butt_mouseDown = false;
09:39:20 00000000 const %1, *0 // *0 = (int)0
09:39:20 00000003 spd %-2.*1, %1 // *1 = (string)"Butt_mouseDown"
09:39:20 -- Register dump --
09:39:20 %-2=(object)(object 0x0012F52C:0x00000000) %-1=(object)(object 0x02E0AE0C:0x02E0AE0C)
09:39:20 %0=(void) %1=(int)0 %2=(object)(object 0x01D7BF3C:0x01D7BF3C)
09:39:20 ---------------------------------------------------------------------------------------
09:39:20 オブジェクトはすでに無効化されています at buttonlayer.tjs(155)[(function) onMouseUp]
09:39:21 スクリプトで例外が発生しました
オブジェクトはすでに無効化されています
09:39:21 trace : messagelayer.tjs(41)[(function) onMouseUp] <-- immediate event
09:39:29 (info) CPU clock : 2394.3MHz

26:名前は開発中のものです。
07/08/11 10:35:58 Cupyohsx
>>24
このエラーログを見て自分で対処できないレベルなんだったら、
「別のラベルに飛ばして、そこで@loadでやれ」としか言いようがない

TJSをいじれるならボタンのカスタムクラスを作るなり何なりして、
onMouseUpの中からロード処理を呼んだりすればいけるんじゃね

27:名前は開発中のものです。
07/08/11 11:30:34 AGeyEPFj
どうしてもその方法でやるだったら、ロードする前にボタンを先に消せばいいんじゃね?
messeage1にボタンを表示してるんだったら、こんなんでうごくかな。
[button graphic="load_d.png" exp="kag.fore.messages[1].clear(); kag.restoreBookMark(0 + sf.savepage)"]

これやるんだったら、別のラベルにとばしたほうが楽だわな。

28:名前は開発中のものです。
07/08/11 15:35:25 MpRZUFf2
俺の環境じゃ確認できなかったけど、
ButtonLayer.tjsのfunction onMouseUp()のところを
こんな感じに書き換えてみるとか

function onMouseUp()
{
if(isvalid this)
{
Butt_mouseDown = false;
update();
}
super.onMouseUp(...);
}


29:名前は開発中のものです。
07/08/11 16:11:37 9b9bsas9
>>27
なんか画面の切り替わりが上手くいきませんでした

>>28
関数とかわからないままいじるのはちょっと抵抗があるので、少し勉強してみます

ラベルジャンプだとロードの確認で「いいえ」を選択したときに、returnできなくてエラーがおきてしまいます
いっそロードの確認をしないという方法で解決しようかな、とも考えてます

30:名前は開発中のものです。
07/08/11 16:29:50 8kirUqNG
もしもし
ボタンにカーソルのっけると新しいメッセージレイヤを出しそれに文字を表示させるためにはどうすればよろしいのでしょうか

31:名前は開発中のものです。
07/08/11 16:33:18 MpRZUFf2
>>29
んー…じゃあcallでよべばいんじゃね?
こんな感じで
[button graphic="load_d.png" exp="tf.num=0,kag.callExtraConductor('', '*load')"]\

*load
[load place=&tf.num + sf.savepage]
[return]

32:名前は開発中のものです。
07/08/11 17:56:44 9b9bsas9
>>31
でけた!
ありがとうございます!!

33:名前は開発中のものです。
07/08/12 01:08:44 LdKoNj1R
>>30
コードが欲しいなら、もっとやりたいことをkwsk

34:名前は開発中のものです。
07/08/12 01:15:36 Q9C58JrJ
>>30
buttonタグにonenterかkag.processでジャンプ

35:30
07/08/12 09:31:13 3WHzmhX3
よくflashなどで調べたいところにカーソルを合わせると、
メッセージウィンドウが出てきてソレの説明が出てくる。
ってのがありますよね。
それみたいにボタンのオーバー時に新しいレイヤーを発生させて
説明をタラタラ表示させたいんですよ。
無論そこもノベルっぽく1文字ずつ表示っす。

イマイチやりたい事を伝えるのが難しいっす。

36:名前は開発中のものです。
07/08/12 17:11:34 K3QIwLpr
>>35
URLリンク(www.geocities.co.jp)

ここを参考にすればいいんじゃないかな
一文字ずつ表示するのはできないっぽいけど

37:30
07/08/12 19:58:58 3WHzmhX3
>>36参考になりました!ありがとうございます。
>>36のおかげで文字は表示出来るようになったのですが、
やはり1文字ずつ表示させたいです。

38:名前は開発中のものです。
07/08/12 20:55:20 zt89Jrq+
二十四季夏コミ間に合わなかったらしいよ

39:名前は開発中のものです。
07/08/12 21:13:45 5sUYEZcD
タイプライターのソースが参考になるかも

40:名前は開発中のものです。
07/08/12 21:23:32 NJ3zUava
夏コミ用のゲームをまだ作ってるピコ手の俺様もいますよ、と。
ていうか、シナリオ完成してないんだけど。

41:名前は開発中のものです。
07/08/12 21:24:48 BTdZtL4q
カーソル乗っけた時に普通のメッセージレイヤ出すようにすればいいんじゃね

42:30
07/08/12 21:33:12 3WHzmhX3
>>41普通にメッセージレイヤを出すと
メッセージレイヤのみが出て何も書かさりません。

~~~
function hint_on(hint){
kag.fore.messages[2].fillRect(0, 0, kag.fore.messages[2].imageWidth, kag.fore.messages[2].imageHeight, 0);
kag.fore.messages[2].font.height = 24;
kag.fore.messages[2].drawText(0, 0, "%s".sprintf(hint), 0xFF0000);
}
~~~
onenter = "hint_on('あいうえお')"

一気に全部表示かよ!だったら画像で表示させたほうが楽だZE☆
な状態です。
一文字ずつ表示の方がカコイイ!

43:名前は開発中のものです。
07/08/12 21:57:59 5sUYEZcD
単純に1文字ずつ表示するだけなら、1文字書いてトランザクション、それの繰り返しとか

44:名前は開発中のものです。
07/08/12 21:59:15 5sUYEZcD
×トランザクション
○トランジション

45:名前は開発中のものです。
07/08/12 22:34:04 Q9C58JrJ
もうめんどいからlayoptで表示させてcurrentして
文字速度指定してスキップ不可にしてゆっくり表示させろ

46:30
07/08/12 22:52:55 3WHzmhX3
>>43-45
私にそれが出来るスキルが備わっていなかった模様です・・・orz

Tjsの方で文字を一文字ずつ表示するっていう関数はないんですかね?

>>39様のタイプライターも失敗しましたし・・・

47:名前は開発中のものです。
07/08/13 00:56:20 8eMyQsBg
>>46
TJSにあるのは、特定の位置に特定の文字列を描画させるメソッドのみ
1文字ずつ描画したければ、文字列を分解して、drawTextにかければいいだけ

ちなみにKAGは、ウェイトをはさみながら1文字ずつ描画していって
改行させる位置にきたら改行したりしてる

問題は、この描画というのは一瞬で行われるため、1文字ずつトランジション
させながら文章を表示させていくことはデフォルトのKAGではできない
やろうと思うなら、各文字ごとにレイヤを用意して描画してをトランジションする

つか、スキルが追いつかないなら、まずはできる範囲でやれ
失敗したからといって、何日もかけて悩んだり試行錯誤できないようなら
KAGでできる範囲にしろ。工夫次第で、KAGだけでもいい演出はできるぞ
文章が表示されればユーザーは読むことができるんだから、それでいいじゃねえか

48:名前は開発中のものです。
07/08/13 01:32:47 SrOWzJJ2
>>30

>>34>>41の言うように、カーソル乗っけた時に別レイヤーにジャンプさせればできるじゃん。


[link onenter="kag.process(,'*hint01')"]ここにオンマウスでヒント1が表示される[endlink]

(↑これはメッセージレイヤー0を使っているとする)
そんで

*hint01

のラベルを別に用意しといて、その中でメッセージレイヤー1を指定、
「あいうえお」

でいいだろ。
ちなみにボタン画像は使ったことがないので、上の例は「ボタンにオンマウス」じゃなくって
「文字列にオンマウス」でジャンプだ。そこは自分で適当に変えてちょ。


まあ>>47の言う通り、自分で分かる範囲の処理にしといた方がいいと思うが。
行き当たるたびにここで質問ばっかしてたら埒があかないし。


49:30
07/08/13 02:00:49 wMLdrIrt
>>47
自分は演出ばかりに懲りすぎていた模様です。
精進せねば

>>48
おかげで出来ました。ありがとうございます。

50:名前は開発中のものです。
07/08/13 04:00:20 3TR8g+aG
>>30のおかげでまったく別件のバグが取れた俺がいた。

51:名前は開発中のものです。
07/08/13 05:49:13 XsdRXOU8
>>50
kwsk

52:名前は開発中のものです。
07/08/13 06:52:14 3TR8g+aG
>>51
既読文字表示速度関連に手を入れてたんだけど
その過程で通常の文字表示速度を変えられなくなってる事に気づいてなかった。
んで>>34を実験中にそれに気づいて修正することが出来た。

バグというよりかは凡ミスという方が正しいかも。

53:名前は開発中のものです。
07/08/14 01:38:58 w7fB85hT
KAGEXのsliderタグのonchangefunc属性ですが、
マニュアル(kagex.txt)には下記のように記載されていますが、
ここでいうdraggingとは何を指すか分かりませんでした。
> onchangefunc 変更したとき呼び出される関数を指定
> func(position, dragging); の形で呼び出される

MessageLayer.tjsのonChange関数が該当するものと思われ、
draggingはドラッグ中か否かを指定するのかと推測したのですが、
trueやfalseを指定すると「スクリプトで例外が発生しました
(void) から Object へ型を変換できません。
Object 型が要求される文脈で Object 型以外の値が渡されるとこのエラーが発生します」と表示され、
draggingそのものを指定すると「スクリプトで例外が発生しました
メンバ "dragging" が見つかりません」と表示されてしまいました。

>>47氏がご指摘されていたように出来る範囲で対応しようと思っているため、
今回は対応せずに先に進むつもりですが、今後のためにアドバイスいただけると助かります。

54:名前は開発中のものです。
07/08/14 02:27:54 lCv2nSJO
>>53
何をどう指定したのかさっぱりわからん。具体的に書いとくれ。


55:名前は開発中のものです。
07/08/14 04:12:17 89viuMhH
質問があります
任意の文字列をTJS式として実行することは出来ますか?
具体的には、例えば

var dic = [];
dic.add("dic.count");
 とすればdic[0]には"dic.count"という文字列が入り、
dm(dic[0]);
 と書くと当然「dic.count」と表示されます。これを
dm(dic[0]+'='+(なんか処理)dic[0]);
 と書いて、5個なら「dic.count = 5」というように出来ないでしょうか。
 ご教授お願いします。

56:名前は開発中のものです。
07/08/14 05:54:03 kPyoQBNU
dm(dic[0]+'='+Scripts.eval(dic[0]));

57:名前は開発中のものです。
07/08/14 05:54:05 gueEeab/
>>55
Scripts.exec
実験してくれ

58:名前は開発中のものです。
07/08/14 05:55:58 gueEeab/
>>56
あぁ、そっちでいいのか。

59:名前は開発中のものです。
07/08/14 09:51:44 w7fB85hT
>>54
説明不足すいません。

【やりたかった事】スライダーのタブを動かした際、
ミュート実行時はkag.bgmvolumeの値が変更されない(0のまま)ようにしたい。
sliderタブの中だけでは出来なさそうだったので、スライダーのタブを動かした際、関数を呼び出したい。

[slider width=100 height=10 opacity=0 min=0 max=100 onchangefunc="bgm(sf.volume, true)"]

// sf.mute・・・ミュート中、!sf.mute・・・非ミュート中
function bgm(test)
{
if (!sf.mute)
kag.bgmvolume = test;
}

多分上記のような感じの事を記述すれば、
・ミュート時は、sf.volumeに音量の値が格納されるだけでkag.bgmvolumeには影響を及ぼさない。
・非ミュート時は、sf.volumeに音量の値が格納された後kag.bgmvolumeに値がコピーされ、
sliderタブの移動に実際の音量が追従する。
かなと思い試してみました。

ただonchangefuncの書き方が仕様に沿っていないようで、>>53のようになってしまいました。

60:名前は開発中のものです。
07/08/14 11:37:16 zpD3/Hih
>>59
[slider width=100 height=10 opacity=0 min=0 max=100 onchangefunc="bgm"]
こう書く。

呼び出される側はこの形

function bgm(volume, dragging) {}

スライダをつかんで移動してる間は dragging が true になってる。
最後値が確定したときは dragging が false。


というか、kagex の場合、bgm の mute 処理は kag.bgmenable で適切に
内部制御されてるので、kag.bgmvolume は常にそのまま制御するのが正解。

61:名前は開発中のものです。
07/08/14 13:11:57 w7fB85hT
>>60
ご指導ありがとうございます。
無事実装できました。

また、kag.bgmenableのご説明ありがとうございます。
音量を0にすると事しか考えておらず、無効化するという発想はありませんでしたorz
kag.bgmenableのおかげで、そもそもスライダー内で関数を呼び出す必要性がなくなり、ソースがスッキリしました。

62:名前は開発中のものです。
07/08/14 13:15:04 lDSvhbmR
以前KAGEX使ったら妙なエラーやらバグで苦しんだんだが
改善されたのかね

63:名前は開発中のものです。
07/08/14 19:36:07 epRKm6MR
>>55

前置!は?

64:名前は開発中のものです。
07/08/15 03:35:23 WQbYZ8UU
buttonタグで一画面に複数ボタンを配置して、そのうちのどれか一つでもクリックすると
その後は全ボタンがクリックできなくなるんですけど、これはまたbuttonタグを使って再配置するしかないんでしょうか?

65:名前は開発中のものです。
07/08/15 03:42:31 vc/j7j8+
>>64
[unlocklink]

66:名前は開発中のものです。
07/08/15 03:47:36 WQbYZ8UU
ありがとうございます、こんなタグがあるなんて知りませんでした
今まで一々再配置してました

67:名前は開発中のものです。
07/08/15 06:13:57 WQbYZ8UU
続けて質問済みません
一つの小数点まで含む数値に対し、任意の桁で四捨五入するにはどうすればいいのでしょうか?
(例えば「5.51666666667」という値を、小数点第三位で四捨五入して「5.52」を返す)

68:名前は開発中のものです。
07/08/15 06:23:50 PmpxbWpo
"%.2f".sprintf(5.51666666667)

69:名前は開発中のものです。
07/08/15 13:13:01 WQbYZ8UU
ありがとうございます、望む動作をできました。

70:55
07/08/16 06:21:27 /RTXx7JJ
>>56
>>57
目的通りの動作が出来ました。
すばやい回答ありがとうございます

71:名前は開発中のものです。
07/08/18 00:45:03 QW7WRdl0
DQや逆転裁判みたいに台詞をポポポってならすことって可能かなぁ
いろいろ試したけど文字スピードに合わせて鳴ってくれなくて困った

72:名前は開発中のものです。
07/08/18 01:12:39 OtO3Om55
>>71
もう試したとは思うけど、タイプライタープラグインってのがなかったっけ?
あれってどんな具合だろうか。

73:名前は開発中のものです。
07/08/18 18:14:04 V+Z59d7K
>>71
おさかな定食かどこかにタイプライタープラグインがあったような
それのkey.wavの音を変えればよかったと思われる。
文字速度がめちゃくちゃなのはランダムのところをいじればよかったと思われ。

74:名前は開発中のものです。
07/08/18 23:24:37 OtO3Om55
xxxxSoundBuffer.totalTimeを取りにいく時、
再生してるものがない場合、派手にエラーが出る。

さらっと「0」返してくれたっていいじゃんよぉー

って思うのは俺だけですか?
って、本家に言う度胸のない俺orz

75:名前は開発中のものです。
07/08/18 23:43:46 6nQdjJZ2
そのくらい自前で調べろよ・・・

76:名前は開発中のものです。
07/08/19 01:23:14 g71rFH5C
調べるとかの問題じゃなくね?

77:名前は開発中のものです。
07/08/19 08:07:59 c3zLxmIO
雨とか雪降らして消す時に
フェードアウトとかできないんですかね?

78:名前は開発中のものです。
07/08/19 08:14:06 luT6ZHby
裏画面だけ降り止ましてからトランジションでフェードアウト

79:名前は開発中のものです。
07/08/19 09:05:12 DvatZ/8W
夏コミのゲームでこれは(吉里吉里的意味で)すごいってゲームあった?

80:名前は開発中のものです。
07/08/19 09:22:53 c3zLxmIO
>>78
背景と一緒にフェードアウトさせようとしてるんですが
背景だけ変わるんですが

81:名前は開発中のものです。
07/08/19 11:34:42 XdAAAXU9
それは裏画面の雨か雪が止まっていないのが原因と思われ。
一度表画面できちんと止めるソースを書き、それを裏画面に適用すれば良い筈です。

82:名前は開発中のものです。
07/08/19 14:14:43 xq9xqsQg
>>78
使い方のテキストくらい読もうぜ…
@backlay
@image layer=base page=back storage=画像
@snowopt backvisible=false
@trans method=crossfade time=2000
@wt
@snowuninit

83:名前は開発中のものです。
07/08/19 14:15:36 xq9xqsQg
あっゴメソ >>80

84:名前は開発中のものです。
07/08/19 18:53:05 c3zLxmIO
>>82
あぁ本当ですね
よく読んでませんでした
ありがとうございました

85:名前は開発中のものです。
07/08/23 02:42:14 Ss2jzv08
linkタグで作ったリンクにカーソルを合わせた時、表示される矩形の色とか高さとかを変えるタグが
あったような気がするんですが、何というタグでしたでしょうか?

86:名前は開発中のものです。
07/08/23 04:08:30 MUSDPCtM
リファレンス嫁。人に聞くよりどんだけ早いと思ってんだ。

87:名前は開発中のものです。
07/08/23 09:10:10 eUZqlrsI
初めまして。
僭越ながら質問させていただきます。
1280x960の解像度で製作したとして、ユーザーのモニターが
1024x768と低い、1854x1242とアスペクト比が通常ではない
といった場合、比率を保ったまま拡大縮小されるんでしょうか?
標準で可能、scriptやpluginを組み込めば可能、吉里吉里の
仕様で実現不可能、などと具体的に教えていただきたく存じます。
スレッドの皆様、どうぞよろしくお願いいたします。

88:名前は開発中のものです。
07/08/23 10:03:45 Owja4/UA
>>87
モニタのアスペクト比で決まるだけっしょ。
吉里吉里側でどうにかなる問題じゃない。

89:87
07/08/23 10:55:41 eUZqlrsI
いろんなサイト巡ってみたら標準で
windowzoomって拡大縮小の機能を
付加するplugin入ってたんですね。
お騒がせしてすみませんでした (;´Д`)
消えます。

90:名前は開発中のものです。
07/08/23 11:04:27 Owja4/UA
windowzoomではアスペクト比は変えられないんじゃね

91:名前は開発中のものです。
07/08/23 12:59:35 T3uA/Wqa
>>87
よく知らんけど
URLリンク(kikyou.info)
>2.29-dev.20070416
>>フルスクリーン表示のアルゴリズムを大幅に刷新 (デフォルトでは一般的な液晶モニタ向けの解像度決定アルゴリズムになっています)これに伴い -fszoom オプション追加、-fsres オプションの指定内容を変更
これってどうなん?

92:名前は開発中のものです。
07/08/23 13:33:25 m5AOsJ26
むしろ中途半端な存在のQuad-VGAの方がマイナーでWXGAやWXGA+の方が今はメジャーだろ。
しかも、それらの規格をサポートしたモニタてSXGAクラスじゃないと無くないか?

1854*1242てどこの業務用モニタ?

紙芝居ゲーをXGAあたりで作るのはまだ早いよ。バリバリの3Dゲーマー向けならともかく。

93:名前は開発中のものです。
07/08/23 13:44:09 Owja4/UA
大体、1024x768が低い解像度って言ってる時点で・・・
まだ多いぞ、1024x768ユーザー。

あとノベルだとしたら、1280x960なんてサイズで作られても読みにくいだけなんすけど……。
横にダラダラ書かれても読みにくいし
左端に寄っちゃって書かれるのも読みにくいよ。


94:名前は開発中のものです。
07/08/23 14:02:06 UJS4faoc
ノベゲだとまだまだ1024x768が標準か大きいほうじゃないのかw


95:名前は開発中のものです。
07/08/23 14:06:40 Owja4/UA
>>94
だよね。
ノベルなら800x600の方が読みやすい。
むしろ視線を左右にあまり動かさなくて済む640x480でもおk


96:名前は開発中のものです。
07/08/23 14:14:41 UJS4faoc
>>94
作り手としては1024とかの方が文字詰め込めるし、栄えも良くできるんだけどねw
800x600はその代わり色々ごまかしが利くし、読みやすしで、まだまだ利点は大きいね

ハードカバー 1024
文庫 800

って感じかも。新聞紙で小説はちょっとなぁと思う心理かも試練

97:96
07/08/23 14:16:07 UJS4faoc
>>96
まちがた、全部1サイズずつ落としてかんがえてくだしあ

雑誌サイズ 1024
ハードカバー 800
文庫 640

98:名前は開発中のものです。
07/08/23 14:20:44 Owja4/UA
>>96
横1026でズラーっと文字が並んだのは読みにくいからマジやめれ。
詰め込みやすいとかの問題じゃないっての。見栄えも良くないよ。

サイトと同じである程度横幅が狭い方が読みやすい。



99:名前は開発中のものです。
07/08/23 14:21:26 Owja4/UA
>>97
おわ、リロードしてなかった。
スマソ

100:名前は開発中のものです。
07/08/23 14:30:04 UJS4faoc
>>99
誤表記した俺が悪いわけで気にしないでくれ

101:名前は開発中のものです。
07/08/23 15:08:56 0iHE3r8a
スッゴく話をぶったぎるけどKAGのレイヤについて質問
KAGタグをいじってレイヤ(特に立ち絵)の管理をしやすくしようと色々試みててるんだけど…
Layerクラスに例えばLayerName =""
みたいなプロパティを追加して、
Layoptタグを記述するときに
Layopt[0 以下略]じゃなくて
Layopt["女の子A",以下略]
みたいに記述できるようにしたいんだけど、どういじればいいかな…?

Laycountタグをいじればいいかなって思ってMWindow.tjs開いたけどワケワカメ

誰かヒントください……

102:名前は開発中のものです。
07/08/23 15:38:47 0iHE3r8a
KAGでレイヤー数を管理してる変数を辞書配列に置き換えてやればなんとかなりそうかな?
なんかレイヤ表示するあたりもごっそり改造しないといけない悪寒…
起きたらリファレンスとにらめっこしよう…

103:名前は開発中のものです。
07/08/23 16:32:26 dmNtc3o2
>>87
>>91 がいってるオプションで実現可能。
ただし、ユーザの環境によってはいまいちきれいにならないことがあるので要注意。
現行開発版なら、System.setArgument でプログラム側から方式変更できるので組み込んであげると親切。

>>94
ノートPCは現時点では 1024x768 が多いね。デスクトップ用の液晶では1280x1024が普及してて、これ、
アスペクト比が違うので、そのまま800x600 を全画面にすると縦に延びるんだよねorz
ついでに液晶モニタ側での拡大になって一般的に汚い。
最新開発系だと標準はアスペクト比固定優先で、解像度そのままで吉里吉里側での拡大表示(縦にちょっとつぶす)になる

>>95
800x600 だと液晶モニタで拡大表示すると、文字がぼやけてしまってとても読みづらいんだなー。
絵のほうは 800x600 を引きのばしたのでいいんだけど、文字の解像度はあげれるようにしたいものです。
今の吉里吉里でも技術的にはできなくないけど(手動でレイヤ単位で拡大コピー)
間違いなく劇重になるので、DirectX 系を利用したマルチ解像度の拡張がほしいところ。

104:名前は開発中のものです。
07/08/23 16:35:38 Owja4/UA
>>103
>800x600 だと液晶モニタで拡大表示すると

そのゲームの字が余程豆文字なのか、それとも弱視なの?

105:名前は開発中のものです。
07/08/23 16:53:30 dmNtc3o2
>>104
んー、800x600の元画面を、たとえば 1600x1200の画面でそのまま拡大すると、
dpi的には半分で、拡大のバイリニアかバイキュービックだかで輪郭だけがぼけた文字になっちゃうわけですよ。
俺の価値観ではこれは「汚くて読みづらい」になるんだな。
CRT の場合はいいかんじにぼけてさほど気にならないんだけどね
液晶でも高級機なら高度なアプコンがかかって大丈夫なのかもしれないけどそんないいのは持ってない。

106:名前は開発中のものです。
07/08/23 17:04:09 T3uA/Wqa
>>101
とりあえずきみが何を言いたいのかワケワカメ
MWindow.tjsなんてないし
少なくともそのレベルで改造なんてことはやめとけ。蟲がわくだけ

[iscript]
sf.charalayer = %["女の子A" => "0", "女の子Dee" => "1"];
[endscript]
あたり設定して
[macro name="layopt2"]
[layopt layer="&sf.charalayer[mp.layer]" *]
[endmacro]
とかどうよ

もし、改造するなら、kag.getLayerFromElmを弄るとか
こっちの方がレイヤ系のいろんなタグをすべて用意する必要がないか
あとはこのレベルなら、エディタ側で置換するとか

俺エスパーじゃないから、聞きたいことの答えになってるかはしらん

107:名前は開発中のものです。
07/08/23 17:07:51 19JV1CUm
そんなん800×600とかに関係ないがなとしか言えません。
モニタの解像度下げれば?w

108:名前は開発中のものです。
07/08/23 17:07:55 UJS4faoc
つかdpiがかわるんだから拡大縮小にしてもアンチエイリアシングにしても仕方ない事なんじゃないかな。
ここで何とかできる話ではないと思うんだがw
でもまぁそこまでオートで変わるんならすげーもんだよなぁと低スキルの俺は思うよw

109:名前は開発中のものです。
07/08/23 17:10:49 Fyp3rdxE
そんな瑣末考えてると作品ひとつも上げられないよ

110:名前は開発中のものです。
07/08/23 18:06:45 dmNtc3o2
>>107
話かみあってねぇ^^;
モニタ側の解像度さげたら、安物液晶モニタの貧弱な拡大機能でもっと悲惨なことになるよぅ
それがいやだから文字だけでも解像度あげていきたいって話だよう

>>108
一応技術的な目算はたってる。
開発版吉里吉里2では、独自の描画ドライバをつくれば primaryLayer を複数もつことができるので、
1つはたとえば800x600にして、従来のプログラムはほぼそのままここで動かす。もう1つ、現在のモニタの解像度に
合わせた primaryLayerを作って、そこに任意の解像度表示に対応したメッセージ表示専用の窓を作って配置する。

それぞれの primaryLayer は、それぞれの拡大率で、Direct3D で画面に合成表示させる。
これで文字だけ高解像度で、ゲーム本体の画像データは 800x600ベース素材の作品がつくれるという寸法

>>109
チーム内でのプログラマの仕事は瑣末を考えることだと思うんだ

111:名前は開発中のものです。
07/08/23 18:12:52 3+Tm6Bhc
まぁ俺にとってはどうでもいいレベルだな

112:87
07/08/23 18:17:26 eUZqlrsI
おおっ…いろいろレスいただけて恐縮です (;´Д`)
当方ずっとCG集のみ描いてきて、プログラムのぷの字も分からんのですがダウンロード販売の折
差分画像でサイズが大きくなりすぎる事態に陥り、吉里吉里にすがり付いたというわけです。
描いてるCG集のサイズが1280x960なので、このサイズを基点にソフト化するわけですが
もしかしてエロ同人やCG集を購入する人のPCって1024x768前後が多いんですかね?
UXGAやXUXGAのモニターもノートも安くなってるから普及してると思ってたんですが…。
今更800x600のCGにするわけにもいかないしなぁ…UXGAサイズも考えてたのに(´・ω・`)ナンテコッタ
ひとまず、オプションかSystem.setArgument命令か標準プラグインを駆使して
形になるものを作り上げたいと思います。いろいろありがとうございました。

113:名前は開発中のものです。
07/08/23 18:26:19 dkQ7WChn
>>112
俺も1024x768だけど、まだまだ多いんじゃないかな
ちなみに、試しに1280x960の鬼サイズで作ってみたら
最初からフルスクリーン扱いで、
画面から大幅にはみ出してすごいことになった

114:名前は開発中のものです。
07/08/23 18:31:41 T3uA/Wqa
>>112
普及はしてるだろうが、それ前提で作れるほど標準にはなってないだろ

115:名前は開発中のものです。
07/08/23 19:40:36 oM5G1TMF
同人ダウンロードサイトで行われたアンケート結果
URLリンク(vista.jeez.jp)

1/3強は1024x768だね

116:名前は開発中のものです。
07/08/23 19:54:28 0/Yuz/Yv
はー、なるほどなるほど。
CG集だったら確かに1280x960でもいいきがすんだが・・・
吉里吉里の場合向いてるか微妙だよなぁ。

117:名前は開発中のものです。
07/08/23 21:14:49 63wz7/Ku
>>110
おれも救済としてその機能欲しいんだけど
やっぱ互換性を考えるといろいろ面倒くさいんだろうねぇ

あくまで一部ユーザーのための救済

118:名前は開発中のものです。
07/08/23 22:37:59 NWt8Rtp5
>UXGAやXUXGAのモニターもノート
流行で屑モニタ量産してるだけだから普及してるわけじゃない。
PCパーツ追いかけない奴なら2,3年前のモニタが現役だからXGAは現役。

まあ、1854*1242ってデジカメで撮った画素数だからCG屋だろうと思ってたけどw

119:名前は開発中のものです。
07/08/23 22:41:23 Fyp3rdxE
あまり細かいと目が疲れるので1024x768で使ってる俺

120:名前は開発中のものです。
07/08/24 21:18:44 HSKoiuns
UXGAでも5%なのか…

121:名前は開発中のものです。
07/08/24 21:20:36 7vo63PDF
[link]で作ったリンクにマウスをあわせた時、矩形自体を表示しないようにするには
どうすればいいんでしょうか?

122:名前は開発中のものです。
07/08/24 21:43:03 hQm3MfbC
不透明度を0にしたらいいんじゃね

123:名前は開発中のものです。
07/08/24 21:46:09 7vo63PDF
特定の場面での選択肢だけ、矩形を見えないようにしたいのですが
linkタグだとopacityとか、それに該当するものが無かったので……

124:名前は開発中のものです。
07/08/24 22:04:33 bshD8TRh
KAGEXのSliderタグで作成したスライダーオブジェクトにKAGからアクセスするには
どうすれば良いのでしょうか?
ドラッグしていない状態で、positionプロパティを変更したいのですが…

125:名前は開発中のものです。
07/08/25 00:27:18 +Ct+P2W7
>>123
KAGだけだと難しいんじゃないかな?
TJSがある程度分かるなら、
MessageLayer.tjs 内の
highlightLink
もしくは
internalMouseMove
をいじってみるとか。

俺はhighlightLinkをいじって、矩形表示じゃなくて
選択肢左にカーソルを出すように改造できたから、
矩形表示を消すくらいなら出来るんじゃない?

126:名前は開発中のものです。
07/08/25 03:39:03 p8ksEMQn
>123
KAGのソース見たら、実はlinkタグにopacity属性を指定すると矩形の不透明度が変えられるようになってるね。
リファには書いてないけど。

127:名前は開発中のものです。
07/08/25 09:51:00 gUE5l5/+
そういうのいくつかあったような。
使ってないのもあった気がする。将来用?

128:名前は開発中のものです。
07/08/26 01:12:47 nqqmrYPp
非推奨ってだけな気も。
もしくはリファ掲載忘れ。

129:名前は開発中のものです。
07/08/27 00:57:22 jXsjYeLw
>もしくはリファ掲載忘れ。
たぶんこれだな。

130:名前は開発中のものです。
07/08/27 02:50:03 /ISNwuy1
TJS側も最近ソース読むとドキュメント化されてない引数取ってたりするもんな。

仕様が固まってなくて隠したいのか
単に忘れてんのか区別付かないんでそういうのは
互換性のために使わないようにしてるが。

131:名前は開発中のものです。
07/08/27 23:46:14 EpCIcKGg
最新開発版の吉里吉里を使用しているのですが、Shift+F11などを無効にしたいと思ってます。
そのためkrkrconfでホットキーを無効にしているのですが、その設定が.cfファイルに書き出されるため.cfファイルを消すとホットキーが有効になってしまいます。
ユーザーの誤操作防止のため、出来ればユーザーが誤って消さないような形でShift+F11などを無効にしたいのですが、
何か良い手ご存知の方いらっしゃいましたらアドバイス願いします。

132:名前は開発中のものです。
07/08/28 01:02:04 ZXoRjeUe
>>131
krkr.exe のバイナリ中 の "XOPT_EMBED_AREA_" という文字列の直後から、

リリース用オプション(cfファイルの中身と同様の書式) \0 無視するオプション項目(カンマ区切り) \0

という形で文字列がうまってるので、そこを書きかえれば良い。後ろをずらさないよう



133:名前は開発中のものです。
07/08/28 01:15:33 kbMfCGvy
ファイルをリードオンリーにしただけじゃ削除は出来るんだっけ?

134:名前は開発中のものです。
07/08/28 23:25:22 ap8CUtqf
タグをそのままコピペしてシナリオに書き入れてみたんだがBGMがならない
[fadeinbgm storage="test.wav" loop=true time=3000]
フォルダのファイルがちゃんと入っているのになんでだ?

135:名前は開発中のものです。
07/08/28 23:27:18 YtOhwXNI
config.tjs

136:名前は開発中のものです。
07/08/28 23:30:25 ap8CUtqf
>>135
MIDIからwaveにちゃんと書き換えたのにSEもBGMも鳴らないんだよ

137:名前は開発中のものです。
07/08/28 23:33:07 YtOhwXNI
playbgm
playse

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

139:名前は開発中のものです。
07/08/28 23:53:36 nRDIgrKO
プラグインよみこんでない

140:名前は開発中のものです。
07/08/28 23:54:47 nA6g/CjX
('A`)つURLリンク(homepage1.nifty.com)

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

142:名前は開発中のものです。
07/08/29 02:43:10 XBBh2O7y
厨房は夏休みの宿題でもやっとけよ

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

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

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


146:名前は開発中のものです。
07/08/29 09:44:00 G1wLM+RC
>>145
「ソート アルゴリズム」でぐぐれ。

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

148:名前は開発中のものです。
07/08/29 13:36:26 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:名前は開発中のものです。
07/08/29 14:21:42 QrtVn23d
それはバブルソートを書こうとしたのか

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

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

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

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

153:名前は開発中のものです。
07/08/30 12:10:00 wdLWmfL6
俺は必要だから自分で管理している。

154:名前は開発中のものです。
07/08/30 22:52:58 stgXZKwj
>>134
実は拡張子が wav で中身が mp3 とか?

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

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

157:名前は開発中のものです。
07/09/02 06:01:34 6PyOsUM/
ベンチマークって以前の吉里吉里のバージョンでもできる?

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

159:名前は開発中のものです。
07/09/02 17:33:37 hZOg3bG2
>>158
できます

160:名前は開発中のものです。
07/09/02 17:45:43 mKfO9Dnq
できるのか!
よかったらやり方教えてくれ

161:名前は開発中のものです。
07/09/02 18:18:41 NsV4FRbI
var mess='abcd';
mess.save('abcd.txt','');

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

162:名前は開発中のものです。
07/09/02 22:20:29 mKfO9Dnq
やっと出来ました
ありがとうございます

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


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

}


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

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


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

167:名前は開発中のものです。
07/09/04 09:31:59 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:名前は開発中のものです。
07/09/04 09:41:41 7cVbmaSk
連投スマンが、直接CSVParserのインスタンスに差し込んだ方が楽だった
var csv = new CSVParser();
csv.result = [];
csv.doLine = function(line) { result.add(line); } incontextof csv;
csv.parseStorage("xxx.csv");

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

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

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

171:名前は開発中のものです。
07/09/05 01:15:36 3ko+xHlL
>>170
リファレンス嫁

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

どうも失礼しました

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

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

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

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

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

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

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

178:名前は開発中のものです。
07/09/05 22:57:51 a5xDNyHJ
じゃあなんだったらいいんだ

179:名前は開発中のものです。
07/09/05 23:01:04 tcseuKyF
ここで満を持して
ひまわり
の登場です!

180:名前は開発中のものです。
07/09/05 23:07:29 74ijxx8F
いや

FORTRAN
COBOL
APL

きっとこのあたり

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

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

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

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

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

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

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

184:名前は開発中のものです。
07/09/06 16:04:55 mJ+xYya0
tjsで一番変態なのは incontextof

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

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

187:186
07/09/07 03:56:53 Gxn0uWUD
すみません、勘違いでした。
挿入部分が間違っていたため、訂正したらちゃんと消えました、失礼しました…

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

189:名前は開発中のものです。
07/09/07 13:12:37 y3SMZJhh
す、スレチかもしれませんが質問です。

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

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

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

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

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


192:名前は開発中のものです。
07/09/07 16:28:22 X/wOMBuQ
つーかサンプル画像持ってこい

193:名前は開発中のものです。
07/09/07 18:00:28 y3SMZJhh
す、すいませんでした。
画像を用意しました。

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

URLリンク(vista.undo.jp)

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

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

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

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

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

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

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

201:名前は開発中のものです。
07/09/08 03:29:06 92vPEHUG
>>200
間違ってるな。
キャプのを見れば?

202:名前は開発中のものです。
07/09/08 03:36:40 psxOKq1m
>>201
キャプにタイトル載ってた悪い

203:名前は開発中のものです。
07/09/08 03:36:42 92vPEHUG
PSP2で動かしたいなぁ

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

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

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

206:名前は開発中のものです。
07/09/08 05:57:26 fInbOD0W
>>205
多値を返す関数を作りたいって事?

207:名前は開発中のものです。
07/09/08 06:17:49 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:名前は開発中のものです。
07/09/08 13:35:25 MdoufHni
位置が(3, 2)だからhoge.find(10) => 2は絶対にあり得な様な・・・。
多値を返したいんじゃなくてn次元の深さを考慮したいならループ回せばいいだけじゃない?

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

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

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

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

211:名前は開発中のものです。
07/09/08 14:28:35 jV8L49pw
配列で返すのが無難

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

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

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

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

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

214:名前は開発中のものです。
07/09/08 23:00:27 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:名前は開発中のものです。
07/09/08 23:17:10 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:名前は開発中のものです。
07/09/08 23:17:42 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:名前は開発中のものです。
07/09/08 23:22:22 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:名前は開発中のものです。
07/09/09 04:03:47 qk5Qqg96
>ID:NNwR9/3Aさん

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

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

219:名前は開発中のものです。
07/09/09 10:55:56 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:名前は開発中のものです。
07/09/09 11:10:27 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:名前は開発中のものです。
07/09/09 11:12:37 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:名前は開発中のものです。
07/09/09 22:51:06 BYjQlIfL
そろそろうざいから消えろよ^^

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

224:名前は開発中のものです。
07/09/10 03:18:17 9r8dLBdh
>>223
さらに煽りたいだけだから無視するんだ

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

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

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

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

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

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


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

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

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


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

230:名前は開発中のものです。
07/09/11 12:26:16 fpRLOyRS
ここなりWikiなり自分のサイトなり

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

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

233:名前は開発中のものです。
07/09/11 14:44:18 2O9Ni67C
NoEditer用のなら作ったぜ。適当だが。

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

235:名前は開発中のものです。
07/09/11 17:05:40 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:名前は開発中のものです。
07/09/11 17:17:57 fpRLOyRS
>>235
ごめん俺の勘違いというかミスだったマジごめん

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

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

238:名前は開発中のものです。
07/09/12 12:21:52 Vz6XBwPC
>>237
URLリンク(web.archive.org)
あ、あんたのためなんだからねっ!!

239:名前は開発中のものです。
07/09/12 13:00:33 x12SJbVP
KKDEの作者さんここ見てたら
テキスト表示部分の背景色や文字色を変えられるようにしてくれー
真っ白は目に痛い

240:237
07/09/12 13:55:01 jrC4Igcl
>>238
おおおおおおおおおおおぉ………( ;ω;)
ありがとう、マジにありがとう。涙が出かけたよ!本当にありがとう!!!

id変わってるが気にしないでくれ、じゃあ早速弄くってくるけぇのノシ

241:名前は開発中のものです。
07/09/12 14:40:04 DqdGyjjF
>>238
なんというデレデレ。

242:名前は開発中のものです。
07/09/12 21:50:46 0XzX2c3C
>>239
configフォルダ内にあるKAG3-Mode.xshdを開いて
colorもしくはbgcolorのところの設定値を変更すれば色が変わるよ。


243:名前は開発中のものです。
07/09/13 08:33:48 Rz/1lt4j
>>242
本当だ、変更できた
でも形式が0xじゃないからやりにくいな、設定で自由に変更できるようになれば
かぐや姫Studioからの乗り換えも考えられるんだけどなあ

244:名前は開発中のものです。
07/09/13 09:09:34 KPm+hwRS
>>243
そんなの、tjsつかって簡単なフロントエンド書けばよくね?

245:名前は開発中のものです。
07/09/13 11:13:00 JgBvJqpA
セーブデータの削除もうちょっと簡単になってほしい
最早意味が分からないぜ

246:名前は開発中のものです。
07/09/13 12:12:44 BMsvnmJo
>>238
横からいただいた! ありがとうっ

実は前スレでかぐや姫から吉里吉里を起動できないという相談をした者なんだが、
あれからやっぱり問題解決しなくて、ストレスためた結果吉里吉里からはなれてたんだよね。
これつかったら起動したわ。
本当にたすかった。
重ね重ねありがとう。

そしてかぐや姫よ、さらば!

247:名前は開発中のものです。
07/09/13 18:14:30 wvYbB4ep
>>245
プラグイン無しの吉里吉里はそもそもファイル削除自体が不可能だから
KAG側が残してるしおりファイルへの参照だけを消して
ファイルはあるけど読めない、って状況を作ってるだけなのが現状
ファイル削除が不可能なのは悪意のあるスクリプトを簡単には書けないようにする為の方策なので
まぁ仕方ないと思って慣れるしか無いと思うぞ

248:名前は開発中のものです。
07/09/13 22:14:48 8GXfwQZV
File IOすら出来ないっていうのはスクリプト言語として使いづらいがな。
現状LLじゃなくてDSLだから仕方ないか。

249:名前は開発中のものです。
07/09/14 00:22:17 8bPP6NVF
上書きできるんだから削除不可の意味ねえ

250:名前は開発中のものです。
07/09/14 04:16:45 wz5roroX
そういう話じゃないだろ

251:名前は開発中のものです。
07/09/14 10:32:09 LrRMixVS
>>250

>>247
ファイル削除が不可能なのは悪意のあるスクリプトを簡単には書けないようにする為の方策

これはないって話じゃ?そもそも shellExecute できるし。
単にニーズが(その時点で)なかったから作られてないだけだと思う。

252:名前は開発中のものです。
07/09/14 18:55:46 /mGNcP3a
悪意のあるスクリプト云々は247の妄想だな。


253:名前は開発中のものです。
07/09/14 20:43:11 W4a2wkW4
ShellExecuteでformat c:\走らせればいい話

254:名前は開発中のものです。
07/09/14 20:58:13 VOdlxPCf
>>253
それじゃフォーマットできない

255:名前は開発中のものです。
07/09/15 01:50:46 xZ3SJDHD
ファイル削除よりシェルのコマンド走らせる方がよほど危険な気がする。

256:名前は開発中のものです。
07/09/16 07:07:21 L18c5VTd
実のところ吉里吉里からシェルコマンド実行って可能なのか?
System.shellExecute("command","/c ren c:\python25 python")
こーいう構文も実行成功は返るけど結果は反映されないし

257:名前は開発中のものです。
07/09/16 07:19:22 L18c5VTd
すまんNT系だとcommandじゃなくてcmdだな
どのみちうまくいかないけど

258:名前は開発中のものです。
07/09/16 07:33:43 mikIfmHg
>>256
それ用のプログラム組めば?
なぜ吉里吉里に拘るのかはわからないが

259:名前は開発中のものです。
07/09/16 08:02:35 YnGZFcp2
単に \ をエスケープしてないだけだろ

260:名前は開発中のものです。
07/09/16 08:31:25 L18c5VTd
   。 。
  / / ポーン!
( Д )

我ながら酷い凡ミスだな

261:名前は開発中のものです。
07/09/16 12:05:24 RmO/I0qi
for文的なタグを作れないかと思ってまずifやendifがどうなっているのか見ようと思ったんですが
MainWindow.tjsのタグハンドラ群には記述されていませんでした
これらってなんか特殊なんでしょうか?

262:名前は開発中のものです。
07/09/16 12:43:04 tmcqWJJh
>>261
その辺は組み込みタグだよ

リファレンスのKAGParser→getNextTagの項を参照

263:名前は開発中のものです。
07/09/16 13:15:02 RmO/I0qi
>>262
ありがとうございました!

264:名前は開発中のものです。
07/09/16 20:16:19 JalQ3AgQ
>>261-263
うわ、ksファイルのフォーマットをお遊びでxmlベースにしてインタプリタ書くときに設計をCPU模倣したら
スクリプト書いてるのにやたらと低レベルな単語・低レベルな処理だらけで
胃に穴が空くかと思ったときの事思い出した・・・orz

フォーマットが違うせいでKAGParserのソース読んだけど使い回せる部分が全然なかったんだよなぁ。

265:名前は開発中のものです。
07/09/16 21:05:16 yKK+KnS+
>>258
吉里吉里をけなされたと勘違いして、過剰反応しちゃった君発見!

266:名前は開発中のものです。
07/09/16 21:07:59 YnGZFcp2
まだまだ暑いねえ

267:名前は開発中のものです。
07/09/16 21:30:53 XWUf9YCQ
吉里吉里で出力すると文字コードはutf-16ですよね?
これを吉里吉里でutf-8に変換する事ってできませんか?

268:名前は開発中のものです。
07/09/16 23:18:38 kjXIzAy2
utf-16→utf-8の変換テーブル書けばいいじゃん

269:名前は開発中のものです。
07/09/16 23:31:57 yKK+KnS+
テーブルてアホか。

270:名前は開発中のものです。
07/09/16 23:40:36 u+SFAOkd
>>267
URLリンク(www.exfiction.net)
この辺のjsファイルを参考に。

271:名前は開発中のものです。
07/09/16 23:47:10 XWUf9YCQ
答えてくれた方ありがとうございます
頑張って自分で書いてみたいと思います
ですが吉里吉里でLatin-1コード?に直す方法が分かりません・・・
参考になるサイトなど無いでしょうか?

272:名前は開発中のものです。
07/09/17 14:50:29 Kap87Mh5
質問させてください。

メッセージレイヤーに黒板の画像を当てはめ、それを半透明で表示させましたが、透ける事には透けましたが、かなり白っぽくなってしまいました。
kagの問題か、それともpng画像の問題かもわかりません。
なんらかの合成方法が問題だとは思うのですが……。

よろしくお願いします。

273:名前は開発中のものです。
07/09/17 14:54:09 EyLNDmvj
>>272
重ね合わせの方法を変えればいいんでないの?
それか下に白っぽい色がついてるとか?

274:名前は開発中のものです。
07/09/17 15:09:00 Kap87Mh5
>>273
下に白はついていないと思います。

重ね合わせの方法というのは絵画ソフトの方でするのですよね?
Paint,NETというのを使い、レイヤーのプロパティで不透明度をいじったのですが、前述のようになりうまくいきませんでした。
予想としては、モードで乗算(これが重ね合わせの方法?)をすればいいのかもしれないのですが、このソフトには機能が無く、またそれをしてうまくいくのかもわかりません。
GIMPも見てみたのですが、こちらは操作方法が複雑で手間取っています。

275:名前は開発中のものです。
07/09/17 15:11:58 EyLNDmvj
>>274
>絵画ソフトの方でするのですよね?

いや、吉里吉里側で重ね合わせ方法の指定って出来たような…
今手元にマニュアル無いんではっきりとは言えないけど。

276:名前は開発中のものです。
07/09/17 15:18:27 VeEL1ghH
>>274
元の黒板の画像と不透明度をいじったpngの画像をあげてみ

277:名前は開発中のものです。
07/09/17 15:18:49 Kap87Mh5
>>275
config.tjs又はpositionタグで枠画像を指定した場合、opacityが使えないそうです。

>opacity no 不透明度 ( 0 ~ 255 )  メッセージレイヤの不透明度を 0 ~ 255 の数値で指定します(文字の不透明度や、レイヤ自体の不透明度ではありません)。0 で完全に透明です。frame に "" を指定したときに有効です。

とマニュアルにありました。

278:名前は開発中のものです。
07/09/17 15:20:37 EyLNDmvj
>>277
opacityじゃなく、乗算とかそういうの調べてみて

279:名前は開発中のものです。
07/09/17 15:49:37 Kap87Mh5
>>276

URLリンク(www.uploda.org)
加工
URLリンク(www.uploda.org)

です。
再現に手間取って遅れてしまいすみません。


>>278
imageタグにしかmode指定がなく、そこでしか乗算の指定がありませんでした。
おそらく枠画像を使ったメッセージレイヤでは透過モードの指定ができないのだと思います。

280:名前は開発中のものです。
07/09/17 16:05:04 VeEL1ghH
>>279
ちゃんと透過はできてるね
うちではちゃんと下の色が透けたよ

そのpngの下にしく画像が真っ白とかいうオチじゃないよね?

281:名前は開発中のものです。
07/09/17 16:08:47 Kap87Mh5
>>280
それはないです。

透けるには透けるのですが、白っぽくないですか?
合成の仕方によっては透過が進むにつれ下のレイヤーの画像になっていくはずなのですが、どんどん白っぽくなってしまいます。

282:名前は開発中のものです。
07/09/17 16:21:18 hL7FDo9i
画像見るとさ、緑のところだけ透けるようにしたのを作りたいんじゃないの?
これだと全部透けてるけど。

283:名前は開発中のものです。
07/09/17 16:22:50 EyLNDmvj
>>281
そのゲーム画像のスクショ上げてみ

284:名前は開発中のものです。
07/09/17 16:43:32 8R4a2/cj
config.tjs
;layerType = ltAddAlpha;

;layerType = ltAlpha;
に。

285:名前は開発中のものです。
07/09/17 17:00:31 XTuY4hlk
白っぽくなると言ってるがこれは正常な変化だぞ。
お前がmodeとopacityを混同してるだけだ

286:名前は開発中のものです。
07/09/17 17:08:55 OMKrut/w
URLリンク(www.uploda.org)
比較しやすいように縦にしたけどAの状態の事を言ってるんだよな?

思い当たるのは
・PNG-24で保存してない
・画像がItAddAlpha形式じゃない
・マスク画像が使ってたりする

マスク画像使ってる場合は何かミスってると
透過部分が覆い焼きしたようになった記憶がある。

Bなら気のせいだ、画像か目のどっちかを調整するしかない。

287:名前は開発中のものです。
07/09/17 18:32:29 3AiwkbzC
色が混ざってくすんでいるのを、白っぽくと見てるのかもしれん

枠画像をフォトショで開いたけど、ほぼ透明だなこりゃ
286がやってくれてるけど
枠(木目)を完全不透明にして、緑んとこの不透明度上げてみ

288:名前は開発中のものです。
07/09/17 23:37:47 Kap87Mh5
>>282
後々はそうするつもりですが、現段階で躓いていますので。

>>283
どこが変なのか強調するためにPaint,NETでレイヤーのモードを今度は不透明度54まで下げました。
URLリンク(www.uploda.org)
これを背景に載せると
URLリンク(www.uploda.org)
となります。
不透明度を下げるにつれバックグラウンドレイヤに近づく予定が、どんどん白く明るくなってしまいます。

>>284
;layerType = ltAddAlpha;

;layerType = ltAlpha;
は公式の掲示板のログを漁ってしました。が、その意味まではわかりません。

> modeとopacity
そうなんですか。
opacityみたいなことをしたかったのですが。

>>286
Aのことです。
PNG-24・ItAddAlphaはよくわかりません。調べてみます。
マスク画像というのは、画像_m.pngというファイルでしょうか?
それ以上のことはよくわからないです。


色々試してみたのですが、kagで解決できない内容でしたら、今は私の手に負えないので諦めることにします。
お付き合いありがとうございました。

289:名前は開発中のものです。
07/09/17 23:59:18 XTuY4hlk
肝心のシナリオファイルにどう書いてるのか晒せ

290:名前は開発中のものです。
07/09/17 23:59:21 /t9Slj66
ん?合成モードと不透過率の指定はKAGでできたよな。
お前さんが理解してないだけじゃない?
吉里吉里のリファレンス嫁。

291:名前は開発中のものです。
07/09/18 00:07:56 k4kw7F9w
Windows付属のペイントとかで画像作って試してみろ。
素材の作成段階で失敗してる気がするぞ。

292:名前は開発中のものです。
07/09/18 00:40:28 QLD2gkbP
>>289
シナリオファイルは
[image storage="教室" page="fore" layer="base"]
test[p][er]
だけなので関係はないかと。
config.tjsで関係ありそうなところが
//-------------------------------------------- メッセージレイヤの設定 -----

function MessageLayer_config()
{
// ◆ メッセージレイヤの表示モード
;layerType = ltAddAlpha;

// ◆ メッセージ枠用の画像
;frameGraphic = "messageframe"; // position タグの frame 属性に相当

// ◆ メッセージレイヤの色と不透明度
;frameColor = 0x000000; // position タグの color 属性に相当
;frameOpacity = 0; // position タグの opacity 属性に相当

説明削りましたが上の部分くらいでしょうか。
フレーム枠画像にcolorやopacitiyは効果ないそうですが。


>>290
メッセージ枠画像では合成モードも不透過率の指定もできないみたいです。

>>291
画像ソフトは本当に使い方がよくわからないので、素材の作成段階で失敗している可能性は大いにあると思いますし、私もそれを疑っています。
windows付属のペイントだと透過画像が作れないので意味はないかと。

293:名前は開発中のものです。
07/09/18 00:58:03 /PP3azJk
透過部分を作れないからいいんだよ。
ペイントの画像でも色が変化するようなら吉里吉里側に問題がある
色が変化しなければ素材に問題があると分かる

294:名前は開発中のものです。
07/09/18 01:04:52 JXkSRRhe
>>292
画像自体はPNG-24で保存してあるから問題なし。

マスク画像(画像_m.png)は使ってるのか?
使ってるなら白くなる原因だから削除、使ってないなら気にするな。

画像形式がItAlphaになってる。
その状態でメッセージレイヤに透過した画像をframeGraphicに指定すると
それより下の画像が白っぽくなる、直すには二通りある。

1:;layerType = ltAddAlpha; を ;layerType = ltAlpha; に書き換える。
2:画像をItAddAlpha形式に変換する

ItAddAlphaへの変換は吉里吉里2のリファレンスに
付属の画像フォーマットコンバータについて書いてある。


1をやるなら>>284に謝罪汁、

295:名前は開発中のものです。
07/09/18 01:12:13 QLD2gkbP
>>293
作ってみました。
URLリンク(www.imgup.org)
透過されませんでした。

296:名前は開発中のものです。
07/09/18 01:18:02 QLD2gkbP
>>294
1:;layerType = ltAddAlpha; を ;layerType = ltAlpha;
これを変えたらできました!

>>284
あなたの書いたとおりでした。
ごめんなさい。


取り急ぎ報告しましたが、色々調べてまた書き込みます。
ありがとうございます。

297:名前は開発中のものです。
07/09/18 01:23:36 5yeO/Swt
png-24ってことはRGBは全部で16bitだけど吉里吉里は16bitカラーはどのフォーマットを扱えるの?
そこら辺の仕様の問題じゃない?

png-32でも同じ結果?

298:名前は開発中のものです。
07/09/18 01:26:06 QHQgCPFC
288の画像を見るに
明らかに加算合成(AddAlpha)しちゃってるだけなので
今回はPNGの形式は関係なし

299:名前は開発中のものです。
07/09/18 01:48:00 QLD2gkbP
綺麗に透過できました
URLリンク(www.imgup.org)

デフォルトでは
;layerType = ltAddAlpha;
になっていますね。
枠を使わない場合はltAddAlphaの方が良いということでしょうか。

URLリンク(www.kirikiri.info)
の記事を読んだつもりだったのですが、画像に対する知識の不安からかそっちの方に意識がいってしまい、試し忘れたのかもしれません。
重要だと思っていませんでした。


また
2:画像をItAddAlpha形式に変換する
の方法でもできました。

layerType = ltAddAlpha
なら枠画像をltAddAlpha形式に
layerType = ltAlpha
なら枠画像をltAlpha形式にする。

に注意しようと思います。
ありがとうございました。

300:名前は開発中のものです。
07/09/18 02:14:52 DnG/EvfX
お前らいつもリファレンス嫁ばっかでたいしたことない奴ばっか
とか思ってたら案外的確で親切なアドバイスもできるんだな

301:名前は開発中のものです。
07/09/18 04:50:00 vwRALgja
とりあえず294乙
しかしItってなんだ。ltだろw
layerTypeって変数名なんだから間違えるなよwww

302:名前は開発中のものです。
07/09/18 05:36:32 JXkSRRhe
勢いでitと読んでしもた俺バカス
頭文字最初は小文字以降大文字の法則は一応頭には入ってるんだけどなorz
てか自分のネット環境だとlとIの見分けがちと辛いw

吉里吉里使ってるPCで見たらすぐに違いがわかってびっくりさ。

303:sage
07/09/18 15:35:07 ijCFy5mm
流れ無視しての質問失礼します。
今吉里吉里で、経営シミュレーションゲーを作っています。
そして来年からゲーム会社への就職活動を始めるのですが、その時に吉里吉里で作ったゲームを参考作品として持っていくのは流石にまずいでしょうか。
C++でのゲームも作ってはいるんですが、この吉里吉里も使ってみたくてゲーム製作を始めました。
就職では少しでも多く作品を持参しなさいと見たりするんですが、どうなんでしょう。
やっぱりスクリプトでは評価されないんでしょうか。
何か支離滅裂な質問失礼しました。

304:名前は開発中のものです。
07/09/18 15:41:08 pDqmgH74
それはゲ製作板ではなく、就職関係の板で聞くべきだと思う

305:名前は開発中のものです。
07/09/18 15:42:06 jZyfgrL5
マ板の人たちが詳しいかもしれない

306:名前は開発中のものです。
07/09/18 15:44:01 yMH4jA+k
>>303
マジレスすると、武器としてつかえそうなもんは全部もってけよ
わざわざ自粛する意味がわからん

307:名前は開発中のものです。
07/09/18 15:54:54 tYT2CZIX
すいません。
KAGのメッセージレイヤの文章を、前景レイヤにコピーすることは
できないのでしょうか? KAGのcopylayタグは「同種のレイヤ同士」
という制限が付いてて使えませんでした。

*start|
;メッセージレイヤに何か文字を表示します。
メッセージレイヤに何か文字を表示

[iscript]
// メッセージレイヤを前景レイヤにコピーします。
kag.fore.layers[0].assignImages(kag.fore.messages[0]);
kag.fore.messages[0].visible = true;
[endscript]

;メッセージレイヤをクリアします。
[cm]
[r]

;メッセージレイヤに何か文字を表示します。
メッセージレイヤに何か文字を表示

このようなプログラムを書いてみたのですがうまくいきませんでした。
自分の予定では、「メッセージレイヤに何か文字を表示」という文字
が2行表示されるはずでした。

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

308:名前は開発中のものです。
07/09/18 16:05:05 5T2UIZyM
>>307
コピーした先のレイヤが表示されてなくね?

kag.fore.messages[0].visible = true;
kag.fore.layers[0].visible = true;

にしてみるとか。今手元に環境無いから試せないけど。

309:名前は開発中のものです。
07/09/18 16:15:28 5T2UIZyM
>>303
マジレスすると、おまいさんの志望職種によって変わる。
プランナー系なら持参推奨。
プログラマ系なら微妙だが、思考ルーチンなどに
自信があるなら持って行くのもアリ。自信なしなら
やめたほうがいいかも。

310:名前は開発中のものです。
07/09/18 16:41:12 QHQgCPFC
>>307
>>308に加えて、
コピー先のレイヤの位置やサイズが適当かどうかもチェックしとけ。
あと、メッセージの最新行はメッセージレイヤそのものじゃなくて
その子レイヤであるlineLayerに描画されてるから
assignImageよりはpileCopyのほうがいい気がするけどな。

311:名前は開発中のものです。
07/09/18 16:44:12 jZyfgrL5
>>307
Layer.assignImagesは画像をコピーするだけだから文字はコピーできないんじゃね?
前景レイヤは文字を描画するレイヤじゃないからメッセージレイヤに描画されてる文字を調べて
Layer.drawTextで描画するしか無い気がする

・・・と思ったが文字もコピーされるのか?

312:名前は開発中のものです。
07/09/18 16:45:44 tYT2CZIX
>>308
すいません。

;メッセージレイヤに何か文字を表示します。
メッセージレイヤに何か文字を表示

[iscript]
// メッセージレイヤを前景レイヤにコピーします。
kag.fore.layers[0].assignImages(kag.fore.messages[0]);
kag.fore.message[0].visible = true;
kag.fore.layer[0].visible = true;
[endscript]

;メッセージレイヤをクリアします。
[cm][r]

;メッセージレイヤに何か文字を表示します。
メッセージレイヤに何か文字を表示

こういうふうに書き直してみたのですが、
「(void)からObjectへ型を変換できません。Object型が要求される文
脈でObject型以外の値が渡されるとこのエラーが発生します」
というエラーがでました。
Object型にはキャストできないはずなので、何か他の方法を考えたほ
うが良いのでしょうか。

313:名前は開発中のものです。
07/09/18 16:49:10 QHQgCPFC
>kag.fore.layer[0].visible = true;
layer『s』[0]な。sが抜けてる。

>>311
俺もそう思ってたが、さっきやってみたらちゃんとコピーされてた。

314:名前は開発中のものです。
07/09/18 16:49:59 jZyfgrL5
>>313
そうなのか。㌧クス

315:名前は開発中のものです。
07/09/18 16:50:58 QHQgCPFC
>kag.fore.message[0].visible = true;
ここも抜けてるわ。message『s』[0]な。

316:名前は開発中のものです。
07/09/18 17:04:08 tYT2CZIX
すいません。

ご指摘いただいた部分を訂正したのですが、1行目の文字が表示され
たあとすぐに消えてしまいます。
もちろん13行目に[cm]タグを記述しているからなのですが、自分の
思惑としては、[cm]タグはメッセージレイヤの文字だけをクリアする
ためもので、前景レイヤにコピーしたつもりの一行目の文字には消え
てほしくないのです。

一行目の文字を消さない方法はないでしょうか?


317:名前は開発中のものです。
07/09/18 17:14:03 QHQgCPFC
お前>>310の後半読んだ?

ていうか、結局どういう挙動させたいわけよ。
1行目の文字消させたくないだけなら[cm]書かなきゃいいだろが。
理解できないなら無理して変なことすんな。

318:名前は開発中のものです。
07/09/18 17:15:11 jZyfgrL5
kag.fore.layers[0].assignImages(kag.fore.messages[0]);
の後に
kag.fore.layers[0].independMainImage();
入れればいいかもしれない?

319:名前は開発中のものです。
07/09/18 17:20:10 5T2UIZyM
>>316
よく考えたら、assignImages は元レイヤを参照するだけだから、
元レイヤをクリアしたら、そりゃコピー先も消えるわな。
素直に copyrect でコピーしちゃえば?

320:名前は開発中のものです。
07/09/18 17:26:35 QHQgCPFC
いや、まずコピーできてないんだと思うよ。
俺が試したとこだと、cmしても
メッセージレイヤをassignImageした前景は維持されてる。

321:名前は開発中のものです。
07/09/18 17:33:58 jZyfgrL5
つーかメッセージレイヤ一枚用意してそれにcopylayタグでコピーした方が
何したいのか分からんが

322:名前は開発中のものです。
07/09/18 17:37:36 48qkPjWa
with(kag.fore){
.messages[0].visible = true;
.layers[0].visible = true;
// きれいに2行表示させるために
// メッセージレイヤと同じ位置とサイズにする
.layers[0].left = .messages[0].left;
.layers[0].top = .messages[0].top;
.layers[0].width = .messages[0].width;
.layers[0].height = .messages[0].height;
.layers[0].piledCopy(0, 0, .messages[0],
0, 0, .layers[0].width, .layers[0].height);
}
321も言ってるが、もう一枚メッセージレイヤを用意するだけでよくね?
なんで前景レイヤにこだわるのかしらんが、こんな感じか?
1行目が暗くなるのは、メッセージレイヤが重なってるから

323:名前は開発中のものです。
07/09/18 17:41:32 tYT2CZIX
>>317
申し訳ないです。

ドラクエのような戦闘シーンの付いたノベルを作りたくて、「たたか
う、じゅもん」などのコマンドウインドウをKAGのハイパーリンク機
能で実現しようとしました。それと、戦闘シーン中はこれまで表示して
いたノベルテキストを消去するのではなく、半透明っぽく残したかった
んです。(テキスト履歴モード中に、背景が薄暗く表示されたままにな
っているようにです。)

最初はメッセージレイヤを、ノベルテキスト用とコマンド用の2つを用
意して、重ね合わせて表示できると勝手に思っていたのですが、メッセ
ージレイヤ同士を重ねて表示することはできませんでした。

そこで、次に思いついたのが、メッセージレイヤの文字を前景レイヤに
コピーする、という方法でした。

だけど、うまくいかなかったのでこの掲示板に質問した、といういきさ
つです。



次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch