トップページgamedev
1002コメント407KB

■吉里吉里/KAG/TJS雑談質問スレ■その29

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。 転載ダメ2015/06/05(金) 01:50:10.83ID:r78FM0BY
ノベルゲーム製作ツール吉里吉里/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の命令に無いことをしたくなったらまずここを読んでみよう。

必要に応じて>>3-5の公式掲示板や講座等を併用してください。
(併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)

前スレ
■吉里吉里/KAG/TJS雑談質問スレ■その28
http://peace.2ch.net/test/read.cgi/gamedev/1391503520/
0575名前は開発中のものです。2015/10/17(土) 13:52:56.63ID:DDtVa5zh
吉里吉里3はデルデル詐欺でしたね^^;
0576名前は開発中のものです。2015/10/18(日) 17:37:52.26ID:SnN6LPJt
>>574
ありがとう。、あさかbacklayとは夢にも思わなかった。 これ気づかなかったら完璧にハマッてる。

フィードバックと言う事で、一週間しか保たないけどCharacterExを使ったモンタージュ式のサンプル。

ttp://12.gigafile.nu/d60717272e7d216e33b2e68f325bb836b-1025

このスレ専用のアップローダーが欲しいな。
0577名前は開発中のものです。2015/10/19(月) 23:36:10.55ID:NBtlcql8
http://upload.bokunatu.com/krkr/
あるんやで
0578名前は開発中のものです。2015/10/20(火) 20:42:33.16ID:qoRtw9rU
>>577
あったのか(゜Д゜)
とりあえずそっちにもアップしておいたよ
0579名前は開発中のものです。2015/10/22(木) 12:45:36.29ID:fn6+sFBm
今回の仕事は通常の吉里吉里をカスタマイズして提供されてる物なんだけど本当にプログラマーってオナニーする奴多いなとつくづく思った
一見すごい事やってるように見えるけど、その記述にただ表情変えて窓枠を変えて音声鳴らすだけなのに6行とか7行とかダラダラ記述させる。
しかもシステムできっかり作ってるからキャラ移動させるにもまた数行のタグ
スクリプターの俺でももっとマクロ作って簡略化出来るわと突っ込みたい
そのくせ拡縮も出来ないとかアホかと・・・
一度kagexに慣れると、普通の吉里吉里で作る気が起きなくなるのがよく分かる
0580名前は開発中のものです。2015/10/22(木) 12:47:11.88ID:9P5PNxCL
Twitterでやれ
0581名前は開発中のものです。2015/10/22(木) 14:44:33.12ID:vB0i4FXR
書いた行数を功績とする旧態指標ってまだ存在するの?
0582名前は開発中のものです。2015/10/22(木) 21:36:22.30ID:lLUrWdrj
ちょっと前にそう言う仕事あって、キレた事ある
自動で基礎差し込みされた状態で渡されて、作業の大半はその表情替えと小さなマクロの差し込みだったんだが、kb換算されて「仕事してない」と言われてキレた
0583名前は開発中のものです。2015/10/23(金) 02:56:06.87ID:z+wpidDM
長ったらしく書けばいいじゃんそのほうが簡単なんだし
0584名前は開発中のものです。2015/10/23(金) 09:58:40.59ID:Y7EgFLKn
実際に長ったらしく書くと、1mとかそれを管理するのは大変だぞ
マクロなら数行の書き換えで済むところが、全部差し込んでたら全箇所書き換えないといけない
0585名前は開発中のものです。2015/10/23(金) 10:14:13.41ID:ae22FXBY
1メートル?
0586名前は開発中のものです。2015/10/23(金) 12:18:19.04ID:+rqvsSyo
初歩的な質問で申し訳ありません。
例えば、選択肢が4つあったとして、そのうちどれかを選んだら
またループで戻ってきて、さっき選んだ選択肢は消える…
そういうのはどうやって実現すればいいのでしょうか?
0587名前は開発中のものです。2015/10/23(金) 12:39:05.76ID:zykSx8Pl
一つ一つの選択肢をifで包む
飛び先で選んだ選択肢のフラグを建てて、そのフラグが建ったら表示しないようにifを書く
0588名前は開発中のものです。2015/10/23(金) 12:39:33.73ID:ae22FXBY
ふつーにフラグ管理して、次回は表示しなきゃいいでしょ
if〜endifで選択肢を1つずつくくって、フラグが立ってたらそこを飛ばすようにすりゃいい

