■吉里吉里/KAG/TJS雑談質問スレ■その21 at GAMEDEV
[2ch|▼Menu]
1:名前は開発中のものです。
10/05/22 15:41:56 tZCB+yDd
ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。
マルチポストはやめましょう。個人叩きも禁止です。

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

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
吉里吉里2/KAG3雑談質問スレ_過去ログ
URLリンク(www.geocities.jp)

吉里吉里ダウンロードページ
URLリンク(kikyou.info)

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

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

前スレ
■吉里吉里/KAG/TJS雑談質問スレ■その20
スレリンク(gamedev板)

2:名前は開発中のものです。
10/05/22 15:43:13 tZCB+yDd
過去スレ
19 スレリンク(gamedev板)
18 スレリンク(gamedev板)
17 スレリンク(gamedev板)
16 スレリンク(gamedev板)
15 スレリンク(gamedev板)
14 スレリンク(gamedev板)
13 スレリンク(gamedev板)
12 スレリンク(gamedev板)
11 スレリンク(gamedev板)
10 スレリンク(gamedev板)
9 スレリンク(gamedev板)
8 スレリンク(gamedev板)
7 スレリンク(gamedev板)
6 スレリンク(gamedev板)
5 スレリンク(gamedev板)
4(タイトルは3) スレリンク(gamedev板)
3 スレリンク(gamedev板)
2(再利用) スレリンク(gamedev板)
1 スレリンク(gamedev板)

3:名前は開発中のものです。
10/05/22 15:44:07 tZCB+yDd
【公式】
kikyou.info
URLリンク(kikyou.info)
吉里吉里/KAG 掲示板
URLリンク(kikyou.info)
公式掲示板過去ログ検索
URLリンク(www.kirikiri.info)
吉里吉里開発サイト
URLリンク(sv.kikyou.info)

【ドキュメント】(最新版のオンラインマニュアル)
KAG System リファレンス
URLリンク(devdoc.kikyou.info)
吉里吉里2 リファレンス
URLリンク(devdoc.kikyou.info)
TJS2 リファレンス
URLリンク(devdoc.kikyou.info)

【FAQ】
逆引きマニュアル
URLリンク(homepage1.nifty.com)

【網羅的リンク集】
OUTFOCUS Wiki ブックマーク
URLリンク(hpcgi1.nifty.com)

4:名前は開発中のものです。
10/05/22 15:45:22 tZCB+yDd
【講座】
吉里吉里2/KAG3によるノベルゲーム開発
URLリンク(homepage1.nifty.com)
Studioついんくる - 吉里吉里2/KAG3講座
URLリンク(contest2004.thinkquest.jp)
RUTA'S GAME - 初心者のための吉里吉里講座
URLリンク(www.manitoux.net)
TJSに挑戦!
URLリンク(www.geocities.co.jp)

【過去の講座】
KAGと心中 ※※一部の仕様が現在と違うので注意※※
URLリンク(yokohama.cool.ne.jp)
成恵同盟
URLリンク(www.geocities.jp)(消滅)

【解説】
Inside KAG3
URLリンク(hpcgi1.nifty.com)
TJS入門
URLリンク(homepage1.nifty.com)
吉里吉里 inside
URLリンク(tohka.info)

5:名前は開発中のものです。
10/05/22 15:46:11 tZCB+yDd
【KAGEX】
KAGEX
URLリンク(ruriko.denpa.org)
KAGEXのダウンロードの仕方(Subversionリポジトリへのアクセスの仕方)
URLリンク(kikyou.info)

※注意
KAGEXのバージョンアップに伴い「リポジトリのURL」が変わっています。
該当箇所は↓に置き換えてください。
最新版:URLリンク(sv.kikyou.info)
旧版:URLリンク(sv.kikyou.info)

6:名前は開発中のものです。
10/05/22 15:59:37 Agw/UFCd
  __
  `ヽ, `ヽ
   ,.' -─-ヽ.  えーい
  ( ´・ω・)
   / /wk|つ━☆ ,.
  / / !_i_〉l    ‘*+ *+
 く_/_,ルノノ     ゜‘ *‘+¨
           □ □ □ □ □
          □ □ □ □ □
          □ □ □ □ □
          □ □ □ □ □
          □ □ □ □ □
          □ □ □ □ □
           □ □ □ □ □
          □ □ □ □ □
           □ □ □ □ □
          □ □ □ □ □
          □ □ □ □ □

7:名前は開発中のものです。
10/05/22 16:00:55 Agw/UFCd
>>6

消滅……あらら

8:名前は開発中のものです。
10/05/22 16:04:00 Agw/UFCd
ごめん、6は、コピペ失敗した。


普通に>>1 乙

9:名前は開発中のものです。
10/05/22 16:11:16 VZs46LDb
>>1おつ

10:名前は開発中のものです。
10/05/22 17:39:31 py5wO2FA
TJSってのはdeeたんが考えたオリジナル言語?

11:名前は開発中のものです。
10/05/22 17:50:49 8G+2upoN
TJSってJAVAじゃないのか、ずっとそうおもってた

12:名前は開発中のものです。
10/05/22 18:50:26 py5wO2FA
Java

TJS

kagシナリオ

ってことか。

13:名前は開発中のものです。
10/05/22 19:02:19 2qEI+QNM
TJSとJavaはまったく別物だよ。
構文をちょっと参考にしてる程度で。

14:名前は開発中のものです。
10/05/22 19:18:53 hPo3m1+a
指定した色を描画しない方法ってどうやるの?
もしくは指定した座標と同じ色を描画しない

背景にキャラクターを上書きするときの処理


15:名前は開発中のものです。
10/05/22 19:30:44 MCyXUwUF
前景じゃなくて背景なのか?

16:名前は開発中のものです。
10/05/22 19:56:28 hPo3m1+a
背景描画して その上にキャラクターを描画したいですが
透明な部分も描画すると全部上書きされるので
指定した色を描画しない方法です

17:名前は開発中のものです。
10/05/22 20:14:38 4Ayb4fhE
今時そんなことしないよ
アルファ使いましょう

18:名前は開発中のものです。
10/05/22 20:36:30 hPo3m1+a
アルファよくわからんのです・・・・

