[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/09 14:25 / Filesize : 284 KB / Number-of Response : 977
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



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

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

前スレ:■吉里吉里/KAG/TJS雑談質問スレ■その18
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の公式掲示板や講座等を併用してください。
(併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)

658 名前:名前は開発中のものです。 mailto:sage [2010/04/12(月) 03:49:37 ID:svQM/V2q]
>>644
レポジトリにある最新のKAGEXだと標準で
アプリ枠のドラッグによるサイズの変更ができるっぽい

659 名前:名前は開発中のものです。 mailto:sage [2010/04/12(月) 13:19:46 ID:7G/20Txo]
これどうやってアニメーションさせるの?
var i;
var lay = new Layer(); // 適当に初期化
for( i=0; i<100; i++ )
lay.setPos( i, 0 );
ってやったらループを抜けた結果だけ表示されて
ループの途中の処理が見えないんだけど

660 名前:名前は開発中のものです。 mailto:sage [2010/04/12(月) 13:21:46 ID:pD1LcLAN]
そのコードを書くことはできるのになぜ発想の根本的間違いに気が付かない

661 名前:名前は開発中のものです。 mailto:sage [2010/04/12(月) 13:41:44 ID:JrRuDq9E]
>>659
ttp://devdoc.kikyou.info/tvp/docs/kr2doc/contents/EventSystem.html
を参照。問いへの直接の回答は「画面反映のタイミング」にある

TJSで画面更新をまじえた逐次処理を行うには、それぞれの処理を細かく分割した上で、
Timer などで定期的に呼び出される処理でそれらを順次実行していくようなコードを書く必要がある。
KAGはそういうフレームワークとして組まれてる

なお、あらゆるイベントドリブンシステムは基本概念は同様で、特に吉里吉里に限った話ではない

662 名前:名前は開発中のものです。 mailto:sage [2010/04/12(月) 14:42:37 ID:IFd/hz5A]
そういえば吉里吉里ってパッシブレンダリングなのにリペイント要求出せないよな。

663 名前:名前は開発中のものです。 mailto:sage [2010/04/12(月) 14:54:42 ID:7G/20Txo]
>>661
それって、Timerクラスを使っても画面更新タイミングにならないと
意味がないってことになるの?

664 名前:名前は開発中のものです。 mailto:sage [2010/04/12(月) 16:21:08 ID:bu8ubFx6]
>>662
Layer.update した領域にリペイントかかるよ。Window に対する指定はないけど primaryLayer.update() すればいいかと

>>663
そうだね。実際に画面に反映されるのは画面更新時になるからそれを見越して描画する必要がある

なお、全描画フレームに対して処理したい場合は、Timerではなくて、System.addContinuousHandler を使う。
これはかならず描画処理と1対1でよばれる。
ただし、標準の設定では、continuousHandler はCPUパワーのゆるす限り無制限に呼ばれてしまうので、
それを制限したい場合は、System.setArgument で -contfreq を指定する必要がある

あと、どうしても描画処理の最中でなにかしたい場合は、該当レイヤが画面に合成描画される
直前に同期で Layer.onPaint イベントがくるから、そこでレイヤの内容を書き換えることができる。
この場合は、Timer や continuous ハンドラの中では処理用のフラグを立てるだけとか
そういう書き方をすることになる

665 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 00:07:13 ID:5tu1z67j]
この辺が吉里吉里の敷居の高さなんだよね。
KAGの低性能なスクリプトエンジンに耐えきれず、
じゃあ拡張しようかとなったときに他のエンジンとは明らかに格の違う
性能とコンセプトを目の当たりにして、人々は絶望する。

666 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 00:11:08 ID:5oPrQ85b]
普通のプログラミングでも同じだから、あんな疑問が出てくるのに逆に驚いた



667 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 00:17:04 ID:5tu1z67j]
ただのアドベンチャーゲームを作るのにイベントドリブンは必要ないと思うんだよ。
日曜プログラミングでMS-DOS(PC98)からWindowsへの移行に失敗した俺は、
吉里吉里の概念を理解するのにかなり時間を要した。
手軽にアドベンチャーゲームを作れると考えて吉里吉里を始めた人間の多くは、
プログラミングの素養なしに突撃してくるから、TJSをいじる段になって困惑する
人が多いと思うよ。
商業製品でもそういう気配を持ったものが散見されるしね。