んで選択肢を選んだらジャンプした先でフラグ立てるだけ
0589名前は開発中のものです。2015/10/23(金) 12:40:03.74ID:ae22FXBY
かぶった
0590名前は開発中のものです。2015/10/23(金) 12:52:59.55ID:+rqvsSyo
ありがとうございます。
ifで囲んでフラグでできたんですが、
例えば選択肢4つあって、3つ選ぶまではループ。
3つ選んだら、次のシナリオへ飛ぶにはどうしたらいいのでしょう?
ifで囲むだけだと、永遠にループしてしまって・・・
0591名前は開発中のものです。2015/10/23(金) 12:57:42.99ID:ZYLx0pei
a.b.cに変数つけてf.aとf.bとf.cが全部==1なら
ジャンプターゲットすりゃいいだけじゃね
書き方は公式のTJSをもっと使うためになんかを読もう
0592名前は開発中のものです。2015/10/23(金) 13:05:14.12ID:z+wpidDM
;// runonloadあたりに
*label1
[iscript]
tf.sentakusi_count=0;
tf.sentakusi=new Array();
[endscript]

[macro name="sentakusi"]
[if exp="tf.sentakusi[tf.sentakusi_count]==0"]
[link target="&tf.sentakusi_label" exp="&'tf.sentakusi['+tf.sentakusi_count+++']++'"]mp.text[endlink]
[endif]
[endmacro]

;//実装
*sentakusi
[eval exp="tf.sentakusi_count=0;"]
[eval exp="tf.sentakusi_label='*sentakusi'"]
[sentakusi text="右上"]
[sentakusi text="左上"]
[sentakusi text="中央"]

イメージで適当にoutputしてみたけどなんか無駄が多い感じするんだよなぁ
こんな感じでいいのだろうか(動作確認してないから細かいところは違ってるかもしれないけど)
0593名前は開発中のものです。2015/10/23(金) 13:09:33.89ID:z+wpidDM
あ、これ選択肢無くなったら固まるやつだ/(^o^)\ あかん
>>590
フラグ加算して合計値見るか、全部のフラグ舐めていけばいいんじゃない
0594名前は開発中のものです。2015/10/23(金) 14:35:41.90ID:+rqvsSyo
ありがとうございます。選択肢数と選択肢それぞれのフラグを作って
選択肢数に加算していくことで実現できました。アドバイスありがとうございますm(_ _)m
0595名前は開発中のものです。2015/10/23(金) 14:56:24.26ID:zykSx8Pl
使い終わったカウンター用のフラグは、f.フラグ=0とかして一応リセットしておかないと次に使う時にバグの元だから注意
だいたい初心者はそれでハマる
0596名前は開発中のものです。2015/10/23(金) 16:41:12.49ID:vuW86rWU
>>592それ初心者には意味不明だよ^^;
俺も時々お世話になってるから一応お返し
今kagexだから、linkタグは使えないから動作試して無いけどこれで動くはず

[call target=*reset_flag]

*start_link

[if exp="f.カウンター>=3"]
[jump target=*select_end]
[endif]
[eval exp="++f.カウンター"]
[cm]
[if exp="!f.選択肢1"]
[link target=*select1]選択肢1[endlink][r]
[endif]
[if exp="!f.選択肢2"]
[link target=*select2]選択肢2[endlink][r]
[endif]
[if exp="!f.選択肢3"]
[link target=*select3]選択肢3[endlink][r]
[endif]
[if exp="!f.選択肢4"]
[link target=*select4]選択肢4[endlink][r]
[endif]
[select]
[s]
0597名前は開発中のものです。2015/10/23(金) 16:42:36.66ID:vuW86rWU
*select1
[cm]
選択肢1が選択されました。[l]
[eval exp="f.選択肢1=true"]
[jump target=*start_link]
[s]

*select2
[cm]
選択肢2が選択されました。[l]
[eval exp="f.選択肢2=true"]
[jump target=*start_link]
[s]

*select3
[cm]
選択肢3が選択されました。[l]
[eval exp="f.選択肢3=true"]
[jump target=*start_link]
[s]

*select4
[cm]
選択肢4が選択されました。[l]
[eval exp="f.選択肢4=true"]
[jump target=*start_link]
[s]
0598名前は開発中のものです。2015/10/23(金) 16:43:04.24ID:vuW86rWU
*select_end
[call target=*reset_flag]
以降、ゲーム続きます。[l]

[s]


*reset_flag
;一応初期化
[eval exp="f.選択肢1 = false"]
[eval exp="f.選択肢2 = false"]
[eval exp="f.選択肢3 = false"]
[eval exp="f.選択肢4 = false"]
[eval exp="f.カウンター = 0"]
[return]
0599名前は開発中のものです。2015/10/23(金) 16:58:02.34ID:vuW86rWU
一応説明
最初と3回選択した後にフラグを消すためにcallでフラグをリセットしている。 なので*reset_flag〜[return]の間は、本編からは読まれない後ろの位置にくっつける(慣れたらmacroやstorageで呼び出すとなお良し)
++と言うのは、カウントをプラス1すると言う命令 選択肢に戻った時に3回通過したかどうか判定して、3回以上なら選択肢の流れから脱出
f.カウンター>=3と3以上と言う形にしてるのは、万が一の保険と思えば良い(なんらかのバグや不具合で4以上になってもとりあえず判定させるため)
!f.選択肢1は、”!”が(not)否定を意味するので、f.選択肢1にフラグが立っていない状態(false)の時は表示すると言う事
0600名前は開発中のものです。2015/10/23(金) 18:59:03.05ID:+rqvsSyo
前景レイヤをメッセージレイヤより上に表示する方法ってあるんでしょうか?


