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

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

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

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

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

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

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

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

前スレ
■吉里吉里/KAG/TJS雑談質問スレ■その20
http://pc11.2ch.net/test/read.cgi/gamedev/1264933876/
0002名前は開発中のものです。2010/05/22(土) 15:43:13ID:tZCB+yDd
過去スレ
19 http://pc11.2ch.net/test/read.cgi/gamedev/1254711054/
18 http://pc11.2ch.net/test/read.cgi/gamedev/1244218314/
17 http://pc11.2ch.net/test/read.cgi/gamedev/1234356309/
16 http://pc11.2ch.net/test/read.cgi/gamedev/1227735828/
15 http://pc11.2ch.net/test/read.cgi/gamedev/1216865800/
14 http://pc11.2ch.net/test/read.cgi/gamedev/1204006714/
13 http://pc11.2ch.net/test/read.cgi/gamedev/1195603475/
12 http://pc11.2ch.net/test/read.cgi/gamedev/1186395177/
11 http://pc11.2ch.net/test/read.cgi/gamedev/1175480292/
10 http://pc11.2ch.net/test/read.cgi/gamedev/1166252149/
9 http://pc8.2ch.net/test/read.cgi/gamedev/1160427850/
8 http://pc8.2ch.net/test/read.cgi/gamedev/1147590108/
7 http://pc8.2ch.net/test/read.cgi/gamedev/1138099311/
6 http://pc8.2ch.net/test/read.cgi/gamedev/1116774771/
5 http://pc8.2ch.net/test/read.cgi/gamedev/1095183786/
4(タイトルは3) http://pc5.2ch.net/test/read.cgi/gamedev/1081199649/
3 http://pc5.2ch.net/test/read.cgi/gamedev/1067436686/
2(再利用) http://pc2.2ch.net/test/read.cgi/gamedev/1044256119/
1 http://pc2.2ch.net/test/read.cgi/gamedev/1021890648/
0003名前は開発中のものです。2010/05/22(土) 15:44:07ID:tZCB+yDd
【公式】
kikyou.info
ttp://kikyou.info/
吉里吉里/KAG 掲示板
ttp://kikyou.info/tvp/bbs/
公式掲示板過去ログ検索
ttp://www.kirikiri.info/bbslog/
吉里吉里開発サイト
ttps://sv.kikyou.info/trac/kirikiri/

【ドキュメント】(最新版のオンラインマニュアル)
KAG System リファレンス
ttp://devdoc.kikyou.info/tvp/docs/kag3doc/contents/
吉里吉里2 リファレンス
ttp://devdoc.kikyou.info/tvp/docs/kr2doc/contents/
TJS2 リファレンス
ttp://devdoc.kikyou.info/tvp/docs/tjs2doc/contents/

【FAQ】
逆引きマニュアル
ttp://homepage1.nifty.com/gutchie/kirikiri_kag2/faq.html

【網羅的リンク集】
OUTFOCUS Wiki ブックマーク
ttp://hpcgi1.nifty.com/gutchie/wifky/wifky.pl?p=%A5%D6%A5%C3%A5%AF%A5%DE%A1%BC%A5%AF
0004名前は開発中のものです。2010/05/22(土) 15:45:22ID:tZCB+yDd
【講座】
吉里吉里2/KAG3によるノベルゲーム開発
ttp://homepage1.nifty.com/gutchie/kirikiri_kag3/game_dev.html
Studioついんくる - 吉里吉里2/KAG3講座
ttp://contest2004.thinkquest.jp/tqj2004/70619/subindex.html
RUTA'S GAME - 初心者のための吉里吉里講座
ttp://www.manitoux.net/ruta/game/kiri/
TJSに挑戦!
ttp://www.geocities.co.jp/tjschallenger/

【過去の講座】
KAGと心中 ※※一部の仕様が現在と違うので注意※※
ttp://yokohama.cool.ne.jp/pia/
成恵同盟
ttp://www.geocities.jp/narue2664/moeKAG/(消滅)

