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


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

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



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

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

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


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

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

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

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

853 名前:名前は開発中のものです。 mailto:sage [2009/09/20(日) 12:12:27 ID:5jAFOtQd]
そういえば、まだおさかな定食復旧してないんだよな
引越し作業にこんなに掛かるもんなのか?

854 名前:名前は開発中のものです。 mailto:sage [2009/09/20(日) 16:35:59 ID:13MH5JEG]
引越しに合わせてファイルを修正してるのなら
時間はかかっても仕方ないが…
ノーサポートでいいから早く復旧して欲しいな

855 名前:名前は開発中のものです。 mailto:sage [2009/09/20(日) 21:55:32 ID:dZdZ7IqR]
暫定倉庫でもいい

856 名前:名前は開発中のものです。 mailto:sage [2009/09/20(日) 23:34:34 ID:DZtL7OZ2]
来年の今頃もおさかな定食があの状態でも驚かない

857 名前:名前は開発中のものです。 mailto:sage [2009/09/21(月) 00:35:35 ID:2rdZchz0]
>>852
確か6月はまだDLできてたような・・・

858 名前:名前は開発中のものです。 mailto:sage [2009/09/21(月) 01:12:22 ID:UZiMTDQB]
他力本願でゲームを作るのもどうかと思うが

859 名前:名前は開発中のものです。 mailto:sage [2009/09/21(月) 01:16:20 ID:69Pjtjw7]
参考くらいあっていいだろう

860 名前:名前は開発中のものです。 mailto:sage [2009/09/21(月) 01:30:28 ID:cf9VT6bL]
終了確認をダイアログではなくレイヤーでやりたいのですが
function onCloseQuery()の
saveSystemVariables();
if(!askOnClose) { super.onCloseQuery(true); return; }
super.onCloseQuery(askYesNo("終了しますか?"));
を消して
kag.callExtraConductor('終了.ks','*終了シナリオ内');
ではその後シナリオ内の[link exp=" kag.shutdown()"]が効かなくなってしまいます。
どのようにすればいいですか?

861 名前:名前は開発中のものです。 mailto:sage [2009/09/21(月) 23:35:59 ID:Afbu6NXB]
終了.ks の *終了シナリオ内 ラベルの終わりで
Window.onCloseQuery(終了するかどうか) incontextof kag;



862 名前:名前は開発中のものです。 mailto:sage [2009/09/23(水) 11:08:42 ID:48qbElB4]
誰か昨日の吉里吉里勉強会いってきた奴いないかな?
吉里吉里3はどんな状況とかの話とかあったら教えておくれー

863 名前:名前は開発中のものです。 mailto:sage [2009/09/23(水) 11:22:05 ID:Ki71KdO3]
>>862
mixiにレポがきてるお

864 名前:名前は開発中のものです。 mailto:sage [2009/09/24(木) 19:00:42 ID:0U2U8Wq2]
最近、みくしが無いと何も見れない状況だよな。
勿論、公式情報とかじゃないから、それに文句を言うつもりは無いが、
あの窮屈な空間が嫌で辞めちまった身にはつらいw


865 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 01:41:19 ID:g8dS8TRE]
吉里吉里3は止まってるとしか

866 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 08:37:43 ID:n5loEePc]
>>865
まじめにやってれば半年もあれば開発できるものだしな。

867 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 09:30:27 ID:PhkD4GjX]
吉里吉里はある意味完成の領域に達してるからな。
KagEXを完成の領域に持ってきた方が、受けが良いんじゃなかろうか。


868 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 09:40:26 ID:+dkIAQuX]
KAGEXはワールド拡張とかの概念や記述が理解できなくて諦めた

869 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 09:47:24 ID:sKoqn0LW]
バグとやらが気になって手がさせない

ところでmixiのレポートであった
FLASHで右クリックすると出るFLASH関連のメニューを
出さない方法ってどこかにないだろうか

870 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 14:37:43 ID:OhTQHWYF]
>>866
インタプリタのみを動かすだけなら半年で出来るだろうが
関連するAPIを用意したり付随するツール群を揃えてさらに実用レベルの品質まで持っていくのは数年かかるだろう。
それこそコミッターが居れば今ごろ完成してたかも知れんし。

>>867
あれを使うくらいならMainWindow.tjsを整理するついでに自分で作るってやつが居るんじゃないだろうか。

871 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 14:41:59 ID:AuREjKi2]
>>869
ttp://www.kirikiri.info/bbslog/log/004718
これはどうだろう?