>>595
次に使うときというのは、その次のファイルを使ってゲームを作るときということですか?
0601名前は開発中のものです。2015/10/23(金) 19:04:50.70ID:ae22FXBY
>>600
そういう作りの場合、同じゲーム内でも何回も同じところ通過するケースあるやん
そうするとおかしなことになる

「A洞窟の入り口」で選択肢4つ表示、各通路に行って戻ってくるたびに選択肢が消える
→シナリオの終盤でまたA洞窟にやってくる

とかなった瞬間に破綻するから、初心者のうちは「もう一度来てもいいように」0にリセットする
クセをつけとくといいみたいな話
0602名前は開発中のものです。2015/10/23(金) 19:19:31.97ID:+rqvsSyo
すいません、>>600の前景レイヤ自己解決しました。
0603名前は開発中のものです。2015/10/23(金) 20:58:43.58ID:tlt1k1G9
選択肢のカウンターみたいなのは別の選択肢でも同じようにコピペで作る事が多いからね
最初のころは使い捨てにすると思ったフラグも使い終わったらリセットしておくクセをつけておいて損は無い
0604名前は開発中のものです。2015/10/25(日) 08:54:41.67ID:EKkHkRrh
まぁ初心者はどこからでも呼ばれるようなシステム自体組めないから問題ないんじゃないか?
0605名前は開発中のものです。2015/10/25(日) 09:02:21.92ID:EVw0LKfI
さすがにjumpとtargetくらいはわかるだろう。
0606名前は開発中のものです。2015/10/26(月) 14:07:18.91ID:8xlZiK8C
吉里吉里初心者のころ、いきなりメインフレーム方式でどこからでも呼び出せるシステムを作った俺
まぁコンシューマで作ってたから出来たんだけどな
0607名前は開発中のものです。2015/10/28(水) 21:40:50.82ID:rWO9+sdQ
色々検索してみたのですが、どうしても分からないので
知っていたら教えて頂きたいのですが、han2zenをTJSから直接呼ぶ方法は
ありますでしょうか?
0608名前は開発中のものです。2015/10/28(水) 21:43:53.25ID:OYjJvW10
逆ゥー
han2zenはTJSで、embとかはKAGの中にTJSを埋め込んでるだけ
そのまま書けば呼び出せる

もし既存の吉里吉里を全く放棄して1から書いてるなら
Utils.tjsを読み込んでおけ
06096082015/10/28(水) 22:24:51.27ID:rWO9+sdQ
ご回答ありがとう御座います。
試してみましたが、やはりダメでした。

kag.addPluginで追加した、プラグインのfunctionの中で使いたいのですが
Utils.tjsにアクセスする方法はありますでしょうか?
0610名前は開発中のものです。2015/10/29(木) 14:54:37.80ID:zzKLI1oS
( ^ω^)・・・?
よくわかんねーけど どういうエラー出てんの?バージョンは?
0611名前は開発中のものです。2015/10/29(木) 17:03:37.97ID:ERKVSFyX
質問です。
吉里吉里Zでshift-jisのままでパッケージング出来ると聞いたのですが可能なのでしょうか?
コマンドラインでやる方法は調べて分かったのですが・・・・・・
utf-8への変換はともかく、正規表現等がいろいろ使い慣れたshift-jisと違うので困ってます。
0612名前は開発中のものです。2015/10/29(木) 21:13:14.26ID:V83ZJOwr
>>611
正規表現は鬼車エンジンを使ってるから仕様が違うのであって、エンコードは全く関係ないと思うが?

ShiftJISをデフォにしたい場合、自分で吉里吉里Zをコンパイルできる環境があるなら
「TVP_TEXT_READ_ANSI_MBCS」マクロを定義してコンパイルするか、
optionarea.txtに「readencoding=Shift_JIS」の行を追加してコンパイルする

コンパイルできないなら、既存のexeファイルをResourceHackerとかで
リソースを編集してTEXT/139(:1041)に「readencoding=Shift_JIS」の行を追加する
0613名前は開発中のものです。2015/10/29(木) 21:26:46.06ID:qAwNJ4Tw
fadepausebgmの後にresumebgm使ってもBGMが再開されないんですが、なぜでしょうか…
0614名前は開発中のものです。2015/10/29(木) 22:59:38.64ID:4ADLrTUr
>>613
resumebgmの代わりにfadeinbgmではダメ?
0615名前は開発中のものです。2015/10/29(木) 23:03:02.47ID:qAwNJ4Tw
fadeinbgmだと一時停止したところから再開できないのではないでしょうか?
最悪それでもいいのですが…
0616名前は開発中のものです。2015/10/30(金) 00:06:06.93ID:NI8wQPmu
resumebgmなんてタグあったのか
昔自力で再生箇所の記録と再生するようにしたのに・・・
0617名前は開発中のものです。2015/10/30(金) 00:38:31.02ID:SLObr4Gk
Config.tjsのBGM再生メディアを"Wave"に指定してある?

