■吉里吉里/KAG/TJS雑談質問スレ■その3
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
03/10/29 23:11ID:420t+hbZ本家BBSで聞きづらい質問や初歩的な質問などでもよいのでわからないことがあればどうぞ。
自分のゲームの進行状況や製作ツール等についての話、TJS等の質問もお待ちしています。
マルチポストはやめましょう。個人叩きも禁止です。
前スレ(再利用) http://pc2.2ch.net/test/read.cgi/gamedev/1044256119/
前々スレ http://pc2.2ch.net/test/read.cgi/gamedev/1021890648/
【公式】
吉里吉里/KAG推進委員会
http://www.piass.com/kpc/
吉里吉里ダウンロードページ
http://kikyou.info/tvp/
KAGと心中 基本編
http://www.piass.com/kpc/kag1/index.html
0177名前は開発中のものです。
03/12/08 00:46ID:svSQP5jrレイヤーの位置をドラッグして任意の位置に動かせるようにするということか?
それなら簡単にできたはず。
0178名前は開発中のものです。
03/12/08 12:07ID:tbLjM65dドロップされたことをマウス位置のレイヤーに通知する
仕組みを作らなきゃいけないから面倒そうかな。
いや、じつは簡単にできるのかもしれんけど。
0179名前は開発中のものです。
03/12/08 15:43ID:y59w0cn8ttp://www.ultrasync.net/dee/warehouse_the_odd_stage/layerdrag.ks.txt
0180名前は開発中のものです。
03/12/08 16:47ID:Lc+sqP3R0181名前は開発中のものです。
03/12/08 20:12ID:/vwuhxIuhttp://www8.big.or.jp/~ani/kag/layerpos/startup.tjs
0182名前は開発中のものです。
03/12/08 21:46ID:/DfnE+K2function enableDrag(layer){
layer.onMouseDown = function(x,y,b){
if(b == mbLeft){
layer._drgX = x;
layer._drgY = y;
}
};
layer.onMouseUp = function(x,y,b){
if(b == mbLeft){
this.left = x - layer._drgX + this.left;
this.top = y - layer._drgY + this.top;
}
};
}
0183176
03/12/09 07:42ID:fNtlpuFl即ゲームに理想通りに組みこませ動かすようなことはできないけど・・。
とりあえず、できることが知れて参考になりました。さんくす。
0184名前は開発中のものです。
03/12/15 00:23ID:QbRcNo07ttp://kikyou.info/diary/?200312#i13
0185名前は開発中のものです。
03/12/15 09:57ID:0HrfVn30周りの人間を開発に巻き込んでいろんな人からのコードで発展する。
0186名前は開発中のものです。
03/12/15 21:53ID:VzrqFd0g吉里吉里は成長するフリーソフトウェアの条件備えてたからな(そのころから)。
0187名前は開発中のものです。
03/12/15 23:53ID:IidDlqNQhttp://game.2ch.net/gamedev/kako/1005/10058/1005818191.html 737
>ツール叩きじみたことはあまり言いたくなかったんだが。
>キリキリ2は商品レベルに達してないから問題ない。
>たぶん商業であれを使うところはないだろう。
>TYPE-MOONは判断を誤った。もう引き返せないから突っ切るだろうが、
>発売したらみんなそれに気付くだろうな。
ちょうどこの時期に、自サイトで似たように必死にGPLやオプソを否定して
おられたお方もいた。
0188名前は開発中のものです。
03/12/16 03:51ID:ayfMeEW5GPLの文脈で語るのはかなり無理があると思うんだけどねー。
つーかリンク先のログ見てみたが「文字がちらつく」とか
なんとか、それ吉里吉里の話か??
0189名前は開発中のものです。
03/12/17 00:25ID:vIjko+pl(特にオープンソースという文脈の元では)という現実があるのかもしれない。
0190名前は開発中のものです。
03/12/17 10:29ID:wy7ZTI6xttp://kikyou.info/tvp/#recent_updates
ってことで、日記で仰られてた「2.20の後にやりたいこと」に期待。
0191名前は開発中のものです。
03/12/17 14:34ID:txJ3kgiA0192名前は開発中のものです。
03/12/17 14:55ID:jwz4Treq0193名前は開発中のものです。
03/12/17 18:16ID:4mmwj7Riソース見てみろ。いいって書いてあるぞ。
0194名前は開発中のものです。
03/12/18 20:15ID:q3wrIYmc「履歴クリックで音声再生、メッセージ画面のボタンで現在の音声リピート」
となるように試してみたのですが、エラーばかりで上手くいきません。
★マクロ
[macro name="pv"]
[playse * cond="kag.skipMode<=1"]
[eval exp="mp.buf = 0 if mp.buf === void"]
[hact exp="&'kag.se[' + mp.buf + '].play(%[storage:\'' + mp.storage + '\'])'"]
[eval exp="f.lastVoice = %storage"]
[endmacro]
★シナリオの記述
[pv storage="nurupo.wav"]「ぬるぽ」[endpv]
★ボタンの動作
if(f.lastVoice != '') kag.se[0].play(%[storage:f.lastVoice]);
どうかご指導お願いしまつ……
0195名前は開発中のものです。
03/12/18 21:06ID:fqfBiT90@playse * cond="kag.skipMode<=1"
@hact exp="&'kag.se[' + (mp.buf===void ? 0 : mp.buf) + '].play(%[storage:\'' + mp.storage + '\'])'"
@eval exp="f.lastVoice = mp.storage"
@endmacro
@button graphic="Button" exp="kag.se[0].play(%[storage:f.lastVoice]) if kag.se[0].status == 'play'"
@pv storage="nurupo"
「ぬるぽ」
@endhact
こんな感じかな。
違ったらまた言って下さい。
0196名前は開発中のものです。
03/12/19 00:46ID:nG75I5Mj素早い回答、ありがとうございます(・∀・)
試してみたのですが、音声の再生ボタンが機能しないようです。
履歴の方はクリックするときっちり再生されるのですが……
ちなみにKAG3プラグインフォルダ内のsystembutton.ksに
array.add(obj = new SystemButtonLayer(kag, parent, onVoiceButtonClick));
obj.loadImages('voice');
という再生用のボタンを追加した上で、
function onVoiceButtonClick()
{
kag.se[0].play(%[storage:f.lastVoice]) if kag.se[0].status == 'play';
}
と指定しています。ううむ難しい……また試行錯誤してみます。
0197名前は開発中のものです。
03/12/19 13:16ID:nG75I5Mj吉里吉里マンセー
0198名前は開発中のものです。
03/12/19 13:41ID:CjkheSu6どう触ったか完璧に忘れてる。スクリプトは触らないと
あっというまに忘却の彼方にいくなぁ。
0199名前は開発中のものです。
03/12/20 10:36ID:xYIpkFIMが一時的に選べなくなるのと、そうでないのがあるんだけど何なんだろうか?
0200名前は開発中のものです。
03/12/21 01:40ID:IXnY05P3何が?
普通だと思うけど・・・????
0201名前は開発中のものです。
03/12/22 13:34ID:Wv9461V7実例を挙げてみてはどうか?
もっとも、俺にはさっぱりわかたんが。
0202名前は開発中のものです。
03/12/22 13:45ID:YljUvWerスマソスマソ・・・いや大丈夫でした。
ただの勘違いで後は解決しました。
0203名前は開発中のものです。
03/12/22 22:52ID:KyMvwDSP安定性とかに関してのサンプルになるかな。
おそらく吉里吉里初?の数万人デバッグ状態になるだろうし。
不謹慎だが、何かあったら貴重なサンプルになるかも。
まあ、なければないで安定性の信用が上がるが。
0204名前は開発中のものです。
03/12/23 02:55ID:02GjsRf6体験版で大丈夫だったんだから、製品版でも大丈夫だと思う。
もし、シナリオだけじゃなくシステム周りの変更も行って、
体験版は動くが製品版では動かない、というケースがあったら糞だが。
・・・あ、製品版ならコピープロテクトは確実にかけてくるか・・・
それで動かなくなるケースはあるかも。
0205名前は開発中のものです。
03/12/23 03:03ID:K2P/7BCVソフトウェアというものは、環境による不具合が「確実に」出る。
だからソフトウェアを検査する環境が多ければ多いほどデバッグできるというわけ。
Fateは吉里吉里製ソフトとしては最大級だから、
吉里吉里のデバッグがより進むだろうという話。
0206名前は開発中のものです。
03/12/23 03:43ID:+A8IBMmR0207名前は開発中のものです。
03/12/23 11:15ID:7qs2Z13dZlib圧縮で、ファイル名リストはユニコード。
0208名前は開発中のものです。
03/12/23 20:38ID:bLbMPEyUあと、カーソル画像に対する指定の位置の変更(たとえば、カーソル画像の中心をポイントを指す際の点としたり)はできるでしょうか??
ここらへんはできないのかな・・・これができないと思い描いていたことが・・(´・ω・`)
0209名前は開発中のものです。
03/12/23 21:08ID:VcukG1NJ0210名前は開発中のものです。
03/12/24 08:16ID:YWfeWQq50211名前は開発中のものです。
03/12/24 13:35ID:LDFlEZ4/パソコンのゲームで表示された画像を保存するにはどうしたら良いのでしょうか?
右クリックも出来ない状態なので、抽出ツールとかで良いのがあったら教えてもらえませんか?
0212名前は開発中のものです。
03/12/24 13:51ID:ZoU4zH5Y0213名前は開発中のものです。
03/12/24 14:43ID:CL2ktVDj無事解決しました。ありがとうです。
0214名前は開発中のものです。
03/12/24 23:19ID:beMGFd3CConfig.tjsでcursorと書いてある部分を探せ。
あと、「カーソルエディタ」「ホットスポット」あたりでぐぐれ。
0215名前は開発中のものです。
03/12/25 09:15ID:Tk8ZkhLuえ?画像を変えろってこと?それを120x80と100x100のaniファイルに画像指定したら、ゲーム上では強制的に32x32にされたようなので聞いてみたのですが・・
0216名前は開発中のものです。
03/12/25 12:23ID:ZLjMym3N吉里吉里というよりWindowsの制限でできないみたい。
MSDNのCreateCursorより:
> nWidth と nHeight の各パラメータには、使用中のディスプレイドライバがサポートする
> 幅と高さを指定しなければなりません。システムは、サイズの異なるマウスカーソルを
> 作成できないからです。GetSystemMetrics 関数で引数として SM_CXCURSOR や
> SM_CYCURSOR を指定すると、ディスプレイドライバがサポートするマウスカーソルの
> 幅と高さを取り出せます。
マウスカーソルを非表示にして、マウスに常時追従するレイヤーを作ると
マウスが変わったように見えるんじゃないかな。
0217名前は開発中のものです。
03/12/25 14:21ID:Tk8ZkhLuむぅ、やっぱり無理かぁ・・。追従ってなるとなんか動作悪そう・・・視覚的精度が悪いとダメなアイデアなので・・。
っていうか、マウスカーソルを直に弄れないとどちらにせよ自分には実現できそうにない・・。
うぬ〜、ボツか・・(´・ω・`)
0218名前は開発中のものです。
03/12/25 15:08ID:DJvoe7T5var mouseLayer;
function MyWindow(){
super.Window();
add(new Layer(this, null));
setInnerSize(300, 300);
primaryLayer.setSize(300, 300);
primaryLayer.cursor = crNone;
mouseLayer = new Layer(this, primaryLayer);
mouseLayer.loadImages('cursor.png');
mouseLayer.setSizeToImageSize();
mouseLayer.cursor = crNone;
mouseLayer.visible = true;
primaryLayer.onMouseMove = function(x, y, shift){
window.mouseLayer.setPos(x, y);
} incontextof primaryLayer;
mouseLayer.onMouseMove = function(x, y, shift){
setPos(parent.cursorX, parent.cursorY);
} incontextof mouseLayer;
primaryLayer.visible = true;
}
function finalize(){ super.finalize(); }
}
var w = new MyWindow(); w.visible = true;
0219名前は開発中のものです。
03/12/25 15:10ID:DJvoe7T5誤植をまとめたサイトがどこかにあったと思うのですが、見つかりません。
どなたか教えてくださいませんか?
0221名前は開発中のものです。
03/12/25 16:38ID:n9wUsTZ/ttp://www8.big.or.jp/~ani/kag/hiki/hiki.cgi?KirikiriBookErrata
0223名前は開発中のものです。
03/12/25 18:48ID:ThimiC0z俺が数年前はじめて吉里吉里さわったときに、TJSが難しい言語に思えた覚えがある。
それで自分でインタプリタ作ったのだが、そこで初めてTJSの凄さがわかった。
俺が同じことをしようとすると、ネストされた式の評価に100msはかかってしまった ^^;;
まあ俺のスキルがへたれであることは関係ないけど、やっぱ開発者の人には頭が下がる。
で、TJSの言語仕様をダウングレード(あるいはクラスの隠蔽化、カプセル化)して、
昔のPC98のマ○チゲ○ムScr○pterみたいに
ゲームに特化した関数やライブラリを集めれば、今よりもっと知名度が上がりそう。
って言ってる側から「お前やってみろ」って言われそうなので、チャレしてみます。
0224名前は開発中のものです。
03/12/25 19:06ID:e1jHdWhwがんばれー
理想としては某コミックメーカーくらいの製作難易度で
吉里吉里/KAGのプレイアビリティ(スキップ・履歴表示等)をもったバージョンが出来たら
いいゲームが色々出てきそう。
GUIにできたら最高。
0225名前は開発中のものです。
03/12/25 19:14ID:SKLTSD99なつかしー、MGS。つか今も手元に残ってたり…
あれ、昔のADV(コマンド選択式)の製作ツールとして最強だと思ってた。
98ソフトとしては出た時期が遅すぎたから日の目を見なかったんだよね。
0226名前は開発中のものです。
03/12/25 19:18ID:ThimiC0zソースながめてわかったこと・・・っていうか最初からわかってたこと。
吉里吉里はそのままでいいだな・・・・吊ってくる
0227名前は開発中のものです。
03/12/25 19:39ID:ThimiC0z今思えばMGSは一種のOOP言語。
>>226 で書いたけど、速度の面で不安だけどKAGと同じようなやり方で、TJS使おうと思う。
応援には応えたいなー。で、一応プログラマとして小一時間。
@はその右にあるトークンへの参照子。
@A="C"
@B='A'
としたとき、 @@B の値(結果)は"C"になるという仕様。文字も文字列も数値もゴチャマゼ。
要点は変数参照の速度だよね。二次探索とかよりも、ハッシュテーブルでやてみます。
せっかくレイヤーっていう大容量メモリの恩恵があるわけだけど、
使った方が楽だろうか?それとも面倒?>元MGS使いの人
まあ "MGSみたいな" であって移植ではないので、
昨今の事情を踏まえて”めちゃスクリプト組みやすい”言語にします。ていうか、しろよ俺。
今でも変数の前に@をつける方が視認性があるから好きな人なんで・・・。
#スレ違い・・・じゃないよね・・・?(汗
0228名前は開発中のものです。
03/12/25 19:40ID:dpbpa1Vs0229217
03/12/25 19:45ID:laUr3130おお、わざわざすいませんです。
さすがに必要以上にでかくすると滑らかではなくなりますけど、こんだけできれば実用できますね〜。
ありがとうございました。
0230名前は開発中のものです。
03/12/26 11:17ID:QVUfi+Rettp://f22.aaacafe.ne.jp/~lips/kag.htm
イイ!
0231名前は開発中のものです。
03/12/26 11:54ID:uhke+b5k本には載ってなかった。新しく追加されたやつ?
0232名前は開発中のものです。
03/12/26 12:56ID:R9pqq4W7きりきりの改行マークの色だけを(グラデーションもそのままで)
かえたいのだけど、どうやったら
写真屋で透明度を無視しないで塗れるのか知りたいんです。
もうどうしたらいいのか本当に分からなくて。
せめてヒントだけでも。
板違いだったら申し訳ない。
0234名前は開発中のものです。
03/12/28 18:44ID:w7+qHwqC0235名前は開発中のものです。
03/12/29 15:11ID:J1RN9slWレイヤごとに透明度保護って属性もあったよね。
[playbgm storage="xxx"]
を組み込むも、BGMが再生されずスルーされる。
なんででしょう?
0237名前は開発中のものです。
04/01/04 12:42ID:30nrTU5j0238名前は開発中のものです。
04/01/04 13:11ID:3KPjCDCGたしか、FAQにそんな感じの事が書いてあった気がする
0239?~?j?????Q?[???i?233
04/01/04 22:59ID:92Jt6j4i>234
レスありがとうございました。
早速試してみます…と思ったらMYPC電源が入らん…。
どちらにせよありがとうございました。
>235
本当にその通りですね。ええ。
デフォルトの画像はすでにレイヤが一枚に統合されていたためか、
透明保護はチェックできなかったんです。
0240名前は開発中のものです。
04/01/05 11:29ID:exZJEGzTもっと後ろに乗っけて格好のつく名前にして。
0241名前は開発中のものです。
04/01/05 12:59ID:GBFmYZkCおまいの名前よりはカコイイ。
0242名前は開発中のものです。
04/01/05 15:25ID:hPFqTGV70243名前は開発中のものです。
04/01/05 21:23ID:6kyFcNAm0244名前は開発中のものです。
04/01/05 21:53ID:s4IvaRsO0245名前は開発中のものです。
04/01/05 23:10ID:jt0hwG2L0246名前は開発中のものです。
04/01/06 00:10ID:3XMTFhuf0247名前は開発中のものです。
04/01/06 02:31ID:3GXnPvdUクリックすることで分岐を変えるというようなこと、吉里吉里ではできますか?
「街」のTipみたいなことをしたいんですが…。
0248名前は開発中のものです。
04/01/06 04:07ID:y+y1rtaC苦労は覚悟の上でな。
0249247
04/01/06 07:43ID:3GXnPvdUさんくすです。
そうですか、やっぱり大変ですか…。
苦労は覚悟の上なんですが、問題はそのやり方を理解する頭が
自分にあるかどうかなんですよね…。
0250248
04/01/06 14:19ID:y+y1rtaCすげー苦労する。でも不可能ではない。
例えば毎日1リンクずつ作るとか、
ちゃんとプロットなり何なりで組み立てテストしてからとか、
小さな努力を積み重ねることは有効だと思う。
tjsには頼らなくてもいいんだけど、
どうしてもその街のシステムを目指すならこんごらがっちゃうから
いかにしてそれを開発者が把握して混乱しないかが肝心かな。
がんがれ。
0251名前は開発中のものです。
04/01/06 21:23ID:U8plKJj80252名前は開発中のものです。
04/01/07 01:17ID:43Fepi3lそうなるとやはり、単純に256以上の領域を持つクリッカブルマップじゃないとできないようなゲームってのは
このツールでは無理ですかね?
0253248
04/01/07 02:14ID:tg0stPCgただし、クリッカブルマップの領域定義画像は256色でなければいけない。
パレット番号がそれぞれの定義の指定の対象になるから。
256箇所以上作りたかったら画像を増やせばできると思うが。
0254名前は開発中のものです。
04/01/07 03:57ID:43Fepi3lう〜ん、やりたいと考えているのは、数相応に別のアクションを起こさなければいけなくて、
それでいて足りないので、やっぱり無理ですよね?
画像を増やせばって言うのがどういう意味かわからんですが・・
クリックした位置も要素として必要なので、同じ色を同領域画像の他の位置にも流用・・ってのはできないです。
0255名前は開発中のものです。
04/01/07 04:19ID:74UTuwYJクリッカブルマップを二つ以上作ればいいだろ。
まあ、こんなことにも気づかないようなお前には無理だろうなw
自分もそれを考えていた。
難しそうだなと思ったけれども。
「街」続編委員会のまとめページの掲示板の中で、
「吉里吉里での制作作業について」の所に
tipのスクリプト案があった。理解できるなら参考になるかも。
ついでにkagの公式の掲示板にも似たようなのかいてあった。
記事番号4964の所。
0260名前は開発中のものです。
04/01/07 18:51ID:JX+NB6rE確認ダイアログのプライマリレイヤにグラフィックを使ってるんですが、
それだとダイアログのサイズは変更できませんよね。
そこでメッセージを改行させようと思っています。
例えば
栞1「★★」に「●●」をはさみますか?ではなく
栞1「★★」に
「●●」をはさみますか?みたいにしたいのです。
MainWindow.tjsあたりをいじってるのですがどうもうまくいきません。
どう記述したら良いのでしょうか?
0261名前は開発中のものです。
04/01/07 20:36ID:6lyLw98x家具でどうかはわかりませんが、tjsなら
「¥n」を半角でやればOKだと思いまス。
だめだったら「¥r¥n」で。
0262260
04/01/07 21:53ID:JX+NB6rEさっそくレスありがd!
(1827行目あたりを引用)
var prompt = "栞";
if(num < numBookMarks) prompt += (num + 1);
if(bookMarkDates[num] != "") // bookMarkDates が空文字の場合は栞は存在しない
prompt += "「" + bookMarkNames[num] + "」に\n";
prompt += "「"+ pcflags.currentPageName + "」をはさみますか?";
こんな感じだよね?261タンが言ってくれたのをどっちもやってみたけど
何故ができませんですた…(´・ω・`)ショボーン
TJS周りでいじったところは特にないんだけどな…「・」がでて改行されないんです
0263名前は開発中のものです。
04/01/08 01:28ID:sAlEHovF68行目: primaryLayer.drawText((w - tw)>>1, 14, message, clBtnText);
を削除して下のように変更。
> var msgpos_x = (w - tw)>>1;
> var msgpos_y = 14;
> for (var i=0; i < messages.count; i++){
> var lh = primaryLayer.font.getTextHeight(messages[i]);
> primaryLayer.drawText(msgpos_x, msgpos_y, messages[i], clBtnText);
> msgpos_y += lh + 0; // 行間
> }
39行目: var w = tw + 40;
の直前の行に以下を挿入
> var max_tw = 0;
> var sum_th = 0;
> var messages = message.split('\n');
> for (var i=0; i < messages.count; i++){
> var lw = primaryLayer.font.getTextWidth(messages[i]);
> var lh = primaryLayer.font.getTextHeight(messages[i]);
> if (lw > max_tw)
> max_tw = tw;
> sum_th += lh + 0; // 行間が必要なら+0より大きくする
> }
> tw = max_tw;
> th = sum_th;
って感じでどうかな?
一応2.20で確認。
0264260
04/01/08 23:03ID:w5aEh3xKお返事遅れてスマソ&ありがd!
無事改行されるようになりました。
メッセージ描画がいろいろ変な位置になってしまっているので
自分でいろいろ試してみることにします。
本当にありがとうございました!
年内には完成させるぞー…ガンガル!(゚Д゚)
0265名前は開発中のものです。
04/01/10 20:26ID:6/OD99W5日本語のほうがこちらとしては覚えやすかったりする。
人によりますが、結局どちらのほうが使いやすいと思いますか?
0267名前は開発中のものです。
04/01/13 16:28ID:nwEbySBQちなみに漏れは英語で。
カッコつけたいだけぽ
0268名前は開発中のものです。
04/01/13 20:39ID:r+DyM3oh日本語をローマ字にしただけのにしただけの変数名多数。
0269名前は開発中のものです。
04/01/13 20:40ID:QLN3mTF1面倒なんで基本的にファイル名は英語のみ。
ウィンドウズ環境のみで閉じるなら日本語ファイル名でも
いいんんだけどね。
0270名前は開発中のものです。
04/01/13 20:41ID:QLN3mTF1慣れてるという理由もあります。
0271265
04/01/13 23:49ID:XJIDOnKs有難うございます、山王になりました。
0272265
04/01/13 23:50ID:XJIDOnKs0273名前は開発中のものです。
04/01/14 10:52ID:HZB2LVxr0274名前は開発中のものです。
04/01/17 18:17ID:3FYc6STb0275名前は開発中のものです。
04/01/17 18:34ID:+0C+jrDL0276名前は開発中のものです。
04/01/17 19:08ID:Il/F/8A/■ このスレッドは過去ログ倉庫に格納されています