KAGEXは機会があれば触ってみればいいんじゃね?
バグが〜とか書いてる人のは本当にKAGEXのバグなのか今の所わからんし。
自前スクリプトのバグ、使い方や記述を間違えてる可能性もある。



872 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 15:51:31 ID:cADywhdF]
>>869
このスレをすこしさかのぼるんだ!

873 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 18:12:35 ID:PhkD4GjX]
吉里吉里3の開発室初めてみたけど、描画関係の高速化も期待出来るのか。
吉里吉里でノベル以外を作ってる俺としては頑張ってもらいたいものだ。


874 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 01:54:33 ID:cSoIuReO]
>>861
ありがとうございます。なぜかタイトル画面でしか閉じられなかったりするので色々頑張ってみます。

875 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 02:06:02 ID:sCbbckM4]
吉里吉里でノベル以外を作る利点てなに?

ノベル以外ならC/C++にluaとかDSL組み込んじゃえばいい気がするんだけど。
そういうDSL上に構築されたゲーム用F/Wもあるしさ。

876 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 02:09:34 ID:riSF4elI]
>>875
ノベルメインでミニゲームをそれなりに本格的にやりたいとしたらどうすりゃいいのかよくわからん。
どこか解説してたりするところない?

877 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 02:11:30 ID:tgpICSzg]
C/C++ が書けない人でも作業できる、とか?
パフォーマンスがさほど要求されない場面なら有効だと思うよ。画像やサウンドの扱いもシンプルだし。


878 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 02:15:49 ID:MSxnwiCG]
>>875-876
汎用ゲームエンジンだと逆にノベル部分がネックになったりするわなぁ。
吉里吉里はその辺、嫌と言うほど作りこまれてるから。

メッセージフレームだしてクリックごとにテキストを切り替える程度と妥協できるなら、
汎用エンジンで作ってゲームをメインにしたらいいかもしれないけどね。

879 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 03:50:30 ID:sCbbckM4]
TJSも普通にグフィックコンテキストを取得してそれに対して書き込んで
反映させるっていうスタイルだったらなぁ。
あとtjsでゲームループ書くとコードが一般的じゃないのも分かりづらいよな。

//こういうコードの方がいいな
function game_loop(){
update();
render();
sleep(acutaly_elapse);
}

//ここのコードが吉里吉里だとLayerにほげほげするのがやりづらい
function render(){
g = screen.grahics();
img = new Image("image.png");
g.draw(img,x, y);
g.dispose();
}

880 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 12:52:20 ID:O+pMsbT1]
>>871-872
おお、ありがとう!
そうかプラグインでもできたのか
どちらも試してみるわ

881 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 15:14:47 ID:tgpICSzg]
>>879
吉里吉里のレイヤって標準機能が少ないだけで概念的にはグラフィックコンテキストそのものだろ

画像だけの独立した概念があるとすっきりするよなぁとは思うけどね



882 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 15:19:23 ID:MSxnwiCG]
まあ、秒間60フレームでヌルヌルぶん回すようにはできてないからな。

883 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 19:51:18 ID:0JH+tER8]
>>881
グラフィックコンテキストが画像とそれに関するステートを持っているのが問題なのかと。
ふつうはだいたいこんな定義だろ。
abstract class Layer{
/**
 レイヤが表示されていれば描画する
 @prams g グラフィックコンテキスト
*/
update(Grahics g){
if(this.visible){
g.drawImage(this.image, x, y);
}
}

/**
 @params 表示され得るかどうか設定
 @return 表示され得るならば真
*/
property visible;

/**
 @params 画像を設定
 @return 持っている画像を取得
*/
property image;
}

んでこういうかんじのを継承してSpriteクラスとかMapTipLayerクラスとか作るわけで、レイヤの役割的にグラフィックスコンテキストをhas-aなのは設計へんじゃね?

>画像だけの独立した概念があるとすっきりするよなぁとは思うけどね
この話もたまに上がってるしさ。
というかyieldか継続とシリアライズを実装してくだせぇDeeたん。

884 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 20:29:13 ID:gKaOv5Va]
継続とまともなクロージャ導入してクラスを無くしてほしい
ちゃんとした言語にしたかったらRubyやPythonでも組み込んでくれた方がよっぽど助かる