【解説】
Inside KAG3
ttp://hpcgi1.nifty.com/gutchie/wifky/wifky.pl?p=Inside+KAG3
TJS入門
ttp://homepage1.nifty.com/gutchie/kirikiri_kag/tjs_primer.html
吉里吉里 inside
ttp://tohka.info/doku.php/inside/index
0005名前は開発中のものです。2010/05/22(土) 15:46:11ID:tZCB+yDd
【KAGEX】
KAGEX
ttp://ruriko.denpa.org/2006_ca.html#W_%E5%90%89%E9%87%8C%E5%90%89%E9%87%8C
KAGEXのダウンロードの仕方(Subversionリポジトリへのアクセスの仕方)
ttp://kikyou.info/diary/?200610#i4_3

※注意
KAGEXのバージョンアップに伴い「リポジトリのURL」が変わっています。
該当箇所は↓に置き換えてください。
最新版:ttps://sv.kikyou.info/svn/kirikiri2/branches/kag3ex2
旧版:ttps://sv.kikyou.info/svn/kirikiri2/branches/kag3ex1
0006名前は開発中のものです。2010/05/22(土) 15:59:37ID:Agw/UFCd
  __
  `ヽ, `ヽ
   ,.' -─-ヽ.  えーい
  ( ´・ω・)
   / /wk|つ━☆ ,.
  / / !_i_〉l    ‘*+ *+
 く_/_,ルノノ     ゜‘ *‘+¨
           □ □ □ □ □
          □ □ □ □ □
          □ □ □ □ □
          □ □ □ □ □
          □ □ □ □ □
          □ □ □ □ □
           □ □ □ □ □
          □ □ □ □ □
           □ □ □ □ □
          □ □ □ □ □
          □ □ □ □ □
0007名前は開発中のものです。2010/05/22(土) 16:00:55ID:Agw/UFCd
>>6

消滅……あらら
0008名前は開発中のものです。2010/05/22(土) 16:04:00ID:Agw/UFCd
ごめん、6は、コピペ失敗した。


普通に>>1 乙
0009名前は開発中のものです。2010/05/22(土) 16:11:16ID:VZs46LDb
>>1おつ
0010名前は開発中のものです。2010/05/22(土) 17:39:31ID:py5wO2FA
TJSってのはdeeたんが考えたオリジナル言語?
0011名前は開発中のものです。2010/05/22(土) 17:50:49ID:8G+2upoN
TJSってJAVAじゃないのか、ずっとそうおもってた
0012名前は開発中のものです。2010/05/22(土) 18:50:26ID:py5wO2FA
Java

TJS

kagシナリオ

ってことか。
0013名前は開発中のものです。2010/05/22(土) 19:02:19ID:2qEI+QNM
TJSとJavaはまったく別物だよ。
構文をちょっと参考にしてる程度で。
0014名前は開発中のものです。2010/05/22(土) 19:18:53ID:hPo3m1+a
指定した色を描画しない方法ってどうやるの?
もしくは指定した座標と同じ色を描画しない

背景にキャラクターを上書きするときの処理
0015名前は開発中のものです。2010/05/22(土) 19:30:44ID:MCyXUwUF
前景じゃなくて背景なのか?
0016名前は開発中のものです。2010/05/22(土) 19:56:28ID:hPo3m1+a
背景描画して その上にキャラクターを描画したいですが
透明な部分も描画すると全部上書きされるので
指定した色を描画しない方法です
0017名前は開発中のものです。2010/05/22(土) 20:14:38ID:4Ayb4fhE
今時そんなことしないよ
アルファ使いましょう
0018名前は開発中のものです。2010/05/22(土) 20:36:30ID:hPo3m1+a
アルファよくわからんのです・・・・
0019名前は開発中のものです。2010/05/22(土) 20:46:27ID: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 ~
0020名前は開発中のものです。2010/05/22(土) 20:50:36ID:+Ft0RtaD
>>14
key
リファ読め
でもアルファの方がいいよ本当
0021名前は開発中のものです。2010/05/22(土) 21:04:40ID:H3nd+kJy
いつの間にか新スレが。
>>1

