トップページgamedev
1001コメント375KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2010/01/31(日) 19:31:16ID:znLbECSK
ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。
マルチポストはやめましょう。個人叩きも禁止です。

※スレで質問をするときは※
KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、
FAQ、Google等で調べてからにしましょう。
努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ!

前スレ:■吉里吉里/KAG/TJS雑談質問スレ■その18
http://pc11.2ch.net/test/read.cgi/gamedev/1244218314/


吉里吉里2/KAG3雑談質問スレ_過去ログ
ttp://www.geocities.jp/kirikiri_log/

吉里吉里ダウンロードページ
ttp://kikyou.info/tvp/

ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は
初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。
■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。
大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。
■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる
数々のTipsが記載されています。

必要に応じて>>3-5の公式掲示板や講座等を併用してください。
(併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)
0301名前は開発中のものです。2010/02/24(水) 12:29:17ID:G11gfdX0
こんな場所で自ら上の人間と称してる奴は煽り専門な気がする
0302名前は開発中のものです。2010/02/24(水) 12:40:29ID:GMHnBqgE
自称してるやつもそうだけど、自らを上だと思ってるやつも煽り専門だろう。
>>295とか見てごらんよ。
「お前達回答者は自分たちが上にいる人間だと思い込みたいようだけど、
ちゃんちゃらおかしいです、あらあらボクちゃん、イラッとしちゃったの?」
という、回答者よりもさらに上からの目線が透けて見える。
0303名前は開発中のものです。2010/02/24(水) 12:43:02ID:VO0VG117
それは上からどうこうじゃなくてただの釣りという
釣果はなかなかのようだが……
0304名前は開発中のものです。2010/02/24(水) 14:19:52ID:9gZLZfi4
krkrの話をしようず
0305名前は開発中のものです。2010/02/24(水) 16:25:44ID:RNRord60
んじゃ、お勧めのマクロの作り方とか語ろうぜ

たとえば俺は、[キャラ="キャラ名" 立ち絵="1" 位置="1"]って感じのマクロ作ってる
キャラ名と立ち絵番号で立ち絵が決まって、位置に表示って感じかな。
0306名前は開発中のものです。2010/02/24(水) 16:27:16ID:VO0VG117
まあこれぞマクロって感じの基本だな
0307名前は開発中のものです。2010/02/24(水) 16:28:11ID:H+bPoUjv
>>305
ジュークボックスみたいな感じで音楽を管理

[pbgm no="1"]

マクロ側で、Noに応じて曲を割り振ってる
一覧にしとくとすごい楽
後で変えようと思ったときもマクロ側の対応ナンバーを違う曲に変えればいいだけだし
0308名前は開発中のものです。2010/02/24(水) 16:33:19ID:9gZLZfi4
いちばんよく使われてるマクロって、やっぱリファレンスに載ってるボイス再生かな
0309名前は開発中のものです。2010/02/24(水) 16:42:47ID:GkNy80xP
>>307
お、いいなそれ

[マクロ名 立ち絵=キャラ名 差分=1 位置=1]
って感じで俺はやってる
キャラクターごとに差分のpimageを書いて
キャラ名で判定して呼び出してるんだがpimageが何行にも連なってすっきりしない
差分画像のサイズとか座標を全部立ち絵サイズにして作ればいいんだろうか・・・
0310名前は開発中のものです。2010/02/24(水) 16:44:56ID:VO0VG117
今のPC性能と余白部分が圧縮されることを考えれば
立ち絵サイズもしくは全画面サイズで全部作るほうが
ラクだしいいだろ
0311名前は開発中のものです。2010/02/24(水) 17:41:11ID:UjbdYNqH
>>310
展開時のサイズがでかくなるので沢山あるとスキップとかすると差がわかったりする場合がなきにしもあらず

>>309
吉里吉里は png の oFFs チャンクに対応しているので、トリミング情報を画像側に埋めることができる

AnimationLayer.tjs の loadPartialImage() の

var dx = +elm.dx;
var dy = +elm.dy;

の部分を

var dx = elm.dx !== void ? +elm.dx : +elm.offs_x;
var dy = elm.dy !== void ? +elm.dy : +elm.offs_y;