midiやcddaにはpausebgm,fadepausebgm,resumebgmタグは使えないみたい
0618名前は開発中のものです。2015/10/30(金) 10:02:05.14ID:GMtfQmDq
>>612
やっぱりコンパイル前提なんですね
そっちは知識無いから難しいな
ありがとうございます
0619名前は開発中のものです。2015/10/30(金) 11:21:59.11ID:9lsYTi6O
kagexだと、pad関係でMainWindowsでエラー吐きだすからそもそもzは使えない
0620名前は開発中のものです。2015/10/30(金) 13:44:12.07ID:PM9hvIPH
すみません、ごった煮配布所様の「選択肢プラグイン」を使用しているのですが、
わからないことが有りまして、ごった煮様の方では返信は期待しないでとのことでしたので
コチラで質問させてください。


同じくごった煮配布所様の「システムボタンプラグイン」も併用して、常時メッセージレイヤにセーブロード等が可能なようにしてあるのですが、
「選択肢プラグイン」で選択肢を表示中にシステムボタンのセーブヤロードをクリックすると、
セーブやロード画面に飛んだ後もシステムボタンが表示されたままになってしまいます。

これを非表示、もしくはセーブロード画面を最前面に持ってきて、選択肢を一時的にクリックできないようにするにはどうしたらいいのでしょうか?
自分なりに試してみたことは、まず選択肢に入ったら選択肢中のフラグを立て、
システムボタンの方でifで囲み、選択肢中なら非表示にしようかと思ったのですが、
「選択肢プラグイン」の説明を読んだところ、非表示にする機能がないようで、行き詰まってしまいました…。

どうすれば選択肢中にセーブロード画面に行った時に、選択肢を非表示もしくは選択不能にすることができるでしょうか?
よろしくお願いしますm(_ _)m
0621名前は開発中のものです。2015/10/30(金) 13:49:48.61ID:+ZsQVrkr
makuro.ks

[macro name="体力の処理"]
[if exp=mp.a]
[eval exp="f.体力 = f.体力 + &mp.suuti"]
;[eval exp="f.体力 = 100" cond=f.体力 >= 100]
[font color=0xffbf00] 体力[font color="default"] [font color=0x00bfff]を[font color=0x00ff00] 回復[font color=0x00bfff]した。[font color="default"][l]
[else]
[eval exp="f.体力 = f.体力 - mp.suuti"]
[eval exp="f.体力 = 0" cond=f.体力<0]
[font color=0xffbf00] 体力[font color="default"] [font color=0xff0000]が[font color=0x00ff00] [emb exp="mp.suuti"][font color=0xff0000]下がった。[font color="default"][l]
[endif]

[endmacro]




first.ks
[体力の処理 a=1 suuti=55]


体力を55だけ回復させたいのですが、2000とか1800とかおかしな数値まで回復してしまうのをなんとかしたいです。
よろしくお願いします。
0622名前は開発中のものです。2015/10/30(金) 14:14:55.31ID:+ZsQVrkr
事故解決しました
0623名前は開発中のものです。2015/10/30(金) 15:42:21.72ID:fyhk6f5T
すみません。プレイヤーに入力させるinputボックスについての質問をさせてください。

プレイヤーに名前を入力させるために[input name="" prompt="" title=""]を使ったテキストボックスを使用しているのですが、
出てくるアラートボックスがゲームウィンドウの中央にこなく
、ディスプレイの中央に来てしまいます。
どのようなタグを入力すればゲームウィンドウの中央にくるでしょうか。