885 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 20:32:28 ID:g2s5GieN]
C++のBoost.Serializationを参考にTJSでシリアライズのフレームワークを書いてみたけど、
Layerみたいにガチガチな依存関係を持っていてコンストラクタ引数に他オブジェクトを要求するクラスの
外部シリアライザの実装のしかたがどうしても思いつかなくて頓挫。
仕方ないから既存の構築済みオブジェクトをdeserializeに渡してメンバだけ復元するようにした。
オブジェクトの共有が絡んでくると一気にややこしくなる。

886 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 21:01:37 ID:tgpICSzg]
>>883
メモリグラフィックコンテキストが内包してるフレームバッファが見えてるだけ、
と考えれば概念的におかしいところはない。
visible を含むレイヤのツリー配置機能はさらに外枠の構造で、これは
他ではみられない構造だから珍しいけどおかしいところは無いと思う。
Window - Layer までで一つの概念を形成してる。

結局、Image 単体が存在しないから Layer で代用してるのがおかしいだけという話になるんじゃないかと。
実際のところは独自の Image と、それに対応した Layer.drwaImage() を
ネイティブプラグインとして作ってしまえばいいだけではある。
というか、LayerExDraw プラグインとして既に1例は存在してる。

887 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 22:10:18 ID:riSF4elI]
・・・・話してることがさっぱり分からん。
くそう、一応C++とかも勉強してるんだけどなぁ・・・。
WindowsAPIとか弄らないと駄目なのか。

ミニゲームを組み込みたいと思ってはいても、どう実現すれば良いのかさっぱりだ。
マリオくらいならC++で組めるんだけど、どう勉強したらいいんだろう。

888 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 23:25:07 ID:deXUyIGG]
アイテム周りをまとめたitem.ksをcallで呼んでいます。

老人A.ks
[call storage=item.ks]
*アイテム1
老人A「それはなんですか?」
*アイテム2
老人A「それは私の豆腐です」

少女B.ks
[call storage=item.ks]
*アイテム1
少女B「それはマドです」
*アイテム2
少女B「それは誰かの豆腐ですか?」

item.ksではアイテム一覧の表示、使用の選択をしています。
アイテム1を使いますか?→[return target=*アイテム1]
アイテム2を使いますか?→[return target=*アイテム2]

returnで呼び出し元に戻ると思ったのですが、
リファを読むとどうやらitem内でのラベルを読んでいるよう思った動作になりませんでした。
呼び出したシナリオのラベルに行きたいのですが、どうすればいいでしょうか?

889 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 23:35:07 ID:gKaOv5Va]
呼び出し元に依存するならサブルーチンにする意味無いだろ
素直にjump使えばいい

890 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 23:43:10 ID:g2s5GieN]
>>887
リポジトリにネイティブプラグインのサンプルソースがごろごろ転がってるから
それ読みながら自分で弄ってみるところから始めれば?
ttps://sv.kikyou.info/trac/kirikiri/wiki/AboutSubversion

そういえば、C++でミニゲーム組み込むならDrawDevice組んで切り替えて
ContinuousHandlerでゲームループ呼んでやるのが正当なのかな。

KAGのインタフェースと組み合わせたくて、レンダリング結果を
Layerにmemcpyで流し込んでやったら普通に動いたけど糞重かった。

891 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 00:41:59 ID:bjD8tvap]
>>887
吉里吉里を改造せず、独自描画処理を行う C++プログラムを組み込むには、
(1) drawDevice プラグインの形で描画系を作成して独自処理を埋め込む
(2) 吉里吉里のウインドウの上に子ウインドウを作成してそこで独自処理を行うプラグインを作成する
の二つの方法がある。

前者は吉里吉里の描画内容と自分の描画内容を混ぜ込むことができるが、逆に言うと
吉里吉里の描画処理も自前で書かないといけない。後者は完全に上にかぶさる形での
処理しかできないが、吉里吉里の描画自体は気にする必要がない。

いずれの場合も、必要に応じて吉里吉里がベースのウインドウを破棄する場合があるので、
いつでもその再生成に対応できる組み方をする必要がある。前者は専用のインターフェースからの
呼び返しが来るが、後者は、Window.registerMessageReceived でハンドラを登録して自前で通知をうける必要がある。
マウスやキーボードのイベント処理は、前者の場合はこれもインターフェースから呼び返しが
くるのでそれを使う。後者では、自前の Window Procedure に Win32 でイベントが直接来るのでこれを処理する。

メインループ処理は、いずれも吉里吉里の continous Handler からの呼び返しの形で構築する形になる。
これもプラグイン用の専用の口がある。