668 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 00:20:32 ID:hC34RsXP]
マイクロスレッドで定期的に処理を戻すようにするほうがわかりやすいわな
なんのためのスクリプトなのって感じ

669 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 00:21:26 ID:wwPqAQd5]
TJSを読み解けとまでは言わないが、欠片もプログラムのソースに触れた事が無い類の人間が
KAG程度では出来ないこと一般的なADVゲー程度ではない野心モノを作ろうとする人間になろうというのが間違ってる気がする



670 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 01:09:24 ID:5tu1z67j]
俺はKAG自体いじったことがないからよく分からないんだけど、
KAGってのは簡単に見目麗しいGUIを構築できるものなの?
すごいことを要求してるわけじゃなく、ボタンの上にマウスカーソルを乗せたときに、
ボタンがアニメーションで明滅したりとか、その程度のこと。
まさかできないわけがないとは思うんだけど、吉里吉里を使った作品では
それさえできてないものが多いから、KAGではそういうことはできず、
かといってTJSで拡張することもできずしかたなく貧弱なGUIに甘んじてる
のかなと、ちょっと気の毒に思ったりしてるんだけど。
単に見た目にこだわらない使用者が多いだけなんだろうか。

671 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 02:19:40 ID:byydkv5+]
作られた時代はこれで充分だったんじゃないかなっていう。昔の商用となら勝負になる。つまりそんな具合。
昨今の商用のや凝った同人のあれこれみてると真似したくなるのが人情だから、絶望してる人は可哀想だなとはおもう。
ある程度いじった事のある人ならプラグインや本体の機能拡張はいっくらでも進められるんだろうけど、
中で何やってるか理解して無いとエラー出たとき自力対処できないから
無責任にホイホイはいどうぞって、作ったものを周囲にばら撒くのは後の苦労が予想できて怖い。

ところで、そんなにシステム頑張ってもゲームの評価にはあんまりつながらないよw

672 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 02:59:02 ID:gB2EIlAt]
マイクロスレッドってなんでいきなりプロセッサの話になるのかと思ったら協調スレッド方か。

コルーチン+クロージャ+継続最強!

あれ?Rhino完ぺきじゃね?

673 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 04:39:34 ID:wwPqAQd5]
ゲーマーやゲームエンジンの採用を検討する人間が求めるのは「素晴らしいコーディングによって書かれたプログラム」じゃなくて
「言われた通り(要求した通り)に動作をし、妙なバグを出さない安定したプログラム」だからな

実際にプレイする側からしてみれば、吉里吉里使ってようがNスクだろうが独自エンジンだろうが
パッとみてそれなりに動作してさえくれればプログラム自体の動作原理なんてどうでもいい訳だし

674 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 04:45:06 ID:HBL2yx/p]
気の利いたUIが中身をちょっと誤魔化すのに役立つのは間違いないが
今あるツールでそれが吉里吉里より簡単にできそうなのはFlashくらいか?

その場合結局テキスト処理とかでActionScriptを勉強する必要があるから
ノベルっぽいの作る場合TJSよりよっぽど難しくなるしな

675 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 11:13:02 ID:5tu1z67j]
>>671
確かに、システムは頑張ってもプラス評価はされにくい。
でも、頑張らなかったらマイナス評価されるでしょ。
絵描きやライターはプラス評価をもらうために頑張り、プログラマやスクリプターは
マイナス評価をもらわないために頑張るべき。


676 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 11:51:18 ID:HJumxRaS]
エロゲーマーがヌキと絵しか気にしないからでしょ。言われた通りに実装するのは当たり前。
どうせ後からこれが欲しいあれが欲しい言うから始めからある程度の機能と拡張性持たせとけよ。
System4はやりすぎだけどな。



677 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 15:39:25 ID:UB2bkzV5]
>>674
なら吉里+FLASHで完璧だおw