また、プレイヤーが入力した名前のところをだけをカラー変更を行いたい場合どのようなタグを追加すればいいでしょうか。
0624名前は開発中のものです。2015/10/31(土) 20:25:46.14ID:pX/JIZqW
選択肢によって好感度+1とかしてるんだけど、
タイトルに戻っても変数リセットされないから、そのまま新しいゲーム始めると
どんどん好感度溜まっていっちゃうから、
タイトルに戻るたびに全好感度リセットしてるんだけど、これで大丈夫だよね・・・?
0625名前は開発中のものです。2015/10/31(土) 20:30:12.18ID:gY2Co7UW
セーブからはじめて支障でる?
0626名前は開発中のものです。2015/10/31(土) 21:45:36.07ID:pX/JIZqW
俺のこと?
0627名前は開発中のものです。2015/10/31(土) 21:46:25.55ID:PMDOC5iH
好感度の話した後に「俺のこと?」とかアッー!な展開でも待っているのかと
0628名前は開発中のものです。2015/11/01(日) 00:03:24.41ID:K8U6mQyM
なんか、前景レイヤの立ち絵がうまく表示されない
最初に、layer=1にてmoveタグを使いキャラA表示、その後非表示(opasity=0)にして、
その後layer=1 page=backにしてtransしてキャラB表示したいんだが、何故か表示されないんだ…
なんでだろう?レイヤー情報って一度リセットしなきゃとかあるのかな?
0629名前は開発中のものです。2015/11/01(日) 00:12:58.00ID:K8U6mQyM
すまん、最初をtransタグにして2回めもtransタグにしたら表示された。
でも、1回めmoveタグでopasity=0にして、2回めは裏画面にvisible=trueでトランスしてもだめなんだな・・・
opasityとtrans併用するならopasity=255にしてからトランスすりゃよかったのか
0630名前は開発中のものです。2015/11/01(日) 07:21:07.89ID:NfyHXSQH
>>626
そう。気になって
0631名前は開発中のものです。2015/11/01(日) 10:47:54.27ID:d2F3VdQW
吉里吉里で使えるExceptionの種類を調べたいのですが その辺について書かれているページ知りませんか。
0632名前は開発中のものです。2015/11/03(火) 13:02:41.82ID:5Hjah1rh
「使えるException」ってなんだろ。eTJSError()かな?
吉里吉里からの例外メッセージ一覧ならソースコードの kirikiri2/src/core/msg/MsgIntf.h にあるよ。
あとsystem/*.tjsとかを"Exception"で検索。
0633名前は開発中のものです。2015/11/04(水) 17:16:15.69ID:hVGKu78F
ConductorException と Exceptionしか見つけられなかった(´・ω・`)ランタイムや不正値のexception無いのかな
0634名前は開発中のものです。2015/11/04(水) 19:09:03.10ID:cEEYs1gq
>>633
TJSレベルの話ならまず ttp://devdoc.kikyou.info/tvp/docs/tjs2doc/contents/try.html の知識が前提で
catch(e) ブロックで e instanceof "ConductorException" とか e.message とかで内容判別して対応するのが妥当かね
結局何がやりたいのかわからんとアドバイスしようがない
0635名前は開発中のものです。2015/11/10(火) 17:29:53.94ID:4m5FhgSv
ごった煮さんのどこでもセーブスクリプトがよくわからない

[np]を増やしても減らしてもダメなのは分かったけど、
[np]が置いてある行も、[np]が置いてある行頭からの文字数も変えてはならないの?
0636名前は開発中のものです。2015/11/10(火) 20:53:15.81ID:D8Vn8zVP
>>635
そうだよ。
マクロはマクロ展開後も含めてその行が変わると[return]で[call]元に返れなくなるから。
だから、互換性を気にするなら、どこでもセーブを使うんじゃなくて、ラベルを真面目に置いた方がいいよ。
0637名前は開発中のものです。2015/11/16(月) 12:31:43.94ID:z6urV9Nj
krkrz20151108.7z(Array/Dictionary.loadStruct対応)
吉里吉里Z / スナップショット
http://krkrz.github.io/shapshot.html
0638名前は開発中のものです。2015/11/16(月) 17:45:24.02ID:+eZ4sE9E
対応したのバイナリモードだけかよ…意味ねぇ!
0639名前は開発中のものです。2015/11/16(月) 17:53:48.16ID:4W+1wHDI
さあ>>638もコードを書いて貢献しよう
0640名前は開発中のものです。2015/11/17(火) 19:38:25.49ID:DPpeXsxR
例の脆弱性対策なら、別にloadStructとか使わないでも
データの冒頭に(const)があるかどうかチェックするだけで十分対策になると思うよ

function myEvalStorage(storage, *) {
/**/try {
/**//**/var chk = [].load(storage, *);
/**//**/if (((string)chk[0]).indexOf("(const)") == 0) return Scripts.evalStorage(storage, *);
/**/} catch {}
//〜読み込みエラーの時の処理〜
}
みたいな。
まあセーブデータから引き揚げた文字列を内部でevalするような箇所には別途チェックがいるけどね
こんなん脆弱性云々言ってたらAfterInit2.tjsとか-ovrオプションとか他にも問題が山ほどあるわ
0641名前は開発中のものです。2015/11/17(火) 20:18:56.74ID:Oovh9X1G
それで対策できる相手なら別に現状のままでいいと思う
0642名前は開発中のものです。2015/11/17(火) 20:30:29.36ID:pgwp3GGN
image storage="背景A" layer=base page=fore
image storage="背景B" layer=base page=back
をトランジションした時、背景Bが表画面に表示された後背景Aはどこにあるの?