吉里吉里レポジトリの drawDeviceIrrlicht プラグインが、両者とも実装したサンプルになってるので参考にするといいだろう。

>>890
レイヤへのコピーも、最近はマシンパワーでおしきれば案外動くよw
drawDeviceIrrlicht はそのバージョンもある。




892 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 01:34:14 ID:w3eCa0aX]
>>885
おれもやったことあるけど
KagPaerserとLayer考えるとC++から叩いた方がいい。

>>886
>レイヤのツリー配置機能はさらに外枠の構造で、これは他ではみられない構造だから珍しい
これはこれで曲者な気が。

>Image 単体が存在しないから Layer で代用してるのがおかしい
やっぱImageクラスほしいよな・・・。

>>887
設計とプログラミングの概念的な話というか。
勉強ならマリオ作れるならADVエンジンくらい作れると思う。
速度出すにはVMとコンパイラもつくるけど。
ミニゲームはtjsで実装したら?
ミニゲームコード実行中はKAGの方からイベントもらわないといけないかもしれないけど。
んでミニゲーム終了時に後始末関数呼んでその戻り値をトリガーにKAG側への復帰処理呼ぶとか。
ミニゲームのループはcontinousHandlerを差し替える。
あとは、終了操作とかした時のための処理を追加か、これはKAG側からミニゲームへ割り込むかミニゲーム側で処理させるか。
tjsでもRPGくらいならマシンパワーでごり押しできるよw

893 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 09:27:58 ID:6ih0MpsH]
吉里吉里独自?の画像形式に、TLG5・TLG6ってありますよね
png使うよりはこのどっちかの方がやっぱり色々いいと思うんですが、皆さんは使ってます?
自分はpngじゃないとエクスプローラーでサムネイル表示できないのが痛くて、今はpngでやってるんですが

894 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 09:50:42 ID:T6nKkldw]
圧縮率も良いし、展開も速いから立ち絵に使ってるよ。
スージープラグイン入れればすぐにビュワー表示できるしね。

895 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 14:15:33 ID:bjD8tvap]
>>893
スキップ時とかにあからさまに体感差が出るよ。PNGは展開が重い。
イベント絵はあまり気にならないけど立ち絵は TLG にしたほうがいい

896 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 16:54:50 ID:3MK1TE0o]
もういっそ直線的にpixels[0] から pixels[pixels.length - 1]をヘッダなしにバイナリにぶち込めばいいんじゃね?
読み込むときはint[]に全部readすればいいだけだしw

897 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 17:03:18 ID:LZvNFtpc]
ヘッダが無いと画像サイズを確定できないのだが

898 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 17:40:44 ID:WroPin0r]
つ旧RAW

899 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 18:03:17 ID:KXM6pNqY]
前景用画像ファイルの運用 ttp://hpcgi1.nifty.com/gutchie/wifky/wifky.pl?p=%BB%CD%CA%FD%BB%B3%CF%C3+-+%BE%AE%A5%CD%A5%BF#p2.6
こういうやり方でも良いと思う

900 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 18:38:44 ID:otRLhg/V]
立ち絵はTLGで軽くなるけど
表情差分とか小さな画像をTLGに変換すると
PNGよりも容量でかくなるのはなんでだ?
不透明度の多さとか関係ある?

901 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 19:03:09 ID:3gT7c3A/]
>>897
ゲーム側でフォーマット決め打ちじゃないか?



902 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 20:24:50 ID:CLGXjWHi]
>>900
ある

903 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 22:27:35 ID:K2Cs/ynZ]
所謂育成ゲームを作りたいんですけど
これって吉里吉里でも可能ですか?

904 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 22:35:41 ID:TW8jXsoW]
>>903
ゲーム中でどのようなグラフィック表現をしたいのかによる。

画面中にキャラ絵や数値表やいくつかのボタンを配置し、
ボタンその他のウィジェットからの入力で
ゲームが進行するように実装するなら
吉里吉里/KAGで十分できるよ。

要領はゲームのオプション画面の実装の仕方と同じ。

905 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 23:54:52 ID:47oAeYsk]
[eval exp="f.chara='キャラ名'"]
[eval exp="f.odoroki=f.chara+'_odoroki'"]
[image storage="&f.odoroki" layer="1" pos="c" visible="true"]
とすると、「キャラ名_odoroki.png」画像が表示されたので