678 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 16:48:53 ID:bTgZrl65]
画面更新って命令文ないの?

679 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 16:55:59 ID:mZatHBWh]
なんかのゲーム用スクリプトみたいだなw

680 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 17:36:29 ID:555dHs4X]
>>678
>>664とか

681 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 18:21:56 ID:bTgZrl65]
class MyTimer extends Timer
{
var f;

function MyTimer( func )
{
super.Timer();

f = func;
}

function onTimer()
{
f();
}
}

var a = new MyWindow();
var time = new MyTimer( a.move );
time.interval = 1;
time.enabled = true;

でタイマー設定したけど うんともすんともいわないけど?

682 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 18:33:14 ID:lsDYf/YD]
>>681
うんともすんともいわないのなら、お前のコードが間違っている

683 名前:名前は開発中のものです。 mailto:sage [2010/04/13(火) 18:38:37 ID:1QvSKzvQ]
MyWindowクラス内のmoveメソッドが何をやるための物なのか知らんし
new Timer(); ← この時点でonTimerが呼ばれることを否定してないか

684 名前:名前は開発中のものです。 mailto:sage [2010/04/14(水) 00:43:30 ID:gaoSRoJA]
>>681
どうでもいいけど"f"を変数名に使うのは一応やめといた方がいいよ

685 名前:名前は開発中のものです。 mailto:sage [2010/04/14(水) 05:29:24 ID:ZTnfYCLx]
>>684
わかった。 sf にする。

686 名前:名前は開発中のものです。 mailto:sage [2010/04/14(水) 20:58:15 ID:gC/sYrK8]
Scripts.evalStorage と Scripts.execStorage の違いって何でしょうか?



687 名前:名前は開発中のものです。 mailto:sage [2010/04/15(木) 01:51:51 ID:ORlt69RN]
文字列の評価とファイルの実行

688 名前:名前は開発中のものです。 mailto:sage [2010/04/15(木) 14:48:48 ID:YfKjGZPm]
>>684
うん、どうでもいい

689 名前:名前は開発中のものです。 mailto:sage [2010/04/15(木) 15:40:06 ID:3/DzGgwR]
スペシャルねこまんま57号対策として、最も効果的な方法って何だろう?
まさかこの壁にぶち当たる日がくるとは・・・。

690 名前:名前は開発中のものです。 mailto:sage [2010/04/15(木) 15:59:48 ID:4OoukbRH]
>>689
泣く子とメモリエディタには勝てん
いちおう dsas.blog.klab.org/archives/50829204.html とか参考になるかも

691 名前:名前は開発中のものです。 mailto:sage [2010/04/15(木) 16:22:12 ID:YfKjGZPm]
>>689
バカじゃねーの?

692 名前:名前は開発中のものです。 mailto:sage [2010/04/15(木) 16:51:45 ID:EU/LsSOK]
対策1
ダミーの変数を山ほど作る

対策2
1. パラメータの処理
2. 処理結果を元にチェックサムを残す
3. ゲーム進行
4. 現在のパラメータとチェックサムを比較。異常があれば停止
5.1に戻る

対策3
数値をアルファベットに変換して文字列として格納
計算を行う直前で数値に戻す

ただの思い付きにつき未検証。
この程度でいいとおもうよ?
それでも対抗されるならそんだけ魅力があるんでしょ。ある意味勝ち。
逆にチートしないと遊べないくらいバランスが悪かったりして……。

吉里吉里コアの起動オプションをいじられるとかだったらシラネ。
自前でコアを改造・コンパイルするしかないんでは。

693 名前:名前は開発中のものです。 mailto:sage [2010/04/15(木) 17:03:35 ID:+LF24uaa]
質問です。
[link exp="kag.closeByScript(%[ask:true])" clickse="bell16"] Exit [endlink]
をクリックして終了確認ダイアログの「いいえ」を選択すると
そのページに留まらず、何故か自動的に次のシナリオに進んでしまいます。
単純なミスだとは思いますが、似たような症例が見つからなかったので、
恐れ入りますがご教授願います。