0022名前は開発中のものです。2010/05/22(土) 21:49:28ID:2qEI+QNM
吉里吉里公式のリポジトリに、CRCとかMD5のチェックサムを求めるネイティブプラグインあるかな?
なければ作ってみたいんだが。
0023名前は開発中のものです。2010/05/22(土) 22:06:12ID:oWQjwHtT
なんでリポジトリ見ないの?死ぬの?
0024名前は開発中のものです。2010/05/22(土) 22:13:50ID:hPo3m1+a
かもおおおおおおおおおおおおおおおおん
アルファ三ぷるぅぅぅぅぅううううううううっぅぅぅl
0025名前は開発中のものです。2010/05/22(土) 22:23:22ID:2qEI+QNM
truncだけでもソースがいっぱいだからチェックするのマンドクセ
まあ、無駄にSHA-1とかまでサポートしてるアホなのはないはずだから一通り作ってみるか。
0026名前は開発中のものです。2010/05/22(土) 23:27:07ID:wZsbkn5w
ファイルIOの口がないtjsでチェックサムとか何に使うの?
0027名前は開発中のものです。2010/05/22(土) 23:36:53ID:2qEI+QNM
プラグインからならIStreamでファイルに触れるじゃん。
TJSに公開されてないだけで。
0028名前は開発中のものです。2010/05/22(土) 23:51:15ID:2qEI+QNM
あ、俺はネットワーク通信のデータ検証の用途で使おうと思ってる。
0029名前は開発中のものです。2010/05/22(土) 23:57:50ID:wVFKgm4j
とりあえずスレッド処理がんばれな。そうしないと簡単に画面フリーズするから。
0030名前は開発中のものです。2010/05/23(日) 00:07:06ID:JzgxT+Nv
以前スレッド生で管理しようとして挫折したんだが、
Boost.Asioのスレッドプール使えば大丈夫だったりしないかな……。
0031名前は開発中のものです。2010/05/23(日) 01:24:55ID:8c/di4zs
>>30
スレッドのプール自体は何つかっても関係ない。

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

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

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

Window オブジェクトを使いたくない場合、あるいは、吉里吉里(メインスレッド) とサブスレッド間で相互処理が必要な
場合は、パイプなりセマフォなり適当なプロセス間通信のハンドラを作っておいて、吉里吉里からは、それを continuous handler
でポーリング、サブスレッド側からは適宜 sleep や WaitFor*Object を使ってポーリングして、ハンドシェイクするような形で
処理することになる。吉里吉里側で Wait してしまうと描画が止まるので要注意
0032名前は開発中のものです。2010/05/23(日) 01:28:54ID:rJB3gNQr
こういう人がいるから吉里吉里を使うのはやめられないぜ……。
まったく意味が分からないけど、見ているだけでワクワクする。
これだけの知識や技術を持っているのに自分でエンジンを作らずに吉里吉里を使っている事実。
それほどまでに吉里吉里が優れていると感じる瞬間だ。
0033名前は開発中のものです。2010/05/23(日) 01:37:04ID:8c/di4zs
いや、このくらいの知識は Windows でプログラムするなら常識。知らないとマルチスレッドプログラミングなんてできない
その常識もった上で吉里吉里の仕様を見て入り口を示してるだけ
0034名前は開発中のものです。2010/05/23(日) 02:36:21ID:rJB3gNQr
>>33
そうなのか。
Windowsプログラムができて、吉里吉里の仕様を理解できるなら、同じ物を
作れるだけの力があるに違いないという理解だった。
吉里吉里を利用して拡張できることと、吉里吉里と同じレベルの物を一から
作れることは、能力的に別次元の話なんだな。
だとしても、Deeたんも君らも尊敬の対象にであることに変わりはないのです。
謙遜せずに素直に受け入れろw
0035名前は開発中のものです。2010/05/23(日) 03:57:22ID:OK1vZ87X
プログラム言語なんて一定の条件をj満たしてたら誰でも作れるから
別に驚くほどのことではない
0036名前は開発中のものです。2010/05/23(日) 04:12:14ID:OK1vZ87X
吉里吉里はスクリプト言語
マルチスレッドが考慮されてないのはあたりまえ

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