もう一度背景Bから背景Aにトランジションするとしたら背景Aを裏画面に再度読み込んだらいいの?
0643名前は開発中のものです。2015/11/17(火) 20:52:33.99ID:PdZs7SE1
普通に裏にあるしロードしなくても大丈夫だけど、バグを避けるには常にロードする形で揃えるのが無難
0644名前は開発中のものです。2015/11/17(火) 20:57:26.37ID:pgwp3GGN
>>643
ありがとう(^人^)
0645名前は開発中のものです。2015/11/18(水) 05:34:25.21ID:rVY8076Z
(const)チェックだけなら
(const)[0],System.shellExecute("Notepad.exe")
とかで簡単に無力化できるから、わかった瞬間に無意味になる。
0646名前は開発中のものです。2015/11/19(木) 15:13:29.84ID:m3dWheRc
質問と言うか、お手上げでアドバイスお願いしたいのですが、
KAZGEXを吉里吉里Z化しようとしたら、『メンバ"console"が見つかりません』と言うエラーで起動しませんでした。
それで、consoleをgrepかけて該当箇所を、何をやっているか漠然としか分からない状態でコメントアウトで潰してみたら、
今度は『access Violation:スレッドが適切なアクセス権を持たない仮想アドレスに対して、読み取りまたは書き込みを試みました。』と出て起動しませんでした。
kagexはプレーンの状態で、起動する事までは確認しています。
何をやっているか漠然と分かるレベルで多少tjsも扱えるレベルなのですが、これはどう処理すれば良いでしょうか?

ttp://12.gigafile.nu/h125737059dbd44e0f5951f55db94c64d-1126

吉里吉里Z化に伴いコメントアウトした部分は//■で分かるように印をつけてあります。
ご助言お願い致します。m(__)m
0647名前は開発中のものです。2015/11/19(木) 15:14:52.52ID:/qp0dm17
>>645
おぉ、そんな技があるんだな。勉強になった
あとはセーブデータにチェックサムとか署名みたいなのをつけるようにして
改変データだったら弾くような仕組みを入れるとかかなぁ、気休めだとは思うけど。
まぁどこぞの怪しいセーブデータを持ってくるやつが悪いで片付く話ではある
0648名前は開発中のものです。2015/11/19(木) 15:28:59.81ID:/qp0dm17
>>646
ttp://www.geocities.co.jp/keep_creating/DojinDOC/Migration_to_KRKRZ.html
を見て勉強するとか
ttps://github.com/krkrz/krkrz/tree/master/script/Krkr2Compat
を導入するとか
○ムソフトのゲーム(plugin/k2compat.dllがあるかで判断する)をバラして研究する(お勧めはしない)
とかかな。特にどうしてもという理由がないのであれば吉里吉里Zに無理に移行する必要はないと思うが
0649名前は開発中のものです。2015/11/19(木) 15:40:05.32ID:m3dWheRc
>>648
勝手に移行ガイドは読みました。
それで、通常のkagkらの移行は問題なかったです。
それで、拡縮とか立ち絵とか使い勝手の良いkagexに載せ替えようとしたらエラーが出ました。
コンソールが削除されたからそのせいでエラーが出てるのはわかるのですが、さすがにmainwindowsはお手上げ状態でした。
0650名前は開発中のものです。2015/11/19(木) 19:13:06.06ID:4Tz0bRGQ
http://cdn-ak.f.st-hatena.com/images/fotolife/t/tsubaki_t1/20150208/20150208120925.gif
こんな感じのスライダーを吉里吉里で作りたいんですけど 良いプラグインありませんかね
ごった煮さんの所だとベースよりもタブの方がでかいと画像が切れちゃうのと、↑gifの白い部分がなくて・・・
0651名前は開発中のものです。2015/11/20(金) 16:05:22.62ID:bK9wZ9eq
便乗質問

吉里吉里だと
var filename;
kag.menu.add(this.filemenu = new KAGMenuItem(this, "ファイル(&F)", 0, "", false));

これでメニューの追記が出来るんだけど、Zだとwindowクラスのオブジェクトを指定しろって言われちゃったんだけど、
menueが削除されたせいで出た弊害?
どうすれば、menue.tjsの外で記述出来るの?
0652名前は開発中のものです。2015/11/20(金) 16:41:56.09ID:iSmQBmHd
>>651
kag.menu.add(this.filemenu = new KAGMenuItem(kag, "ファイル(&F)", 0, "", false));
かな。
吉里吉里2のMenuItemのコンストラクタMenuItem(window, caption='')のwindowは
無視されているけど、吉里吉里ZのプラグインはきちんとWindowクラスを指定する
ドキュメント通りの仕様になってる。
0653名前は開発中のものです。2015/11/20(金) 17:20:00.33ID:xFTN0nN0
>>652
ありがとう、うまく行けた!
actionも最初動かなかったけど