694 名前:名前は開発中のものです。 mailto:sage [2010/04/15(木) 18:12:23 ID:EU/LsSOK]
>>693
リンクタグでなく、ボタンでやってみたらどうなる?

695 名前:名前は開発中のものです。 mailto:sage [2010/04/15(木) 18:28:42 ID:UJrfVVKn]
closeByScriptは確か、キャンセル動作(つまり「いいえを押した」)時は「クリックしたものとみなす」という体で動作するんじゃなかったっけ。
内部で実際そんな考え方で動いてるかどうかは知らんが、実際ワンクリックされたものと同じ挙動を示した気がした。
だからリンクタグ等でこのメソッドを呼ぶ時は[s]タグを直後に用意するか、もしくは
[link exp="kag.closeByScript(%[ask:true, ignore:true])"]Exit[endlink]
みたいな感じで独自に引数を追加し、MainWindow.tjsのcloseByScriptを直接

function closeByScript(elm){
   /* 中略 */
// closeByScript は、このハンドラが終わった直後に
// 「終了しますか?」のダイアログを表示する。
// 終了する場合はそのまま終了する。
// 終了しない場合は 'not_closed' トリガが発行され、
// 実行は継続する。
// ! ConfigLayer等からcloseByScriptと呼んだ場合、「いいえ」が押されるとメッセージが勝手に進んでしまうので
// elm.ignoreオプションが有る場合は以下を発動しない
if(elm.ignore) return;

conductor.wait(%[
not_closed : askOnClose_save
? (function{
// 実際にこれが呼ばれることはないが、一応
askOnClose = true;
} incontextof this)
: (function{
} incontextof this)
]);
}
}

みたいな具合に改造してやんのがいいんじゃないか。まあ改造するのはめんどくさいから
素直にリンクの直後に[s]置いとけっていう話だけど

696 名前:名前は開発中のものです。 mailto:sage [2010/04/15(木) 22:00:53 ID:6X7UzU50]
しねきゃぷしょんっていうフォント使うと一部文字化けする…('芯'と'飛')
どうすれば直るんだ



697 名前:名前は開発中のものです。 mailto:sage [2010/04/15(木) 23:16:30 ID:zSTY2jOg]
単にその文字にフォントが割り当てられてない
(バグとかでなく、作られてない)だけじゃないか?
個人制作のフォントにはありがち。

作者に問い合わせるか自分で改造してみるか。

698 名前:696 mailto:sage [2010/04/15(木) 23:23:57 ID:6X7UzU50]
吉里吉里以外のテキストエディタとかだとちゃんと表示されるから吉里吉里側の問題だと思った
吉里吉里だけ駄目でしたとかフォントの作者に問い合わせても仕方ない気がする

699 名前:名前は開発中のものです。 mailto:sage [2010/04/16(金) 02:55:07 ID:P4xCWJ8X]
>>696
アンチエイリアスを切るか、文字sizeが18以下だと文字化け直るぞ。
なんだこりゃ


700 名前:名前は開発中のものです。 mailto:sage [2010/04/16(金) 16:06:15 ID:6EQ1YKj8]
>>699
無料で、しかも作者の趣味なんで^^;

701 名前:名前は開発中のものです。 mailto:sage [2010/04/16(金) 16:36:08 ID:omIaxmXm]
そういうのって既出なんだっけ?
公式掲示板で過去ログ検索して無かったら報告してみたらどうですか。

702 名前:名前は開発中のものです。 mailto:sage [2010/04/16(金) 20:33:41 ID:eNEQwPUZ]
>>699
アンチエイリアスは確認した
俺の環境だと
size1~9 or 11で芯
size23以下 or 25~27で飛
がちゃんと表示されるなんぞこれwww
公式で報告してくるか…

703 名前:名前は開発中のものです。 mailto:sage [2010/04/17(土) 11:04:05 ID:1EX4Uz99]
KKDE2すっかり更新無くなったなあ
飽きちゃったかな