>>31 はどっちも混合して考えているバカ
0037名前は開発中のものです。2010/05/23(日) 04:25:31ID:McZBVDSq
>>36
神ID
0038名前は開発中のものです。2010/05/23(日) 05:09:50ID:rJB3gNQr
なんか変なのが現れちゃった……論理的な反論なしに短絡的に馬鹿と締めくくってる
ところを見ると、嫉妬君ってやつか。
本人は謙遜してるのにそれを無視して褒めたせいかも。ごめんね。
0039名前は開発中のものです。2010/05/23(日) 06:26:51ID:8c/di4zs
>>36 がどういう思考の流れで「混合」という意味不明な思考に至ったのかはちょっと興味あるなw
0040名前は開発中のものです。2010/05/23(日) 07:10:33ID:nX26q0ke
oggとかに書き込んであるタグ情報を取り出す方法ってある?
タイトルタグとかを抽出出来ると管理が楽になるんだけど・・・
0041名前は開発中のものです。2010/05/23(日) 08:47:09ID:jo1ttNyg
ogg対応のプレーヤやタグ編集ソフトを使うのはダメなのかのう
俺SuperTagEditorつーやつ使ってるけど、
タイトルを一括してクリップボードにコピーできるぞ
そうすりゃ後はテキストファイルにしたりexcelに貼り込んだり

完全自動化したいってんなら、
oggフォーマットを勉強して冒頭のヘッダ情報を抜き出すソフトをお作り
0042名前は開発中のものです。2010/05/23(日) 09:00:19ID:nX26q0ke
いやそうじゃなくて吉里吉里の中で取得して変数に格納なりしたいって話なんだけど
0043名前は開発中のものです。2010/05/23(日) 16:10:46ID:lNXx/gay
>>36
>>31はグリーンスレッド的な実装をする話をしてるんであってマルチタスクの話はしてない。
それにいまはpythonだろうがrubyだろうがsmalltalkだろうがjavascriptだろうがスレッドくらい使える。

まあ、吉里吉里で>>31の方法を使ってまで並列処理する意味はない気がするが。
つーか吉里吉里ならGILで十分。
0044名前は開発中のものです。2010/05/23(日) 16:32:36ID:L/FIBD99
言いだしっぺがやる法則ですね分かります
0045名前は開発中のものです。2010/05/23(日) 16:49:22ID:8c/di4zs
どこらへんがグリーンスレッド的なんだろう ^^;
そもそも >>31 は、吉里吉里の TJS 実装は GIL を持ってなくてロックしてくれないからどうするかって話だぞっと
0046名前は開発中のものです。2010/05/23(日) 17:11:32ID:Gl2+JiOI
> 吉里吉里はスクリプト言語
> マルチスレッドが考慮されてないのはあたりまえ
> Windowsはもともとがマルチタスクを前提として設計されている
> こっちはすごい

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

の3層構成になっている。
で、下位層はC++でWin32APIを直接叩いてるから、
そのレイヤでは当然Windowsプログラミングの常識が絡んでくるのよん。
0047名前は開発中のものです。2010/05/23(日) 17:13:46ID:Gl2+JiOI
ちなみに配布されている「吉里吉里」という名前のパッケージは
これら全てをひっくるめた総称として使われていることが多いですね。
適当な話をする時にはごっちゃでもいいんだけど、
これらの階層を意識した細かい話をする時には
階層の区分けに自覚的でないと話が混乱するよ。
0048名前は開発中のものです。2010/05/23(日) 17:46:21ID:JzgxT+Nv
>>43
ネットワーク処理を書くのなら、スレッド無しで非同期処理のみで実装するほうが面倒な件。
ああいや、完全非同期にしても吉里吉里のタスクとは別でaccept待つならスレッド一つは必要になる?
0049名前は開発中のものです。2010/05/23(日) 21:36:40ID:aL+rRsRT

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