[eval exp="'f.star_'+f.chara=1"]
と書くと「f.star_キャラ名」に1を代入できると思ったのですがエラーになってできません・・・。
どう書けばいいのでしょうか?
初歩的な質問だとは思いますがよろしくお願いします。

906 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 00:12:02 ID:xF6tbSO6]
[eval exp="f['star_'+f.chara]=1"]

907 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 00:12:13 ID:68KHcIit]
>>905
このスレ頭からよんでこい

908 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 00:12:51 ID:+ytX66C8]
>>905
文字列を動的にTJSのコードに置き換える処理は、
必要上仕方なくやる場合もあるけど、基本的にはお勧めできない。
# [eval exp="'f.star_'+f.chara=1"] のこと

そういうことなら、
f.stars
は辞書型 %[] にしておいて、

[eval exp="'f.star[f.chara]=1"]

という形で設定してあげるといいよ。

909 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 19:32:57 ID:9KpicER+]
>>904
ありがとうございます
作りたいのはそのタイプなので早速挑戦してみます

910 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 21:05:31 ID:NcE8Gw/B]
すみません、クリッカブルマップについての質問なんですが。

クリッカブルマップのある画像を常に表示しておき、プレイヤーがテキストを読み進んでいる
合間の好きな時に画像をクリックすると、別のメッセージレイヤが開いて何らかのメッセージを表示。
左クリックをするとそのメッセージレイヤが閉じてまた元の普通の画面に戻るというのをやりたいんです。

しかし私のクリッカブルマップの知識では、クリックすると特定のksファイルのtargetに跳んでいき
メッセージの表示をした後、戻る時はjumpになるので戻る場所のtargetを指定しなければなりません。
上記の様にする為にreturnを使いたいのですが、この場合callタグを何処に置けばいいのか解りません。

maファイルでの書式はKAGと違うようですし、まだKAG上のスクリプトしか使えないんですが
こうした事をするにはTJSを弄らないとムリでしょうか。

911 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 04:38:45 ID:uUxuzN7L]
クリッカブルマップに見えるけど実はボタン並べてるだけってのでいいじゃない?



912 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 05:11:32 ID:e8Lvp+4/]
確かに。不定形のボタンは簡単に作れるからなぁ。

913 名前:910 mailto:sage [2009/09/29(火) 07:43:25 ID:7jdLEmGf]
アドバイスありがとうございます。
実を言うと、グラフィカルボタンは構造が理解出来ていないらしく、
どうしてもボタン画像そのものを表示させることができないんです。
そこで何度も作ったことがあるクリッカブルマップで代用出来ないかと
思ったんですが。

グラフィカルボタンはメッセージレイヤ上に現れるんですよね?

[layopt layer="message0" page=fore visible=true]\
[locate x=100 y=400]\
[button graphic="ボタン.png" target="*osita"]\
[s]

これだと何も無いメッセージレイヤが表示されるだけで、そのまま[s]に従って
止まってしまいます。
コンソールで見るとボタン.pngは正常に読み込まれているらしいんですが。



914 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 07:51:53 ID:n3xZFulj]
>>913
currentレイヤは確認したかね

915 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 10:02:36 ID:e8Lvp+4/]
>>913
ボタンを表示するサンプルを動かして考えたかい?

916 名前:910=913 mailto:sage [2009/09/29(火) 16:48:59 ID:NgnztUMM]
グラフィカルボタンの件が解決しました!
>>914,915
これまで動作を確かめる時は製作中のスクリプトの合間の部分でやっていたので、
今回はボタン表示だけのサンプルとして書いてみました。
念の為にcurrentも指定し、positionでメッセージレイヤも画面いっぱいに広げてみたのですが
やはりただ真っ暗な画面が映るだけ。

しかしようやく原因が解りました。
私はメッセージレイヤのサイズをゲーム内で頻繁に変える為、デフォルトの設定は
当てにしていないので適当な数字を入れていたのですが、それのmarginがかなり大きく
なっていたのでした。
だからテストをする時にはメッセージレイヤがそのデフォルト設定になり、メッセージレイヤの
中に入っているつもりでも画像がmargin部分に引っかかって表示されなかった…というお粗末。
こんな事で2年以上もグラフィカルボタンをあきらめていたとは。

つまらない事でお騒がせしてすみません。しかしおかげで重要なコマンドが使えるようになりました。
>>910の件はグラフィカルボタンでやってみます。ありがとうございました!

917 名前:913 mailto:sage [2009/09/29(火) 18:40:17 ID:NgnztUMM]
何度もすみません。
グラフィックボタンは使えるようになりましたが、やっぱり>>910のような動作をする為には
何かが不足のようです。