704 名前:名前は開発中のものです。 mailto:sage [2010/04/18(日) 00:16:29 ID:1CW3lEYF]
Layerクラスで領域画像を使ったときに、
指定の領域番号の部分だけに色を塗ることって
出来ないんでしょうか?

705 名前:名前は開発中のものです。 mailto:sage [2010/04/18(日) 14:50:05 ID:EU14TQdH]
keydownhookを使った、数値の代入がうまくいきません…。

「↓」キーを入力すると、tf.down =1 となるように組むにはどうすればよいでしょう?
おそらく、根本的なところを理解していないと思うのですが…。。。

[eval exp="tf.down =0"]

[iscript]
function onKeyDown(key, shift)
{
if(key == VK_DOWN)
tf.down=1;
return true;
}
// キーダウンフックを登録
kag.keyDownHook.add(onKeyDown);
[endscript]

これじゃだめ、、、ですよね・・?

706 名前:名前は開発中のものです。 mailto:sage [2010/04/18(日) 15:35:36 ID:1CW3lEYF]
>>705
MainWindow.tjsを見てみたところ
フォーカスをもってるレイヤが存在する場合には
keyDownHookは呼び出されないようです。
フォーカスを外してやるかフォーカスをもったレイヤの
keyDownイベントを使うといいかと。

どなたか>>704御存知の方いませんでしょうか?



707 名前:名前は開発中のものです。 mailto:sage [2010/04/18(日) 15:52:55 ID:M7H9kFRv]
>>704
見渡した感じ、無理っぽいかも?
画像を用意して上にのっけてやるしか……

708 名前:名前は開発中のものです。 mailto:sage [2010/04/18(日) 16:12:02 ID:1CW3lEYF]
>>707
やっぱりそうですかあ・・・
お手間を取って頂いてありがとうございました。

かくなる上は1pixelずつ塗ろうと思います・・・orz

709 名前:名前は開発中のものです。 mailto:sage [2010/04/18(日) 16:33:18 ID:EU14TQdH]
>>706
なんとか解決したっぽいです!
ありがとうございました。

if(key == VK_DOWN)
tf.down=1;

こーゆー記述が不安だったのですが、普通に問題なかったのですね。

710 名前:名前は開発中のものです。 mailto:sage [2010/04/18(日) 17:37:24 ID:Jq6vU6/W]
LayerにWindowの機能を持たせるようなことってできる?

たとえば Layer で画像表示してる状態で、画像をドラッグするような処理

他にWindowの枠をとるとかできる?

711 名前:名前は開発中のものです。 mailto:sage [2010/04/18(日) 23:07:10 ID:j2F34tRA]
全部できるが非矩形ウィンドウ出したいのか?

712 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 09:15:46 ID:CpSYJ2cy]
吉里吉里で作られたエロゲはどれもパッドが有効になっていて使いづらいのですが
無効にすることはできるんでしょうか?
同梱exeでコンフィグ設定できるものはいいのですが
そうでない場合どうしようもないのですか?

713 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 11:53:21 ID:9w3s40P0]
>>708
>かくなる上は1pixelずつ塗ろうと思います・・・orz
>>707の発言を受けたレスで、ペイントツールなどで1ピクセルずつ手作業で
塗るという意味なら、その作業を軽減することはできるんじゃないかな。
getProvincePixel で画面上のすべてのピクセルをスキャンして、指定の領域番号
が来たらその位置のピクセルを fillRect なんかで塗りつぶす。
そして完成した画像を saveLayerImage かスクリーンショットで画像ファイルに
落とし込んで、ペイントツールで適切なデータ形式に加工すれば、半自動で
画像を用意することはできる。

そもそも、効率を度外視すれば、
>getProvincePixel で画面上のすべてのピクセルをスキャンして、指定の領域番号
が来たらその位置のピクセルを fillRect なんかで塗りつぶす。
こそが「指定の領域番号の部分だけに色を塗ること」なんだけども。

714 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 12:51:28 ID:29Oz2KV9]
>>712
外せばいいんじゃないの?

715 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 13:03:41 ID:rGREnao1]
>>712

まめ知識
「エンジン設定.exe」は、実行ファイルにオプション -userconf をつけて起動するだけのツール