互換性のトラブルシューティングでもvirtual PCのXPモードで動かしてもダメだった。
0050462010/05/23(日) 21:55:21ID:aL+rRsRT
すまん、最新版DLしたら直った。

手持ちがkr2_230版だったが、最新のはkr2_230r2になってた。
0051名前は開発中のものです。2010/05/24(月) 13:29:04ID:A/QWIwPb
r2になって色々改善されてるっぽいよね
0052522010/05/25(火) 05:20:44ID:TAKdIbQN
教えてくださいー。
格闘ゲームのHP表示みたいなメーターを装着したいんですけど
どうやったらいいですか?
ググったらタイムアウトまでの時間表示のやり方というのしか見つけられませんでした。
時間とともに減っていくだけじゃなく、数字の増減を表示したいのですが・・・。
0053名前は開発中のものです。2010/05/25(火) 12:17:34ID:tdz/xrWI
スレ跨ってすみません
前スレ986です
目的はオート中のウェイトをクリックなどの操作でキャンセルです
「どんな操作で」が質問中に抜けていて混乱させてしまいすみませんでした
前スレ995を参考にやってみようと思います
みなさんありがとうございました
0054名前は開発中のものです。2010/05/25(火) 12:21:06ID:StsUsnmU
>>52
カウントダウンタイマーなら、残り時間を格納している変数があるはずだから
そこをHPの変数とかに置き換えればOK
あとは残り時間を減らしていく部分とか、ゼロになると何かする部分とかは削る
0055名前は開発中のものです。2010/05/25(火) 13:44:20ID:6CvLfqH6
ZOOMプラグイン使って縮小させるとかでいいんじゃない
簡単だし
0056名前は開発中のものです。2010/05/25(火) 16:59:43ID:AqubFvJ8
ZOOMだと、右から左にグラデがかかってる画像とかをバーにすると、ちょっと駄目かも。
setSizeでレイヤの描画表示領域のサイズを変えるのが一番いいんじゃね
0057名前は開発中のものです。2010/05/25(火) 17:29:25ID:T4GTU+pL
>>56
よさげだね。
0058名前は開発中のものです。2010/05/25(火) 23:33:51ID:wXbNmro6
>>55
国家の基はあくまでも人です。対等や平等はありえません。
あらゆる対人関係が上下関係であるのと同様、国家間の関係は上下関係です。
日本はまず日中関係、日韓関係でそこをはっきりさせる必要があります。
子どもの躾と同じです。
そして日米関係、これは正確には米日関係という事になります。
甘んじろと言うのではありません。
分・際を弁えることと下に甘んじることは、全く違います。
二言目には対等だの平等だの口にする民主党は、そこを理解していません。
0059名前は開発中のものです。2010/05/26(水) 16:19:28ID:NStzn3an
>>58
ラーメンまだー?
0060名前は開発中のものです。2010/05/26(水) 16:28:41ID:Z7HeaOfL
>>59
誤爆だろそうでなくても相手するなアホ
0061名前は開発中のものです。2010/05/27(木) 12:22:15ID:dJ3cKJXP
背景を3Dにするってできますか?
0062名前は開発中のものです。2010/05/27(木) 12:22:51ID:fvNtsgl2
その質問をしているレベルでは永遠にむり
0063名前は開発中のものです。2010/05/28(金) 04:22:27ID:BMOhnCwO
ヒントだけでもお願いします
0064名前は開発中のものです。2010/05/28(金) 08:21:12ID:zXqRvFOz
3Dソフトを買う→背景を作ってレンダリング→背景レイヤに表示 終わり
0065名前は開発中のものです。2010/05/28(金) 09:29:40ID:lF306QjG
>>63
きわめて確立は低いがマジ質問の可能性にかけて。

吉里吉里内でレンダリングしたり、3D画像を動かそうと思ったら無理。
既存の吉里吉里ではそういった物はサポートされていない。
3Dで作った画像を背景にするのは当然可能。つか2Dも3Dもこれなら
一緒だからな。
0066名前は開発中のものです。2010/05/28(金) 10:55:15ID:pNfHlrW7
kagexってクリッカブルマップってのは使えない?
0067名前は開発中のものです。2010/05/28(金) 12:07:45ID:SEzdAxm/
>>65
drawdeviceIrrlicht プラグインってのがあってだね。
無理ではないんだ
0068名前は開発中のものです。2010/05/28(金) 14:36:44ID:lF306QjG
>>67
実はその存在は知ってたり。
ただ、一般的ではないし、簡単に導入できるものでもないので割愛した。
あくまでも吉里吉里のツールとして想定されてないって感じで書いたんだが
まあ、回りくどかったな。
「プラグインならあるけど、恐らく君じゃ無理」と書くべきだったかも。
0069名前は開発中のものです。2010/05/28(金) 16:03:47ID:eZrIM7a5
嘘を書くような奴は回答しなくていいんだ。
0070名前は開発中のものです。2010/05/28(金) 20:06:13ID:p9xTwI73
ポインタ値を使って読み書きできるバッファプラグインを作ったんだが、
TJSの層からポインタ使って云々て吉里吉里だと一般的じゃないよね。
なんで? tjs_intで値運ぶとconstとかの情報が消えていろいろ危険だから?
0071名前は開発中のものです。2010/05/28(金) 20:10:01ID:p9xTwI73
あ、ていうかスクリプト言語からポインタ云々自体がそもそも滅多にないか。
でも吉里吉里はどうせネイティブ層とズブズブなんだから、
ポインタであれこれするのも一般的になっていいのにと思う。
そうすればスクリプトからレイヤのピクセル直接弄ったりが楽になるのに。
0072名前は開発中のものです。2010/05/28(金) 20:11:15ID:ARWL4hqx
単純に「ポインタを使ってまで処理すること」に対する需要がTJS(というか吉里吉里全般)においては少ないってだけなんじゃね?
0073名前は開発中のものです。2010/05/28(金) 20:41:06ID:QLlJeu5r
>>71
一般的には、TJS からポインタさわれても破壊おこすだけでメリットゼロだからだろう。
TJSから扱う時点でいろいろ操作インターフェース間にはさまって、ポインタつかうメリットであるところの性能でないし。

インターフェース仕様さらしてくれれば批評したげるよw
0074名前は開発中のものです。2010/05/28(金) 20:59:23ID: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 );

レイヤのサイズが違ったりぬるぽだったりしたら鼻から悪魔でたしかに怖いけど。
0075名前は開発中のものです。2010/05/28(金) 22:00:16ID: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 経由で確認して、もってなければエラー、もってれば、そのインターフェースを直接
ネイティブでさわるようにすれば、データの扱い的にも安全、コード的にもすっきり、さらに性能も出せる
0076名前は開発中のものです。2010/05/28(金) 22:17:13ID: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%> */
0077名無し@腹八分2010/05/28(金) 22:19:42ID:tiCntCqx
http://1st.geocities.jp/mayuge_honor/mayugeindex.html
↑評価してほしいです。


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


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

吉里吉里の標準オブジェクトでポインタあつかってるのは、Layer のバッファ関係、
DrawDevicce の interface、Window の メッセージ処理まわり、ぐらいかな。
いずれもプラグインから扱うのが前提の機構
0079名前は開発中のものです。2010/05/29(土) 09:25:29ID:OkbhcHwt
文字の大きさをタテ長にしたりヨコ長にしたいのですができますか?
0080名前は開発中のものです。2010/05/30(日) 11:17:52ID:DGNPHycY
一回別のレイヤに描画してそれを拡大コピーするとかでは?
0081名前は開発中のものです。2010/05/30(日) 11:23:43ID:lNqBg+0m
むつかしそうですがやってみます
0082名前は開発中のものです。2010/05/30(日) 22:54:43ID:4FPb+t42
[my_change storage="背景"]
とやると、背景が一定時間で
背景0→背景1→背景2→背景0→...
と移り変わるようなプラグインを作りました。
プラグインのonTimer関数内で、
elm.storageを適切に変更 → kag.tagHandlers.image(%[page:elm.page, layer:elm.layer, storage:elm.storage]);
と背景切り替えを行っている形です。

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

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

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

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



