1 名前:名前は開発中のものです。 転載ダメ mailto:sageteoff [2015/06/05(金) 01:50:10.83 ID:r78FM0BY.net] ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。 自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。 マルチポストはやめましょう。個人叩きも禁止です。 ※スレで質問をするときは※ KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、 FAQ、Google等で調べてからにしましょう。 努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ! 吉里吉里スレ過去ログ倉庫 ttp://bbs.bokunatu.com/krkr/ 吉里吉里2/KAG3雑談質問スレ_過去ログ ttp://www.geocities.jp/kirikiri_log/ 吉里吉里ダウンロードページ ttp://kikyou.info/tvp/ ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は 初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。 ■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。 大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。 ■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる 数々のTipsが記載されています。 ■TJSをもっと使うために ゲームのインターフェイスをカスタマイズしたい、また KAGの命令に無いことをしたくなったらまずここを読んでみよう。 必要に応じて>>241 マニュアルも解説サイトも利用者も作品数も圧倒的だから……。 エンジン選定はそれが一番重要だと思います。
247 名前:名前は開発中のものです。 mailto:sage [2015/07/22(水) 12:42:06.88 ID:CsmEAKc5.net] ありがとうございます!\(^O^)/ 解説書も有るし、吉里吉里2で勉強します!
248 名前:名前は開発中のものです。 mailto:sage [2015/07/22(水) 13:31:30.73 ID:P6PPl1rl.net] c++とか触った事すら無いところから始めた俺からすると ごった煮さんとこのZの解説を読んでチンプンカンプンレベルならまず2で覚えないと先に進まんだろ それ以前に俺レベル程度じゃZはあまり恩恵に預かれない 安定してる2の方がマシ スクリプトソースをUTF-8にいちいち変換するのも面倒だし
249 名前:名前は開発中のものです。 mailto:sage [2015/07/22(水) 14:13:33.60 ID:GnkwzWXt.net] Zはデバッガがなぁ…
250 名前:名前は開発中のものです。 mailto:sage [2015/07/22(水) 15:26:11.82 ID:nCTgBvOf.net] 吉里吉里2はデバッガが充実していた・・・? っていうかコンソールって言いたいのか
251 名前:名前は開発中のものです。 mailto:sage [2015/07/22(水) 17:14:04.04 ID:GnkwzWXt.net] 3つとも愛用してたから無いと不便に感じてしまう
252 名前:名前は開発中のものです。 mailto:sage [2015/07/22(水) 22:32:14.63 ID:GXfdVbnU.net] ZはVSでビルドするためにあるようなものなので 吉里吉里の本体を改造しないなら無理に使わなくていい
253 名前:名前は開発中のものです。 mailto:sage [2015/07/23(木) 14:16:36.51 ID:YPfZ6Cm+.net] 教えてください var FileParser = new csvParser(); tf.FileList = FileParser.parseStorage("list.csv"); invalidate FileParser; //list.csv 1月,睦月,January 2月,如月,February 3月,弥生,March 4月,卯月,April 上みたいにしてlist.csvを取得した場合って、どう言う風に配列で収納されてるのかな tf.FileList.list[0][1]→睦月なのかなと思ったんだけど、違うみたい 根本的に理解が足りてないのかな
254 名前:名前は開発中のものです。 mailto:sage [2015/07/23(木) 20:21:57.30 ID:GhxAsd18.net] まだリリース前なんだが、ファイル破損チェックツールでdata.xp3やkrikr.exe をチェックすると「破損」になるんだが何が悪いんだろう…… 署名はちゃんとしているんだが
255 名前:247 mailto:sage [2015/07/23(木) 20:28:33.43 ID:GhxAsd18.net] すいません、自己解決しました。
256 名前:名前は開発中のものです。 mailto:sage [2015/07/23(木) 20:58:07.74 ID:BWoZRk6g.net] >>249 parseStorageはdoLineを呼び出すだけで返り値はないよ initStorageでファイル読み込んでgetNextLineで一行ずつ取得してくのが簡単 ↓で思ってるとおりに動く function loadCSVFileAsArray(filename) { var result = []; var parser = new CSVParser(); parser.initStorage(filename); while (true) { var line = parser.getNextLine(); if (line === void) break; result.add(line); } return result; } tf.FileList = loadCSVFileAsArray("list.csv");
257 名前:名前は開発中のものです。 mailto:sage [2015/07/23(木) 22:10:17.84 ID:GhxAsd18.net] スレ違いになるけど、CD-ROMで頒布予定なんだけど、 最近はWindows7ばっかりだから、CD-ROMをドライブに入れても 自動インストールが始まらないんだっけ?
258 名前:名前は開発中のものです。 mailto:sage [2015/07/24(金) 06:56:28.93 ID:J9odBgUp.net] OSの設定によるんじゃねーの
259 名前:名前は開発中のものです。 mailto:sage [2015/07/24(金) 14:34:30.43 ID:7zo244sJ.net] >>252 ありがとうございます。完璧にやりたい通りに動きました。 あとwhileもそんな風に使う方がスマートですね。勉強になりました。
260 名前:名前は開発中のものです。 mailto:sage [2015/07/26(日) 23:11:47.31 ID:nyc9dYW6.net] 前にKAGParserの拡張機能の意見募集した者です。 ごった煮の中の人と協力して、少し前にExtKAGParserがリリースされたので ご報告まで。 貰った意見で具体的なものは大体実装したはず。 ttp://www.geocities.jp/keep_creating/krkrplugins/ExtKAGParser/ExtKAGParser.txt 要望くれた人、テストしてくれた人、みんなありがとう。 これで少しでも楽にゲームが作れるようになるといいな。
261 名前:名前は開発中のものです。 mailto:sage [2015/07/27(月) 12:45:16.10 ID:ud96V+38.net] 前から思ってたけど、マクロはcallで呼び出してるんじゃないの? シーン再生のエンド処理させて、そのマクロの中でシーンからエクストラに戻ったりすると、callを積みっぱなしにならないのかね
262 名前:名前は開発中のものです。 mailto:sage [2015/07/27(月) 18:46:03.63 ID:6ZSZc8b0.net] マクロとcallは呼び方が違う。マクロはその場に展開される。 callスタックにつみっぱなしになるかどうかは呼び方次第なので具体例ないとなんとも。
263 名前:名前は開発中のものです。 mailto:sage [2015/07/27(月) 22:03:26.28 ID:HhBVKLnt.net] そうなのか。ずっと一緒だとおもってた。 そう言えば、callのスタックをクリアするメソッド無かったっけ? 一応それでタイトル戻るたびにクリアするのが理想かね
264 名前:名前は開発中のものです。 mailto:sage [2015/07/29(水) 16:16:50.27 ID:CEzxqKe+.net] override.tjsで、プロパティをclassに追加するのってどうすればいいですか? こんな感じで書いてるのを、 property sys2volume { getter() { return kag.getSEGroupProperty("globalVolume", 100000) / 1000; } setter(v) { kag.setSEGroupProperty("globalVolume", v * 1000); } } ゲッターやセッターの中でkag.〜となっているのがかっこわるいから、 kag.KAGWindow.sys2volume { getter() { return getSEGroupProperty("globalVolume", 100000) / 1000; } setter(v) { setSEGroupProperty("globalVolume", v * 1000); } } としてもうまく行きませんでした それと、もっとこうしたらもっとスマートな書き方になるって言うのは無いですか?
265 名前:名前は開発中のものです。 mailto:sage [2015/07/29(水) 17:48:55.92 ID:Zyt8BghU.net] &演算子を使えば property sys2volume { getter() { return getSEGroupProperty("globalVolume", 100000) / 1000; } setter(v) { setSEGroupProperty("globalVolume", v * 1000); } } KAGWindow.sys2volume = &global.sys2volume; みたいにできる。global空間汚すのが気に入らないなら、上記の後で delete global.sys2volume; としておけば一応global側は消える
266 名前:名前は開発中のものです。 mailto:sage [2015/07/29(水) 17:55:58.37 ID:M131uUCV.net] kag.autoModeで未読既読判定して既読の時は読み進め、未読に来たら停止させたいんだけど俺レベルじゃ全くどうすればいいか思いつかん・・・・・・
267 名前:名前は開発中のものです。 mailto:sage [2015/07/29(水) 18:03:57.12 ID:Zyt8BghU.net] あと最近の吉里吉里(svnの開発版rev4942以降/安定板2.32r2では無理)の場合、 Scripts.eval/exec系にコンテキストが指定できるようになったので property sys2volume {〜}だけを記述したsys2volume.tjsみたいなファイルを作っておいて Scripts.execStorage("sys2volume.tjs", /*mode*/, /*context*/KAGWindow); とする手もある
268 名前:名前は開発中のものです。 mailto:sage [2015/07/29(水) 19:20:15.62 ID:Fwe6MqBx.net] プロパティの状態自体は栞に保存されないからあまりポコポコプロパティ作るとはまるぞ
269 名前:名前は開発中のものです。 mailto:sage [2015/07/30(木) 00:25:07.09 ID:fejD4xI5.net] >>263 >>265 うまく動きました &を思いつけない自分が本当にどうしようもなくヘボいスクリプターだ。。。
270 名前:名前は開発中のものです。 mailto:sage [2015/07/30(木) 01:09:46.27 ID:VwRDb0FZ.net] それはもうスクリプターのレベルじゃないからなあ
271 名前:名前は開発中のものです。 mailto:sage [2015/07/30(木) 01:12:14.86 ID:xJeXEgtj.net] TJSをゴリゴリ書く人間をスクリプターと呼ぶかどうかは 昔からよくブレるところであってな KAGで演出がんばってまーす みたいな感じだと &を使えって話になることすらないだろうけど
272 名前:名前は開発中のものです。 mailto:sage [2015/07/30(木) 03:30:54.86 ID:eMG92eIt.net] プロパティーの話題が出てる今便乗させてください EXのBGVってプロパティーはあるみたいけどどう組み込んだらいいのかな? voiceに似せて組み込もうにも同じくへぼへぼスクリプターな俺はvoiceでgrepした段階で力尽きたorz 理想はタグにしたいんだけどそれ以前にどうやって使うかすらわからない
273 名前:名前は開発中のものです。 mailto:sage [2015/07/30(木) 07:54:34.21 ID:nZwrlHm3.net] >>268 [キャラ名 bvoice="ファイル名"]で再生 [キャラ名 bvoice=""]で停止
274 名前:名前は開発中のものです。 mailto:sage [2015/07/30(木) 16:43:31.71 ID:qnCnVInh.net] おー ありがとうございます こんな簡単な事だったのかorz ちなみに調べてた時にバッファを二つ持ってるみたいだったけど、もう一つのバッファはhvoiceみたいだね ただこれ単に切り替えてるだけっぽいけど意味あるのかな? fadeinoutなどの調整も出来ないみたいだし、少し研究してみます
275 名前:名前は開発中のものです。 mailto:sage [2015/07/30(木) 22:17:23.15 ID:nZwrlHm3.net] bvoiceとhvoiceはkag.bgvvolumeとkag.bgv2volumeに音量の系統分かれてるだけ 日常シーンとHシーンで個別に音量設定つけるなら使うかもしれない
276 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 00:30:20.18 ID:+sD9QLZU.net] 吉里吉里のフラグで配列(もしくは辞書配列)を宣言してるかどうかってどうやって調べればいいんだろうか? これじゃダメだった。 配列を宣言してなければ配列を作るって言う初期設定をさせたかったんだけど [if exp="&sf.xxxx[0] === 'undefind'"] 〜処理〜 [endif]
277 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 03:29:40.64 ID:2pluXChD.net] 既にsf.xxxx = [] されてて[0]番目が未定義かどうかを調べたいのか、 それとも配列自体が定義されてるか調べたいのかよくわらんけど どっちにせよundefined比較はtypeofを使うのが必須だね 前者の場合 [if exp="typeof sf.xxxx[0] == 'undefined'"] 後者の場合 [if exp="typeof sf.xxxx == 'undefined'"] ifのexpはそのまま実行時に評価されるので&指定は不要。比較は上では==になってるが===でも全く問題ない ただ、undefined比較だと例えば(後者の場合で)sf.xxxx=0みたいに意図しない値がすでに入っていた場合に スルーされてしまうので、本当に厳密にやるなら function IsObjectInstanceOf(ref, cls, base=sf) { return (typeof base[ref] == "Object") && (base[ref] !== null) && (base[ref] instanceof cls); } みたいなオブジェクトのインスタンスのクラスまで調べる適当なヘルパ関数作っといて [if exp="!IsObjectInstanceOf('xxxx', 'Array')"] [if exp="!IsObjectInstanceOf('xxxx', 'Dictionary')"](※辞書の場合) とかしておくと安心かもしれない まぁぶっちゃけsfやfの初期値はvoid(typeof取った場合のみundefined)なので 他に変更されるような要因がなければ上みたいに長々と書かなくても [if exp="sf.xxxx === void"] で済ませる場合も多いね(記述少なく
278 名前:楽だし) [] [ここ壊れてます]
279 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 09:24:59.71 ID:KBwevcQw.net] krmovie.dll でムービーを再生すると、比較的低スペックの環境だと どうしても再生が乱れるんだけど、なんか良い方法ないかなあ。 メディアプレーヤーとかでなら問題なく再生できるPCなんだけどな。
280 名前:名前は開発中のものです。 [2015/07/31(金) 12:01:21.70 ID:UyI8xMWU.net] あきらめろ
281 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 13:01:25.64 ID:j2ZgS7ql.net] >>273 説明が少し悪くてごめん。 配列になっていないものを[if exp="typeof sf.xxxx == 'undefined'"] で確認するのはわかるんだけど 単にゲームの初期設定でsf.xxx = []とすれば良いだろうと言う突っ込みはおいておいて 要するにsf.xxxxが(辞書)配列かどうかと言う判定はどうしたらいいんだろうか?って事を聞きたいんだ。 [if exp=(sf.xxxxが配列じゃなかったら)] ;配列を作る [eval exp="sf.xxxx = []"] [endif] と言う処理を行いたいの。 [if exp="typeof sf.xxxx[0] == 'undefined'"] とか[if exp="sf.xxxx.count == 0"]で調べようとすると エラー表示されるから困ってる。
282 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 13:04:13.52 ID:KBwevcQw.net] >>275 他にDLLってないのかな。自分で作るしかないんだろうか。
283 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 13:06:59.23 ID:j2ZgS7ql.net] >>274 最近はエロゲは最低スペックでvistaマシンだから 今後ロースペックマシンではどんどんきつくなっていく。 だがvistaの頃に開発ストップした吉里吉里ぇ それとオープニングとかなら別だけど ゲーム中のムービーは画面書き換えの関係で同時に複数のチャンネルで動かしてる場合が多いから それだけでかなり重いうえにさらにいろいろなゲームとしての処理でロースペックだともっさりする
284 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 13:39:02.38 ID:3PBc8qKX.net] 吉里吉里だかKAGEXだったかで、ゲーム中で使われていない素材ファイル一覧を吐き出すプラグインってなかったっけ?
285 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 13:55:31.47 ID:2SOVPUaC.net] >>276 instanceof "Array"
286 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 14:02:40.71 ID:9MELTnnV.net] >>276 説明が悪くて じゃなくて、>>273 は十分説明を理解しているのに >>276 が>>273 の解説を何も理解せずにオウム返ししているだけなんだよなあ・・・ 「カレーを作りたいんだけど、肉と野菜煮込んでも茶色くならない。どうすればいいのかな?」 「カレールーを入れてね。本格的にやりたいならスパイスから作るやり方もあるよ」 「説明が悪くてごめん。肉と野菜を煮込んで、カレーみたいな味と色にしたいんだけどどうすればいいのかな?」 みたいな感じ 正解のソースコードをKAG込みで張ってもらわんと気が済まないのか
287 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 15:43:59.04 ID:j2ZgS7ql.net] >>281 >>273 を確かによく読むとちゃんとわかるように書いてあった ごめん >>280 でもうまくいけた ありがとう
288 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 17:39:30.18 ID:rGuZZZqP.net] 吉里吉里やkagexやzでメッセージを監視して特定の文字列が出てきたら処理をさせると言うのは出来る? 例えば"ドザエモン"と言うワードが出てきたらfontの色を変えるとかインライン図形に切り替えるとかしたいんだけど
289 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 19:14:57.23 ID:I0KHEIj6.net] indexOfでいいんじゃないの リファレンスにあるべ
290 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 20:01:52.71 ID:9MELTnnV.net] 基本吉里吉里は「ド」「ザ」「エ」「モ」「ン」を1文字表示するタグとして処理するから 先読みとかするように改造しないと厳しいだろ むしろ事前にGREP機能があるソフトでksファイルの「ドザエモン」をマクロで括るように一括変換しとけば
291 名前:名前は開発中のものです。 mailto:sage [2015/07/31(金) 23:30:58.33 ID:vU5w5/NE.net] ・吉里吉里のレベル ・TJSのレベル ・KAGのレベル どのレベルでやるか 吉里吉里改造(またはKAG拡張)のレベルなら何でもできるが システム自体の深い理解がいる TJSならシーンごとに区切ってindexOfとか KAGのレベルなら、あらかじめマクロ作って ksファイルのテキストをタグで囲っておくしかなさそう
292 名前:名前は開発中のものです。 mailto:sage [2015/08/01(土) 02:31:04.80 ID:gyZyt6mP.net] kagexとか吉里吉里でやれない事はほぼ無いんだからそっち重宝する奴は意味がわからん そもそもkag.fore.layersみたいな感じにtjsレベルでレイヤ管理出来ないんだからむしろ制限多いだろうさ
293 名前:名前は開発中のものです。 mailto:sage [2015/08/01(土) 06:00:50.36 ID:q2hcCxyS.net] 日本語が読みにくい
294 名前:名前は開発中のものです。 mailto:sage [2015/08/01(土) 12:57:46.55 ID:0/wuswln.net] え kagexてtjsじゃlayer記述出来ないの? あるでしょ普通
295 名前:名前は開発中のものです。 mailto:sage [2015/08/01(土) 21:01:22.30 ID:HpB6c145.net] kagexってそのあたりの情報が基本的に全く出てこないせいで使いづらいんだよな 上の方のbvoiceもそうだけどせっかく機能として組まれてるのに読み解けない奴は気づけないって機能が多すぎる メインで使いたがるのは俺みたいに少し吉里吉里じゃ物足りないって感じてtjsでなんとか出来ないかなって試行錯誤するレベルのスクリプターライターなはずなのに 機能を理解出来るのは、そのレベルの奴じゃ到底無理って言うね
296 名前:名前は開発中のものです。 mailto:sage [2015/08/01(土) 21:15:02.83 ID:MfdGKfhF.net] マニュアルがないとどうしようもないよなあ。 ソース読めって言うんなら自分で書いたほうが早いし。
297 名前:名前は開発中のものです。 mailto:sage [2015/08/01(土) 21:16:04.55 ID:q2hcCxyS.net] kagexを参考にしつつ自分で改造 ってのが結局無難なのでは
298 名前:名前は開発中のものです。 mailto:sage [2015/08/01(土) 22:04:16.23 ID:vhMeyRy2.net] bvoiceは付属のテキストに書いてある通りなんだけどちゃんと全部読んでる? 正確な動作知ってカスタマイズしたいならソース読むしか無いけどそれはKAGも同じでしょ
299 名前:名前は開発中のものです。 mailto:sage [2015/08/01(土) 22:22:55.60 ID:HpB6c145.net] >>293 txtに確か2書いてはあるけど、このボリュームはどれなのとかそう言うのは何も書かれて無いからかなり使いづらい 探せばキャラの個別の音声に紐付いてるの分かるが、そもそもキャラ個別音声のボリューム調整をどうすんのか分からんって人がいっぱいだと思う 俺も>>289 のレス見てそういやkagexではレイヤ表示どうすんだろ?って思って今見てるクチだけどたぶんこのあたりは俺レベルじゃわからんと思う これがKAGなら本家のリファレンスとごった煮さんとoutFOUCUSさんを見たらだいたい分かるんだけど 使っていれば使い勝手は確かにkagexは良いのに実にもったいない
300 名前:名前は開発中のものです。 mailto:sage [2015/08/01(土) 22:32:52.87 ID:CcbCQz7g.net] kagはあれでも初期に比べたらかなり解説サイトさん減ったから 最近の新規さんは苦しんでそうだ Zとexは移動するメリットがあんまりないんだよな、解説の少なさもあるし OS問題考えるとそのうちzにしなきゃいけないんだろうけど
301 名前:名前は開発中のものです。 mailto:sage [2015/08/01(土) 22:46:50.61 ID:MfdGKfhF.net] KAGは公式のオンラインドキュメントがかなり豊富だからなあ。 TJSでの弄り方も詳細に書いてくれてるし。
302 名前:名前は開発中のものです。 mailto:sage [2015/08/01(土) 22:57:34.85 ID:vhMeyRy2.net] tjsのサンプル置いておくだけでも役に立つ人はいるのか 暇なときに書くようにするわ
303 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 00:55:17.87 ID:kRQ1fDOF.net] うーん やっぱりkagexのレイヤの表記わからなかった。。。。
304 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 02:43:17.86 ID:tcX15TRH.net] レイヤの表記ってなに やりたいことによるけどKAGと違って直接Layer使うことは少ないよ
305 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 03:15:29.30 ID:kRQ1fDOF.net] >>287 が言ってるようなkag.fore〜みたいな表記 言われてみて、そういえばどうすんだ?みたいな
306 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 03:35:13.36 ID:tcX15TRH.net] キャラクタならworld_object.env.characters["キャラ名"].targetLayer 環境レイヤならworld_object.env.layers["レイヤ名"].targetLayer 舞台レイヤならworld_object.env.stage.targetLayer イベントレイヤならworld_object.env.event.targetLayer 使ってないときはvoidだし変更も保存されないしバグの元にしかならないので直接触ってはいけない targetLayerの前のworld_object.env.stageのレベルでなんとかするのが楽
307 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 03:57:32.50 ID:kRQ1fDOF.net] thx 俺程度じゃわからんわけだ オリジナルの効果を合成とか出来ないかと思ったがおもいっきりバグの元ぽいな
308 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 04:20:07.65 ID:tcX15TRH.net] やり方は色々あるけど結構面倒そうね ・GFX_Movieとか参考にしてGenericFlipの形で追加する ・AffineLayerとかを拡張する形でLayerレベルで機能つけてKAGEnvImage.layerRedrawFunction/commandsあたりから呼び出す ・効果使う部分だけkag.fore.layersのようなKAGの機能を使う ・効果使う部分だけ独自のレイヤを使う
309 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 10:20:40.75 ID:O8rtFe4j.net] (´・ω・`)誰かMP4
310 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 18:04:01.22 ID:zC5rDFs6.net] 効果を使う部分だけを独自レイヤにしようとしてもlevelと言う壁があって任意のレイヤの間に挟みづらいと言う罠
311 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 18:07:43.46 ID:+lMjCGhv.net] どなたか解決策をエスパーお願いします。 KAICHOさん作、アニメーションボタンプラグイン(AnimButtonPlugin.ks)を導入し、TJSに挑戦の右クリックサブルーチンを作りました。 ここまではよかったのですがアニメーションボタンを表示中に右クリックサブルーチンに入り戻ってくるとボタンが消えてしまいます。 ですがanimbuttons_obj.animButtons.countとコンソールにうつとボタンの数は0ではなく先ほど表示されていた数だけあります。 tempsave,temploadを使っていて自分ではその辺のセーブとロード時の挙動が怪しいと思っているのですがさっぱりです。 お願いします。
312 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 19:15:05.69 ID:tDTuJrxb.net] >エスパーお願いします。 声に出して読みたい日本語
313 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 19:32:38.64 ID:8ZsdRJg+.net] あんまり解ってなかったり地力で直せない人が、プラグインを方々から借りてくるのはおススメしない 借りるなら一箇所にそろえた方がいいんじゃない 干渉しあってエラー起こしてそう
314 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 21:08:14.73 ID:rO9osuPR.net] tjsの勉強中なのですが、これでなぜメンバが無いとエラーが起きるのでしょうか? function test() { var test0 = new global.Layer(kag, kag.fore.base); kag.add(test0); with(test0){ .setSize(kag.scWidth,kag.scHeight); .fillRect(0,0,kag.scWidth,kag.scHeight,0xffc0ffc0); .fillRect(0+128,0+128,1280-256,720-256,0xfffffc0c0); .visible=true; } } test(); test0.fillRect(0+256,0+256,1280-512,720-512,0xfffc0c0ff);
315 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 21:11:36.02 ID:tDTuJrxb.net] var test0が関数testの中だけで通用するローカル変数だからちゃうの JavaScriptちゃいまっせ
316 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 21:28:32.16 ID:rO9osuPR.net] なるほどこれだと確かにいけました。 function test() { var test0 = new global.Layer(kag, kag.fore.base); kag.add(test0); with(test0){ .setSize(kag.scWidth,kag.scHeight); .fillRect(0,0,kag.scWidth,kag.scHeight,0xffc0ffc0); .fillRect(0+128,0+128,1280-256,720-256,0xfffffc0c0); .visible=true; } test0.fillRect(0+256,0+256,1280-512,720-512,0xfffc0c0ff); } test(); ちなみに、functionの中で作ったものを外で変更できるようにするにはどうするのでしょうか? 。外で宣言するしかないのでしょうか?
317 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 21:32:12.15 ID:tDTuJrxb.net] functionの中で宣言した時点で使い捨てってことやで 気持ち悪いならclassでも使え
318 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 21:38:35.65 ID:rO9osuPR.net] わかりました クラスを作ってそこでやってみます ありがとうございます
319 名前:名前は開発中のものです。 mailto:sage [2015/08/02(日) 22:35:09.56 ID:+lMjCGhv.net] >>308 吉里吉里にアニメーションボタンプラグインだけを入れて試してみたところダメでした。 プラグインの中身を見るとセーブ・ロードにも対応してるような気がするのですが、セーブ・ロードしてもボタンは消えてしまっています。 バグ報告をしたほうがいいのかもしれませんが、自分の使い方が悪いのかもしれないと思ってしまい躊躇してしまいます。 どなたか同じような症状の方はいらっしゃらないでしょうか?
320 名前:名前は開発中のものです。 mailto:sage [2015/08/03(月) 02:24:30.16 ID:/I+c3JEU.net] >>311 で追加の質問お願いします これは一度表示させた画像はどうやったら消せるのでしょうか? kag.test0.visible=false; やglobal.kag.test0.visible=false; でもダメでした
321 名前:名前は開発中のものです。 mailto:sage [2015/08/03(月) 03:15:18.69 ID:W1SFSvOc.net] kag.add(test0);はkagがinvalidateされた時にtest0も一緒に消されるというだけで kag.test0が生えるわけではないんだぜ。 ローカル変数をその後も使い続けるなら function test() { 〜 return test0; } kag.test0 = test(); とか見える場所に別途保存しておく必要がある
322 名前:名前は開発中のものです。 mailto:sage [2015/08/03(月) 09:06:28.80 ID:yT2rIPNt.net] >>314 中身も晒さずにエスパーしてくださいっていうのがまず自分がおかしいと理解しようよ 吉里吉里のテンプレートデフォルトのままでプラグイン入れて、きちんと指示通りにソース書いて それでも動かないならバグ報告、動いてるなら自分の組み方が悪い 前提のきちんとソースもかけてないならやっぱり自分が悪いになる KAIXHOさんに聞くにしても再度ここで聞くにしても、一通りやった上で中身さらせな
323 名前:名前は開発中のものです。 mailto:sage [2015/08/03(月) 12:23:35.19 ID:WFwz4tMP.net] >>316 少し分かった気がします これまで漠然としか分からなかったreturnの意味なんかがだんだん分かってきました まだvisible=false;は出来てませんので、いろいろ試してみてまた分からなかったら初歩的な質問だと思います よろしくお願いいたします
324 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 14:45:25.41 ID:qb1J7P1e.net] 履歴の保存行数を2万にしてみたんだけど、あれだな、さすがにスキップ処理とか 重くなるねw
325 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 14:49:21.93 ID:MSAPo8BG.net] 1000もあれば十分でしょ そもそも履歴なんか、さっきの分のニュアンスどうだったっけ?的な確認くらいにしか使われないし
326 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 22:09:10.84 ID:Ikj6qQIS.net] そもそも履歴2万行もさかのぼらせるつもりなら、それ用の大幅ロールアップダウンボタンみたいなのも作らないといけないだろ 「俺こんなことも出来るんだよ すげー」は、わかる奴が見たら「無意味なことしてるなこのバカ」としか思わない
327 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 22:40:40.01 ID:qb1J7P1e.net] 他所のゲームで履歴が短いのに不満だったので長くしてみたんだけど 普通のユーザーってあんまり使わないのかなあ。 俺、伏線とかセリフとかをかなり遡って再確認したいときがよくあるので……。 >>321 ロールアップボタンで対応する発想が意味分からないし、そんなもので 誇る君の思考回路も理解できない。 普通にスクロールバーでしょ?
328 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 22:41:26.03 ID:X84MVl5r.net] 2万行スクロールさせるのか(困惑) そんなもので誇る君の思考回路も理解できない。
329 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 22:53:16.06 ID:qb1J7P1e.net] いや、だから誇ってないって。 誇るとかいう思考回路を持ち出したのは君でしょ? スクロールバーでスクロールするのって一瞬だよね。 単に履歴が長ければ使う人には喜んでもらえるかなあと思っただけなんですけど。
330 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 22:55:07.04 ID:X84MVl5r.net] 2万行履歴があって100行戻りたいときスクロールバーじゃ どんだけ微細な操作が要求されるかも想像できないのか(呆れ)
331 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 23:02:26.93 ID:qb1J7P1e.net] >>325 うーん、たとえばさ、このスレって既に2284行あるのね。 君がどのブラウザで閲覧してるか知らないけど、たとえばレス番100番辺りを 見ようと思ったときに、そこまでスクロールする操作ってそんなに苦労するかな? ある程度、スクロールバーのつまみで一気にスクロールして、あとは キー操作なりページアップorダウンなりですぐ見れるよね。 っていうか、なんでそこまで喧嘩腰なのか理解できないよ。
332 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 23:07:37.56 ID:X84MVl5r.net] >>326 そういうので済むのがまさに1000・2000のレベルで、あとはおせっかいだし マジでやるとしたら補助のボタンなりなんなり必要ってことでしょ……
333 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 23:10:39.58 ID:qb1J7P1e.net] >>325 ためしに、テキストエディタに3万行のテキスト貼り付けて ウィンドウの高さを15行くらいにして100行戻る操作をしてみたけど 3秒も掛からないぞw そこまで馬鹿にするなら試してみてよ。
334 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 23:13:12.44 ID:X84MVl5r.net] できるか・できないか じゃなくて、できても嬉しくないし 「あ、スクロールバー行きすぎた」とかのストレス発生する可能性まであるなら ほんと無意味って話
335 名前:名前は開発中のものです。 mailto:sage [2015/08/04(火) 23:25:09.39 ID:qb1J7P1e.net] >>329 そのストレスが発生する可能性は最大1000行の履歴でもあり得るよねえ。 それは単にインターフェイスの設計の問題だよね。 まあ、履歴が増えるにつれてスキップ処理が遅くなるのは分かったから 適正値を自分なりに探りますわ。 お付き合いどうもありがとうございました。
336 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 00:13:46.25 ID:yawFt3M4.net] 2万は本当に間抜けだと思うよ だってまず2万行読むのにどれだけ時間かかると思ってるの? そのあいだゲームし続けるの? 一度タイトルに戻ったりゲーム終了したら、履歴はリセットされるわけで むしろその履歴を残したとして、ゲームを最初から開始したら変な風に履歴に残るわけで まじに間抜けなんだけど なんでもつっこめばユーザーが喜ぶとか、UI設計の基礎から勉強した方がよいよ この時期だからそんなアホなこと言ってるの同人さんだと思うけど
337 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 00:23:37.08 ID:MXc4BKcE.net] >>331 >一度タイトルに戻ったりゲーム終了したら、履歴はリセット ……はぁ? >むしろその履歴を残したとして、ゲームを最初から開始したら変な風に履歴に残る ……はぁ? 普段どういう作り方してるの? 履歴の仕様、見直したほうがいいですよ。
338 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 00:46:46.07 ID:yawFt3M4.net] ま、まさかずっと履歴残したままとか?? 間抜け通り越してダメだこりゃだな タイトル戻ったりゲーム終了したら履歴消すだろ 残す意味がわからんわ
339 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 00:57:48.35 ID:ssYYi2/O.net] 冒頭まで戻れるバックログは、 吉里吉里ベースの商業タイトルにはわりとあるよね
340 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 00:58:43.61 ID:ktTOuFRn.net] ただしスクロールバー1個で戻れとはいわない
341 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 01:02:03.83 ID:MXc4BKcE.net] >>333 ちゃんとタイトル画面で履歴はクリアしてますよw ロードするときは現在の履歴をクリアして、セーブした時点での履歴を読み込んでいるんですわ。 >>331 の言い草だと、あなたのは ・ロードしても履歴は復活しない ・ゲーム途中でロードしたら前の履歴が残ったまま。以降それに追記 ってなとこですか?w
342 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 01:14:37.23 ID:MXc4BKcE.net] >>335 そりゃ普通に作ればボタンも付けるでしょ。 HistoryLayer.tjsに関数あるし。
343 名前:名前は開発中のものです。 mailto:sage [2015/08/05(水) 08:47:37.24 ID:0SAxbh2b.net] 外野2だけどセーブした時点の履歴なんて保存してたら処理が凄い事にならね? それとも最近はそういうのが流行なの? ロード時クリア、タイトルもクリアしてるけど、特にプレイヤーから不満が出たことはないわ