あとはわかるな?


716 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 13:39:29 ID:CpSYJ2cy]
>>715
なるほどーありがとうございます
パッドがデフォルトで有効になっているのは吉里吉里のせいなんですよね?
設計上おかしいと思うんだけどな


>>714
ばーか



717 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 14:05:36 ID:rGREnao1]
>>708
その心意気や良し

ってことで足しておいた

使い方 (fillByProvinceのとこ参照)
ttps://sv.kikyou.info/svn/kirikiri2/trunk/kirikiri2/src/plugins/win32/layerExBTOA/manual.tjs

プラグインバイナリ
ttps://sv.kikyou.info/svn/kirikiri2/trunk/kirikiri2/bin/win32/plugin/layerExBTOA.dll

718 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 14:14:59 ID:xFhXThvS]
layerExBTOA.dllと画像コンバート用のconvert.batとかの一式セットって
公には公開してないみたいだけど
自分で書いた動画再生用の関数とかを付けて勝手に公開したらやっぱりまずい?

719 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 14:16:09 ID:rGREnao1]
吉里吉里ライセンスで配布してるんでよしなにどーぞ

720 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 14:22:57 ID:xFhXThvS]
ありがと
公開って言ってもいつの話になるか分からないけど

721 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 16:42:05 ID:lyIOikyL]
>>711
そうですね 非短形ウィンドウにしたいです


722 名前:名前は開発中のものです。 mailto:sage [2010/04/19(月) 17:22:35 ID:KnhQAuVV]
>>721
リファレンスを死ぬほど読め

723 名前:名前は開発中のものです。 mailto:sage [2010/04/20(火) 07:43:48 ID:tD8+Dsc1]
>>717
おおお!欲しかった機能が現実に!
ありがとうございます!
有り難く使わせて頂きます!

それにしてもncbind使うとこんなに短いソースで
出来ちゃうもんなんですね。すごいなあ。

724 名前:名前は開発中のものです。 mailto:sage [2010/04/20(火) 13:59:50 ID:doyHBlFj]
>>716
皆が設計上おかしいと思ってるならデフォで外す。
要するにおまえがズレているっていうこと。

使わないなら外せばいいだけの話でもある。

725 名前:名前は開発中のものです。 mailto:sage [2010/04/20(火) 14:03:08 ID:2+rrCL5d]
せっかくなのでオレも>>716にばーかしておきますね

726 名前:名前は開発中のものです。 mailto:sage [2010/04/20(火) 15:23:30 ID:afcMt/UF]
>>723
吉里吉里のレイヤデータは ARGB32 で素直なので、ある程度以上複雑な
ものはさくっと C で書いて機能メソッド化してしまうほうが良いことが多いです

layerExBTOA は一番単純なレイヤへの機能組み込み例なので、自分用の処理書く場合は
適宜それをベースにコピペして構造つくって足していくのが簡単でオススメです。
layerExImage とかはプロパティのキャッシュ処理とかしてるのでやや複雑です



727 名前:名前は開発中のものです。 mailto:sage [2010/04/20(火) 17:48:14 ID:aPiKsUYa]
紙媒体の参考本で、全くの素人でも読みやすいのはどれか教えてください
近所の本屋で置いてないので通販したいのですが、実物を見比べることができなくて…

728 名前:名前は開発中のものです。 mailto:sage [2010/04/20(火) 19:42:23 ID:q/eQ0lf6]
今入手可能のなら、「吉里吉里/KAG ノベルゲーム制作入門」一択だろう。
著者の信用度的にも。

Googleブック検索でかなりのページが読める
books.google.co.jp/books?id=I7R29UxkRD8C

729 名前:名前は開発中のものです。 mailto:sage [2010/04/20(火) 20:14:51 ID:QHuoDVzZ]
>>728
ありがとうございます
さっそく注文しよう

730 名前:名前は開発中のものです。 mailto:sage [2010/04/20(火) 21:51:48 ID:aTYUme+P]
全くの素人ってのがどの程度かわからんのだが
吉里吉里よりLiveMaker薦めた方がよくないか