[button graphic="ボタン.png" exp="kag.callExtraConductor('button_oshi.ks', '*説明')"]\
[s]

…としてcallタグの代わりになり、button_oshi.ksの最後にretrunを入れる事に成功しましたが、
これで戻ってくる場所は上記タグの[s]の直前になる為、やはりそこで終わってしまいます。
ボタンを押す前の状態に戻ってくる方法はないでしょうか…。




918 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 21:14:30 ID:myn7KpTb]
>>917
ボタンを押す前の状態ってのがなんなのか、
何がどう上手くいかないのかがさっぱりわからん。
勘で答えるとテキストかボタンのメッセージレイヤの内容を消去してるせいだと思う。
*説明から[return]の間に[ct]や[cm]があるとか、描画先を変更せずに[er]してるとか。


919 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 22:38:47 ID:8ss2KQff]
>>917
俺の場合は、ボタンを配置する基本の処理の流れは、こんな感じで組んでいるけど、どう?

*ボタンを押す前の状況
画面を更新してボタンを配置する
1つ目の[butt]を、打鍵で フラグに1を入れて *打鍵した ラベルに行く
2つ目の[butt]を、打鍵で フラグに2を入れて *打鍵した ラベルに行く
[s]
↑ここで打鍵まちにする

*打鍵した
フラグが1ならば[call]1のファイルにいってreturnでここに戻ってくる
フラグが2ならば[call]2のファイルにいってreturnでここに戻ってくる

[jump] *ボタンを押す前の状況 の、ラベルに戻る



920 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 23:23:29 ID:TftUuxwQ]
まともにリファレンスも呼んでいなさげな913がそろそろウザくなってきた
もっと具体的にやりたいことの仕様説明をしろよチンカス
どうやらオンラインヘルプっぺえ機能がやりたいようなので勝手に断定して話を進めると、
ヘルプ用レイヤをつくってそこにテキストを書き、ボタンによってレイヤのvisibleを
トグルさせるのが簡単かつメンテしやすいのではないかと思う
挙動をモーダルにしておけば、テキスト自体はマクロで呼び出せるしな

921 名前:910=913=916=917 mailto:sage [2009/09/30(水) 01:20:01 ID:RibCgSc/]
すみません。すっかり煮詰まった状態でテストしながら書き込んでいた為、
何だか訳の解らないことを言っていたようです。

やりたい事が不明という点。>>910の4行目までに書いたことが全てでして、
考えてみればボタンの機能は、正にそういうことをする為のものなので出来ないはずが
なかったんですね。
「押す前の状態」とかややこしい事を言ってしまいましたが、ボタンを押した時に
跳んだ場所から抜け出せない(うまく戻って来れない)というだけの事でした。

>>919さんのように書いて、>>918さんの指摘も気をつけるようにしているつもりなのですが、
どうもうまく行きません。
>>916で急にボタン画像を表示できるようになったことに浮かれてしまいましたが、
まだ構造の方を理解しきれていないようです。

ただ書式の基本のこととは言え、持っているマニュアル本にはボタンについての項目がなく、
KAGリファレンスや幾つかの講座も覗いてみたのですが、グラフィカルボタンについては説明が少なくて
難航しています。
これ以上書式の基本のような事で時間をかけるのは、ここではスレ汚しになってしまいそうなので
質問はここまでにしたいと思います。
時間をかけて独力で調べ直し、うまく行ったらスレタイの"雑談"として報告しに来ます。

ちなみに、>>920さんのやり方が確かに一番私のイメージしてるものに近く簡単なようです。
是非この方法を使わせていただこうと思っています。



922 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 01:33:58 ID:uFdClSf4]
>>921
いや、だからサンプルを確認したのかと。

923 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 01:59:23 ID:RibCgSc/]
えーと、サンプルというのはどういう事でしょう。
リファレンスや色々な講座にある書式、こちらで書いていただいた
スクリプト等をそのままコピペして試してみてダメだったのですが…。


924 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 02:20:16 ID:uFdClSf4]
>>923
kag3pluginの中にsampleフォルダがあるでしょ。

そろそろ「何考えてるの? 死ぬの?」を発動してもいい?

925 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 03:44:37 ID:9xQ+gvHq]
んでまぁ、何がなにやら困ったらあれだ
returnタグは戻り先を指定出来るんだから、ボタン(マップもどきか?)を描画する先頭のラベルに飛ばせばいいんじゃない?
そうなると何でcallで飛んだんだ?って気はするけど。