function kag.action(ev)

kag.を頭につけたらうまく稼働出来た^^

>>646
kagexをZ化は敷居が高いから、普通にkagexでよくない?
Z化のメリットって今のところプログラマー以外でメリットって無いんじゃ?
OS依存の全画面化のバグが解消されてるって事くらいだっけ?
0654名前は開発中のものです。2015/11/20(金) 17:38:18.28ID:xFTN0nN0
kag.actionでうごくはず無かったOtz 整理してこんな感じで、actionでダイアログを開こうとしたんだけど、無反応だった。
適当にfunction作ってそっちを指定した方が安全かな?
下の奴はざっと組んだので構文ミスはあるかも知れないけどだいたいこんな感じで、通常の吉里吉里では動いてた。

class Test{
var filemenu;
var openmenu;
function Test(){
kag.menu.add(this.filemenu = new KAGMenuItem(kag, "ファイル(&F)", 0, "", false));
filemenu.add(openmenu = new MenuItem(kag, "開く(&O)"));}
function action(ev){
if(kag.ev.type == "onClick"){
if (kag.ev.target == openmenu){
var filename = openDialog();
}
}
}
function finalize(){}
}
var test = new Test();
0655名前は開発中のものです。2015/11/20(金) 18:12:18.75ID:ecLDvGJY
吉里吉里3はデルデル詐欺でしたね^^;
0656名前は開発中のものです。2015/11/20(金) 19:56:30.42ID:QnjDFZyf
class Test extends Window {
var filemenu, openmenu;
function Test(){
super.Window();
menu.add(this.filemenu = new MenuItem(this, "ファイル(&F)"));
filemenu.add(openmenu = new MenuItem(this, "開く(&O)"));
setInnerSize(320,200);
visible = true;
}
function action(ev){
if(ev.type == "onClick"){
if (ev.target == openmenu){
var filename = openDialog();
if (filename != "") System.inform(filename);
}
}
}
function finalize(){}
function openDialog() {
var elm = %[ filter:["*.*|*.*"] ];
if (Storages.selectFile(elm)) {
return elm.name;
}
}
}
@if (kirikiriz)
Plugins.link("menu.dll");
@endif
var test = new Test();
普通に動くぞ?
0657名前は開発中のものです。2015/11/21(土) 05:08:43.69ID:iMh22HPh
>>650
何卒・・・
0658名前は開発中のものです。2015/11/21(土) 09:54:14.07ID:LsmXy61U
このスレは○○のプラグイン便利だよ 的なのに詳しい人あんまいないぞ

○○のプラグインを作りたいんですがここまで書けたもののここで詰まっています……
みたいのならヒントあげられる人いそうだけど
0659名前は開発中のものです。2015/11/21(土) 11:38:33.99ID:3m+X2F4C
スライダーは本家添付の改造してるんでどこがいいとかないんだよな
あと白い所の反映やるなら自分で組むしかなさげ
そういうプラグインはこれまでの所見た記憶がない
0660名前は開発中のものです。2015/11/21(土) 16:40:53.17ID:yH8RFmhO
>>658-659
既存の改造するしかないか…