731 名前:名前は開発中のものです。 mailto:sage [2010/04/20(火) 22:24:06 ID:Yfqg0clc]
そろそろTJSに特化した本とか出るといいのに
TJSに挑戦のサイトの人とかで出ないかな

732 名前:名前は開発中のものです。 mailto:sage [2010/04/20(火) 22:42:57 ID:IH4/h5eA]
TJSだけの本じゃ商売にならんだろ。

Luaにすりゃよかったのに。

733 名前:名前は開発中のものです。 mailto:sage [2010/04/20(火) 22:45:04 ID:2+rrCL5d]
そこで今流行りの電子書籍

734 名前:名前は開発中のものです。 mailto:sage [2010/04/20(火) 22:48:17 ID:17mRSr4+]
>>732
本当にこれ一冊でTJSと吉里吉里は完全網羅!
C言語?JAVA?そんなの関係ねえ!
その程度知らないと使いこなせないと2ちゃんねるで言われた?
この本を見ろ! それで解決だ!
というぐらい気合いの入ったものであれば、上下巻併せて6000円程度の値段で
そこそこ売れると思うよ。

735 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 03:26:55 ID:dxkyNRdl]
そんなもんよりちゃんとした言語仕様を公開してくれればそれでいい。

736 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 03:36:36 ID:skcfLRmW]
まぁ、本当に最初の頃はやたら動物の表紙の本とか買ってたなぁ。
近頃はWeb検索すれば何でも情報が日本語で手に入るからお世話にならなくなったけど。



737 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 08:18:24 ID:b+cmMTvR]
せっかくだから相撲の表紙の本も買おうぜ!

738 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 09:10:13 ID:dZiag3oA]
セキュリティーウォリアーズw

739 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 09:29:33 ID:skcfLRmW]
セキュリティウォリア……アマゾン見たてのけぞったw
どうしてこうなったオライリー

740 名前:名前は開発中のものです。 mailto:sagf [2010/04/21(水) 16:10:11 ID:rpFTtTW3]
吉里吉里で

741 名前:740 mailto:sage [2010/04/21(水) 16:12:32 ID:rpFTtTW3]
ミスった。
吉里吉里で落ち物ゲー作るのって可能?

742 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 16:35:15 ID:wX27Oyhe]
どんなの作るかによるけど割と簡単な方

743 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 18:52:06 ID:Wu3hAsfu]
マンツーマンで教えてくれるやつはいないか?10000森出すぞ。

744 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 19:10:28 ID:/lBgHuBf]
>>743
日本円でおk

745 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 19:16:29 ID:icgzumbf]
吉里吉里で1時間でテトリスを作ってみた 動画でも作るのかね

746 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 21:26:04 ID:rpFTtTW3]
いや、「ノベル+CPUと対戦な落ち物」ゲー作ろうかと。
とりあえずテトリス部分作ってみるか……



747 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 21:46:56 ID:cepG+eFs]
アルゴリズムさえ考えて有るなら、TJSを理解してれば大抵のゲームは作れると思うよ。
Javascriptでテトリス作ってる奴だっているんだし、使うオブジェクトやクラスが違うだけで基本的な箇所は一緒だしな。

正直、一番面倒なのは処理の実装よりもUIの用意だと思う

748 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 21:49:36 ID:icgzumbf]
タイマー回してキーボードチェックする昔ながらの方法でいいんじゃね?

749 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 22:00:01 ID:q7lOQUk4]
というかLayerクラスのほかに、イメージを単独で扱うImageクラスが組み込みでほしい。
ブレンド用の非表示画像も全部親子関係を強制されるせいで、
管理とかシリアライザ書くのとか面倒でしょうがない。

750 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 22:20:33 ID:s2Zilcax]
えっ

751 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 23:15:04 ID:KHivq5F5]
ええっ

いや、まあ言いたいことは分かるし気持ちも分かるが、現状でも別に管理は
面倒じゃない……よね?