0087名前は開発中のものです。2010/06/01(火) 02:38:57ID:Vvvr/3aH
棒グラフの表示をしたいのですが、どういう風に考えればいいですか?
0088名前は開発中のものです。2010/06/01(火) 03:17:44ID:Vvvr/3aH
layerExDraw というプラグインを使えばよさそうなことが分かりました。

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

で、そこから先が分かりません。
layerExDrawの製作者のHPが見つからないし、どこにも説明らしき物が見つからない。
誰か知りませんか?
0089名前は開発中のものです。2010/06/01(火) 03:26:51ID:RBkazghK
円グラフとか使うなら、layerExDrawプラグイン使わなきゃ無理だけど、
棒グラフならTJSスクリプトだけで出来るよ。
数値の分だけ、fillRectやcolorRectで塗りつぶせばいいだけ。
0090882010/06/01(火) 03:35:49ID:Vvvr/3aH
>>89
TJSを全部教えてくれとはいいません。
TJSを学ぶために、まず始めに行くべき所だけでも教えてもらえませんか?
0091名前は開発中のものです。2010/06/01(火) 03:38:39ID:6OAAlPhY
テンプレ見ればいいんじゃね
0092882010/06/01(火) 03:43:45ID:Vvvr/3aH
それじゃ、もういちどシステムリファレンスでも見てくることにします。
ありがとうございました。


しかし、けっきょくあのプラグインの使い方は分からなかった。
googleがこんなに使えないと思ったのは初めてだ。
0093882010/06/01(火) 03:47:59ID:Vvvr/3aH
何度も何度もすいませんが、
何とか理解できそうです。
>>89さんのアドバイスも役に立てることができそうです。
ありがとうございました。
0094名前は開発中のものです。2010/06/01(火) 03:49:30ID:RBkazghK
>>92
TJSと吉里吉里のリファレンスで基本文法と関数覚えれば、5分くらいで作れるよ。
あと、プラグイン使うときは、
Plugin.link(プラグインのファイルパス)で読み込めばいい。
これもリファレンスに書いてある。
0095名前は開発中のものです。2010/06/01(火) 03:51:14ID:RBkazghK
ごめ、Plugin.linkじゃなくてPlugins.linkね。
0096名前は開発中のものです。2010/06/01(火) 05:27:34ID:YT5KYGyM
layerExDrawのマニュアルは吉里吉里開発サイトにある。
サンプルもbranchesのkag3exにあるはず。多分ね。なければごうさんの日記のログのどっか。
一通りTJSを読み書き出来るようになっているのが前提みたいだから結論だけ欲しい人には難しいかも。
0097名前は開発中のものです。2010/06/01(火) 10:30:32ID:cLU1K25v
吉里吉里から別のプログラムを呼び出すにはどうすればいいでしょうか?
0098名前は開発中のものです。2010/06/01(火) 10:35:28ID:h6NlFUoX
>>97
step.1
 まずマニュアルを隅から隅まで読みます
step.2
 マニュアルを読んで得た知識を使用します
step.3
 目的が達成されます
0099名前は開発中のものです。2010/06/01(火) 11:09:17ID:4QGnC0i3
exeとかcallとかそういうのがついた命令があったと思う。
0100名前は開発中のものです。2010/06/01(火) 12:02:17ID:cLU1K25v
そういや2chってゴミの山だったね
0101名前は開発中のものです。2010/06/01(火) 12:23:03ID:O7x2gz6g
ゴミをふやすのはやめようね
■ このスレッドは過去ログ倉庫に格納されています