結構大変かな(´・ω・`)
0661名前は開発中のものです。2015/11/21(土) 16:51:36.21ID:3m+X2F4C
>>660
ごった煮さんのは見てないんで知らないけどごった煮さんのでできるんじゃないのかねえ
はみ出しちゃうってのも使い方間違ってるだけのような気がする
白いのがどうしても必要なら改造頑張れ
だがプレイヤーはそんな所一切みてないし記憶にも残らないんで無駄だと思うよと忠告はしておく
0662名前は開発中のものです。2015/11/21(土) 19:58:12.76ID:oph1PLVj
自分で作るとしたら
・ベース透明のスライダーを作る
・スライダーの下に別途バー相当部分のレイヤを作る(2レイヤ)
・スライダーの移動に合わせてバーの部分のレイヤの長さや位置を調節する
とかかなあ。単純な塗りつぶしならfillRect使う方が楽だけど。
あるいは[■■■■■■□□□□□□]みたいな横に長い画像つくっといて
imageLeftでちょうどスライダーのタブ位置に中央の境目を合わせる手もあるかな
0663名前は開発中のものです。2015/11/22(日) 00:30:47.39ID:3un2AE4b
>>656
別窓だと開くんだけど、なぜ通常の窓に組み込もうとすると開かないんだろう?

class Test {
var filemenu, openmenu;

function Test(){
kag.menu.add(this.filemenu = new MenuItem(kag, "ファイル(&F)"));
filemenu.add(openmenu = new MenuItem(kag, "開く(&O)"));
}
function action(ev){
if(kag.ev.type == "onClick"){
if (kag.ev.target == openmenu){
var filename = openDialog();
if (filename != "") System.inform(filename);
}
}
}
function finalize(){}
function openDialog() {
var elm = %[ filter:["*.*|*.*"] ];
if (Storages.selectFile(elm)) {
return elm.name;
}
}
}
@if (kirikiriz)
Plugins.link("menu.dll");
@endif
var test = new Test();
0664名前は開発中のものです。2015/11/22(日) 11:32:07.63ID:b54QOdvB
>>661
プレイヤー云々なんて二の次で、自分の作りたいものを作ることこそが楽しいんじゃないか
0665名前は開発中のものです。2015/11/22(日) 12:02:22.11ID:x3ULCRn/
>>646も出来たらお願いします。
kagexのZはネット上には無いので、完成したらアップロードサイトにアップして共有したいので、
0666名前は開発中のものです。2015/11/23(月) 00:28:52.98ID:FKdVKw5m
ttp://kikyou.info/
落ちてない?
0667名前は開発中のものです。2015/11/23(月) 00:29:46.38ID:1cqZD+YY
かも
でぃーたんの家の回線の調子がおかしいんじゃね
0668名前は開発中のものです。2015/11/23(月) 08:13:49.73ID:ow98uSLB
レベルたけぇ質問ばっかで震える
0669名前は開発中のものです。2015/11/24(火) 03:51:29.18ID:hgj2NGKB
>>663
そりゃkagの方のactionが呼ばれてるからそのコードだと動かないね。
なんでaction使ってるのか謎だったんだけど、そんなことしないで素直に
KAGMenuItemのコンストラクタのcommand引数でメニューが選ばれたときの関数
(もしくは評価する文字列)を渡すとかして対応するのが妥当だと思う。

function onOpenMenuClicked() { ... } みたいな関数を作っておいて
openmenu = new KAGMenuItem(kag, "開く(&O)", 0, onOpenMenuClicked, false);
みたいな。
KAGMenuItemじゃなくて普通のMenuItem使う場合ならonClickメソッドをオーバーライドして対応
0670名前は開発中のものです。2015/11/24(火) 10:43:26.71ID:id33rrD0
actionがなぜ動かないか試行錯誤してるんだけど、
で、これで吉里吉里だと動くけど、
function Test(){
kag.menu.add(this.filemenu = new KAGMenuItem(kag, "ファイル(&F)",0, "", false));
filemenu.add(openmenu = new MenuItem(kag, "開く(&O)"));
}

function action(ev){
if(ev.type == "onClick"){
if (ev.target == openmenu){
var filename = openDialog();
if (filename != ""){
System.inform(filename);
}
}
}
}

Zだと動かず
filemenu.add(this.openmenu = new MenuItem(kag, "開く(&O)"));
とするととりあえずエラーはでなくなるけど、ダイアログは開けない。

なぜこんな事が起きるのか良くわからないの。
actionはoverrideに置くしかないのかな?
0671名前は開発中のものです。2015/11/24(火) 12:10:21.18ID:Vp71HMCT
書くの忘れてた
現状はこれで対処してる
filemenu.add(openmenu = new KAGMenuItem(kag, "開く(&O)",0,function{Test.openDialog();}, false));

ただ、actionがどうしてもうまく機能しないからずっとうーんと唸ってるの
普通の吉里吉里なら出来るのにZだと動かないとなると、同じような問題がほかにもあるんじゃないかと思ってしまうから
0672名前は開発中のものです。2015/11/24(火) 16:12:58.78ID:hgj2NGKB
>>652が言ってる通り、MenuItemのコンストラクタにWindow以外のオブジェクト(この場合Testクラス)を指定して
そっちのactionを呼ばせるのは仕様外動作でむしろ指定できてしまう吉里吉里2のバグってことだろ
そんなコードを書く方が悪いし吉里吉里Zで動かないといわれてもそりゃ仕方ないよ
Zは最初からMenuはobsolete扱いで、どうしても必要な人のためにプラグインで分離して用意されてるので
完全に同じ動作を望むのは諦めた方がいい。同じような問題はまだ他にもあると思うので重箱の隅つついてる暇があるなら
現物合わせで動くように調整したほうがいい。それが嫌なら無理にZに乗り換えなくてもいいんじゃないかね。
0673名前は開発中のものです。2015/11/25(水) 19:28:59.99ID:OUH5R+U2
吉里吉里の方が仕様外の事してるって事なんだね
いろいろやってみたけどやっぱりダメだったから、actionを突っつくのはここまでにするよ
お返事ありがとうね
0674名前は開発中のものです。2015/11/28(土) 20:36:48.93ID:bHhz2cbq
dataフォルダとxp3アーカイブとを混在させることって出来ないんでしょうか。
シナリオはdata.xp3にして、画像はアーカイブにしないで配布というようなことをしようと思ったていたんですが、試してみたら出来ないっぽいんで、なにか上手い手はないものでしょうか。
■ このスレッドは過去ログ倉庫に格納されています