752 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 23:18:28 ID:nYTwffZF]
画像をたくさん画面上に表示させたいなと思っております。。。
ループで毎回レイヤをかえているはずなのに、次の画像が出てくると前の画像が消えてしまいます。。
何がいけないのでしょうか? 必要なところを抜粋してみました。


; なんとなくレイヤいっぱい用意
[laycount layers=51]

[iscript]
// ループ開始後、n*50[ms]後に画像を流し始めたいと思ったら tf.arrow[n]=1
tf.arrow = [] ;
tf.arrow[0] = 1;
tf.arrow[20] = 1;
tf.arrow[40] = 1; // 以下60, 80, ... と どんどん増やしていく予定

tf.loop_i = 0;
tf.layer_no = 1;
[endscript]

; 長くなったので2回に分けます。すみません

753 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 23:19:44 ID:nYTwffZF]
*loop1
; 50[ms]ごとに繰り返すサブルーチン

; 画像を流したくないときはloop2へ飛ばす
[if exp="tf.arrow[tf.loop_i]<1"]
[jump target="*loop2"]
[endif]

; 画像表示の処理。表示させて移動させる
[if exp="tf.arrow[tf.loop_i]==1"]
[image storage="set" layer="tf.layer_no" page="fore" left="150" top="275" visible="true"]
[move layer="tf.layer_no" path=(350,275,255) time="800"]

; 次の画像のためにレイヤナンバーをインクリメント(してるつもり…)
[eval exp="tf.layer_no++"]
[endif]


*loop2
[wait time=50]
[jump target="*loop1" cond="tf.loop_i <200"]


これでできた!と自分では思ったのですが… うまくいかないのはなぜなんでしょう(´・ω・`)

754 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 23:20:58 ID:tF+0jnn8]
layer="tf.layer_no" だと、「tf.layer_no」という文字列を言っていることになってしまう
layer="&tf.layer_no" じゃないとだめ

755 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 23:21:55 ID:tF+0jnn8]
文字列は数字0と解釈されるので、結局毎回 layer="0" と書いてたのと同じことになる

ということかと

756 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 23:25:14 ID:b2O5sZxl]
これtf.loop_iをインクリメントする処理が無いから
どのみちjumpタグが呼ばれた時点で無限ループ発生しないか?




757 名前:名前は開発中のものです。 mailto:sage [2010/04/21(水) 23:30:37 ID:nYTwffZF]
>>754-755
あうあうあー 前も&があったりなかったりでハマってました。。学習しないなぁ…
ありがとうです!

>>756
すみません。質問に関係ない部分をそぎ落としたときに一緒に落ちてたみたいです(´・ω・`)
手元のソースにはあります。ご指摘ありがとうございます。

758 名前:749 mailto:sage [2010/04/21(水) 23:35:53 ID:q7lOQUk4]
var layer = new Layer(kag, kag.fore.layers[0]);
このlayer変数を単にスクリプトで扱うだけなら、面倒も何もない。

さて、layerオブジェクトを保存/復元してみようとする。(描画内容とかは考えない)
位置やサイズ等の情報は問題ない。DictionaryでもXMLでも書き出してやるだけだ。
では親子関係はどうする?

1.完全な(デ)シリアライズのためには親や子のレイヤの情報も再帰的に書き出す必要がある。
しかしそれには問題がある。
・プライマリでない限り、レイヤは普通KAGの管理するレイヤの子になる。
・また、どこかで別のプラグインの生成したレイヤが兄弟になる場合もある。
 →これら、別に独自管理されているレイヤの情報を、シリアライザが加工するのは望ましくない。

2.では、親子のレイヤにはシリアライザは干渉しないものとする。
しかし、これでは復元の際に問題が出る。
Layerは常に「Windowオブジェクトに属し」「Layerオブジェクトの子(またはプライマリ)」でなければならない。
最初の例でいえば、kag、kag.fore.layers[0] といったオブジェクト。
これらのインスタンスを、復元時にシリアライザはどこから持ってくるのか。
そもそも、復元時にこれらのインスタンスそのものが存在するという保証すらない。

なんてことを考えると頭が痛すぎる。
なっ面倒だろう。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<284KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef