■吉里吉里/KAG/TJS雑談質問スレ■その12
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2007/08/06(月) 19:12:57ID:CjKwgtC1自作ゲームの進行状況や製作ツールについての話、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辺りを参照のこと。
0501名前は開発中のものです。
2007/10/10(水) 16:35:08ID:3PR3ZZts>>500
ありがとうございます。
自分でいろいろ試してみて、
二次元配列[0] = [];
二次元配列[1] = [];
という方法は思い付いたのですが、499 と 500 の記述のほうが
見た目が綺麗です。
ありがとうございました。
0502名前は開発中のものです。
2007/10/10(水) 22:30:18ID:2QQ8IhoS書いてないと思う
0503名前は開発中のものです。
2007/10/11(木) 01:07:36ID:Zj0kEXQ4どこでもセーブプラグイン導入してみたのですが
通過したラベル以前にBGMのタグがあるので
ロードするとBGMタグを読み込んでくれなくて困ってます
これはラベルの後に毎回bgmタグと挿入するしかない?
0504名前は開発中のものです。
2007/10/11(木) 04:35:10ID:zyg+zuSFassignStructは配列か連想配列があるとディープコピー。
assignはシャローコピー。
代入は参照。
0505名前は開発中のものです。
2007/10/11(木) 09:15:36ID:qMNKYa9uどこでもセーブプラグインは使ったことないが、BGMはそのラベル時点で鳴っているものを
自動的に保持してくれるぞ。
何か前提がおかしいんじゃないか。
0506名前は開発中のものです。
2007/10/11(木) 19:22:58ID:QZIU/lTz>>4のTJSに挑戦!講座が丁度いい所で終わってるなぁ。
0507名前は開発中のものです。
2007/10/11(木) 19:56:02ID:xV6BCUuRexp="kag.skipToNextStopMenuItem.click()"
こんなん?
0508名前は開発中のものです。
2007/10/11(木) 21:32:07ID:lWRyFTjCあとここも
ttp://hpcgi1.nifty.com/gutchie/wifky/wifky.pl?p=Inside+KAG3+-+systembutton.ks%B2%FE%C2%A4%A4%CE%A5%D2%A5%F3%A5%C8
0509名前は開発中のものです。
2007/10/11(木) 21:37:40ID:cZ9NhotPンサンプルプラグインのシステムボタン改竄しながら頑張ってみます。
0510名前は開発中のものです。
2007/10/11(木) 23:52:01ID:kJE2NQXY優希よりNScrを吉里吉里に変換するのがあればなぁ…
0511名前は開発中のものです。
2007/10/12(金) 01:26:18ID:iH7fn3ZsNS使える奴ならKAGはすぐ覚えられるんじゃないか?
俺は最近NSのリファレンスもかじってみたけど
難易度にそう差はなさそうだ。
つか、プレイアビリティに難のあるyuukiならわかるが
NSならわざわざ吉里吉里に直すことないんじゃね?
0512名前は開発中のものです。
2007/10/12(金) 02:11:20ID:sSrfq6Mi多次元の配列から、
それぞれの次元の要素数を取得することはできないですか?
[iscript]
var 二次元配列 = [[], []];
二次元配列[0][0] = "101号室";
二次元配列[0][1] = "102号室";
二次元配列[0][2] = "103号室";
二次元配列[1][0] = "201号室";
二次元配列[1][1] = "202号室";
[endscript]
1階の部屋数は[emb exp = "二次元配列[0].count[0]"]部屋です。[r]
2階の部屋数は[emb exp = "二次元配列[1][0].count"]部屋です。[r]
とりあえず一次元目の要素数、この場合だと1階の部屋数さえ取得できれば
いいです。いまからかみんします
0513名前は開発中のものです。
2007/10/12(金) 02:17:49ID:eQ0/10C82階の部屋数は[emb exp = "二次元配列[1].count"]部屋です。[r]
0514名前は開発中のものです。
2007/10/12(金) 04:09:19ID:BRdPmyNT0515名前は開発中のものです。
2007/10/12(金) 04:25:40ID:iH7fn3Zs0516名前は開発中のものです。
2007/10/12(金) 04:27:52ID:ue/J6dmS0517名前は開発中のものです。
2007/10/12(金) 05:22:39ID:549o4KC5大概のはサンプルやら触ってりゃ覚えるし。
0518名前は開発中のものです。
2007/10/12(金) 08:46:43ID:sSrfq6Miおはようございまーす。
本当だ、正確に値を取得できてる。
しかも即答してくれてるところがさらにすごいです。
ありがとうございました。非常に助かります。
0519名前は開発中のものです。
2007/10/12(金) 11:22:18ID:bG9StqDT0520名前は開発中のものです。
2007/10/12(金) 15:20:49ID:ahvr2IB90521520
2007/10/12(金) 15:40:27ID:ahvr2IB9色んな画像を特定の形(長方形でない)に切り取ったものを表示
です。
0522名前は開発中のものです。
2007/10/12(金) 15:45:38ID:ahvr2IB9お騒がせしました(;´Д`)
0523名前は開発中のものです。
2007/10/12(金) 16:54:44ID:M57bZy/nどの様にやったら解決したかをレスしておくと
あとから来た初心者にやさしくいスレになると思う(どんな簡単な方法でも)
基本的に質問ばっかりで
答えがマニュアル嫁しか無いのでは
ここに来た初心者とかド素人が一向にレベルアップしない
0524名前は開発中のものです。
2007/10/12(金) 16:58:32ID:T4HGw7wi0525520
2007/10/12(金) 17:34:49ID:ahvr2IB9マスクの共有は出来ないようだから
適用したいマスク画像をもった画像を別のレイヤに読み込んで、
そちらからマスクのみをcopyRectしてやろうと考えた。
layer1.face = dfMask;
layer1.copyRect(0, 0, maskLayer, 0, 0, layer1.width, layer1.height);
でもこうすると、何故かマスク画像の白(value=255)の部分がvalue=1になってる。。
上記の処理をした後に
for(var i = 0; i < layer1.width; i++){
for(var j = 0; j < layer1.height; j++){
layer1.setMaskPixel(i, j, layer1.getMaskPixel(i, j) * 255);
}
}
としてやると表示したい形に(処理遅いけど)なる。
これってバグでしょうか?それともやり方がどこかおかしいのかな?
0526名前は開発中のものです。
2007/10/12(金) 18:25:48ID:hswKW7xj0527名前は開発中のものです。
2007/10/12(金) 18:29:54ID:q0rVy0UHリファレンスのタグ忘れてたり、読み飛ばしてたりするから、
どこにあるか教えてもらうだけでも解決するよ。
0528名前は開発中のものです。
2007/10/12(金) 18:30:17ID:xj8YgpCGソース読めば?
0529名前は開発中のものです。
2007/10/12(金) 18:36:25ID:YqjY4w/mnicoの投稿新着とタグ新着くらいしか使わないのに、長くて操作しにくいんだ。
0530名前は開発中のものです。
2007/10/12(金) 18:39:03ID:YqjY4w/m壮大な誤爆しました。
0531名前は開発中のものです。
2007/10/12(金) 21:19:36ID:ue/J6dmS流し読みだが、kirikiri2のcore\visual\tvpgl.cのマスクの値がおかしいのは気のせいだろうか
dest[(len-0)] = (dest[(len-0)] & 0xffffff) + (src[(len-0)] & 0xff0000);
この辺全部
(src[(len-ほげ)] & 0xff000000);
のような気がするのだが・・・バグ?
0532名前は開発中のものです。
2007/10/12(金) 21:30:56ID:ue/J6dmS逆なら(マスク画像のレイヤにメイン画像のみ転送:dfMain)のcopyRectなら正しく動作するかもしれない。
動くかわからんが・・・
0533名前は開発中のものです。
2007/10/13(土) 01:07:57ID:OkqoU/bR0534名前は開発中のものです。
2007/10/13(土) 01:15:19ID:2dEdAoM1マスクにしてる画像の holdAlpha を true にしてからそれに
上書きで copyRect するのはどうだろう。
>>532 と同じ処理になるような気がするが一応。
0535名前は開発中のものです。
2007/10/13(土) 01:15:48ID:OkqoU/bR0536名前は開発中のものです。
2007/10/13(土) 03:46:24ID:qG4Qvalb俺のような素人目ではソースのピクセルの赤をデスティネーションのピクセルに
足しこんでるようにしか見えんのだけど、なんとなくw
dest[(len-0)] & 0xffffff これでアルファチャンネルを落としたRGB値になって
src[(len-0)] & 0xff0000 これでソースのピクセルの赤をマスクして抜き取る
赤の値が 0xff をオーバーフローした分はアルファ値になるって感じ?
なにがしたいのか、俺にはよく分かんねえwww
0537名前は開発中のものです。
2007/10/13(土) 06:57:38ID:GCxrQdJcく、テキスト処理ならわかるんだが・・・orz
これは本家に聞いてみた方が良いんじゃない?
0538名前は開発中のものです。
2007/10/13(土) 07:07:45ID:/Ztku7UFその後読み込んだ画像の情報をクリアするにはどうすればいいでしょうか?
一度画像を読ませたオブジェクトを再び使用する時、前回読ませた画像データが残ってて困っています。
0539名前は開発中のものです。
2007/10/13(土) 07:37:09ID:2dEdAoM1普通に別の画像をよませるのではだめなのか?
ごく普通に上書きされるぞ。
0540名前は開発中のものです。
2007/10/13(土) 07:47:51ID:/Ztku7UF75*100の大きさの画像を4つ読ませたとして、その次に
右側の二つを更新して左側の二つは消したい……というような時に不便な事になるものでして
適当な透明画像を上から読み込ませるのが、一番手っ取り早いですかねえ
0541名前は開発中のものです。
2007/10/13(土) 08:17:10ID:1DNeMcN1とりあえず、吉里吉里リファレンスの Layer の部分を全部読んだほうがいいと思うぞ?
0542名前は開発中のものです。
2007/10/13(土) 13:04:42ID:msAmIRxvhoge_layer.type = ltAlpha;
hoge_layer.face = dfAlpha;
hoge_layer.fillRect(0, 0, hoge_layer.width, hoge_layer.height, 0x00000000);
これで全部消えると思う
>>540
hoge_layer.type = ltAlpha;
hoge_layer.face = dfAlpha;
hoge_layer.fillRect(150, 0, 150, 100, 0x00000000);
これでできない?
0543名前は開発中のものです。
2007/10/13(土) 13:13:21ID:msAmIRxvhoge_layer.type = ltAlpha;
hoge_layer.face = dfAlpha;
hoge_layer.fillRect(0, 0, 150, 100, 0x00000000);
これで 左側が消えるとおも
0544名前は開発中のものです。
2007/10/13(土) 15:23:11ID:av3VlT+bconfig.tjsとかには記述されてるんですけど。
文字の大きさ:[emb exp = "defaultFontSize"][r]
;defaultFontSize = 24; // deffont タグの size 属性に相当
;defaultLineSpacing = 6; // defstyle タグの linespacing 属性に相当
;defaultPitch = 0; // defstyle タグの pitch 属性に相当
;marginL = 8; // 左余白
;marginT = 8; // 上余白
;marginR = 8; // 右余白
;marginB = 8; // 下余白
0545名前は開発中のものです。
2007/10/13(土) 16:20:02ID:VYnE0nr2今手元に動作環境がないからわかんないけど、
kag.defaultFontSizeとかで試してみて。
0546名前は開発中のものです。
2007/10/13(土) 16:24:08ID:av3VlT+bですよね、できるはずですよね。
朝からやってんですけど、なかなか見つからなくて。
昔のコマンド入力式のADVの感覚ですね。
もう少し探してみます。
0547名前は開発中のものです。
2007/10/13(土) 16:27:24ID:/pZoS8iI> フォントのサイズやマージンは参照
hoge_layer.font.getTextHeight ( 文字列の縦幅を得る )
hoge_layer.font.getTextWidth ( 文字列の横幅を得る )
で取れるんじゃないかな
TJS リファレンスの Font を参照してみると幸せになるかも
defaultFontSize 自体は、MessageLayer のメンバ変数にしか格納されてないみたい、多分
0548名前は開発中のものです。
2007/10/13(土) 16:57:09ID:srcUgUDB[current layer=message0 page=fore]
したあと、
[emb exp="kag.current.defaultFontSize"]
[emb exp="kag.current.defaultPitch"]
[emb exp="kag.current.defaultLineSpacing"]
[emb exp="kag.current.marginL"]
[emb exp="kag.current.marginT"]
[emb exp="kag.current.marginR"]
[emb exp="kag.current.marginB"]
かなぁ。
Config.tjs(またはOverride.tjs)で指定した値がほしいとなると、ちょっとめんどくさい。
0549名前は開発中のものです。
2007/10/13(土) 17:06:03ID:av3VlT+bカレントレイヤで充分です。ありがとうございます。
547の方のアドバイスと「TJSに挑戦」を参考にして、
System.inform(kag.back.message.[0].defaultFontSize);
まではたどり着いたのですが、
KAGのメッセージレイヤ上でのマージンや字間などが分からなくて
どうしようかと思ってました。
助かりました、ありがとうございました。
0550名前は開発中のものです。
2007/10/13(土) 17:43:12ID:/Ztku7UFありがとうございます、すっきりレイヤを初期化できました。
0551名前は開発中のものです。
2007/10/13(土) 18:45:46ID:RhK+yO3S0552名前は開発中のものです。
2007/10/13(土) 20:23:27ID:Ucqp92Ru0553名前は開発中のものです。
2007/10/13(土) 20:32:08ID:MEwOAsn9本当にバグなのかどうかは俺には判断できないけど・・・
0554名前は開発中のものです。
2007/10/13(土) 22:24:07ID:n8tkbFmb0555名前は開発中のものです。
2007/10/13(土) 22:29:09ID:srcUgUDBW.Deeさんに確認してもらうのが一番早いかとおもう。
ここのURL貼り付けて、原因はこれっぽいんですが? みたいな感じで。
0556名前は開発中のものです。
2007/10/14(日) 02:36:24ID:UAfnz1cW0557名前は開発中のものです。
2007/10/15(月) 12:17:46ID:INcxoQksこれって何でエラーになるか分かりませんか?
[eval exp = "tf.a = 300"]
[eval exp = "tf.b = 300"]
[position layer = message1 width = tf.a height = tf.b]
0558名前は開発中のものです。
2007/10/15(月) 12:27:59ID:LX2lSAgH[position layer = message1 width =&tf.a height =&tf.b]
0559名前は開発中のものです。
2007/10/15(月) 12:48:05ID:LX2lSAgH食らう。
あそこが使えないと、ヘタレスクリプト書きの自分は辛い。
0560名前は開発中のものです。
2007/10/15(月) 12:53:20ID:Pj0hwuo9エラー出るね。
前にもエラー出てた時あったよね。しばらくして直ったけど。
管理人さんにお知らせしたほうがいいのかな。
黙って見守っててくれというなら黙って待ってるんだけど。
0561名前は開発中のものです。
2007/10/15(月) 13:01:20ID:INcxoQksこういう場合にもエンティティが必要なんですね。
うっかりしてました。
いつもいつもありがとうございます。助かりました。
0562名前は開発中のものです。
2007/10/15(月) 14:18:23ID:AJQtwqICログを全部ローカルへダウンロードして、
grepで検索すればいいんでね?
0563名前は開発中のものです。
2007/10/15(月) 14:47:55ID:SdMDoBaE0564名前は開発中のものです。
2007/10/15(月) 17:25:10ID:0JyNHns9;所持金が3000以上なら3000を引く
[eval exp="tf.money=tf.money-3000 if tf.money>=3000"]
と
[eval exp="tf.money=tf.money-3000" cond="tf.money>=3000"]
はどう違うんでしょうか? 同じですか?
同じことだけど何らかの状況下では違った働きが出来る、などあるのでしょうか?
0565名前は開発中のものです。
2007/10/15(月) 18:07:29ID:qhnmrmA40566名前は開発中のものです。
2007/10/15(月) 18:09:30ID:AJQtwqIC前者は
1.タグ解析(KAGParser内)
2.evalのタグハンドラ呼出し(Conductor内)
3.Scripts#evalで実行(MainWindow内)
後者は、
1.タグ解析(KAGParser内)
2.condの判定(KAGParser内)
3.evalのタグハンドラ呼出し(Conductor内)
4.Scripts#evalで実行(MainWindow内)
動作は同じはず。
どっちが動作が速いかといわれると、
condでタグ実行が排除できる回数がおおければ、おそらく後者・・・かな?
というより、見やすさを考えると、後者だろうな。
0567名前は開発中のものです。
2007/10/15(月) 23:02:38ID:Z6VSmxDA数百万回ぐらい判定がなければ差は出ない
0568名前は開発中のものです。
2007/10/16(火) 02:02:05ID:Jr30uGus「何らかの状況下では違った働きが出来る」例をあげてみる
;tf.moneyの値に関わらずtf.xにはtrueが代入
[eval exp="tf.money=tf.money-3000 if tf.money>=3000, tf.x=true"]
;tf.moneyが3000以上の場合のみtf.xにもtrueが代入
[eval exp="tf.money=tf.money-3000, tf.x=true" cond="tf.money>=3000"]
露骨に遅くなったとかならともかく、普段は動作の速い遅いなんて気にする必要はないと思うよ
0569名前は開発中のものです。
2007/10/16(火) 08:24:08ID:NEilTLPhむしろ
[eval exp="(tf.money=tf.money-3000, tf.x=true) if tf.money>=3000"]
[eval exp="tf.money=tf.money-3000, tf.x=true" cond="tf.money>=3000"]
を比較して「やっぱり動作に違いが出ません」ってオチにもってく方が素直だろ
0570名前は開発中のものです。
2007/10/16(火) 19:07:00ID:eS3nDnKLKAGには変数内の文字列を条件式に見なしてくれるエンティティ機能があり
ますが、TJSには同様の機能はないんですか?
[iscript]
var a = 200;
var b = 100;
var 条件 = "a == 200 && b == 100";
if(条件) // ←ここの問題。KAGではエンティティを付ければいいけど、
// TJSでは?
{
System.inform("TJSで条件を充たしました。");
}
[endscript]
[if exp = "&条件"]
KAGで条件を充たしました。
[endif]
0571名前は開発中のものです。
2007/10/16(火) 19:25:22ID:7Inb+hh1で出来るんじゃね?
0572名前は開発中のものです。
2007/10/16(火) 19:44:05ID:p4P38nPkで出来るんじゃね?
0573名前は開発中のものです。
2007/10/16(火) 19:46:32ID:eKvcdnIIvar 条件 = (a == 200 && b == 100);
でいいだろ
0574名前は開発中のものです。
2007/10/16(火) 19:52:09ID:eKvcdnIIああ、文字列にする必要があるんなら571, 572のとおり
特に必要がなければ論理演算の結果を直接代入しちゃえよ
あとifタグでエンティティはいらね
0575名前は開発中のものです。
2007/10/16(火) 20:07:44ID:eS3nDnKLすごいすごい! 全く知りませんでした。
ありがとうございました。
0576名前は開発中のものです。
2007/10/17(水) 00:32:29ID:ETJjfPPKArray.clearについてですけど、検索しても例文が少なく一般的な記述
が分かりません。一応、このような記述を思い付きはしたのですが、
もっと一般的でシンプルな記述があれば教えてください。
[iscript]
var 配列 = ["a", "b"];
[endscript]
[emb exp = "配列.count"][r][l]
[iscript]
(Array.clear incontextof 配列)();
[endscript]
[emb exp = "配列.count"][r][l]
私自身なぜこの記述で動作しているのか理解してません。
動きさえすればそれでいいのですが、予定してない副作用が発生して
ることが怖いので質問します。
0577名前は開発中のものです。
2007/10/17(水) 01:18:32ID:xhnjUac2var x = ["a", "b"];
x.clear();
A
var x = ["a", "b"];
(Array.clear incontextof x)();
B
var x = ["a", "b"];
var y = x.clear;
y();
最も一般的なのは@かな。
てか、久々に来たら随分とレベルが下がった気が・・・。
0578名前は開発中のものです。
2007/10/17(水) 01:25:12ID:Z5I+Jcyy0579名前は開発中のものです。
2007/10/17(水) 06:26:40ID:UbTTh5A9簡単に質問してるケースが目立つな
>>576
配列オブジェクトの"配列"のコンテキストでArray.clearを
実行してるから動作する。一般的には既に配列オブジェクト
なんでコンテキスト書き換えせずに>>577の(1)みたいに書く
一部のケースを除き、incontextofは使う必要なくて、普通に
変数名.メソッド名()と書けばいいよ
0580名前は開発中のものです。
2007/10/17(水) 09:29:26ID:ETJjfPPKえーおはようございます。
豊富な文例ありがとうございます。恐縮しております。
>>579
説得力のある解説ありがとうございます。
たしかに577の方の(1)の記述がシンプルで綺麗に見えます。
お手数をおかけしました。
0581名前は開発中のものです。
2007/10/17(水) 09:44:17ID:nmXFb6Fs独力で理解出来る奴は2chなんか来ないし
ネットの低年齢化が進んでるんだから色々下がる
0582名前は開発中のものです。
2007/10/17(水) 10:05:42ID:/UV1afgV0583名前は開発中のものです。
2007/10/17(水) 13:22:39ID:HQd+4azeおまい、そこは喜ぶとこじゃなくて落ち込むとこだぞ…
0584名前は開発中のものです。
2007/10/17(水) 17:44:52ID:woJIbIQs質問がきたら初心者うぜえ、リファレンス嫁で追い返す
おまえらどんだけツンデレだ
0585名前は開発中のものです。
2007/10/17(水) 17:48:09ID:cDq0gnsOそういうの以外はだいたい解答されてるじゃないですか
てかツンデレと違うそれ
0586名前は開発中のものです。
2007/10/17(水) 18:02:05ID:KMTjHbD+0587名前は開発中のものです。
2007/10/17(水) 18:07:59ID:4chCBgCZソース出せる?
0588名前は開発中のものです。
2007/10/17(水) 18:50:02ID:LwrXoy6X0589名前は開発中のものです。
2007/10/17(水) 21:32:42ID:sX+W/W+X詫びれた?侘びれた?
寂れただろ、さびれた。日本語初心者の方ですか。
0590名前は開発中のものです。
2007/10/17(水) 21:56:04ID:wJYMV+CC0591名前は開発中のものです。
2007/10/17(水) 22:20:07ID:TtbXhHUA0592名前は開発中のものです。
2007/10/17(水) 22:24:30ID:oZmveRNo0593名前は開発中のものです。
2007/10/17(水) 22:49:43ID:HUmDNoG00594名前は開発中のものです。
2007/10/17(水) 23:15:27ID:wJYMV+CC0595名前は開発中のものです。
2007/10/18(木) 18:36:31ID:zqwtG4ox>調べるよりも聞いたほうが早く答が返ってくる
これはないな。
>>592
携帯用のエンジンは需要あるんじゃないかと思う。
0596名前は開発中のものです。
2007/10/18(木) 18:36:32ID:vfcbVUIf馴れ合ってるんだからスレとしては寂れて当たり前だ
0597名前は開発中のものです。
2007/10/18(木) 18:38:31ID:+9iyv5t00598名前は開発中のものです。
2007/10/18(木) 18:39:33ID:pQrld9af0599名前は開発中のものです。
2007/10/18(木) 20:31:45ID:yYo1+QsqNスクもほんとにいいツールだよ。
これからも共存共栄、切磋琢磨していきたいね。
0600名前は開発中のものです。
2007/10/19(金) 04:25:28ID:ZArvn91c■ このスレッドは過去ログ倉庫に格納されています