;MAP描画
*map
[button 押したら*subをcallする感じの]
[s]

;押した先の画面描画
*sub

;[s]で止めてbuttonで飛ばすか[p]だか何かそういう感じ

*ret
[return 戻り先を*mapに指定]

ちょこっとこみいった事をしたいのであれば、リファレンスとOUTFOCUSを端から端まで目を通して軽く記憶に留めとく位の事はしたほうがいいと思う。
KAGがどんな機能を持っててどんな事が出来そうか想像しながらリファレンスを読むのは楽しいと思うんだけどな。

ゲームの完成とは直接つながらない時間の使い方なのは否定しないけども。

926 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 04:16:33 ID:s44Wvcu0]
ここと公式で聞いてみて理解できなかったら仕様変更したほうがいいと思う。
そんなところに時間かけるだけ無駄。

927 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 06:55:59 ID:dVOo3BQr]
>ボタンを押した時に跳んだ場所から抜け出せない(うまく戻って来れない)

928 名前:927 mailto:sage [2009/09/30(水) 07:07:39 ID:dVOo3BQr]
ごめん。ミスった。

>>921
>ボタンを押した時に跳んだ場所から抜け出せない(うまく戻って来れない)
[s]の位置でcallされて[s]に戻ってきてるんだから飛んだ場所から抜け出せてる、
うまく戻ってきてるんじゃないか?
結局どううまくいかないかも書いてない。
call先をコメントアウトするなりして何故うまくいかないかを調べるくらいしたらどうよ。

929 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 09:38:46 ID:haABz3tC]
ギャラリーページを作っているんですが、トランジションをかけてページ移動をすると
トランジションが終わった後にサムネイルがワンテンポ遅れて表示されてしまいます。
これをトランジションが掛かっているときにはすでに表示されていて、
一緒に表示させるにはどうしたらいいでしょうか?
よろしくお願いします。

930 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 10:10:54 ID:BgDuLnDT]
総合IDとして変数に(数字で)aAbBcCdD……のように格納して、二桁ずつ個別のIDにして使用しようとしてるんですが、
aA=05とか、aAbB=0028とかのように、総合IDの先頭に0があるとエラーが出てしまいます
変数の仕様によるものだと思いますが、エラーを回避する方法はないでしょうか?
分かる方いられましたら、教えていただけないでしょうか


931 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 10:19:54 ID:6gcn2Hif]
0が頭につくと8進数扱いになるから数字の8や9が登場できない
数としてではなく文字列として扱うようにすればOK
0028ではなく"0028"みたいな



932 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 11:19:40 ID:uFdClSf4]
>>929
pimage命令でトランジション先の背景にサムネイルを先に合成してからトランジションをかける。

>>930
それ仕様の方がおかしくね?
基本的に変数を大量に使う実装法はお勧めできない。
たくさんのデータを同じような扱い方をする場合には配列や辞書型などの集合型を使ったほうがいい。
また、文字列だけで違うものを管理しようとすると、それが大量になると(大体30個越えたあたりから)
人間には管理しきれなくなるので結局その文字列に番号を振りなおすようなはめになるので、
最初から番号で管理することをお勧めする。

したがって、今回の話は単純な整数配列1個に置き換えられる。

933 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 11:22:47 ID:6gcn2Hif]
文字列1個でもいいかもね

934 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 14:03:57 ID:DeRDVAJi]
>>930
いわゆる uuid 作りたいだけじゃなくて?
文字列化する、さらに確実に文字列として評価されるように固定文字プリフィクス
付けておくことを勧めるよ。"__" とかね。


935 名前:930 mailto:sage [2009/09/30(水) 14:10:39 ID:/JKUNhe2]
>>931-933
教えていただいてありがとうございます

パーツをいくつも重ねてできた合成イメージを表示しようとしていて
個別IDがパーツごとにどれを選ぶか表し、総合IDが完成したイメージのIDを表すようにしようとしていました
検討しなおしてより良い仕様に変えようと思います

936 名前:930 mailto:sage [2009/09/30(水) 14:11:50 ID:/JKUNhe2]
>>934
すいません、レス見落としてました。ありがとうございます。

