- 1 名前:名前は開発中のものです。 mailto:sage [2011/02/03(木) 13:12:07 ID:6MBIOEHD]
- ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。 マルチポストはやめましょう。個人叩きも禁止です。 ※スレで質問をするときは※ KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、 FAQ、Google等で調べてからにしましょう。 努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ! ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 吉里吉里2/KAG3雑談質問スレ_過去ログ ttp://www.geocities.jp/kirikiri_log/ 吉里吉里ダウンロードページ ttp://kikyou.info/tvp/ ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は 初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。 ■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。 大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。 ■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる 数々のTipsが記載されています。 ■TJSをもっと使うために ゲームのインターフェイスをカスタマイズしたい、また KAGの命令に無いことをしたくなったらまずここを読んでみよう。 必要に応じて>>3-5の公式掲示板や講座等を併用してください。 (併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります) 前スレ ■吉里吉里/KAG/TJS雑談質問スレ■その22 hibari.2ch.net/test/read.cgi/gamedev/1285897465/
- 94 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 17:42:26 ID:SRsm9XoP]
- そういや複数のメッセージレイヤーに
同時にテキスト流すって出来ないな
- 95 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 18:09:58 ID:QakpM+RU]
- KAGからは出来ないね。lやpタグ打ち込まなければ『連続して』テキストを流すのはできるけど
同時並行ってワケじゃないからね。 やるなら各メッセージレイヤのdrawTextメソッドをTJSから直接呼び出してやるくらいか
- 96 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 18:17:56 ID:cbiIWL2V]
- >>93
NスクもNスクで優れたエンジンだぜ まあ俺はどっぷり吉里吉里にハマってるんで乗り換えはできないけど
- 97 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 18:57:39 ID:EkscP9Pk]
- >>95
出来ないのか… 同時は無理、でも交互表示すれば共存は可能? 所謂立ち絵を流用するのではなく、カットごとにカメラを変えるようにしたいんだ その上で、各キャラの側にテキストが出る様にしたい つまりこれ→gamecs.jp/usr/kazuyuna/DSC00359.JPG スクリプト数も減って、行数上頻繁に改ページしても滑らかな会話が可能になるし 立ち絵の種類を増やさなくても、その場その場で描けば良くなるから 細やかな感情表現が出来るのだ!っていう発想 Nスクで頑張ってたんだけど、奴はテキストを二つ同時に出して置けない 仕方なくスプライトでやってみたものの、バックログが残らないことに気づいた 吉里吉里さんなら何とか出来そうだと聞いて来ました
- 98 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 19:06:35 ID:mIt+z9j+]
- >>97
それは可能 ちょっと前に上下で男と女の会話を分けてるの見たことある。 例えば、キャラの文字色とかで判断させてマクロ組むと多少楽。
- 99 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 19:07:44 ID:QakpM+RU]
- 「2個以上のメッセージ枠に文字を表示させること」は可能だよ。それが出来なかったら吉里吉里製ゲームの半数は
台詞と名前を同時に表示すること出来なくなってるんじゃないかな。モノによっては名前枠と台詞枠別にしてる所もあるし。 同時に出来ないってのはあくまで「2個以上のメッセージ枠に同時(マイクロレベルで同一時間)に文字を書き込む」ということ。 まあそれも、KAGじゃなくてTJS使えば実現はできるんだが、いささかメンドくさいのであまりやらないっつう話。 layoptタグとcurrentタグ、あとlaycountタグ辺りを併用すれば 要望の「各キャラの側にテキストが出る様にしたい」は実現できるよ。マクロ組んだ方が楽だけどね
- 100 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 19:31:48 ID:rCjtSzdS]
- そう言いえば、TJS使わないとRPGによくある吹出しセリフとか表情のアイコン出せないよな。
- 101 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 21:39:36 ID:SRsm9XoP]
- 誰かすごい人
複数のメッセージレイヤーに同じタイミングでテキスト流すプラグインお願いします
- 102 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 21:49:55 ID:mIt+z9j+]
- 履歴レイヤーを拡張するとかすれば出来るんじゃない?
- 103 名前:名前は開発中のものです。 mailto:sage [2011/02/09(水) 23:30:26 ID:3vPeiy8g]
- 同ウィンドウだけど、あやえもさんのサンプル内に、ボイス同時再生があった気がする。
つまり文章も同時に表示されるハズだから、あれば参考にはなるんじゃない? たぶん。 不確かな情報でごめん。
- 104 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 01:05:43 ID:9V96uMJp]
- >>100
つ[pimage]
- 105 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 01:09:36 ID:pz54TsYF]
- >>104
そういうんじゃねーよ
- 106 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 01:15:15 ID:9V96uMJp]
- じゃあどんなやつだよw
こういう話題って個人個人で単語に対してのイメージぜんぜん違うから面白いな
- 107 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 02:13:23 ID:lVz4HYhb]
- うーん
getlayerで kag.getLayerFromElm(%['layer'=>'3', 'page' => 'fore']).colorize(32, 128, 1.0); だとうごくのに、なぜ var xxx=3; kag.getLayerFromElm(%['layer'=>'xxx', 'page' => 'fore']).colorize(32, 128, 1.0); これだとうごかないんだろう? 何か俺書式間違ってる?
- 108 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 02:14:35 ID:lVz4HYhb]
- 動かないというか、レイヤー0が動く
回避策は無いのかな?
- 109 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 02:25:12 ID:2LPQiPyl]
- 'layer'の部分の指定がおかしい
'xxx'('や"で囲う)というのは「'xxx'という文字列」を指定するために用いるのであって 「xxxという変数」を指定するときは囲っちゃいけない
- 110 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 02:29:00 ID:mGICTkST]
- >>98
っっっっっっっっっっっっっっっしゃあああ! マクロってのが何だかサッパリ分からんが、とにかく頑張ってみるぜ! サブルーチンとは違うもんなのかね? うっひゃあ初心者に逆戻りでい!
- 111 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 02:32:08 ID:lVz4HYhb]
- >>109
一応そう思ってここに書き込む前にためしたんだけど、例外エラーがなぜかおきる '3'でも一応動くしmainwindow.tjsを見ると+layerにしてるからそれでも動くのは動くみたいなんだけど、 むしろ厳密にint xxx;として 'layer'=>xxxとするとスクリプトエディタが起動してエラーが起きるの これって不具合なのかな? ググッても一応>>109の言う''無しでの書式で動くと書いてあるんだけど。 ちなみに232r2
- 112 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 03:31:01 ID:lVz4HYhb]
- 原因はわからないけど、なぜか
kag.getLayerFromElm(%['layer'=>string(xxx), 'page' => 'fore']).colorize(32, 128, 1.0); とするとまともに動く 力押しでみっともないけど、とりあえずこれでいいやorz
- 113 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 03:34:13 ID:izJjB2zw]
- >>112
getLayerPageFromElm の中で if(layer[0] == 'm') { ... } としてメッセージレイヤ指定かどうか判定してるので引数としてわたされる辞書の中の layer は文字列でないとエラーになるという あたりまえの話。 つか、例外に行番号とかでてるだろ。それみれば一発でわかる話
- 114 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 03:38:21 ID:lVz4HYhb]
- そこの意味が微妙にわからなかったorz
やっぱりmessageの頭文字を判定してたのか。 ありがとう。
- 115 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 18:56:31 ID:j2WDw41X]
- ふと思ったんだが
var c = bbb.count; for(var i=0;i<c;i++) aaa[i]=bbb[i]; と aaa.assign(bbb); って処理速度は同じ?
- 116 名前:名前は開発中のものです。 mailto:sage [2011/02/10(木) 19:33:36 ID:izJjB2zw]
- 後者のが速い
- 117 名前:115 mailto:sage [2011/02/10(木) 21:59:50 ID:j2WDw41X]
- ありがとうございました。
assign使うことにします。
- 118 名前:名前は開発中のものです。 mailto:sage [2011/02/11(金) 02:47:47 ID:2qR1M5vy]
- 俺だと
for(var i = 0; i < bbb.count; i++) って書いちゃうな。 負荷としてはこっちの方が高いのかも知んないけど。
- 119 名前:名前は開発中のものです。 mailto:sage [2011/02/11(金) 11:15:48 ID:eInOXOxl]
- 早い云々より前者と後者では使い道変わってこないか?
- 120 名前:名前は開発中のものです。 mailto:sage [2011/02/11(金) 11:21:05 ID:ZOQcxSzf]
- 数千数万個の中身のある配列ならまだしも、数個十数個の中身の配列だったら
毎度毎度countで個数取ってもさほど変り無いと思うよ。そりゃ確かに一度だけcount取った方が 早くなったり負荷が下がるのは確かだけど、ミリ秒単位の差異を隠蔽せにゃならんほど複雑な処理を書くケースってそんなに有るかね? 無論、これが千や万になるっつったら毎度count叩くのは残念すぎるけど
- 121 名前:115 mailto:sage [2011/02/11(金) 12:25:27 ID:iQutSKcF]
- >>118>>119>>120
参考になります。 配列の大きさはたいしたことないです。 ただ、タイマー処理の一部分なので、少しでも早くしたほうが良いのかなぁと思い 前者のように組んでいました。 で、後からassign思い出したっていう。
- 122 名前:名前は開発中のものです。 mailto:sage [2011/02/11(金) 15:51:26 ID:gz2Pwne0]
- >>92とちょっと質問似てますが、画像に新しい効果を加えるtjsを作りたいと思います。
効果の関数部分は出来てるのですが、具体的にそれをどう反映させれば良いのかその方法がわかりません。 画像を直接弄って変化させるdllは見つかるのですが、1から画像に手を加える参考に出来るtjsファイルが見当尽きませんでした。 これを参考にすれば良いと言うのはあるでしょうか?
- 123 名前:名前は開発中のものです。 mailto:sage [2011/02/11(金) 16:06:38 ID:WSwbNMpH]
- >>122
Layeにある getなんたらPixel/setなんたらPixel で一応なんでもできる。使い方は吉里吉里リファレンス参照。 ただし機能的には問題ないけど速度的にはオーバーヘッドが大きすぎて 効果用の処理には厳しいよ。素直にCで書いて組み込むほうが良い。
- 124 名前:名前は開発中のものです。 mailto:sage [2011/02/11(金) 17:04:54 ID:gz2Pwne0]
- >>123
やっぱりCで組むしか無いのですね。 さすがにCまではやってないです。 また勉強しないといけないんですね・・・・
- 125 名前:名前は開発中のものです。 mailto:sage [2011/02/11(金) 18:08:09 ID:2qR1M5vy]
- 一応、RGBα全部の数値を弄れるから、画像を好きな形に変える事は出来るんだけど、
全ピクセルに処理を施してsetして、それを複数枚…とかやったら、レスポンスが返って来なくなったw リアルタイムとか先ず無理で、バッチ的に処理するにしても、とても実用に耐えるレベルじゃない。 >>123が言う様に、素直に下位レイヤー叩いた方が良いねぇ。 後、tjsで関数作ってるレベルなら、ポインタの概念とライブラリの中身さえ分かってしまえば、 そんなに難しいモンでもないから、そんなに気負う事もないかと。
- 126 名前:名前は開発中のものです。 mailto:sage [2011/02/11(金) 20:41:46 ID:cv99fiNS]
- >>124
https://sv.kikyou.info/svn/kirikiri2/trunk/kirikiri2/src/plugins/win32/ ここのLayerExなんちゃらのソース見たら参考になるかな? 処理自体は出来てるなら、Cに書き換えて該当部分を差し替えれば動いたりして。
- 127 名前:122 mailto:sage [2011/02/11(金) 21:04:37 ID:gz2Pwne0]
- >>125
試しにテストしてみましたが、やはり恐ろしく重たいですね・・・・・ 確かにちょっと実用的とは言えませんでした。 他の手段を考えないと。 >>126 実は今丁度そのlayerExRasterが同じような処理をしてるようだったので見てたのですが、AsObjectNoAddRefなど重要そうな単語の意味がわからず、 さらにmainImageBufferPitchやmainImageBufferForWrite等の見慣れないプロパティをリファレンスで参照してさらに頭を抱えてました。 あとlayerExRasterを試しにコンパイルしてみようとしたのですが、何か足りないのかエラーでコンパイル出来なくてやはり初歩的な知識くらい無いとダメなのかと思いました。 (xp3filterなどいくつかはコンパイル出来たのでなにか足りないんじゃないかと思いますが )
- 128 名前:名前は開発中のものです。 mailto:sage [2011/02/12(土) 18:41:10 ID:S40hiv+3]
- 吉里吉里やtjs組むにはやっぱり秀丸がいいのかなぁ
ずっとmifesなんだが。。。。
- 129 名前:名前は開発中のものです。 mailto:sage [2011/02/12(土) 21:37:52 ID:M58LL2rf]
- 自分はEmEditorの無料版だなあ
自分に合ったヤツが一番だと思うよ
- 130 名前:名前は開発中のものです。 mailto:sage [2011/02/12(土) 23:10:02 ID:FyIidfIA]
- 秀丸とかの吉里吉里用セッティング?使ってる人使い勝手とかどうなんだろ
- 131 名前:名前は開発中のものです。 mailto:sage [2011/02/12(土) 23:11:57 ID:Z20utz7t]
- 質問です
KAGのボタンを後からTJSで非表示にしてみたら クリックは出来ないのにキーボードからは選択できちゃうんだよね 確認してみたらfocusableはちゃんとfalseになってるし どうしたらいいでしょうか? MessageLayer.tjsを弄る必要があればどこら辺とか教えて貰えると助かります
- 132 名前: 冒険の書【Lv=1,xxxP】 [2011/02/13(日) 00:40:19 ID:Nddze20W]
- 慣れてしまったエディタが一番だと思う。
秀丸派だけれど、フリーソフト最強ならsakura editor。 広いカスタマイズができる。 mifesはiniファイルを直接弄れるので好きだったけれど、 最近のはムリっぽいね。 秀丸なら吉里吉里用のマクロも幾つかアップされているのがいい。 ”秀丸でgrep”というツール(というかinfインストール)を入れることもお勧め。
- 133 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 00:50:48 ID:chaa4PxZ]
- ずっとサクラ使ってるなぁ。
設定でそこそこの使い勝手は得られるので、替える動機付けに乏しくなる。
- 134 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 02:22:42 ID:L4kq+ciB]
- KKDE2のバージョンアップまだー
- 135 名前:131 mailto:sage [2011/02/13(日) 02:26:33 ID:SiQe8osp]
- MessageLayer.tjs弄ってたらできたわ
失礼した
- 136 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 12:42:14 ID:MiTt5ymI]
- 彼氏が秀丸使ってた、別れたい
- 137 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 16:32:54 ID:k84HpGk7]
- 初心者な質問ですみません。
タイトルをランダムに表示されるようにしたいのですが、 @eval exp="tf.title=intrandom(1,3) [if exp="tf.title=1"] [image storage="title1" layer=base page=fore] [if exp="tf.title=2"] [image storage="title2" layer=base page=fore] [if exp="tf.title=3"] [image storage="title3" layer=base page=fore] これですると何度やっても3の画像しか出てきません。 対処法はありますか?
- 138 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 16:52:13 ID:9RIfJ8I3]
- 等しいかどうかの判定をするときは=ではなくて==を使わないといけないよ
=だと代入になってしまうので 「3と等しいか判定する」つもりなのだろうけれど「3を代入する」という意味になってる あと、いろいろ閉じてないような気がするけど。"とか[endif]とか
- 139 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 17:10:12 ID:k84HpGk7]
- あ、修正前の方貼っちゃった…
ありがとうございます。=の使い方を勘違いしてました。
- 140 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 17:29:04 ID:hs/nBGW+]
- >>137
今日は暇だから俺がもう少し飛びにくいように書き直してやる *titke_change [eval exp="tf.title = intrandom(1,3)"] [if exp="tf.title == 1"] [image storage="title1" layer=base page=fore] [jump target=*titke_change_end] [endif] [if exp="tf.title == 2"] [image storage="title2" layer=base page=fore] [jump target=*titke_change_end] [endif] [if exp="tf.title == 3"] [image storage="title3" layer=base page=fore] [jump target=*titke_change_end] [endif] [image storage="title1" layer=base page=fore] [jump target=*titke_change_end] *titke_change_end ドヤ顔で出すほどのもんじゃないけどこれで最低限どんな値が返ってきてもとりあえずどれかは表示される。
- 141 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 17:45:20 ID:9RIfJ8I3]
- いや、その値はintrandomで自分で生成してるんだから
気にするんだったらそこじゃないだろ… 気にするなら、なんかの事情でtitle1.jpg等が存在しない場合とかだろ その場合は存在するもののうちからどれかをかわりに表示するみたいな
- 142 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 17:56:19 ID:hs/nBGW+]
- それが案外そうでも無い。
ランダムで表示する画像が増減する事は結構あるし、そのときにintrandomの数値を間違って設定する事とか結構あるよ。 あと > < などでやってると、案外=が抜けてたり。 まぁ今回はintrandomの数値だけど、似たような状況はいくらでもあるから、飛びにくく作っておくのは大事。 存在しないものはTJS使わないと吉里吉里タグだけじゃ無理だからさすがに初心者にそれは難解過ぎ。
- 143 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 18:17:56 ID:9RIfJ8I3]
- うーん、
バグ防止のために「一致してなきゃならないもの」が存在するのを嫌うのは 非常にもっともなことなのだけれど、 セーフティネットというのはバグの温床(見逃してしまう)でもあるので その最後のcase defaultに相当するところはcond="!debugmode" とかをつけたいような まあ思想の問題かと思いますが というか、バグ防止のためにということであれば、今回については ファイル名の一覧を ["title1", "title2", "title3"] のような配列で与えることにして intrandomの範囲も「1,3」などと手動で直接書くのではなく その配列の要素の数から自動的に取るようにするとかかね
- 144 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 18:18:57 ID:nsK8f981]
- else タグと elsif タグの存在も思い出してあげてください
- 145 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 18:21:57 ID:9RIfJ8I3]
- ちょww
「そうかelseやelsifってなかったのか、最近離れてたから記憶があいまいになったな」 って思ってた
- 146 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 19:08:53 ID:hs/nBGW+]
- >>143
たしかにバグの温床にはなりやすいよね。 この条件なら飛ぶはずなのになんで飛ばずに動き続けてるんだろう?とか小一時間ミス探す事が時々ある。 .addで配列に組み込むのが理想だね。 .countで数は取得出来るし、便利なのよね。 ただ、駆け出しの頃は配列は俺にはとても難解だった。 一番使わなくても支障のない物だけど、使えるのと使えないじゃ格段の差が出るのよね。
- 147 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 19:12:37 ID:hs/nBGW+]
- あと吉里吉里はとてもシステムとして安定してるから関係無いんだけど、ずっといろんなプログラマーのオリジナル言語でやってたから、ついコマンドが返す数値を100%信用しない変なクセがついてしまってるのよ。
特にランダム系は経験上かなり不安定な事が多かったせいでついね。
- 148 名前:名前は開発中のものです。 mailto:sage [2011/02/13(日) 23:28:42 ID:p1EMTXxB]
- 質問です。
inputタグで表示される画面を吉里吉里画面の中央に表示させることはできるでしょうか? 今現在、ディスプレイ中央に表示されてます。
- 149 名前:名前は開発中のものです。 mailto:sage [2011/02/14(月) 00:20:07 ID:vDQ+aOmt]
- え?
>今現在、ディスプレイ中央に表示されてます。 どうしてこうなった!?
- 150 名前:名前は開発中のものです。 mailto:sage [2011/02/14(月) 01:27:12 ID:Do9qEUJ1]
- 想像してワロタww
- 151 名前:名前は開発中のものです。 mailto:sage [2011/02/14(月) 02:36:11 ID:xwSZlZFK]
- >>148 kagやtjsだけでは無理。
自分も質問です。 hiddenMethodに渡す引数と戻り値を教えてください。
- 152 名前:名前は開発中のものです。 mailto:sage [2011/02/14(月) 12:01:36 ID:E8mP+/zs]
- すみません、初心者でいくつか理解出来ない事があって質問です。
音を鳴らす関数のサンプルとしてこう言うのを貰いました。 function Hist_sound( sound,buf ) { return "kag.se[buf].stop(), kag.se[buf].play(%[ storage : '" + sound + "'])"; } まず'" + sound + "'と言うのはどう言う事をやってるのでしょうか? storage名をstringで持とうとしてるのかと思いますが、前後の+の意味と2回括ってる意味がわかりません。 次にreturnの後の""で全体を括ってる意味もわかりませんし、中で""を使ってるのになぜ使えるのかもわかりません。 またこれは中身を見る限り単に音を鳴らしてるだけのようなので、 function Hist_sound( sound,buf ) { kag.se[buf].stop(); kag.se[buf].play(%[ storage : '" + sound + "']); } これではダメなのでしょうか?
- 153 名前:名前は開発中のものです。 mailto:sage [2011/02/14(月) 13:36:49 ID:Y5ght41y]
- その関数は「音を鳴らす関数」ではなくて「音を鳴らすためのコマンド文字列を作る関数」です
- 154 名前:名前は開発中のものです。 mailto:sage [2011/02/14(月) 13:51:51 ID:E8mP+/zs]
- >>153
hactに組み込まれていた部分なのでまさにその通りだと思うのですけど、1つは上で書いた疑問は他のところを読んでも出て来ると思いましたので質問だったのですが、 コマンド文字列を作る関数と言うことは、これを呼ばれると一体何をどのように返すのでしょうか? ""等の読み方が分からずどう言う事をしてるのかぼんやりとしか分からないのです。 初歩的で申し訳ありません。
- 155 名前:名前は開発中のものです。 mailto:sage [2011/02/14(月) 14:01:35 ID:E8mP+/zs]
- 少し検証してわかったのですが、"'"'テスト'"'"みたいな入れ子だと""の中の''の中の""は使えるのでしょうか?
とすると+ sound +と言うのは、soundと言う引数では無く、単に+ sound +と言う文字列を返してるだけなのでしょうか? すると受け取ったsoundと言う引数はどこに?と言う事になるので、たぶん違うとおもうのですけど。
- 156 名前:名前は開発中のものです。 mailto:sage [2011/02/14(月) 14:05:32 ID:Y5ght41y]
- まずは TJS のリファレンスを一通り眺めるくらいはしましょう。
"" は文字列をしめすくくりです。TJSでは便宜のため '' と "" いずれも文字列の記述につかえて、 また、' は "" の中でエスケープせずにつかえて、" は '' の中でエスケープせずに使えます。 詳細は「文字列即値」でリファレンスを検索してください。 そして、その関数は、 "kag.se[buf].stop(), kag.se[buf].play(%[ storage : '" sound (変数。中身は文字列) "'])" の3つの文字列をつなぎあわせようとしています。結果返されるのは kag.se[buf].stop(), kag.se[buf].play(%[ storage : '渡されたファイル名']) という文字列です。 なお単にならすだけなら kag.se[buf].play(%[ storage :sound]); で良いです 余談ですがこれバグってますよね。buf が展開されてません。そのままだとたぶんエラーでしょう。もしかしたら たまたま buf という変数があって鳴ってるかもしれませんが……。その関数くれた人とやらに確認したほうがよいです もう一つ余談ですが、文字列への変数展開はTJSでは次のように書くことができます。詳細は @ でTJSリファレンスを検索のこと。 return @"kag.se[${buf}].stop(), kag.se[${buf}].play(%[ storage : '${sound}'])";
- 157 名前:名前は開発中のものです。 mailto:sage [2011/02/14(月) 14:42:23 ID:E8mP+/zs]
- >>156
細かい説明と指摘本当にありがとうございます。 おっしゃる通りに、貰った物がこちらでは鳴らなくて、どこが悪いんだろうかと探してる時にこの関数を見つけて読み方が分からずこのスレに泣きついてしまいました。 相手側の方ではこれで鳴ってるそうなので、違う物を渡されたのか、それとも何か勘違いしてる可能性が高そうです。 本当に助かりました。 これからもう一度相手側に確認取ってみます。 ありがとうございました。
- 158 名前:名前は開発中のものです。 mailto:sage [2011/02/14(月) 15:39:50 ID:E8mP+/zs]
- "kag.se[" + buf + "].stop(), kag.se[" + buf + "].play(%[ storage : '" + sound + "'])"
これから試すつもりですけど、たぶんこうじゃないとダメぽいですね。 returnの後の”に対応する”が;の前の奴だと勘違いしたまま+の前の奴が対応してた"だと思いもしなかった自分のバカバカ。
- 159 名前:名前は開発中のものです。 mailto:sage [2011/02/14(月) 21:11:18 ID:RqYc83Xu]
- evalするより関数渡したほうがオーバーヘッドも少ないしセキュアだと思うんだが。
簡単に乗っ取れるよね、それ。
- 160 名前:名前は開発中のものです。 mailto:sage [2011/02/14(月) 23:20:56 ID:0qKfv/Yz]
- 質問させてください。
縁取り文字使用時、連続ダッシュ(――)で字間に縁の色が入ってしまうのですが これを綺麗に繋ぐようにする方法ってないでしょうか? 字間を調整してみても、後ろ側の縁に塗りつぶされてしまうようなのです。
- 161 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 02:04:40 ID:4LFE3fe/]
- >>160
「■複数の横棒(───)を書く時は」 ttp://www.geocities.jp/keep_creating/DojinDOC/kirikiriSmallTips.html#multibar …ってそのものずばりだと思うが如何。
- 162 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 03:04:43 ID:Rse+nHdS]
- 罫線とか三点リーダが連続するときはパーサ側で1文字づつchに分解するのをヤメて一度スタックに積んでもいいと前に思ったことがあるなぁ。
それに、いちいちばらすと文字列のサイズとか前進幅とか狂うしさ。
- 163 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 06:59:25 ID:Ag0aN+GZ]
- 文字関連の弱さに定評のある吉里吉里
- 164 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 08:12:32 ID:Dav6HMUs]
- >>160
有り難うございます。 お陰様で理想通りの表次になりました。
- 165 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 08:13:19 ID:Dav6HMUs]
- >>161宛です。
すみません。
- 166 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 14:36:48 ID:OjWV4otJ]
- 質問よろしくお願いします。
複数の選択肢の中から2つ選ぶと次に進むという構成で 1つ目の選択肢を選んで選択肢群に戻ってきた時に その選んだ選択肢を再度選べないようにするにはどうしたらよいでしょうか? タグリファレンスを見ながらなんとかやって来たのですが 本当に分からなくなってしまいました ご教授よろしくお願いします。
- 167 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 14:54:37 ID:ohISBHHz]
- >>166
「選択肢を選んだ」という変数で分岐させなさい
- 168 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 14:55:28 ID:FQniGo0m]
- [link target=*select1 cond=f.flag[1]==0]選択肢1[endlink][r]
[link target=*select2 cond=f.flag[2]==0]選択肢2[endlink][r] [link target=*select3 cond=f.flag[3]==0]選択肢3[endlink][r] *select1 [eval exp="f.flag[1]=1"] *select2 [eval exp="f.flag[2]=1"]
- 169 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 14:57:22 ID:0V8l3OVm]
- >>166
情報が少なすぎて何ともいえないけど、選択肢を出すタグ群をif文で制御して、 その選択肢に飛んだ場合、if文の条件が否定される様にするのが一番簡単かと思う。 イメージとしてはこんな感じ *ここから @if exp="tf.sentaku1==void" <選択肢1を出すマクロなりタグ> @endif @if exp="tf.sentaku2==void" <選択肢2を出すマクロなりタグ> @endif *sentaku1 <飛び先> @eval exp="tf.sentaku1=1" <“*ここから”に戻るマクロなりタグ> [s] この方法で出なくは出来るけど、表示上はおいしくない。 出さない選択肢の部分を灰色にするとか、消すとかによって 色々処理を追加する必要があるとは思う。
- 170 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 15:22:59 ID:OjWV4otJ]
- >>167さん
>>168さん >>169さん 素早い返答本当にありがとうございました。 教えて頂いたことで試行錯誤していきたいと思います。 ありがとうございました。
- 171 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 16:14:10 ID:eoTU6IqZ]
- マクロをTJSで動かす方法は無いのかな?
conducterの配列に収納されてるみたいだけど上手い方法が見つからない。 出来たところで、全部のタグに対応するわけじゃないけど。。。。
- 172 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 16:21:50 ID:ubsjfjaE]
- 【ゲーム制作】サスペンスギャルゲー 『フクロマンス』 【スタッフ募集】
ex14.vip2ch.com/test/read.cgi/news4gep/1277294113/
- 173 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 16:34:33 ID:mADjNJ6B]
- >>171
マクロをTJS……って具体的にどういう役割を想定してるの? 1. 今現在TJSで何かスクリプトを書いていて、その中でKAGのマクロ/タグを機能させたい 2. 今組んでいるマクロの中でTJSスクリプトを使いたい(evalタグ毎度毎度打ち込むのがめんどい) 3. その他 とか、一つの文面でいくらかの解釈が有るんだが……
- 174 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 16:40:40 ID:0BpiwOhd]
- >>171
↓の759,760,767 ttp://bbs.bokunatu.com/test/read.cgi/krkr/1195603475/
- 175 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 17:19:10 ID:OjWV4otJ]
- 御助言のおかげで大元の骨格が完成しました。
本当にありがとうございました。
- 176 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 17:41:23 ID:eoTU6IqZ]
- >>173
特に想定は無いんだけど時々iscriptでtjsパート書いたりしてるとこっちで書くよりマクロで組んで呼び出した方が処理スピードはともかく楽に書けるよなとか思う時があったりするけどそのたびにendscriptして呼び出して戻るとか格好悪いなと。 あと全体をTJSで組んでると、movie関係とか思ったよりTJSで組むのが面倒な場合があったりするからそんな時に楽かなと。 マクロを作っておいて呼び出せば、複雑なタグ群でも一行で済んじゃうから。 概ね楽するための方法として。 マクロの方がバグ見つけるの楽だしね。 >>174 なんか使えそうな感じのレスだね。 ちょっと詳しく読んでみる。
- 177 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 18:09:42 ID:FkfXkijB]
- >>176
本末転倒やね TJSを使う時は必ず「タグを作成する」という形で行うようにして、iscript はスクリプト中では使わない、ってほうが結果的には奇麗になると思うよ
- 178 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 18:41:03 ID:eoTU6IqZ]
- >>177
実際そうだと思う。 たまーに急ぎの時とか、TJSで書くよりタグで書いた方が早いんだけど、でもここは絶対TJSじゃないと無理だしまあいいや、とりあえずendscriptして外に出して・・・とかやったりしちゃうのよね。 マクロの中身が百行とかなるとさすがにそれを一々TJSで同じ事やらせようとするときつい。。。。 タグは拡張性がTJSより低い代わりに、簡略化されてて楽に扱えると言うメリットはやっぱり捨てきれない。 俺ってダメダメ。
- 179 名前:168 mailto:sage [2011/02/15(火) 18:45:01 ID:FQniGo0m]
- ; >>166 ごめん、リファレンスチラ見で知ったかで書いた。今は反省している。
; 例: 複数の選択肢の中から2つ選ぶと次に進むという構成で、一度選んだ選択肢は再度選べないようにする @wait time=200 *start|スタート [cm] @eval exp="tf.flags = [], tf.flags[1] = 0, tf.flags[2] = 0, tf.flags[3] = 0, tf.cnt = 0" *bunki [cm] [if exp="2 <= tf.cnt"]選択肢が[emb exp="tf.cnt"]回選ばれました[l][r][jump target=*start][endif] [if exp="tf.flags[1]==0"][link target=*select1]選択肢1[endlink][r][endif] [if exp="tf.flags[2]==0"][link target=*select2]選択肢2[endlink][r][endif] [if exp="tf.flags[3]==0"][link target=*select3]選択肢3[endlink][r][endif] [s] *select1 [cm] 選択肢1が選ばれました[l][r] [eval exp="tf.flags[1]=1, tf.cnt=tf.cnt+1"] [jump target=*bunki] *select2 [cm] 選択肢2が選ばれました[l][r] [eval exp="tf.flags[2]=1, tf.cnt=tf.cnt+1"] [jump target=*bunki] *select3 [cm] 選択肢3が選ばれました[l][r] [eval exp="tf.flags[3]=1, tf.cnt=tf.cnt+1"] [jump target=*bunki]
- 180 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 19:13:51 ID:eoTU6IqZ]
- 2つ選ぶと次に進むと言うのは、選択肢に戻った先で、選択肢を表示する前にifで飛ばせば良いよ。
一つ目と二つ目のメッセージの最後にカウンターかなにかでtf.count++とかしておいて、戻った先で選択肢の前に if(tf.cout>=2)とかすればいい。 一度読んだ選択肢を表示させないのはそれもフラグで管理して>>168みたいにcondで制御すればいい。
- 181 名前:名前は開発中のものです。 mailto:sage [2011/02/15(火) 20:58:36 ID:AE4Z+Hd8]
- 昔からいろんな言語で1ファイルに多言語混在させるなと言われてきたのになんでiscriptなんてあるんだろうか。
スクリプトなのに低レベルな制御文しかなかったり文字列処理やバッチ処理に弱かったりDeeタンはドMだよね。
- 182 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 01:18:22 ID:i43onDkY]
- >昔からいろんな言語で1ファイルに多言語混在させるなと言われてきたのに
聞いたこと無いなぁ。本当?
- 183 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 05:04:29 ID:PFl5tPzr]
- CのマクロだとかHTMLの中にCSSやJS埋込みだとかXMLにDTDだとかいくらでもあるだろ
- 184 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 09:50:39 ID:wh0vq7x9]
- PHPさんがアップをはじめました
- 185 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 10:36:39 ID:fnJHfEYP]
- >>181
html
- 186 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 11:24:35 ID:auVMvR/S]
- TJSが低レベルなのはDeeタンの好みなんでしょ
電子工作が趣味だったりするみたいだし 吉里吉里のソースコード見てもやたらと低レベルな一行一行コードがダラダラと続く感じだし
- 187 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 12:06:32 ID:wjFNoLFy]
- 何が低レベルなのかさっぱり分からん
こやつ、狂いか
- 188 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 12:49:26 ID:ggf6fWY5]
- いやならやめてもいいんじゃぞ
- 189 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 13:28:04 ID:RLCp7sg6]
- 高級言語とか低レベルとか誤解を招くから改称し手板抱きたい
- 190 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 13:31:55 ID:+qpjQr/e]
- 低レベル、はまさに能力が低いっていう意味で広く使われる言葉だから、
せめて低級とかって言って欲しいところではある。
- 191 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 13:55:57 ID:i43onDkY]
- 受ける印象同じだよそれ
- 192 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 13:57:31 ID:TPbyk8Lw]
- どう見ても>>186は低級言語の意味ではなくレベルが低いという意味でレスしてると思う
- 193 名前:186 mailto:sage [2011/02/16(水) 14:27:49 ID:auVMvR/S]
- 抽象度が低いという意味で言った
すまんね
- 194 名前:名前は開発中のものです。 mailto:sage [2011/02/16(水) 14:56:29 ID:PCyBhogH]
- 「低レベル」でググるとゲームの攻略サイトとか日記ばっか出てくるけど、
「低級」でググると言語関係のページが出てくる、くらいには差がある。 >>193 多少でも知ってる人間ならまず間違わずに読み取れる書き方だったとは思うけど、 この流れだとスクリプターには誤解されても仕方ない。実にやっかいな用語だ。
|

|