19:名前は開発中のものです。
10/05/22 20:46:27 xUKeKV7j
                !,-/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ,
               i''./:::::::::::::::::::::://::::::l:l'i::::::ヽ:::::::ヽ:::::::::::::::l丶
 お尻の穴に       〉!:::::::::::::::l:::::://l:::::/ll .lヽ:::l !ヽ::::l:ヽ::::::::i::l::l
  指をいれて        ヽ::::::::::::::l:l::::/:l .l:::/ l  l,ヽ:l-l-l:::lヽ:ヽ::::::l:l.ll
   匂いをKAGと      l::l.l:::::::ll.l:::l''l~~∨' '  ' _,-'i-∨ l::::l::::l:l,,l_
                _l::l .l::::l .l,l:l''~(~~i''     l ヽノiヽ.l:::::l:l:l::::::~''-,_
  新スレですよ    _,-'':::l:l l:l.l '~l .ll||ll l     l l|||l.ノ l:::::l-''''''''---,,'-,_
            ,-':::::_,,,-ヽl::::::l  ヽ,,,,,,ノ      '--''  l::::::l       ~
             /-''''~   l:::::::l.l      ____'___    ./l:::::::l
                    l:::::::l'ヽ.     l   l   / l:::::::l
                   l:::::::ll  ',,- ,_  ヽ-'  _,-''--,,ll::::::l ~


20:名前は開発中のものです。
10/05/22 20:50:36 +Ft0RtaD
>>14
key
リファ読め
でもアルファの方がいいよ本当

21:名前は開発中のものです。
10/05/22 21:04:40 H3nd+kJy
いつの間にか新スレが。
>>1



22:名前は開発中のものです。
10/05/22 21:49:28 2qEI+QNM
吉里吉里公式のリポジトリに、CRCとかMD5のチェックサムを求めるネイティブプラグインあるかな?
なければ作ってみたいんだが。

23:名前は開発中のものです。
10/05/22 22:06:12 oWQjwHtT
なんでリポジトリ見ないの?死ぬの?

24:名前は開発中のものです。
10/05/22 22:13:50 hPo3m1+a
かもおおおおおおおおおおおおおおおおん
アルファ三ぷるぅぅぅぅぅううううううううっぅぅぅl

25:名前は開発中のものです。
10/05/22 22:23:22 2qEI+QNM
truncだけでもソースがいっぱいだからチェックするのマンドクセ
まあ、無駄にSHA-1とかまでサポートしてるアホなのはないはずだから一通り作ってみるか。

26:名前は開発中のものです。
10/05/22 23:27:07 wZsbkn5w
ファイルIOの口がないtjsでチェックサムとか何に使うの?

27:名前は開発中のものです。
10/05/22 23:36:53 2qEI+QNM
プラグインからならIStreamでファイルに触れるじゃん。
TJSに公開されてないだけで。

28:名前は開発中のものです。
10/05/22 23:51:15 2qEI+QNM
あ、俺はネットワーク通信のデータ検証の用途で使おうと思ってる。

29:名前は開発中のものです。
10/05/22 23:57:50 wVFKgm4j
とりあえずスレッド処理がんばれな。そうしないと簡単に画面フリーズするから。

30:名前は開発中のものです。
10/05/23 00:07:06 JzgxT+Nv
以前スレッド生で管理しようとして挫折したんだが、
Boost.Asioのスレッドプール使えば大丈夫だったりしないかな……。

31:名前は開発中のものです。
10/05/23 01:24:55 8c/di4zs
>>30
スレッドのプール自体は何つかっても関係ない。

吉里吉里でスレッド処理が難しい原因は、吉里吉里本体がスレッドセーフでないことにある。むろん通常の用途ではその必要がないからなんだが。
要するに、吉里吉里の諸機能は、常にメインスレッドから呼び出す必要がある。たまたま大丈夫なところもあるが区別はできない。
外部スレッドからは、なにかしらの同期処理を介してメインスレッドに処理を依頼することになる。

逆に吉里吉里側からサブスレッドの処理を呼び出す場合は、サブスレッドがスレッドセーフに
かかれてれば特に問題はない。

吉里吉里標準の機構だけで処理するなら、Window オブジェクトの registerMessageReceiver で吉里吉里側の
処理を登録しておいて、サブスレッド側からは postMessage で WM_APP_* などをつかって機能呼び出しをする方法がある。
Windows のウインドウメッセージ機構はスレッド間で安全に同期することが保証されているのでこれで問題なく動作する。
スレッド側からは結果を通知するだけといった単純な構造ならこれだけで問題ない。

Window オブジェクトを使いたくない場合、あるいは、吉里吉里(メインスレッド) とサブスレッド間で相互処理が必要な
場合は、パイプなりセマフォなり適当なプロセス間通信のハンドラを作っておいて、吉里吉里からは、それを continuous handler
でポーリング、サブスレッド側からは適宜 sleep や WaitFor*Object を使ってポーリングして、ハンドシェイクするような形で
処理することになる。吉里吉里側で Wait してしまうと描画が止まるので要注意

32:名前は開発中のものです。
10/05/23 01:28:54 rJB3gNQr
こういう人がいるから吉里吉里を使うのはやめられないぜ……。
まったく意味が分からないけど、見ているだけでワクワクする。
これだけの知識や技術を持っているのに自分でエンジンを作らずに吉里吉里を使っている事実。
それほどまでに吉里吉里が優れていると感じる瞬間だ。

33:名前は開発中のものです。
10/05/23 01:37:04 8c/di4zs
いや、このくらいの知識は Windows でプログラムするなら常識。知らないとマルチスレッドプログラミングなんてできない
その常識もった上で吉里吉里の仕様を見て入り口を示してるだけ

34:名前は開発中のものです。
10/05/23 02:36:21 rJB3gNQr
>>33
そうなのか。
Windowsプログラムができて、吉里吉里の仕様を理解できるなら、同じ物を
作れるだけの力があるに違いないという理解だった。
吉里吉里を利用して拡張できることと、吉里吉里と同じレベルの物を一から
作れることは、能力的に別次元の話なんだな。
だとしても、Deeたんも君らも尊敬の対象にであることに変わりはないのです。
謙遜せずに素直に受け入れろw

35:名前は開発中のものです。
10/05/23 03:57:22 OK1vZ87X
プログラム言語なんて一定の条件をj満たしてたら誰でも作れるから
別に驚くほどのことではない

36:名前は開発中のものです。
10/05/23 04:12:14 OK1vZ87X
吉里吉里はスクリプト言語
マルチスレッドが考慮されてないのはあたりまえ

Windowsはもともとがマルチタスクを前提として設計されている
こっちはすごい

>>31 はどっちも混合して考えているバカ

37:名前は開発中のものです。
10/05/23 04:25:31 McZBVDSq
>>36
神ID

38:名前は開発中のものです。
10/05/23 05:09:50 rJB3gNQr
なんか変なのが現れちゃった……論理的な反論なしに短絡的に馬鹿と締めくくってる
ところを見ると、嫉妬君ってやつか。
本人は謙遜してるのにそれを無視して褒めたせいかも。ごめんね。

39:名前は開発中のものです。
10/05/23 06:26:51 8c/di4zs
>>36 がどういう思考の流れで「混合」という意味不明な思考に至ったのかはちょっと興味あるなw

40:名前は開発中のものです。
10/05/23 07:10:33 nX26q0ke
oggとかに書き込んであるタグ情報を取り出す方法ってある?
タイトルタグとかを抽出出来ると管理が楽になるんだけど・・・

41:名前は開発中のものです。
10/05/23 08:47:09 jo1ttNyg
ogg対応のプレーヤやタグ編集ソフトを使うのはダメなのかのう
俺SuperTagEditorつーやつ使ってるけど、
タイトルを一括してクリップボードにコピーできるぞ
そうすりゃ後はテキストファイルにしたりexcelに貼り込んだり

完全自動化したいってんなら、
oggフォーマットを勉強して冒頭のヘッダ情報を抜き出すソフトをお作り

42:名前は開発中のものです。
10/05/23 09:00:19 nX26q0ke
いやそうじゃなくて吉里吉里の中で取得して変数に格納なりしたいって話なんだけど

43:名前は開発中のものです。
10/05/23 16:10:46 lNXx/gay
>>36
>>31はグリーンスレッド的な実装をする話をしてるんであってマルチタスクの話はしてない。
それにいまはpythonだろうがrubyだろうがsmalltalkだろうがjavascriptだろうがスレッドくらい使える。

まあ、吉里吉里で>>31の方法を使ってまで並列処理する意味はない気がするが。
つーか吉里吉里ならGILで十分。

44:名前は開発中のものです。
10/05/23 16:32:36 L/FIBD99
言いだしっぺがやる法則ですね分かります

45:名前は開発中のものです。
10/05/23 16:49:22 8c/di4zs
どこらへんがグリーンスレッド的なんだろう ^^;
そもそも >>31 は、吉里吉里の TJS 実装は GIL を持ってなくてロックしてくれないからどうするかって話だぞっと

46:名前は開発中のものです。
10/05/23 17:11:32 Gl2+JiOI
> 吉里吉里はスクリプト言語
> マルチスレッドが考慮されてないのはあたりまえ
> Windowsはもともとがマルチタスクを前提として設計されている
> こっちはすごい

吉里吉里は、Win32レイヤで書かれた下位層、
C++記述されたスクリプト言語であるTJS層、
TJSで記述されたノベル言語であるKAG層。

の3層構成になっている。
で、下位層はC++でWin32APIを直接叩いてるから、
そのレイヤでは当然Windowsプログラミングの常識が絡んでくるのよん。


47:名前は開発中のものです。
10/05/23 17:13:46 Gl2+JiOI
ちなみに配布されている「吉里吉里」という名前のパッケージは
これら全てをひっくるめた総称として使われていることが多いですね。
適当な話をする時にはごっちゃでもいいんだけど、
これらの階層を意識した細かい話をする時には
階層の区分けに自覚的でないと話が混乱するよ。

48:名前は開発中のものです。
10/05/23 17:46:21 JzgxT+Nv
>>43
ネットワーク処理を書くのなら、スレッド無しで非同期処理のみで実装するほうが面倒な件。
ああいや、完全非同期にしても吉里吉里のタスクとは別でaccept待つならスレッド一つは必要になる?

49:名前は開発中のものです。
10/05/23 21:36:40 aL+rRsRT

Windows7 64bitになって、krkrrel.exe(リリーサー)が途中でエラーになって
動かないんだけど同じ人いるかな。


互換性のトラブルシューティングでもvirtual PCのXPモードで動かしてもダメだった。


50:46
10/05/23 21:55:21 aL+rRsRT
すまん、最新版DLしたら直った。

手持ちがkr2_230版だったが、最新のはkr2_230r2になってた。

51:名前は開発中のものです。
10/05/24 13:29:04 A/QWIwPb
r2になって色々改善されてるっぽいよね

52:52
10/05/25 05:20:44 TAKdIbQN
教えてくださいー。
格闘ゲームのHP表示みたいなメーターを装着したいんですけど
どうやったらいいですか?
ググったらタイムアウトまでの時間表示のやり方というのしか見つけられませんでした。
時間とともに減っていくだけじゃなく、数字の増減を表示したいのですが・・・。

53:名前は開発中のものです。
10/05/25 12:17:34 tdz/xrWI
スレ跨ってすみません
前スレ986です
目的はオート中のウェイトをクリックなどの操作でキャンセルです
「どんな操作で」が質問中に抜けていて混乱させてしまいすみませんでした
前スレ995を参考にやってみようと思います
みなさんありがとうございました

54:名前は開発中のものです。
10/05/25 12:21:06 StsUsnmU
>>52
カウントダウンタイマーなら、残り時間を格納している変数があるはずだから
そこをHPの変数とかに置き換えればOK
あとは残り時間を減らしていく部分とか、ゼロになると何かする部分とかは削る

55:名前は開発中のものです。
10/05/25 13:44:20 6CvLfqH6
ZOOMプラグイン使って縮小させるとかでいいんじゃない
簡単だし

56:名前は開発中のものです。
10/05/25 16:59:43 AqubFvJ8
ZOOMだと、右から左にグラデがかかってる画像とかをバーにすると、ちょっと駄目かも。
setSizeでレイヤの描画表示領域のサイズを変えるのが一番いいんじゃね


57:名前は開発中のものです。
10/05/25 17:29:25 T4GTU+pL
>>56
よさげだね。

58:名前は開発中のものです。
10/05/25 23:33:51 wXbNmro6
>>55
国家の基はあくまでも人です。対等や平等はありえません。
あらゆる対人関係が上下関係であるのと同様、国家間の関係は上下関係です。
日本はまず日中関係、日韓関係でそこをはっきりさせる必要があります。
子どもの躾と同じです。
そして日米関係、これは正確には米日関係という事になります。
甘んじろと言うのではありません。
分・際を弁えることと下に甘んじることは、全く違います。
二言目には対等だの平等だの口にする民主党は、そこを理解していません。

59:名前は開発中のものです。
10/05/26 16:19:28 NStzn3an
>>58
ラーメンまだー?

60:名前は開発中のものです。
10/05/26 16:28:41 Z7HeaOfL
>>59
誤爆だろそうでなくても相手するなアホ

61:名前は開発中のものです。
10/05/27 12:22:15 dJ3cKJXP
背景を3Dにするってできますか?

62:名前は開発中のものです。
10/05/27 12:22:51 fvNtsgl2
その質問をしているレベルでは永遠にむり

63:名前は開発中のものです。
10/05/28 04:22:27 BMOhnCwO
ヒントだけでもお願いします

64:名前は開発中のものです。
10/05/28 08:21:12 zXqRvFOz
3Dソフトを買う→背景を作ってレンダリング→背景レイヤに表示 終わり

65:名前は開発中のものです。
10/05/28 09:29:40 lF306QjG
>>63
きわめて確立は低いがマジ質問の可能性にかけて。

吉里吉里内でレンダリングしたり、3D画像を動かそうと思ったら無理。
既存の吉里吉里ではそういった物はサポートされていない。
3Dで作った画像を背景にするのは当然可能。つか2Dも3Dもこれなら
一緒だからな。


66:名前は開発中のものです。
10/05/28 10:55:15 pNfHlrW7
kagexってクリッカブルマップってのは使えない?

67:名前は開発中のものです。
10/05/28 12:07:45 SEzdAxm/
>>65
drawdeviceIrrlicht プラグインってのがあってだね。
無理ではないんだ

68:名前は開発中のものです。
10/05/28 14:36:44 lF306QjG
>>67
実はその存在は知ってたり。
ただ、一般的ではないし、簡単に導入できるものでもないので割愛した。
あくまでも吉里吉里のツールとして想定されてないって感じで書いたんだが
まあ、回りくどかったな。
「プラグインならあるけど、恐らく君じゃ無理」と書くべきだったかも。


69:名前は開発中のものです。
10/05/28 16:03:47 eZrIM7a5
嘘を書くような奴は回答しなくていいんだ。

70:名前は開発中のものです。
10/05/28 20:06:13 p9xTwI73
ポインタ値を使って読み書きできるバッファプラグインを作ったんだが、
TJSの層からポインタ使って云々て吉里吉里だと一般的じゃないよね。
なんで? tjs_intで値運ぶとconstとかの情報が消えていろいろ危険だから?

71:名前は開発中のものです。
10/05/28 20:10:01 p9xTwI73
あ、ていうかスクリプト言語からポインタ云々自体がそもそも滅多にないか。
でも吉里吉里はどうせネイティブ層とズブズブなんだから、
ポインタであれこれするのも一般的になっていいのにと思う。
そうすればスクリプトからレイヤのピクセル直接弄ったりが楽になるのに。

72:名前は開発中のものです。
10/05/28 20:11:15 ARWL4hqx
単純に「ポインタを使ってまで処理すること」に対する需要がTJS(というか吉里吉里全般)においては少ないってだけなんじゃね?

73:名前は開発中のものです。
10/05/28 20:41:06 QLlJeu5r
>>71
一般的には、TJS からポインタさわれても破壊おこすだけでメリットゼロだからだろう。
TJSから扱う時点でいろいろ操作インターフェース間にはさまって、ポインタつかうメリットであるところの性能でないし。

インターフェース仕様さらしてくれれば批評したげるよw

74:名前は開発中のものです。
10/05/28 20:59:23 p9xTwI73
例えばこういう使い方とか。

/* STLのvector<unsigned char>とTJSのArrayの合いの子みたいなもの */
var buf = new OctetBuilder( );
/* 最初のスキャンラインをmemcpy */
buf.addBlock( layer1.mainImageBuffer, layer1.mainImageBufferPitch );
/* バッファ内のアドレスを他の関数(ネイティブ層)へ渡す 例えば反転とか */
GL.flipScanLineBytes( buf.begin, buf.end );
/* 別のレイヤへmemcpy */
buf.copyTo( layer2.mainImageBufferForWrite, buf.length );

レイヤのサイズが違ったりぬるぽだったりしたら鼻から悪魔でたしかに怖いけど。

75:名前は開発中のものです。
10/05/28 22:00:16 QLlJeu5r
>>74
GL が汎用のビットマップ操作のクラスを実装したものだと想像するが、
その作りだと、あまりにも簡単にふっとびすぎるだろう。TJSのメリットである安全性を犠牲にしてまでつくる構造じゃない^^;

layer の mainImageBuffer や mainImageBufferPitch はプラグイン内部でだけ触るべきものだね。
OctetBuilder の begin や end も同様で、任意の場所からアクセスさせたいなら、例えば、インターフェースは
GL.flipScanLineBytes(buf, begin, end) として、begin と end が null ないし voidなら、それぞれ buf の
先頭と末尾を意味させて、数値ならオフセット値として扱う、といった構造にするのが妥当。
さらに buf の範囲外なら例外をなげれば万全

引数の型判定できるんだから、処理対象として、Layer を渡された時と、OctetBuilder を渡された時を
区別して内部分岐してどちらでも同じような感覚で使えるようにするのがユーザ的には一番使いやすいだろうね。
ただ、そうすると、Layer と OctetBuilder のインターフェースが違うのが気持ち悪いというのがあるかもしれない。

それを嫌う場合、逆転の発想で、最初から両方に同じインターフェースをはやしてしまうという手がある。
まず、もろもろ必要なポインタ操作をうけつけるインターフェースをネイティブで準備して、ObjectBuilder はその
インターフェースを単純に継承した実装にする。Layer 用には、同インターフェースの操作を、Layer の実インスタンスに proxy して
アクセスするような実装を準備して、メソッド呼び出しの時点でフックして追加で NativeInstance をを持たせるか、あるいは
単にそれで作ったクラスと Layer を多重継承させれば良いだろう

それらのオブジェクトを処理する機能側では、まず対象オブジェクトがそのインターフェースをもっているかを
NatigeInstanceSupport 経由で確認して、もってなければエラー、もってれば、そのインターフェースを直接
ネイティブでさわるようにすれば、データの扱い的にも安全、コード的にもすっきり、さらに性能も出せる

76:名前は開発中のものです。
10/05/28 22:17:13 p9xTwI73
うん、生ポインタ弄りたいなら安全性的にもパフォーマンス的にも
プラグインからやるのが一番ってのはわかるし、俺も普通そうしてるんだ。

ただ今、大量かつ高速なI/Oが必要な処理を実装してて、
吉里吉里のコンソールから手軽にテストしたいっていう要求から
生ポインタ使ったインタフェースを実装してみたんだ。
オクテット列とかのテンポラリを介すると、その分のコストで正確なベンチがとれないなと思って。

OctetBuilderはいちおう普通のポインタ使わないインタフェースもあるけどね。
buf.push( 0xDE, 0xAD, <%BE AF%>, OctetBuilder.fromHex("DE AD BE AF") );
/* buf.asOctet == <%DE AD BE AF DE AD BE AF%> */

77:名無し@腹八分
10/05/28 22:19:42 tiCntCqx
URLリンク(1st.geocities.jp)
↑評価してほしいです。


お願いします。<(_ _)>




78:名前は開発中のものです。
10/05/28 22:30:05 QLlJeu5r
>>76
まあテスト用でってのなら、いいんじゃね?
一般的になることはないだろねってことで。

吉里吉里の標準オブジェクトでポインタあつかってるのは、Layer のバッファ関係、
DrawDevicce の interface、Window の メッセージ処理まわり、ぐらいかな。
いずれもプラグインから扱うのが前提の機構


79:名前は開発中のものです。
10/05/29 09:25:29 OkbhcHwt
文字の大きさをタテ長にしたりヨコ長にしたいのですができますか?

80:名前は開発中のものです。
10/05/30 11:17:52 DGNPHycY
一回別のレイヤに描画してそれを拡大コピーするとかでは?

81:名前は開発中のものです。
10/05/30 11:23:43 lNqBg+0m
むつかしそうですがやってみます

82:名前は開発中のものです。
10/05/30 22:54:43 4FPb+t42
[my_change storage="背景"]
とやると、背景が一定時間で
背景0→背景1→背景2→背景0→...
と移り変わるようなプラグインを作りました。
プラグインのonTimer関数内で、
elm.storageを適切に変更 → kag.tagHandlers.image(%[page:elm.page, layer:elm.layer, storage:elm.storage]);
と背景切り替えを行っている形です。

しかし、これをやっただけですと、セーブロードに対応できません。
この切り替えが行われている場面でセーブしたセーブデータは、ロードされたときに切り替えまで再現してくれません。
どうしたら、ロードされたときにも再現してくれるでしょうか。

よろしくお願いいたします。

83:名前は開発中のものです。
10/05/31 00:07:14 G2n3r+RB
状況が分かりかねますが、
tagHandlers.imageを通しているので、
使用しているレイヤがKAGのbaseレイヤで、セーブ可能ラベルを(中略)、画像情報はセーブされていると思うので、
たぶん、onTimerが動かないとか、いうような話ではないかと思うのですが…
タイマーが動いているか否かのフラグをf.とtf.にもって
ロードのタイミングで比較、必要なら、onTimerを再度設定とか。つ、「Plugin.tjs」

84:82
10/05/31 23:44:23 wN77rWjQ
すいません、試してみる時間がないので、急ぎな返信します。

分かりにくい状況ですいません。
f.とtf.にフラグを持つ の辺りがよく分からなかったので、色々調べてやってみたいと思います。
onStoreだとかonRestoreなんてのを調べてましたけど、これは見当違いだったみたいですね;;

ご返信、ありがとうございます。

85:名前は開発中のものです。
10/06/01 00:46:55 Pd4qQI2v
>>84
いや、onStore とか onRestore であってる・・・

86:名前は開発中のものです。
10/06/01 00:52:23 j79FRSuz
>>84
83です。状況が分かりかねるので確ではありませんが、onRestore、使ってください。見当違いじゃないです!!
「f.とtf.」は、KAGのゲームフラグと一時変数(kag内の辞書flagsとtflagsへの参照)のつもりでした。
別に他の変数でもOKですっていうか、「rain.ks」みたいに、プラグインに変数を持った方が自然かもです。





87:名前は開発中のものです。
10/06/01 02:38:57 Vvvr/3aH
棒グラフの表示をしたいのですが、どういう風に考えればいいですか?


88:名前は開発中のものです。
10/06/01 03:17:44 Vvvr/3aH
layerExDraw というプラグインを使えばよさそうなことが分かりました。

プラグインというのは多分pluginというファイルに掘り込めばいいんでしょ?

で、そこから先が分かりません。
layerExDrawの製作者のHPが見つからないし、どこにも説明らしき物が見つからない。
誰か知りませんか?

89:名前は開発中のものです。
10/06/01 03:26:51 RBkazghK
円グラフとか使うなら、layerExDrawプラグイン使わなきゃ無理だけど、
棒グラフならTJSスクリプトだけで出来るよ。
数値の分だけ、fillRectやcolorRectで塗りつぶせばいいだけ。

90:88
10/06/01 03:35:49 Vvvr/3aH
>>89
TJSを全部教えてくれとはいいません。
TJSを学ぶために、まず始めに行くべき所だけでも教えてもらえませんか?

91:名前は開発中のものです。
10/06/01 03:38:39 6OAAlPhY
テンプレ見ればいいんじゃね

92:88
10/06/01 03:43:45 Vvvr/3aH
それじゃ、もういちどシステムリファレンスでも見てくることにします。
ありがとうございました。


しかし、けっきょくあのプラグインの使い方は分からなかった。
googleがこんなに使えないと思ったのは初めてだ。

93:88
10/06/01 03:47:59 Vvvr/3aH
何度も何度もすいませんが、
何とか理解できそうです。
>>89さんのアドバイスも役に立てることができそうです。
ありがとうございました。

94:名前は開発中のものです。
10/06/01 03:49:30 RBkazghK
>>92
TJSと吉里吉里のリファレンスで基本文法と関数覚えれば、5分くらいで作れるよ。
あと、プラグイン使うときは、
Plugin.link(プラグインのファイルパス)で読み込めばいい。
これもリファレンスに書いてある。

95:名前は開発中のものです。
10/06/01 03:51:14 RBkazghK
ごめ、Plugin.linkじゃなくてPlugins.linkね。

96:名前は開発中のものです。
10/06/01 05:27:34 YT5KYGyM
layerExDrawのマニュアルは吉里吉里開発サイトにある。
サンプルもbranchesのkag3exにあるはず。多分ね。なければごうさんの日記のログのどっか。
一通りTJSを読み書き出来るようになっているのが前提みたいだから結論だけ欲しい人には難しいかも。

97:名前は開発中のものです。
10/06/01 10:30:32 cLU1K25v
吉里吉里から別のプログラムを呼び出すにはどうすればいいでしょうか?

98:名前は開発中のものです。
10/06/01 10:35:28 h6NlFUoX
>>97
step.1
 まずマニュアルを隅から隅まで読みます
step.2
 マニュアルを読んで得た知識を使用します
step.3
 目的が達成されます

99:名前は開発中のものです。
10/06/01 11:09:17 4QGnC0i3
exeとかcallとかそういうのがついた命令があったと思う。

100:名前は開発中のものです。
10/06/01 12:02:17 cLU1K25v
そういや2chってゴミの山だったね

101:名前は開発中のものです。
10/06/01 12:23:03 O7x2gz6g
ゴミをふやすのはやめようね

102:名前は開発中のものです。
10/06/01 12:25:01 cLU1K25v
いいんじゃね?
ゴミだし

103:名前は開発中のものです。
10/06/02 14:58:42 GaAYS5px
>>99が答えてくれてるのにそれはなかろうよ

104:名前は開発中のものです。
10/06/02 18:39:44 XikyAc6H
>>103
(的確に)答えていると言う意味では、
>>98
が正解だと思うけどね w

105:名前は開発中のものです。
10/06/02 19:03:42 GaAYS5px
まあ、マニュアル検索すればよい問題だし、ぐぐっても結構出ると
思うしな。

106:名前は開発中のものです。
10/06/02 19:18:13 /IPYYtTB
中世錬金術じゃないんだから、鉛の質問から黄金の回答なんて出てこない
てことで質問者は>>1を良く読めと

107:97
10/06/02 19:22:09 y5ow5RML
>>1 を素早くサッっと良く読みましたがわかりません><

108:名前は開発中のものです。
10/06/02 19:40:28 y5ow5RML
空手チョップを極めるくらい簡単でした
System.shellExecute( "data/FFFTP.exe" );

109:98
10/06/02 23:39:32 DgY+ehAp
よくできましたね、おめでとう

110:名前は開発中のものです。
10/06/03 00:06:03 jflbwqBr
traceタグか同様の機能があればTJS内で使いたいと考えてます。
具体的には、メソッド内で関数名や式の中身などをコンソールに
出力したいのです。

111:名前は開発中のものです。
10/06/03 00:28:36 EwdzgW1R
Debug.message("関数名");

112:名前は開発中のものです。
10/06/03 00:38:33 jflbwqBr
>>111
ありがとう御座います。
もう1点なのですが、デバックモードである事をTJS内で判断できますでしょうか?
デバックモード中のみだす様にしたいのです。
無理なら適当な変数で代用可能と思っておりますが、そっちで動機が取れれば
一番なので。

113:名前は開発中のものです。
10/06/03 09:15:20 lpRFNAdF
System.getArgument("-debug") == "yes"

114:名前は開発中のものです。
10/06/03 14:45:46 3i4y/tf+
ダブルクォートやシングルクオート内で文字列として2つの記号を出力したい場合どうしたらいいでしょうか?
調べ方が悪いのかなかなかヒットしなくて困っています。申し訳ありませんがよろしく御願いします。
↓マクロ内ソース
tf.str="中身いじるよ!";
[link exp="&'kag.historyLayer.store(\n'+tf.str+'\n\n)'"][emb exp="tf.str"][endlink]
↓実行結果
kag.historyLayer.store(\n中身いじるよ!\n\n)←ダブルクオートで囲んでないので文字列として認識されず深刻なエラー

115:名前は開発中のものです。
10/06/03 14:51:42 8aFL/sP0
曲Aと曲Bがあるとして、普段は曲Aを再生、
任意のタイミングでAをフェードアウトしてBを再生、Bが終わったらフェードアウト→Aに戻る、
この時Aの再生を、フェードアウトして止まった所の続きからにしたいんですが
そういう事が出来る方法は無いでしょうか?

116:名前は開発中のものです。
10/06/03 14:59:47 MRMJZaGU
>>114

(\\n'+tf.str+'\\n\\n)
こういう意味?

117:名前は開発中のものです。
10/06/03 15:03:44 3i4y/tf+
>>115
前スレにあったkag.bgm.currentBuffer.positionとか使うとできなくは無いと思うよ!

118:名前は開発中のものです。
10/06/03 15:13:01 3i4y/tf+
>>114
んーちょっと違うと思う(\nは改行のつもり動作するかは分からない・・・)
kag.historyLayer.store(\n中身いじるよ!\n\n)これを
kag.historyLayer.store('\n中身いじるよ!\n\n')こうなるようにしたい。

119:名前は開発中のものです。
10/06/03 15:14:23 3i4y/tf+
安価ミスった>>116さんへのレスです
改行はreline() 呼ばなきゃダメかな/(^o^)\

120:名前は開発中のものです。
10/06/03 15:23:07 8aFL/sP0
>>117
BGMを好きな秒数から再生出来れば良さそうなんですが
そういう事が出来そうな命令が無さそう・・・

121:名前は開発中のものです。
10/06/03 15:27:05 cGph92cL
>>114
クォートもダブルクォートも \ でエスケープできる。あとはわかるな

122:名前は開発中のものです。
10/06/03 15:28:26 cGph92cL
>>120
playbgm タグの start オプション

123:名前は開発中のものです。
10/06/03 15:35:12 8aFL/sP0
>>122
playbgmのリファレンス、startの項が「ループチューナで指定したラベル」ってなってるんですけど
ループチューナー起動してもラベルなんて設定項目無いし、
このラベルって何を指してるんでしょう? 秒数を入れても何にもならないし・・・

124:名前は開発中のものです。
10/06/03 15:44:36 3i4y/tf+
>>121
[link exp="&'kag.historyLayer.store(`"'+mp.文字+'`")'" target="&mp.link"][emb exp="mp.文字"][endlink]
エスケープって言うのか・・・助かった。お陰で動いた・・・が改行入れようと(;)を入れようとするとエラーが・・・
少し頑張ってみよう ありがとう

125:名前は開発中のものです。
10/06/03 15:53:46 cGph92cL
>>123
編集/新規ラベルを作成

いつのバージョンからあるかは知らん。すくなくとも kag で対応した時点以降なら存在してる

126:名前は開発中のものです。
10/06/03 16:06:07 cGph92cL
>>124
やりたい処理を iscript で function つくって、kag 側からはそれを呼び出すだけにするのオススメ。なやまなくて済むから。

127:名前は開発中のものです。
10/06/03 16:11:43 8aFL/sP0
>>125
おかしいな、編集なんて項目自体無い・・・と思ったら
いつの間にかループチューナーが「2」になってた・・・

128:名前は開発中のものです。
10/06/03 17:22:59 3i4y/tf+
>>126
>>124みたいな事もiscript内で出来る?kwsk

途中から再生するだけなら・・・
[iscript]
//第一引数:ファイル名
//第二引数:ループするか(TorF)
//第三引数:サウンドを再生始める場所[ms]
function totyuu(f_storage,f_loop,f_positionMS)
{
tf.volume=kag.bgm.currentBuffer.volume2;
kag.bgm.currentBuffer.volume2=0;
kag.bgm.play(%[storage:f_storage,loop:f_loop]);
kag.bgm.currentBuffer.paused=true;
if(f_positionMS>kag.bgm.buf1.totalTime)
{
System.inform("ファイルのトータル時間を=>"+kag.bgm.buf1.totalTime+"\n指定した時間=>"+f_positionMS+"が超えています","ERROR!!");
}
else
{
kag.bgm.currentBuffer.position=f_positionMS;
}
kag.bgm.currentBuffer.volume2=tf.volume;
kag.bgm.currentBuffer.paused=false;
// kag.bgm.fade(%[time:1000,volume:tf.volume]);
}
[endscript]
[eval exp="totyuu(`"dawn.ogg`",`"false`",5000);"]

フェードってどうやるのかな:(;゙゚'ω゚'):

129:名前は開発中のものです。
10/06/03 17:41:19 cGph92cL
>>128

や、単純に、

function work(param)
{
kag.historyLayer.store("\n" + param + "\n");
// ほか必要な処理とかてきとーに
}

とか複雑な処理を封じる関数つくっとけば呼びかたがシンプルになるから楽っしょってだけの話。
エンティティ使うとわけわかんなくなるなら、tf とかに変数保存しておいて、それそのままグローバルに使うのが楽。
しかしその場合、変数への代入処理を eval で書く場合、マクロ引数を mp でアクセスするしかなくてちと微妙ではある

kag.tagHandlers = function(elm) {

130:名前は開発中のものです。
10/06/03 17:52:40 cGph92cL
書きかけでだしてもーた。AfterInit.tjs に以下をたして、KAGからは

[set name="tf.value" value=値]

とか使えば、value 部分にマクロの展開引数とかエンティティとか使えて便利。

kag.tagHandlers.set = function(elm)
{
var name = elm.name;
if (name !== void) {
local l = name.length;
if (l > 3 && name.substr(0,3) == "sf.") {
sf[name.substr(3)] = elm.value;
} else if (l > 3 && name.substr(0,3) == "tf.") {
tf[name.substr(3)] = elm.value;
} else if (l > 2 && name.substr(0,2) == "f.") {
f[name.substr(2)] = elm.value;
}
}
return 0;
} incontextof this;

131:名前は開発中のものです。
10/06/03 18:02:12 8aFL/sP0
あー駄目だ・・・
[eval exp="tf.bgmtime = kag.bgm.currentBuffer.position"]\
で現在再生中のBGMのpositionを取得しておいて、
BGM.tjsを弄って、300行目ちょい辺りの「buf.samplePosition」に、
elm.positionを追加したfadeinbgmからpositionに入れた数値を代入してみてるんだけど

[fadeinbgm storage="bgm" time=1000 position=1500000]
とかだと途中から再生されるのに

[fadeinbgm storage="bgm" time=1000 position=&tf.bgmtime]
っていう風にやると途中からにならない
意味が分からない・・・

132:名前は開発中のものです。
10/06/03 18:15:20 pbpSRJov
fadeinbgmをやる前に、tf.bgmtimeの値をきちんと確認してみれ
@eval exp="System.inform(tf.bgmtime, typeof(tf.bgmtime))" とかしてやれば
tf.bgmtimeの値とデータ型(ちゃんと数値になってるか?voidとして乙ってるんじゃないか?とか)が取れる筈だ


133:名前は開発中のものです。
10/06/03 18:27:21 cGph92cL
>>131
samplePosition と position は単位が違う
samplePosition に代入するなら samplePosition を取得しないと。

134:名前は開発中のものです。
10/06/03 18:37:58 8aFL/sP0
>>132
データ型もチェックして、int変換とかかましたりして
それでも動かないからおっかしいなーと首を傾げてた・・・んだけど

>>133
ぎゃおおおおおお!?そんな罠が!!!
合わせたらちゃんと動いた、本当にありがとうございました

135:名前は開発中のものです。
10/06/03 18:40:56 A8DIW8O6
>>124
まだ、がんばってる? 「@ つき文字列即値」で、

[link exp="&@'kag.historyLayer.reline(); kag.historyLayer.store(\'${mp.str}\'); kag.historyLayer.reline(); kag.historyLayer.reline();'"]

exp属性の中味を関数化するなら、引数でmpを渡す。

136:135
10/06/03 20:31:36 ozYmYk0X
ゴメむ
>>135の場合は渡すのmpじゃなかった…
@macro name="dd"
[link exp="&@'tf.dd(\'${mp.str}\')'"][emb exp=mp.str][endlink]
@endmacro
@iscript
tf.dd= function(str){
historyLayer.reline();
historyLayer.store(str);
historyLayer.reline(); historyLayer.reline();
} incontextof kag;
@endscript
linkのexpの話は、ここの過去ログその18の672辺りに出てる。
メッセージ履歴に選択した選択肢を表示してあげるの、親切でいいかもね。
丁度、自分もどうしようか迷っていたので、参考になったd。

137:名前は開発中のものです。
10/06/03 23:58:23 3i4y/tf+
>>130
ごめん俺にはそれの使い方がよく分からんorz
>>136
うおおおおすごい、有難うございます まさに思い通りの動きです・・・。
自分初心者なのでよく分からないのですが
tf.dd= function(str){〜} incontextof kag; と言うのはどういう動きになるんでしょうか
function tf.dd(str){〜} incontextof kag; のような感じなのかなー/(^o^)\

138:136
10/06/04 00:34:06 BYfWUNxd
>>137
そこら辺は、式中関数をtjsリファで調べて。(下手な説明より正確で分かり易いと思うから)

139:名前は開発中のものです。
10/06/04 00:36:50 CJRqrvUY
>>138
了解! 沼にはまってたので助かりました。本当に有難うございました。

140:名前は開発中のものです。
10/06/04 20:24:47 Pg2+TQPO
おさかな定食の右クリメニュー(画像表示版)みたいなのってサンプルで扱ってるとこないすか?

141:名前は開発中のものです。
10/06/05 20:16:46 533l+S9G
ほう オープンとクローズできるのか・・・

142:名前は開発中のものです。
10/06/05 20:22:18 533l+S9G
>>141
誤爆
>>140
ただ画像用意するだけじゃなかったあれ

143:名前は開発中のものです。
10/06/05 20:47:29 awSORBFu
KKDE2って無くなったの?

144:名前は開発中のものです。
10/06/05 20:58:05 Lj3Gk2Yk
いやあるだろ
更新はめっきり無くなったが

145:名前は開発中のものです。
10/06/05 22:27:36 ExiE0rId
あれ結構いいのになあ

146:名前は開発中のものです。
10/06/06 00:07:51 el33y/Y5
link expのなかで;を使って複数行書いているときにclickse と clickbufを指定するとエラーになるのはなぜなんだろう

147:名前は開発中のものです。
10/06/06 00:53:46 AKTjhpgO
ありゃ、本当だね〜
「;」じゃなくて「,」を使えば大丈夫みたいだけど。

148:名前は開発中のものです。
10/06/06 01:02:16 el33y/Y5
カンマで代用できるかthx

149:名前は開発中のものです。
10/06/06 22:53:33 kDYXc9la
ちょっと知恵を拝借したく。
ワイドモニターで以下のソースを実行した場合、左右が灰色になるんだけど、
他の人はどうでしょう?(終了時はAlt+F4を押してください)

var Win = new Window();
Win.setInnerSize(800, 600);
Win.visible = true;
Win.fullScreen = true;

var PLayer = new Layer(Win, null);
PLayer.setImageSize(800, 600);
PLayer.setSizeToImageSize();

KAGのサンプルでフルスクリーンにすると黒になるし、吉里吉里2の
リファレンスを見る限りでもそうなるのが正しいみたいなんだけど、
どうすれば黒にできるのかが分からない。
このソース、なにかやり忘れてる(もしくは余計なことをしてしまっている)
ことがあるんですかね?

150:名前は開発中のものです。
10/06/06 23:24:26 winne2ZK
>PLayer.setImageSize(800, 600);
>PLayer.setSizeToImageSize();


151:名前は開発中のものです。
10/06/06 23:36:44 aKIFD5Ze
クリッカブルマップにて、クリック時に動作することは可能だと思うんですけど、ドラッグにも対応させることはできませんか?
つまり、クリックを押した瞬間にだけマップが反応するのではなく、押している最中に反応してほしいということです。

152:名前は開発中のものです。
10/06/07 07:24:18 mWr3xl6q
>>151
自分はクリッカブルマップを開始トリガーとして使い、あとの処理は
WindowクラスのonMouseMoveとonMouseUpイベントにやらせてる
KAGだけだと無理かなあ

153:149
10/06/08 00:52:58 XMP4rfoF
>>149
分かる人いないですかね?
KAGに頼らずに吉里吉里を活用してる人ってあんまりいないのかな。
自力でKAGを解析するしかないか。
自分以外の人間のソースを見るの面倒だな……。

154:名前は開発中のものです。
10/06/08 02:14:00 +38k5hEN
>>153
昔おなじことでなやんだ記憶があったけどなんだっけかなとしばらく悩んでたんだけど思い出したよ。

それ、吉里吉里のスクロールバー領域を持ってるウインドウのベースの色がそのまま出てる。
なので、showScrollBars = false とすると、描画されなくなって地のウインドウ色の黒になる。
ただ、そうすると、プライマリレイヤ以外がのってる周辺のクライアント領域を更新するものがいなくなるので、
可変サイズウインドウだとprimaryLayer のサイズを追従させるような処理かかないと画面にゴミがのるようになる。
なおフルスクリーン切り替え時は一度クリアがかかるのでゴミはでない。

ぶっちゃけバグだと思われる> off にするとプライマリレイヤ外の更新が止まってゴミがでる


155:149
10/06/08 09:09:09 XMP4rfoF
>>154
黒になった!! ありがとう!

>吉里吉里のスクロールバー領域を持ってるウインドウのベースの色がそのまま出てる
これもバグなんじゃないのか……。
Windowsの仕様なら仕方ないけど、Windowsプログラマ以外の人間が自力でこの回答にたどり着くのは難しそう。
showScrollBars か fullScreen のマニュアルに但し書きを付けて欲しかったですね。



次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5328日前に更新/270 KB
担当:undef