937 名前:910=921 mailto:sage [2009/09/30(水) 14:53:37 ID:U6fejFEL]
>>924
あっ、そういえば有りましたね。製作に入って自作品外のファイルを別所に移したのを忘れていました。
今仕事先からなので帰ってから確認します。
>>925,926,928
最初クリッカブルマップでやろうと思っていた事がボタンで出来ると判り、こっちの方が簡単で色々できそうだと
つい興奮してしまいましたが、ボタンの構造そのものを理解しないうちにデタラメに弄って熱くなっていたようです。
まずその基本を勉強し直し、その上で皆さんのアドバイスを参考にさせていただきたいと思います。
うかつな質問でお騒がせし申し訳ありませんでした。

938 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 20:01:07 ID:rJ4hDBJr]
画面サイズと同じサイズの画像を背景として表示させた状態 仮に状態Aとする
同じ画像をtop=0 left=0で背景レイヤー以外のレイヤー(例えば0や1)に表示させると
状態Aよりも少しだけ(数ピクセル)ズレるのは仕様ですか、それとも指定方法に問題があるのでしょうか?

同様にbuttonで画像を表示した場合とimageで画像を表示した場合も
button x = image left
button y = image top
同じ値を指定しても異なる位置に表示されますが、これは仕様でしょうか、それとも指定方法に問題があるのでしょうか?

939 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 20:16:53 ID:uFdClSf4]
>>938
buttonとimageで画像の取り扱い方は違うんだけど、それはOK?

940 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 20:19:50 ID:aKfjyI0F]
>>938
margin

941 名前:938 mailto:sage [2009/09/30(水) 20:30:52 ID:rJ4hDBJr]
マジで!?
マージで!?
マージンで!?

後者の問題は解決しました。
ありがとうございました。



942 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 20:38:42 ID:Xz+mxuig]
イラッ(^ω^;)
なんでこうリファレンスも読まない場当たり的な質問が続くのか

943 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 20:42:05 ID:OhgmSDNx]
*start
どうする?
[link target=*hanasu]話す[endlink] [link target=*siraberu]調べる[endlink][s]
*hanasu[jump target=*start]
話した。
*siraberu
調べた。[jump target=*start]

*start
どうする?
[link exp="f.koudou='hanasu'"]話す[endlink] [link exp="f.koudou='siraberu'"]調べる[endlink][s]
[if exp="f.koudou=='hanasu'"]
話した。[jump target=*start][endif]
[if exp="f.koudou=='siraberu'"]
調べた。[jump target=*start][endif]

正確な文ではありませんがこんな感じでコマンドADVを作ろうとした場合(実際はもっと複雑)
if文で分岐させるのと、jumpでラベルに飛ばすのってどっちがいいんですか?
中身が長いときはラベルの方が良さそうだけど、好みの問題?
ifの方が管理しやすそうですが、ラベルだとKKDEで折りたためたりできるのでどっちがいいのか…


944 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 20:46:38 ID:Z2qf7ULX]
jumpにした方がいい。
理由は未読/既読判別の処理の関係上。
ifでは判別してくれないよ。

945 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 20:52:05 ID:PaYsGBpE]
>>943
最初リファレンスも読まないカスが多い一連の流れを
揶揄してるのかと思ってしまったw

厳密な処理速度とか効率性とか求めてる人間じゃないんで
俺はどっちでも好きにしろとしか思わない

946 名前:名前は開発中のものです。 mailto:sage [2009/09/30(水) 23:54:43 ID:s44Wvcu0]
余計なバグを出さないために、俺はcall。
空行を少し多めにしてpatch出すときはそこに埋めるようにしてる。

947 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 00:58:07 ID:RBNp1X9j]
>>946
ぶっちゃけその発想はなかった。
そうか、行がちがくなってエラー出るんだから、最初から余裕もって空行にしとけばいいのか。

948 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 01:24:47 ID:Nh02dlNy]
既存の行のうしろに差分追加すればいいんじゃね

949 名前:名前は開発中のものです。 [2009/10/02(金) 19:05:41 ID:xNfLWESs]
初歩的な質問ですみません。
SOUNDファイルの音をマウスオーバーで鳴らすにはどのようにすればいいのでしょうか?

950 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 19:12:43 ID:lce5lLU+]
[link enterse="hoge"]

951 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 19:13:06 ID:A9AcV33D]
>>949
buttonマクロでonenter引数に音を鳴らすtjsコードを書く。



952 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 19:14:38 ID:A9AcV33D]
enterseでよかった……orz

953 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 19:36:58 ID:xNfLWESs]
出来ました!ありがとうございます。






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

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

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