■吉里吉里/KAG/TJS雑談質問スレ■その18
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001名前は開発中のものです。
2009/06/06(土) 01:11:54ID:EztZkDNL自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。
マルチポストはやめましょう。個人叩きも禁止です。
※スレで質問をするときは※
KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、
FAQ、Google等で調べてからにしましょう。
努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ!
前スレ:■吉里吉里/KAG/TJS雑談質問スレ■その17
http://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の公式掲示板や講座等を併用してください。
(併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)
0831名前は開発中のものです。
2009/09/14(月) 07:32:28ID:iYQ6b4Of上から別のレイヤーがかぶさってるからじゃね?
それから、オレなら4つも変数作らずに配列で初期化しちゃうかな。
0832830
2009/09/14(月) 12:44:51ID:P0E07ICOレスありがとうございます。
830は、テスト用に単純化したもので、運用とは異なります。
(830のsetSizeToImageSizeは、全部不要でした)
実際には、以前、ここで見掛けた、kag.fore.base以外にプライマリーレイヤを追加するのを
試していて遭遇した問題です。
(その場合は、プライマリーとkag.fore.baseの間にコンテナ用のレイヤをさらに追加して、
そちらで、topとleftを指定すれば、取り合えずはしのげるのですが……
830だと、最初にLayCを作成して、LayFはLayCの子、LayBはLayFの子にして、LayCのtopとleftを
指定、LayFのtopとlefは0といった感じ)
コンテナを使うのが、お作法ならお作法で構わないのですが、
830の段階では、コンテナを使うのにも気付いていなかったので質問しました。
他にもっと無駄の無い方法がありそうな気もします……
0833名前は開発中のものです。
2009/09/14(月) 12:54:47ID:P0hH5cA4トランジションするレイヤの left, top, opacity を一度でも変えてしまうと
そのレイヤでのトランジションは失敗する。多分そういう仕様です。
回避するには left, top, opacity を動かしたレイヤの親でトランジションする方法があります。
>>830 の例では LayF, LayB の親が kag.primaryLayer になっているが、これを fore.base と back.base のペアに変えてこれをトランジションするか、新たに
var LayFP= new Layer(kag, kag.primaryLayer);
var LayBP= new Layer(kag, kag.primaryLayer);
などと作りこれを親にして、トランジションは LayFP, LayBP のペアで行う。
(試していないので違ってたらゴメン)
0834830
2009/09/14(月) 19:16:56ID:KZfHS5sJどちらも、巧くいきました。ありがとうございます。
考え方としては、KAGで背景(top=left=0, opacity=255)ごとのトランジションが推奨なのと、
同じようなものですね。そうしてみると、公式過去ログの方にも、あってもよさそうな話題ですが、
適当な検索ワードで絞り込めず断念しました。
(付記:
>一度でも変えてしまうと
一度変更しても、トランジションの開始前に
初期値(top=left=0, opacity=255)に戻しておけばよいみたいです)
0835名前は開発中のものです。
2009/09/15(火) 12:10:06ID:3AAzPb/Lどうにもおかしくなるのはそういうことでしたかね。
属性で left=%left1|0 とか [freeimage] 入れてみるとかしてますが
時々思い通りには行かなかったり。
あぁ、理解が足りてないんだなぁ。
0836名前は開発中のものです。
2009/09/16(水) 10:56:40ID:NCl4Epv/画面全体でrclickコマンドの定義を有効にするにはどうすればいいの?
0837名前は開発中のものです。
2009/09/16(水) 12:15:20ID:fb0AHpBPMessageLayer.tjs内を「function onExecute」とかで検索すると幸せになれる
0838名前は開発中のものです。
2009/09/16(水) 12:18:37ID:QBbKEKaX高確率でブルースクリーンになる…
0839名前は開発中のものです。
2009/09/16(水) 13:20:01ID:NCl4Epv/解決しました!
手元で使ってるKAGが年代ものなんですが、まず最新版のKAGから該当部分を抜き出して、onExecuteハンドラが動くようにしました。
具体的な解決法ですが、ByttonLayer.onExecute()ハンドラでkag.onPrimaryRightClick()を実行する形です。
この場合、事実上ボタンは右クリックに対して透過扱いになります。
0840名前は開発中のものです。
2009/09/16(水) 15:52:54ID:vLgweafg>手元で使ってるKAGが年代もの
論外だ、質問するにしても最新に差し替えてからだ。
0841名前は開発中のものです。
2009/09/16(水) 16:21:48ID:TMi/1sDM0842702
2009/09/17(木) 17:13:25ID:Gc1+z1T40843名前は開発中のものです。
2009/09/17(木) 17:16:31ID:VHK9apoT0844名前は開発中のものです。
2009/09/18(金) 18:49:15ID:evtGsLnpKAG互換かな?
ttp://www.ies-net.com/home
0845名前は開発中のものです。
2009/09/18(金) 21:02:15ID:p1xQb7edマクロで工夫すれば同じコードを流用できると当たり前のことを書いてるだけ。
ECMAScriptを参考にしてると書かないで、吉里吉里と書いたのは単なる宣伝目的だな。
0846名前は開発中のものです。
2009/09/18(金) 21:05:53ID:e6h6qoRX0847名前は開発中のものです。
2009/09/18(金) 21:08:15ID:R+jiDVg60848名前は開発中のものです。
2009/09/18(金) 21:10:11ID:Y34ukRj0複数ファイルに分けて作成しているときは似たり寄ったりかな。
0849名前は開発中のものです。
2009/09/18(金) 21:15:23ID:FoEYh4Dx入力補完なら、EmEditor Proが過剰なくらいやってくれるが。
どちらかというと、メソッドやクラスの定義場所に一発でジャンプしたいかな。
ctagsを改造すればいいんだけど。
以前Squirrel向けのは作ったことあるからTJS向けのも作ってみるかなぁ。
0850名前は開発中のものです。
2009/09/18(金) 21:16:58ID:6FZ9xGQZ0851名前は開発中のものです。
2009/09/19(土) 01:30:05ID:4UC60NgT全然別物だった。
けど、iPhoneで動作するゲームを作れるのに惹かれる
0852名前は開発中のものです。
2009/09/20(日) 11:52:21ID:uBXXJrhMおさかな定食っていつごろから今の状態が続いてるんでしょうか・・・?
0853名前は開発中のものです。
2009/09/20(日) 12:12:27ID:5jAFOtQd引越し作業にこんなに掛かるもんなのか?
0854名前は開発中のものです。
2009/09/20(日) 16:35:59ID:13MH5JEG時間はかかっても仕方ないが…
ノーサポートでいいから早く復旧して欲しいな
0855名前は開発中のものです。
2009/09/20(日) 21:55:32ID:dZdZ7IqR0856名前は開発中のものです。
2009/09/20(日) 23:34:34ID:DZtL7OZ20857名前は開発中のものです。
2009/09/21(月) 00:35:35ID:2rdZchz0確か6月はまだDLできてたような・・・
0858名前は開発中のものです。
2009/09/21(月) 01:12:22ID:UZiMTDQB0859名前は開発中のものです。
2009/09/21(月) 01:16:20ID:69Pjtjw70860名前は開発中のものです。
2009/09/21(月) 01:30:28ID:cf9VT6bLfunction onCloseQuery()の
saveSystemVariables();
if(!askOnClose) { super.onCloseQuery(true); return; }
super.onCloseQuery(askYesNo("終了しますか?"));
を消して
kag.callExtraConductor('終了.ks','*終了シナリオ内');
ではその後シナリオ内の[link exp=" kag.shutdown()"]が効かなくなってしまいます。
どのようにすればいいですか?
0861名前は開発中のものです。
2009/09/21(月) 23:35:59ID:Afbu6NXBWindow.onCloseQuery(終了するかどうか) incontextof kag;
0862名前は開発中のものです。
2009/09/23(水) 11:08:42ID:48qbElB4吉里吉里3はどんな状況とかの話とかあったら教えておくれー
0863名前は開発中のものです。
2009/09/23(水) 11:22:05ID:Ki71KdO3mixiにレポがきてるお
0864名前は開発中のものです。
2009/09/24(木) 19:00:42ID:0U2U8Wq2勿論、公式情報とかじゃないから、それに文句を言うつもりは無いが、
あの窮屈な空間が嫌で辞めちまった身にはつらいw
0865名前は開発中のものです。
2009/09/25(金) 01:41:19ID:g8dS8TRE0866名前は開発中のものです。
2009/09/25(金) 08:37:43ID:n5loEePcまじめにやってれば半年もあれば開発できるものだしな。
0867名前は開発中のものです。
2009/09/25(金) 09:30:27ID:PhkD4GjXKagEXを完成の領域に持ってきた方が、受けが良いんじゃなかろうか。
0868名前は開発中のものです。
2009/09/25(金) 09:40:26ID:+dkIAQuX0869名前は開発中のものです。
2009/09/25(金) 09:47:24ID:sKoqn0LWところでmixiのレポートであった
FLASHで右クリックすると出るFLASH関連のメニューを
出さない方法ってどこかにないだろうか
0870名前は開発中のものです。
2009/09/25(金) 14:37:43ID:OhTQHWYFインタプリタのみを動かすだけなら半年で出来るだろうが
関連するAPIを用意したり付随するツール群を揃えてさらに実用レベルの品質まで持っていくのは数年かかるだろう。
それこそコミッターが居れば今ごろ完成してたかも知れんし。
>>867
あれを使うくらいならMainWindow.tjsを整理するついでに自分で作るってやつが居るんじゃないだろうか。
0871名前は開発中のものです。
2009/09/25(金) 14:41:59ID:AuREjKi2ttp://www.kirikiri.info/bbslog/log/004718
これはどうだろう?
KAGEXは機会があれば触ってみればいいんじゃね?
バグが〜とか書いてる人のは本当にKAGEXのバグなのか今の所わからんし。
自前スクリプトのバグ、使い方や記述を間違えてる可能性もある。
0872名前は開発中のものです。
2009/09/25(金) 15:51:31ID:cADywhdFこのスレをすこしさかのぼるんだ!
0873名前は開発中のものです。
2009/09/25(金) 18:12:35ID:PhkD4GjX吉里吉里でノベル以外を作ってる俺としては頑張ってもらいたいものだ。
0874名前は開発中のものです。
2009/09/26(土) 01:54:33ID:cSoIuReOありがとうございます。なぜかタイトル画面でしか閉じられなかったりするので色々頑張ってみます。
0875名前は開発中のものです。
2009/09/26(土) 02:06:02ID:sCbbckM4ノベル以外ならC/C++にluaとかDSL組み込んじゃえばいい気がするんだけど。
そういうDSL上に構築されたゲーム用F/Wもあるしさ。
0876名前は開発中のものです。
2009/09/26(土) 02:09:34ID:riSF4elIノベルメインでミニゲームをそれなりに本格的にやりたいとしたらどうすりゃいいのかよくわからん。
どこか解説してたりするところない?
0877名前は開発中のものです。
2009/09/26(土) 02:11:30ID:tgpICSzgパフォーマンスがさほど要求されない場面なら有効だと思うよ。画像やサウンドの扱いもシンプルだし。
0878名前は開発中のものです。
2009/09/26(土) 02:15:49ID:MSxnwiCG汎用ゲームエンジンだと逆にノベル部分がネックになったりするわなぁ。
吉里吉里はその辺、嫌と言うほど作りこまれてるから。
メッセージフレームだしてクリックごとにテキストを切り替える程度と妥協できるなら、
汎用エンジンで作ってゲームをメインにしたらいいかもしれないけどね。
0879名前は開発中のものです。
2009/09/26(土) 03:50:30ID:sCbbckM4反映させるっていうスタイルだったらなぁ。
あと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();
}
0880名前は開発中のものです。
2009/09/26(土) 12:52:20ID:O+pMsbT1おお、ありがとう!
そうかプラグインでもできたのか
どちらも試してみるわ
0881名前は開発中のものです。
2009/09/26(土) 15:14:47ID:tgpICSzg吉里吉里のレイヤって標準機能が少ないだけで概念的にはグラフィックコンテキストそのものだろ
画像だけの独立した概念があるとすっきりするよなぁとは思うけどね
0882名前は開発中のものです。
2009/09/26(土) 15:19:23ID:MSxnwiCG0883名前は開発中のものです。
2009/09/26(土) 19:51:18ID:0JH+tER8グラフィックコンテキストが画像とそれに関するステートを持っているのが問題なのかと。
ふつうはだいたいこんな定義だろ。
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たん。
0884名前は開発中のものです。
2009/09/26(土) 20:29:13ID:gKaOv5Vaちゃんとした言語にしたかったらRubyやPythonでも組み込んでくれた方がよっぽど助かる
0885名前は開発中のものです。
2009/09/26(土) 20:32:28ID:g2s5GieNLayerみたいにガチガチな依存関係を持っていてコンストラクタ引数に他オブジェクトを要求するクラスの
外部シリアライザの実装のしかたがどうしても思いつかなくて頓挫。
仕方ないから既存の構築済みオブジェクトをdeserializeに渡してメンバだけ復元するようにした。
オブジェクトの共有が絡んでくると一気にややこしくなる。
0886名前は開発中のものです。
2009/09/26(土) 21:01:37ID:tgpICSzgメモリグラフィックコンテキストが内包してるフレームバッファが見えてるだけ、
と考えれば概念的におかしいところはない。
visible を含むレイヤのツリー配置機能はさらに外枠の構造で、これは
他ではみられない構造だから珍しいけどおかしいところは無いと思う。
Window - Layer までで一つの概念を形成してる。
結局、Image 単体が存在しないから Layer で代用してるのがおかしいだけという話になるんじゃないかと。
実際のところは独自の Image と、それに対応した Layer.drwaImage() を
ネイティブプラグインとして作ってしまえばいいだけではある。
というか、LayerExDraw プラグインとして既に1例は存在してる。
0887名前は開発中のものです。
2009/09/26(土) 22:10:18ID:riSF4elIくそう、一応C++とかも勉強してるんだけどなぁ・・・。
WindowsAPIとか弄らないと駄目なのか。
ミニゲームを組み込みたいと思ってはいても、どう実現すれば良いのかさっぱりだ。
マリオくらいならC++で組めるんだけど、どう勉強したらいいんだろう。
0888名前は開発中のものです。
2009/09/26(土) 23:25:07ID:deXUyIGG老人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内でのラベルを読んでいるよう思った動作になりませんでした。
呼び出したシナリオのラベルに行きたいのですが、どうすればいいでしょうか?
0889名前は開発中のものです。
2009/09/26(土) 23:35:07ID:gKaOv5Va素直にjump使えばいい
0890名前は開発中のものです。
2009/09/26(土) 23:43:10ID:g2s5GieNリポジトリにネイティブプラグインのサンプルソースがごろごろ転がってるから
それ読みながら自分で弄ってみるところから始めれば?
ttps://sv.kikyou.info/trac/kirikiri/wiki/AboutSubversion
そういえば、C++でミニゲーム組み込むならDrawDevice組んで切り替えて
ContinuousHandlerでゲームループ呼んでやるのが正当なのかな。
KAGのインタフェースと組み合わせたくて、レンダリング結果を
Layerにmemcpyで流し込んでやったら普通に動いたけど糞重かった。
0891名前は開発中のものです。
2009/09/27(日) 00:41:59ID:bjD8tvap吉里吉里を改造せず、独自描画処理を行う C++プログラムを組み込むには、
(1) drawDevice プラグインの形で描画系を作成して独自処理を埋め込む
(2) 吉里吉里のウインドウの上に子ウインドウを作成してそこで独自処理を行うプラグインを作成する
の二つの方法がある。
前者は吉里吉里の描画内容と自分の描画内容を混ぜ込むことができるが、逆に言うと
吉里吉里の描画処理も自前で書かないといけない。後者は完全に上にかぶさる形での
処理しかできないが、吉里吉里の描画自体は気にする必要がない。
いずれの場合も、必要に応じて吉里吉里がベースのウインドウを破棄する場合があるので、
いつでもその再生成に対応できる組み方をする必要がある。前者は専用のインターフェースからの
呼び返しが来るが、後者は、Window.registerMessageReceived でハンドラを登録して自前で通知をうける必要がある。
マウスやキーボードのイベント処理は、前者の場合はこれもインターフェースから呼び返しが
くるのでそれを使う。後者では、自前の Window Procedure に Win32 でイベントが直接来るのでこれを処理する。
メインループ処理は、いずれも吉里吉里の continous Handler からの呼び返しの形で構築する形になる。
これもプラグイン用の専用の口がある。
吉里吉里レポジトリの drawDeviceIrrlicht プラグインが、両者とも実装したサンプルになってるので参考にするといいだろう。
>>890
レイヤへのコピーも、最近はマシンパワーでおしきれば案外動くよw
drawDeviceIrrlicht はそのバージョンもある。
0892名前は開発中のものです。
2009/09/27(日) 01:34:14ID:w3eCa0aXおれもやったことあるけど
KagPaerserとLayer考えるとC++から叩いた方がいい。
>>886
>レイヤのツリー配置機能はさらに外枠の構造で、これは他ではみられない構造だから珍しい
これはこれで曲者な気が。
>Image 単体が存在しないから Layer で代用してるのがおかしい
やっぱImageクラスほしいよな・・・。
>>887
設計とプログラミングの概念的な話というか。
勉強ならマリオ作れるならADVエンジンくらい作れると思う。
速度出すにはVMとコンパイラもつくるけど。
ミニゲームはtjsで実装したら?
ミニゲームコード実行中はKAGの方からイベントもらわないといけないかもしれないけど。
んでミニゲーム終了時に後始末関数呼んでその戻り値をトリガーにKAG側への復帰処理呼ぶとか。
ミニゲームのループはcontinousHandlerを差し替える。
あとは、終了操作とかした時のための処理を追加か、これはKAG側からミニゲームへ割り込むかミニゲーム側で処理させるか。
tjsでもRPGくらいならマシンパワーでごり押しできるよw
0893名前は開発中のものです。
2009/09/27(日) 09:27:58ID:6ih0MpsHpng使うよりはこのどっちかの方がやっぱり色々いいと思うんですが、皆さんは使ってます?
自分はpngじゃないとエクスプローラーでサムネイル表示できないのが痛くて、今はpngでやってるんですが
0894名前は開発中のものです。
2009/09/27(日) 09:50:42ID:T6nKkldwスージープラグイン入れればすぐにビュワー表示できるしね。
0895名前は開発中のものです。
2009/09/27(日) 14:15:33ID:bjD8tvapスキップ時とかにあからさまに体感差が出るよ。PNGは展開が重い。
イベント絵はあまり気にならないけど立ち絵は TLG にしたほうがいい
0896名前は開発中のものです。
2009/09/27(日) 16:54:50ID:3MK1TE0o読み込むときはint[]に全部readすればいいだけだしw
0897名前は開発中のものです。
2009/09/27(日) 17:03:18ID:LZvNFtpc0898名前は開発中のものです。
2009/09/27(日) 17:40:44ID:WroPin0r0899名前は開発中のものです。
2009/09/27(日) 18:03:17ID:KXM6pNqYこういうやり方でも良いと思う
0900名前は開発中のものです。
2009/09/27(日) 18:38:44ID:otRLhg/V表情差分とか小さな画像をTLGに変換すると
PNGよりも容量でかくなるのはなんでだ?
不透明度の多さとか関係ある?
0901名前は開発中のものです。
2009/09/27(日) 19:03:09ID:3gT7c3A/ゲーム側でフォーマット決め打ちじゃないか?
0902名前は開発中のものです。
2009/09/27(日) 20:24:50ID:CLGXjWHiある
0903名前は開発中のものです。
2009/09/27(日) 22:27:35ID:K2Cs/ynZこれって吉里吉里でも可能ですか?
0904名前は開発中のものです。
2009/09/27(日) 22:35:41ID:TW8jXsoWゲーム中でどのようなグラフィック表現をしたいのかによる。
画面中にキャラ絵や数値表やいくつかのボタンを配置し、
ボタンその他のウィジェットからの入力で
ゲームが進行するように実装するなら
吉里吉里/KAGで十分できるよ。
要領はゲームのオプション画面の実装の仕方と同じ。
0905名前は開発中のものです。
2009/09/27(日) 23:54:52ID:47oAeYsk[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を代入できると思ったのですがエラーになってできません・・・。
どう書けばいいのでしょうか?
初歩的な質問だとは思いますがよろしくお願いします。
0906名前は開発中のものです。
2009/09/28(月) 00:12:02ID:xF6tbSO60907名前は開発中のものです。
2009/09/28(月) 00:12:13ID:68KHcIitこのスレ頭からよんでこい
0908名前は開発中のものです。
2009/09/28(月) 00:12:51ID:+ytX66C8文字列を動的にTJSのコードに置き換える処理は、
必要上仕方なくやる場合もあるけど、基本的にはお勧めできない。
# [eval exp="'f.star_'+f.chara=1"] のこと
そういうことなら、
f.stars
は辞書型 %[] にしておいて、
[eval exp="'f.star[f.chara]=1"]
という形で設定してあげるといいよ。
0909名前は開発中のものです。
2009/09/28(月) 19:32:57ID:9KpicER+ありがとうございます
作りたいのはそのタイプなので早速挑戦してみます
0910名前は開発中のものです。
2009/09/28(月) 21:05:31ID:NcE8Gw/Bクリッカブルマップのある画像を常に表示しておき、プレイヤーがテキストを読み進んでいる
合間の好きな時に画像をクリックすると、別のメッセージレイヤが開いて何らかのメッセージを表示。
左クリックをするとそのメッセージレイヤが閉じてまた元の普通の画面に戻るというのをやりたいんです。
しかし私のクリッカブルマップの知識では、クリックすると特定のksファイルのtargetに跳んでいき
メッセージの表示をした後、戻る時はjumpになるので戻る場所のtargetを指定しなければなりません。
上記の様にする為にreturnを使いたいのですが、この場合callタグを何処に置けばいいのか解りません。
maファイルでの書式はKAGと違うようですし、まだKAG上のスクリプトしか使えないんですが
こうした事をするにはTJSを弄らないとムリでしょうか。
0911名前は開発中のものです。
2009/09/29(火) 04:38:45ID:uUxuzN7L0912名前は開発中のものです。
2009/09/29(火) 05:11:32ID:e8Lvp+4/0913910
2009/09/29(火) 07:43:25ID:7jdLEmGf実を言うと、グラフィカルボタンは構造が理解出来ていないらしく、
どうしてもボタン画像そのものを表示させることができないんです。
そこで何度も作ったことがあるクリッカブルマップで代用出来ないかと
思ったんですが。
グラフィカルボタンはメッセージレイヤ上に現れるんですよね?
[layopt layer="message0" page=fore visible=true]\
[locate x=100 y=400]\
[button graphic="ボタン.png" target="*osita"]\
[s]
これだと何も無いメッセージレイヤが表示されるだけで、そのまま[s]に従って
止まってしまいます。
コンソールで見るとボタン.pngは正常に読み込まれているらしいんですが。
0914名前は開発中のものです。
2009/09/29(火) 07:51:53ID:n3xZFuljcurrentレイヤは確認したかね
0915名前は開発中のものです。
2009/09/29(火) 10:02:36ID:e8Lvp+4/ボタンを表示するサンプルを動かして考えたかい?
0916910=913
2009/09/29(火) 16:48:59ID:NgnztUMM>>914,915
これまで動作を確かめる時は製作中のスクリプトの合間の部分でやっていたので、
今回はボタン表示だけのサンプルとして書いてみました。
念の為にcurrentも指定し、positionでメッセージレイヤも画面いっぱいに広げてみたのですが
やはりただ真っ暗な画面が映るだけ。
しかしようやく原因が解りました。
私はメッセージレイヤのサイズをゲーム内で頻繁に変える為、デフォルトの設定は
当てにしていないので適当な数字を入れていたのですが、それのmarginがかなり大きく
なっていたのでした。
だからテストをする時にはメッセージレイヤがそのデフォルト設定になり、メッセージレイヤの
中に入っているつもりでも画像がmargin部分に引っかかって表示されなかった…というお粗末。
こんな事で2年以上もグラフィカルボタンをあきらめていたとは。
つまらない事でお騒がせしてすみません。しかしおかげで重要なコマンドが使えるようになりました。
>>910の件はグラフィカルボタンでやってみます。ありがとうございました!
0917913
2009/09/29(火) 18:40:17ID:NgnztUMMグラフィックボタンは使えるようになりましたが、やっぱり>>910のような動作をする為には
何かが不足のようです。
[button graphic="ボタン.png" exp="kag.callExtraConductor('button_oshi.ks', '*説明')"]\
[s]
…としてcallタグの代わりになり、button_oshi.ksの最後にretrunを入れる事に成功しましたが、
これで戻ってくる場所は上記タグの[s]の直前になる為、やはりそこで終わってしまいます。
ボタンを押す前の状態に戻ってくる方法はないでしょうか…。
0918名前は開発中のものです。
2009/09/29(火) 21:14:30ID:myn7KpTbボタンを押す前の状態ってのがなんなのか、
何がどう上手くいかないのかがさっぱりわからん。
勘で答えるとテキストかボタンのメッセージレイヤの内容を消去してるせいだと思う。
*説明から[return]の間に[ct]や[cm]があるとか、描画先を変更せずに[er]してるとか。
0919名前は開発中のものです。
2009/09/29(火) 22:38:47ID:8ss2KQff俺の場合は、ボタンを配置する基本の処理の流れは、こんな感じで組んでいるけど、どう?
*ボタンを押す前の状況
画面を更新してボタンを配置する
1つ目の[butt]を、打鍵で フラグに1を入れて *打鍵した ラベルに行く
2つ目の[butt]を、打鍵で フラグに2を入れて *打鍵した ラベルに行く
[s]
↑ここで打鍵まちにする
*打鍵した
フラグが1ならば[call]1のファイルにいってreturnでここに戻ってくる
フラグが2ならば[call]2のファイルにいってreturnでここに戻ってくる
[jump] *ボタンを押す前の状況 の、ラベルに戻る
0920名前は開発中のものです。
2009/09/29(火) 23:23:29ID:TftUuxwQもっと具体的にやりたいことの仕様説明をしろよチンカス
どうやらオンラインヘルプっぺえ機能がやりたいようなので勝手に断定して話を進めると、
ヘルプ用レイヤをつくってそこにテキストを書き、ボタンによってレイヤのvisibleを
トグルさせるのが簡単かつメンテしやすいのではないかと思う
挙動をモーダルにしておけば、テキスト自体はマクロで呼び出せるしな
0921910=913=916=917
2009/09/30(水) 01:20:01ID:RibCgSc/何だか訳の解らないことを言っていたようです。
やりたい事が不明という点。>>910の4行目までに書いたことが全てでして、
考えてみればボタンの機能は、正にそういうことをする為のものなので出来ないはずが
なかったんですね。
「押す前の状態」とかややこしい事を言ってしまいましたが、ボタンを押した時に
跳んだ場所から抜け出せない(うまく戻って来れない)というだけの事でした。
>>919さんのように書いて、>>918さんの指摘も気をつけるようにしているつもりなのですが、
どうもうまく行きません。
>>916で急にボタン画像を表示できるようになったことに浮かれてしまいましたが、
まだ構造の方を理解しきれていないようです。
ただ書式の基本のこととは言え、持っているマニュアル本にはボタンについての項目がなく、
KAGリファレンスや幾つかの講座も覗いてみたのですが、グラフィカルボタンについては説明が少なくて
難航しています。
これ以上書式の基本のような事で時間をかけるのは、ここではスレ汚しになってしまいそうなので
質問はここまでにしたいと思います。
時間をかけて独力で調べ直し、うまく行ったらスレタイの"雑談"として報告しに来ます。
ちなみに、>>920さんのやり方が確かに一番私のイメージしてるものに近く簡単なようです。
是非この方法を使わせていただこうと思っています。
0922名前は開発中のものです。
2009/09/30(水) 01:33:58ID:uFdClSf4いや、だからサンプルを確認したのかと。
0923名前は開発中のものです。
2009/09/30(水) 01:59:23ID:RibCgSc/リファレンスや色々な講座にある書式、こちらで書いていただいた
スクリプト等をそのままコピペして試してみてダメだったのですが…。
0924名前は開発中のものです。
2009/09/30(水) 02:20:16ID:uFdClSf4kag3pluginの中にsampleフォルダがあるでしょ。
そろそろ「何考えてるの? 死ぬの?」を発動してもいい?
0925名前は開発中のものです。
2009/09/30(水) 03:44:37ID:9xQ+gvHqreturnタグは戻り先を指定出来るんだから、ボタン(マップもどきか?)を描画する先頭のラベルに飛ばせばいいんじゃない?
そうなると何でcallで飛んだんだ?って気はするけど。
;MAP描画
*map
[button 押したら*subをcallする感じの]
[s]
;押した先の画面描画
*sub
;[s]で止めてbuttonで飛ばすか[p]だか何かそういう感じ
*ret
[return 戻り先を*mapに指定]
ちょこっとこみいった事をしたいのであれば、リファレンスとOUTFOCUSを端から端まで目を通して軽く記憶に留めとく位の事はしたほうがいいと思う。
KAGがどんな機能を持っててどんな事が出来そうか想像しながらリファレンスを読むのは楽しいと思うんだけどな。
ゲームの完成とは直接つながらない時間の使い方なのは否定しないけども。
0926名前は開発中のものです。
2009/09/30(水) 04:16:33ID:s44Wvcu0そんなところに時間かけるだけ無駄。
0927名前は開発中のものです。
2009/09/30(水) 06:55:59ID:dVOo3BQr0928927
2009/09/30(水) 07:07:39ID:dVOo3BQr>>921
>ボタンを押した時に跳んだ場所から抜け出せない(うまく戻って来れない)
[s]の位置でcallされて[s]に戻ってきてるんだから飛んだ場所から抜け出せてる、
うまく戻ってきてるんじゃないか?
結局どううまくいかないかも書いてない。
call先をコメントアウトするなりして何故うまくいかないかを調べるくらいしたらどうよ。
0929名前は開発中のものです。
2009/09/30(水) 09:38:46ID:haABz3tCトランジションが終わった後にサムネイルがワンテンポ遅れて表示されてしまいます。
これをトランジションが掛かっているときにはすでに表示されていて、
一緒に表示させるにはどうしたらいいでしょうか?
よろしくお願いします。
0930名前は開発中のものです。
2009/09/30(水) 10:10:54ID:BgDuLnDTaA=05とか、aAbB=0028とかのように、総合IDの先頭に0があるとエラーが出てしまいます
変数の仕様によるものだと思いますが、エラーを回避する方法はないでしょうか?
分かる方いられましたら、教えていただけないでしょうか
レス数が900を超えています。1000を超えると表示できなくなるよ。