こう変えて(ロード時に画像のタグは elm に展開されるのでこれで情報が拾える)、

画像で差分を切り抜くときに、まず合成先の全サイズでつくって、ImageMagick とかの oFFs に対応した
ソフトでトリミング&PNG変換処理してそれを使うようにすれば、pimage で dx / dy の指定無しで目的の
位置に合成できるようになる。

ロード速度的にはその png をさらに tlg にしたほうが良い

画像タグの詳細は ttp://devdoc.kikyou.info/tvp/docs/kr2doc/contents/TPC.html 参照のこと
0312名前は開発中のものです。2010/02/24(水) 17:44:04ID:VO0VG117
なるほどねえ
0313名前は開発中のものです。2010/02/24(水) 18:01:12ID:GkNy80xP
>>311
おおーなつほど!
0314名前は開発中のものです。2010/02/24(水) 18:01:38ID:OwzV0IqO
俺は onUnknownTag で処理させてるな。
csv化されたデータを使って表示・再生するには都合がいい。
0315名前は開発中のものです。2010/02/25(木) 01:11:59ID:LHq4uwfK
スライダー(使用したのはおさかな定食のスライダープラグイン)を
右クリックで呼びだすコンフィグ画面上で使ったら、
そこから更に呼び出す履歴レイヤーの上に
タブ画像が浮くようになってしまったんだが、
考えられる原因を教えてもらえないだろうか。何とかしたい。
0316名前は開発中のものです。2010/02/25(木) 01:29:43ID:5KibqNvx
スライダーレイヤのabsoluteの値が履歴レイヤのabsoluteの値を超えてるんじゃね?
0317名前は開発中のものです。2010/02/25(木) 07:39:56ID:EyffwDlO
お前らが日本語でしゃべれないのをよそ目に、
俺は一つの素材について一つずつしこしこマクロを用意しているのだった。
0318名前は開発中のものです。2010/02/25(木) 12:25:30ID:Xr3jtWZh
スクリプターは「究極のマゾ」と「究極のものぐさ」に大別される。
>>317はまさに前者だな。
0319名前は開発中のものです。2010/02/25(木) 12:28:31ID:D0pxLnee
プログラマーがスクリプターをやると「究極の自己満(ry
0320名前は開発中のものです。2010/02/25(木) 14:07:27ID:4ILI653d
質問です

krkr.eXeのeXeは何故eXeなのか気になります
0321名前は開発中のものです。2010/02/25(木) 15:33:39ID:V3MFJHws
Deeたんの趣味
0322名前は開発中のものです。2010/02/25(木) 16:08:50ID:4ILI653d
趣味・・・
顔文字か何かにみえなくもない
0323名前は開発中のものです。2010/02/25(木) 16:31:21ID:Q1+H7UVX
executeやextensibleのようにexとつくときxを大文字にする習慣があるんだよ。
技術用語でこれやるとだいたいの場合間違えだから普通はやらんが。

×eXtensible Markup Language
○Extensible Markup Language

もしかしてマジレス禁止だった?
0324名前は開発中のものです。2010/02/25(木) 16:39:25ID:jJajqg9p
普通にはじめて知った
文系です
0325名前は開発中のものです。2010/02/25(木) 16:42:15ID:4ILI653d
素ボケでした
理系です
0326名前は開発中のものです。2010/02/25(木) 17:11:55ID:EyffwDlO
はは〜ん、つまり、e-Xe、 良〜クセ、だよ。
0327名前は開発中のものです。2010/02/25(木) 18:12:25ID:V3MFJHws
それをわざわざ採用したっていうのは、ホントにDeeたんの趣味だったと思うけどなw
何で見たんだっけな・・・
0328名前は開発中のものです。2010/02/25(木) 19:20:35ID:L2ujJ7+I
俺は前にこのスレでみた
0329名前は開発中のものです。2010/02/25(木) 20:45:07ID:R1fFSDOB
すきゃんてぃと少佐のやり取りで、はっきりDeeたんの趣味というやり取りがだな
0330名前は開発中のものです。2010/02/25(木) 20:48:10ID:IHdAZrNH
すきゃんてぃ!またすきゃんてぃか!こいつはいつも俺の前に立ちはだかりやがる!
0331名前は開発中のものです。2010/02/25(木) 21:09:13ID:5MO0uq+T
>>329
俺もどっかで見た
質問掲示板の過去ログだったかな?

Deeタンの答えは「なんとなく」だったと思う
0332名前は開発中のものです。2010/02/25(木) 21:12:20ID:5MO0uq+T
327だった
0333名前は開発中のものです。2010/02/26(金) 22:03:55ID:IySizpzY
kag.fore.layers[1].loadImages("test.jpg");
kag.fore.layers[1].visible = true;

でなんでエラーが出るんですかぁぁぁ!!!
プライマリレイヤーを作ると大丈夫なのにいぃぃぃ!!
0334名前は開発中のものです。2010/02/26(金) 22:16:14ID:dKx1zg1v
>>333
KAG前景レイヤのloadImagesはファイル名以外にも必要な要素がたくさんあるから。
GraphicLayer.tjs嫁
0335名前は開発中のものです。2010/02/26(金) 22:25:20ID:SmVTKDvm
fore.layersの数が1個しか無いってオチじゃないよな
[1]が指定するのは「1個目」じゃなくて「2個目」のレイヤなんだけどそこの認識から間違ってるとか
0336>>3332010/02/27(土) 00:46:23ID:KY5hBk9f
>>334
HAHAHAさっぱりわからん

>>335
それはだいじょぶです
0337名前は開発中のものです。2010/02/27(土) 00:59:32ID:exl7nb8B
>>336
GraphicLayer.tjs読んでわからんならお前さんにTJSから前景レイヤ操作は早すぎるので
素直にKAGのimageタグ使いなさい
0338名前は開発中のものです。2010/02/27(土) 01:03:40ID:KY5hBk9f
>>337
じゃあiscript内からkagを使う方法を教えてください
0339名前は開発中のものです。2010/02/27(土) 01:23:11ID:exl7nb8B
俺もうこいつの相手すんの嫌だから誰かにまかせる
0340名前は開発中のものです。2010/02/27(土) 01:43:55ID:1yunanAj
とんずらするくらいなら>>336の時点でスルーしてくれ
0341名前は開発中のものです。2010/02/27(土) 01:48:16ID:dqasG307
まあ答えは
kag.fore.layers[1].loadImages(%[storage:"test.jpg"]);
ってことになるんだが
そもそもiscriptでkagを使って何がしたいのかっていう話だよな
0342名前は開発中のものです。2010/02/27(土) 03:06:56ID:tdEjdcqg
ごにょごにょforで回したりしてる間に画像読み込みとかしたいんでそ。
OUTFOCUS
http://hpcgi1.nifty.com/gutchie/wifky/wifky.pl?p=Inside+KAG3+-+%C1%B0%B7%CA%A5%EC%A5%A4%A5%E4%B4%D8%CF%A2
にばっちり載ってるけど、これだとわからん人もいるかもねw
例文見てようやく頭に入るみたいな。
0343名前は開発中のものです。2010/02/27(土) 08:16:57ID:EtAiEvce
GraphicLayer.tjsのどこを読めば>>341にたどりつけるんだ?
0344名前は開発中のものです。2010/02/27(土) 09:12:44ID:HSrlmqKz
loadImages
0345名前は開発中のものです。2010/02/27(土) 09:37:35ID:T/mt1sUO
キーボード操作をしたときリンクやボタンの配置にかかわらず
オブジェクトのリンク番号順にフォーカスが移りますよね

あれを上下左右の矢印キーに対応した動きをさせることは出来ませんか?
下なら下に移動、右なら右に移動みたいなかんじで
0346名前は開発中のものです。2010/02/27(土) 09:43:14ID:1yunanAj
KAGで扱うレイヤは何だかんだでLayer.loadImagesが
オーバーライドされていて引数がリファレンスのものと変わってる。

とりあえずGraphicLayer.tjsのloadImagesを読めばそれがわかる。
その中でelm.storageとかあるので引数は.辞書配列で読み込むって事もわかる。

ある程度スクリプトを読み解く能力が無いと詰むヒントだとは思う。
0347名前は開発中のものです。2010/02/27(土) 10:27:58ID:EtAiEvce
elm.storageがあるってのはGraphicLayer.tjs読んだ時点で分かったんだけど
loadImages(storage="test.jpg")かな?とか思ったんだけど
%[]の形ってどこ見りゃわかるの?
まぁようするに初歩的な書式が分かってないって事なんだけど
0348名前は開発中のものです。2010/02/27(土) 10:32:33ID:HSrlmqKz
>>347
ttp://devdoc.kikyou.info/tvp/docs/tjs2doc/contents/dictionary.html#id78
0349名前は開発中のものです。2010/02/27(土) 10:44:21ID:rpwzrVdC
あぁ、KAGよびだすタメだけじゃなかったんだ。
ググってみつかった式マネして使ってたから知らんかった。

Kagのがディクショナリ型で納められてて、ソレを呼び出す形式だったんだね。
0350名前は開発中のものです。2010/02/27(土) 10:51:38ID:EtAiEvce
1.elm.storageとかあるので引数は.辞書配列
2.辞書配列を使うのはDictionary クラス
3.loadimage()という式の中に書くから式中辞書配列を使う
4.よって%[storage:"test.jpg"]で「storage」というクラスに"test.jpg"を入れる

これであってる?
0351名前は開発中のものです。2010/02/27(土) 22:02:23ID:Ip4nLWG3
[eval exp="tf.fire_level=0;"]
*loop
[link exp="tf.fire_level++" target="*goloop"]level up!![endlink]
*goloop
[er]
[jump target="*loop"]

KAGを使って このように同じ場所を何回もクリックするようなスクリプトを作りたいのですが、1度クリックした後に同じ場所で連打クリックしても反応しません。
自分の書き方が悪いのか・・・orz
0352名前は開発中のものです。2010/02/27(土) 22:04:48ID:7WG+wWYT
ネイティブプラグインから添字(間接メンバ選択演算子)参照を
実装したクラスを作成・登録する正統な方法ってないのかな。
var myObj = new MyClass( );
myObj[ i ] = 100; // <- こういうの

組み込みArrayではtTJSCustomObjectから派生してたけど、
tTJSCustomObjectはtp_stub.hに公開されてない。
0353名前は開発中のものです。2010/02/27(土) 22:11:53ID:2sl9o+Ev
>>351
[endlink]の後に[s]付けて無いだろう
そのまんまじゃ
1. リンク作る
2. erタグ実行する
3. *loopに飛ぶ(つまり1に戻る)
で延々とループするんじゃね
0354名前は開発中のものです。2010/02/27(土) 22:38:17ID:jKYnQFN9
>>351
リンクはいったん押されると外れるまでもう一度押せない仕様なので
どっか書き換えないといけない。どこだったかな。ちょっと待って
0355名前は開発中のものです。2010/02/27(土) 22:51:36ID:V2Edjwd3
絶対ぜっっったい記述間違えてないのに期待通りの動作をしない。
吉里吉里のバグなんだろうか。
みんなもそういう事ってたまにある?
0356名前は開発中のものです。2010/02/27(土) 22:54:37ID:ST5NvrGR
そんなこと聞く前にここへコードを張るなり公式に報告するなりしろよ
変な防衛線張らずに
0357名前は開発中のものです。2010/02/27(土) 22:55:34ID:MToMdc/N
そういうときは99%自分の勘違い
0358名前は開発中のものです。2010/02/27(土) 22:57:14ID:exl7nb8B
>>345
リンクオブジェクトを
00 01 02 03 04
05 06 07 08 09
と並べるとして、上下キー押した時は今フォーカスしてる番号+列数移動するよう設定
俺はonBeforeFocusでそのへんの処理やってるが、もっと効率いい方法はあるかもしれん
つーか、このへん弄りだすと、マウスとキーボードの共存超めんどくせぇから
いい加減なとこで割り切るのも大事かもしれないと思う今日この頃
0359名前は開発中のものです。2010/02/28(日) 01:01:44ID:0YUv5vAW
>>353
本当だ・・・or
>>354
すみません、お手数おかけします
0360名前は開発中のものです。2010/02/28(日) 03:07:50ID:/VGQe75O
>>352
C++ベースの独自オブジェクトでよければ PropGetByNum と PropSetByNum を実装すればいい。
ただしその場合はクラスではないので new での生成はできないので、生成メソッドを Scripts とか
適当なクラスの static method としてはやして対応することになる

てっとりばやくつくりたければ tTJSDispatch を継承して必要な部分だけ書けば良い。
TJS のオブジェクトの機能も欲しいなら、TJSCreateCustomObject() で基底オブジェクトの
インスタンスが作れるので、それを保持して他のメソッドではそれに対してブリッジするようにすれば良い

どうしても NativeClass として作った上で new したい場合は、
「数値として解釈できたら数値添え字とみなす」というルールでよければ※1、
生成したインスタンスに対して instance->ClassInstanceInfo(TJS_CII_SET_MISSING, 0, メソッド名)
を呼び出すことで、「指定メンバが存在しないときに呼び出されるメンバ」をエントリできるので、
そこで処理してしまえばいい。

数値名になってるメンバは明示的に辞書書式でつくらない限りは存在してないから、確実に呼び出しがくる。
元のインスタンスに PropSet してしまうと次から呼び出しがこなくなってしまうので、情報は別の形で
記録するようにする必要があるのには注意

※1
残念ながら吉里吉里での NativeClass のベースになってる CustomObject では
PropGetByNum / PropSetByNum は文字列変換されてPropGet/PropSet の呼び出しに
さしかわっていて、missing 処理的に区別されてないのでmyObj["0"] と myObj[0] の区別はできない
0361名前は開発中のものです。2010/02/28(日) 13:28:57ID:d1rbQ0lo
>>360
了解しました。ありがとうございます。
myObj = ObjMgr.create( );
結局、こういうシンタックスで生成に対応することに。

そういえばTJS3では(開発止まってるが)演算子オーバーロードができるとか知って狂喜してたんだけど
ファイナライザ廃止とかなんぞそれ?
てっきりスコープと寿命の同期でRAIIとか変態仕様に近づくと思ってたのに。
{
    autovar foo = new Foo( );
    /* 〜 */
}   // <- Scope out, call Foo's finalizer (or destructor)
0362名前は開発中のものです。2010/02/28(日) 13:51:37ID:ffGnMP1P
初歩的な質問で申し訳ないんですが、背景とかキャラクターにズームする方法はありますか?
書籍とかサイトを見てもみつからないので…
0363名前は開発中のものです。2010/02/28(日) 13:59:21ID:AO8w+PnE
付属サンプル見ようか
0364名前は開発中のものです。2010/02/28(日) 14:12:13ID:ffGnMP1P
ぐぐったらそれっぽい説明をしてるサイト発見したのでがんばってみます。
0365名前は開発中のものです。2010/02/28(日) 14:15:16ID:L7WIPTnb
/* 〜 */
↑ これが顔文字に見えて萌えちまった俺はそうとうコードに汚染されているのだろうか
0366名前は開発中のものです。2010/02/28(日) 14:19:50ID:XVdyX+IM
>>358
MessageLayer.tjsのonBeforeFocusのところを書き換えるって事ですかね
勘違いしてたらすみません

その場合、設定画面やセーブ画面によってボタンの配置が変わるんですが
場面によって設定を変えてやるにはどうすればいいんでしょう
0367名前は開発中のものです。2010/02/28(日) 15:41:09ID:ffGnMP1P
>>363
付属されてたんですね…見たらあっさりできるように…w

まさかC言語まがいのものまで使うことになるとは…
ムービー作れるってだけでプログラム任されたけど、安請け合いだったかな…
0368名前は開発中のものです。2010/02/28(日) 15:44:49ID:TJzfWyBs
C言語……だと……
0369名前は開発中のものです。2010/02/28(日) 15:57:52ID:ffGnMP1P
あ、スクリプト言語…?;

まぁ、素人の自分にとってはどっちも似たようなもんですorz
0370名前は開発中のものです。2010/02/28(日) 17:33:43ID:YamdAbFz
>>361
>myObj = ObjMgr.create( );
これだとcreateはファクトリクラス(ObjMgrのクラス)の(場合によってはシングルトンな)インスタンスを得る
ファクトリメソッドになるのが普通だからmyObjが返されるのはおかしいぞ。
myObjを返すファクトリメソッドならcreateMyObj()か、そもそもファクトリクラスやめて
対象クラスにpublic staticなファクトリメソッドを直接持たせた方がいい。

ていうか「マネージャ」やめろって言われなかったか?

こうだろ↓

MyObjFactory
------------
・公開されてないコンストラクタ
・public static ObjFactory create
・public MyObj createMyObj━┓
┏━━━━━━━━━━━━━┛

MyObj
-----
・公開されたコンストラクタ
・foo
・bar
0371名前は開発中のものです。2010/02/28(日) 17:36:10ID:TJzfWyBs
http://www.radiumsoftware.com/0603.html

>ふとコードベースを見回してみると,「なんとか Manager クラス」がそこら中に溢れていることに気付く。(略)
>このように,クラス名に "Manager" という接尾語を用いていることは,そのクラスの設計に不備があることを暗に告げていると考えることができる。
>このような,クラス名から伝わってくる「兆候」 ― いわゆる "code smell" [Wikipedia] は,他にも幾つか見つけることができる。例えば "Object",
>"Handler", "Data" などがこれに含まれる [C2Wiki] 。これらの接尾語をクラス名に見つけたならば,そのクラスの設計を見直すことを考えた方が
>良いかもしれない。

公開・共同開発するようなものなら分かるけど、自分で作って自分で使うぶんにはさほど気にしなくてもいいんじゃないかと思う俺ガイル
所詮吉里吉里だしね
0372名前は開発中のものです。2010/02/28(日) 19:59:42ID:/VGQe75O
>>370
話の流れ的に、返してるのはそもそも「吉里吉里のクラスのインスタンス」じゃない。
あくまでそういう機能をもった独自ネイティブクラスを返すための入り口なので、クラスの枠組みの外に
あるものなので、その指摘は見当外れ。
0373名前は開発中のものです。2010/03/01(月) 01:57:44ID:D+/GcsWx
「吉里吉里のクラスのインスタンス」かどうかは関係ないだろ
0374名前は開発中のものです。2010/03/01(月) 05:15:02ID:PnDazlpg
>>354
さんは戻ってこないかな(・ω・)
検索しかたもよくわからなくて・・・orz
0375名前は開発中のものです。2010/03/01(月) 07:54:44ID:dh8HEJfJ
すみません、アンチエイリアスを特定の場面でだけfalseにしたいんですけど
(小さい文字を表示する時にアンチエイリアスtrueだとよく見えない)
この場合はどうすれば良いんでしょうか?Config.tjsで変更すると全部falseになってしまうので…
0376名前は開発中のものです。2010/03/01(月) 10:08:41ID:bMhBMNl8
>>374
354じゃないけど、KAG System リファレンスの「選択肢を使おう」のページにあったよ。
>Note
>選択肢は一回選択されると、新しい選択肢が表示されるか、unlocklink タグが実行されるまでは選択することはできません。
>また、すでに画面に表示されている選択肢を選択不能にするために locklink タグがあります。
>通常の記述ではこのことは気にする必要はありません。
0377名前は開発中のものです。2010/03/01(月) 10:35:40ID:PnDazlpg
>>376
なんとリファレンスにあったとは・・・orz
ご丁寧に説明文まで張っていただいて、なんとお礼をいっていいのやら
早速試してきます!本当に有難うございます
0378名前は開発中のものです。2010/03/01(月) 17:34:44ID:mSxmG0Bh
>>375
そこだけTJSで書くしか思いつかん……
0379名前は開発中のものです。2010/03/02(火) 21:51:14ID:75/rWvW9
F10をショートカットに使いたいんですがデフォルトで何かが割り当てられています
MainWindow.tjsにはそれらしいのが見当たらないんですが、どこを弄れば無効にできるんでしょう
0380名前は開発中のものです。2010/03/02(火) 22:16:45ID:fFcz/dMO
AfterInit.tjs(無ければファイルを新規作成)に

global.testFunc = function(key, shift){
if(key == VK_F10){System.inform('どう?'); return true;}
};
kag.keyDownHook.add(global.testFunc);

とかやってもダメ?
0381名前は開発中のものです。2010/03/02(火) 23:49:59ID:75/rWvW9
>>380
ためしてみましたがうまくいきましたが、今やろうとしているのが
F10でサブルーチンを呼び出して、もう一度押すと元に戻る
と言う物なんですがF10を使うとAltを押したときみたいにフォーカス?がメニューバーのところにいってしまいうまくいきません(二回押さないと閉じない)

これはtjsファイルを弄っても無効にできないんですかね
0382名前は開発中のものです。2010/03/03(水) 00:02:50ID:mwGBIvpI
なんか重くね
0383名前は開発中のものです。2010/03/03(水) 00:16:33ID:Qa+iZSHh
>>381
>F10を使うとAltを押したときみたいにフォーカス?がメニューバーのところ
C++の標準Windwの仕様とか、そんなんだと思うが、そこら辺は自分は知らない。
力になれなくてごめん。他にレスつくといいね。

自分がダメ元で試すとすると、
メニューに当該項目つくって、吉里吉里のMenuItemクラスのshortcutを利用ってぐらいかな。
0384名前は開発中のものです。2010/03/03(水) 00:37:01ID:M9U3VMd4
>>383
レスありがとうございます
とりあえずメニューに追加してみます
0385名前は開発中のものです。2010/03/03(水) 13:40:34ID:jOJRFu7y
>>378
ありがとうございます。
そこだけTJSで書く方法だと、どのような感じにすれば良いのでしょうか…すみません。
0386名前は開発中のものです。2010/03/03(水) 23:46:50ID:UYuIB1ha
最近KAGみておもうんだけど設計が古い。

F/Wとして枯れてるのと設計が古いのとは話が別なんじゃーっ!

て、思う。
拡張ポイントは多いけどKAG自体はフレキシブルじゃないし、再利用性も低い。
一度システム組んだらそのシステム使い続けてね♪みたいな。
挙動変えるのにいちいちコア部分のソースいじるのがリスクが高い。
いじる方法がほぼ継承に依存してるのも拡張方法として限界がある。

タグハンドラを気軽に差し替えたかったんでソースに一切手を加えることなく実装を
用意したら自動で認識するようにしただけでかなりの変更を強いられてしまった。

再開発したいが次期吉里吉里が開発中の際に現行のKAGを作り直すようなマネは出来んし、せめて吉里吉里3のロードマップさえ出れば・・・。
0387名前は開発中のものです。2010/03/03(水) 23:54:41ID:+dtETXmV
>>386
いや別に現行の吉里吉里作り直して晒してくれていいよ? 吉里吉里3が出たらまた影響死合えばいいし。
前もKAG全部書き換えたって人いたし。晒してくれなかったけど。
0388名前は開発中のものです。2010/03/03(水) 23:58:11ID:1RpMFUu0
KAGは単純に「それなりのADVを作れる為にそれなりの機能を用意する」ってだけであって
それ単体で内部構造やら何やらを根本的に差し替える為に作られた物ではないだろう。
むしろ「それなり以上」の機能を実装するんだったらその都度コアソース弄る方が本来正しいんじゃね?
TJS使えば達成出来るんだから素直にTJSで書いとけ。

原付乗ってて「高速道路ビュンビュン飛ばしたいけどエンジンがクソだから走れねえよ><」って喚いてるみたいなもんだぜ
そもそもソレはその為に作られたブツじゃねえだろうよと
0389名前は開発中のものです。2010/03/04(木) 00:19:35ID:VrDqhOc+
すごい今更なんですが>>167の方法でダイアログを出すとき、モーダルにする事って出来ますか
0390名前は開発中のものです。2010/03/04(木) 00:50:08ID:7c74o42a
>>388
いちいちソース書き換えが正しいなんてないわ。

>TJS使えば達成出来るんだから素直にTJSで書いとけ。
プログラミング言語使えばプログラム組めますって言ってるのと同じなんだが何が言いたいんだ?
0391名前は開発中のものです。2010/03/04(木) 01:09:49ID:Wgtf0YYj
brainfuckはチューリング完全だからWindowsをbrainfuckに移植できるよな
0392名前は開発中のものです。2010/03/04(木) 01:19:54ID:grF8i9jP
>>390
>再開発したいが次期吉里吉里が開発中の際に現行のKAGを作り直すようなマネは出来んし、せめて吉里吉里3のロードマップさえ出れば・・・。

要するにうだうだ言わずオリジナルの新KAG作って晒せばいいだけの話だ
0393名前は開発中のものです。2010/03/04(木) 01:25:42ID:yw3RXAcQ
>>389
親窓指定できないので無理かと。

レポジトリにあるWin32Dialog プラグインならこんなかんじ

Plugins.link("win32dialog.dll");
Debug.console.visible = true;

class MyWindow extends Window {
function MyWindow() {
super.Window(...);
add(new Layer(this, null));
primaryLayer.setSize(innerWidth, innerHeight);
}
function onClick() {
var ret = WIN32Dialog.messageBox(this, "おっけ−?", "きゃぷしょん", WIN32Dialog.MB_YESNO);
switch (ret) {
case WIN32Dialog.IDYES:
Debug.message("はい");
break;
case WIN32Dialog.IDNO:
Debug.message("いいえ");
break;
}
}
}
var win = new MyWindow();
win.visible = true;
0394名前は開発中のものです。2010/03/04(木) 04:03:53ID:JI7Js5Zg
>>390
おまえさんの言いたいことがどう見ても「KAGじゃまともなプログラムが組めねえよ」と言ってるようにしか見えないから
「KAGはプログラム言語じゃねえだろ」と言ってやったんだが。
コレはあくまでシナリオを書く為のモノであって内部挙動を都度弄繰り回す為のモノではないだろう。
むしろやってくることは単なる「TJSを使って『シナリオ作成に特化したそれなりのシステム』を組んだ」に過ぎないんだから、
それなり以上の事をやりたけりゃ親元のTJS弄るのが妥当だってこったよ。
自分が言わんとしてる事が違うというならまず自分の書いた>>386を読み直せ
0395名前は開発中のものです。2010/03/04(木) 04:04:37ID:+K0eLdys
質問です。
メインシナリオのKsファイルの途中で右クリックサブルーチンから別のKsファイルのシナリオを読ませて
それが終わったらサブルーチンに戻ってくる挙動をつくりたいのですが、どうすればいいのでしょうか?
0396名前は開発中のものです。2010/03/04(木) 04:08:59ID:VrDqhOc+
win32dialog.dllってどこにあるのだ・・・
0397名前は開発中のものです。2010/03/04(木) 04:15:16ID:XldlPY7y
そもそも「拡張方法がよろしくない」ってのは「まともに機能追加出来ない」ってのとは違うんだよな
要は書き方がアウトローになるからそのプログラマの哲学に合致しないコーディングになりうるってだけであって
最終的にプログラマの気分次第だって話よな。コア部分弄るのに価値を見出す奴も居るし。
「コレやりたくない」と「コレ出来ない」は話が別だってことで
0398名前は開発中のものです。2010/03/04(木) 08:14:39ID:pmArOxET
熊野にんちさんの雪プラグインの改造を見ながら下から上に出るようにしました。
しかし、最初にどばっと出てあとは全くでないようになってしまいました。
どうしたらずっと出るように出来ますでしょうか?
よろしくお願いします。
0399名前は開発中のものです。2010/03/04(木) 08:19:24ID:fMcAGfch
if(t >= window.primaryLayer.height)
{
   t = -fore.height;
   l = Math.random() * window.primaryLayer.width;
}

で画面下まで進んだら画面上まで押し戻すって処理をしている
あとは分かるだろ
04003982010/03/04(木) 09:26:42ID:pmArOxET
>>399
アドバイスが的確すぎて感動しました!
ありがとうございました!
■ このスレッドは過去ログ倉庫に格納されています