■吉里吉里/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辺りを参照のこと。
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:ZArvn91c0601名前は開発中のものです。
2007/10/20(土) 20:27:42ID:gWDABZ830602名前は開発中のものです。
2007/10/20(土) 20:55:58ID:vWb3iCVS0603名前は開発中のものです。
2007/10/20(土) 21:17:06ID:gWDABZ83評価するは真偽を調べるのがメインって事でおk?
0604名前は開発中のものです。
2007/10/20(土) 21:25:54ID:vWb3iCVS真偽というか、返り値一般
0605名前は開発中のものです。
2007/10/20(土) 21:27:57ID:gWDABZ830606名前は開発中のものです。
2007/10/21(日) 13:23:01ID:QL06Jx1cリファレンス見てもわからんぞよ
0607名前は開発中のものです。
2007/10/21(日) 13:27:32ID:IImu2fDf0608名前は開発中のものです。
2007/10/21(日) 13:43:14ID:iTaqV5LLテンプレの講座サイト見てこい
0609名前は開発中のものです。
2007/10/21(日) 13:47:46ID:I8VJk5z+何が分からないのかそれじゃこっちにも分からんよ
0610名前は開発中のものです。
2007/10/21(日) 13:49:25ID:QL06Jx1cどこに書けばいいのかがわからんぞよ
0611名前は開発中のものです。
2007/10/21(日) 13:54:22ID:diAgxZp0最初のほうにでも書いとけばいいよ。
0612名前は開発中のものです。
2007/10/21(日) 15:30:23ID:Ta3JtR2a自動改ページだかをオフにするにはどうすれば('A`)
0613名前は開発中のものです。
2007/10/21(日) 18:20:10ID:5AQDr4F90614名前は開発中のものです。
2007/10/21(日) 18:55:58ID:e/x1Sre/0615名前は開発中のものです。
2007/10/21(日) 19:05:28ID:lTwqyo+uアハムービーみたくいなか
0616名前は開発中のものです。
2007/10/21(日) 19:05:29ID:FoaOsJyLその間文字表示できないし縛りきついんじゃね?
moveで透明度変えていったほうがよさそうだ。
つか、613に必要なのはスクリプトの知識じゃなくて
どれだけ変化が絶妙な絵が書けるかとか
絵が変化してる間に、どれだけ他の所(テキスト等)にうまく目を引きつけられるかとか
そういうことだろ。ここで聞いてもしょうがない。
0617名前は開発中のものです。
2007/10/21(日) 19:33:12ID:Lti8Y0w3sタグで止めたときは繰り返し処理でなんとかなるけど文章表示中はできない
moveにもloop属性あればないいのにな
0618名前は開発中のものです。
2007/10/21(日) 19:37:42ID:Lti8Y0w3sタグじゃないな
入力待ちのとき
0619名前は開発中のものです。
2007/10/21(日) 19:41:48ID:FoaOsJyLTJS使えるならTimerなりContinuousHandlerでループさせりゃいいけど
0620名前は開発中のものです。
2007/10/22(月) 00:35:50ID:FI6YpJ+ZTJSで、指定した色を勝手に抜いてくれるように出来ないでしょうか…?
0621名前は開発中のものです。
2007/10/22(月) 01:06:04ID:4rfyI8tSトランジション(フェード)の最中、文字表示できるぞ?
0622620
2007/10/22(月) 01:51:22ID:FI6YpJ+Zリファレンスちゃんと全部読むべきでした。
申し訳ない
0623620
2007/10/22(月) 03:56:10ID:FI6YpJ+ZKAGEXでやってて
layer.loadImages(%[ "storage" => imageFile]);
これにカラーキー入れれば消えるもんだと思ってたんだが
消えないところを見ると、全く違う所を触ってたんだろうか
0624名前は開発中のものです。
2007/10/22(月) 14:45:50ID:ENILtHfBできると思うけど、どう書いたんだ?
0625620
2007/10/22(月) 18:14:37ID:w3XaP+pAlayer.loadImages(%[ "storage" => imageFile], 0x00FF00);
こういう感じで書いた。
0626名前は開発中のものです。
2007/10/22(月) 18:50:36ID:25vxTevR0627名前は開発中のものです。
2007/10/22(月) 19:48:54ID:18RJX/YG付けないと変数と間違えられてコケないかな?
0628名前は開発中のものです。
2007/10/22(月) 19:57:31ID:xm+OuoMl[link exp="tf.btn=1" target=*center]ページ1[endlink]
[link exp="tf.btn=2" target=*center]ページ2[endlink]
[link exp="tf.btn=3" target=*center]ページ3[endlink]
*center
〜何らかの処理〜
@jump target=*page()
()の部分にtf.btnに代入された数字が続いて、それぞれ
*page1、*page2、*page3へ飛ぶようにしたいのですが、
どういう風にすれば良いでしょうか?
0629名前は開発中のものです。
2007/10/22(月) 20:10:17ID:ffWKb/eQ@eval exp = "tf.label = '*page' + &tf.btn"
@jump target=&tf.label
こんな感じで
0630名前は開発中のものです。
2007/10/22(月) 20:31:06ID:kJY9kT0iF4でフルスクリーンにならなかったりで妙な所で不便っスね。
0631名前は開発中のものです。
2007/10/22(月) 20:53:45ID:4rfyI8tSためしてないけど、こうじゃないか?
layer.loadImages(%[ "storage" => imageFile, "key"=>0x00FF00]);
■ このスレッドは過去ログ倉庫に格納されています