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


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

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



1 名前:名前は開発中のものです。 mailto:sage [2011/02/03(木) 13:12:07 ID:6MBIOEHD]
ノベルゲーム製作ツール吉里吉里/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雑談質問スレ■その22
hibari.2ch.net/test/read.cgi/gamedev/1285897465/

556 名前:名前は開発中のものです。 mailto:sage [2011/04/05(火) 01:25:36.50 ID:RaAL4h/2]
長方形のやつはなかったのですが、
タスクマネージャを開き、krkr.exeのプロセスを終了したら、
問題が解決しました。
ありがとうございました。


557 名前:名前は開発中のものです。 mailto:sage [2011/04/05(火) 04:40:33.24 ID:WzE7KebC]
あのさーソフトメーカーさんさー
頼むから、パッド無効をデフォルトにしておいてくれよ
キーコンフィグもできないのに有効にする意味あるの?
パッドでマウスエミュレートした方が操作早いんだよマジで
ほんと使い物にならないからやめてくれ!

558 名前:名前は開発中のものです。 mailto:sage [2011/04/05(火) 04:45:34.80 ID:dNSe1g7P]
メーカーさんじゃないけど、-userconfオプションの設定で
パッド無効にできるから、そうするといいんじゃないかな。

メーカーさんがオプション潰してなければ、だけど。

559 名前:名前は開発中のものです。 mailto:sage [2011/04/05(火) 11:27:50.02 ID:x+oe2v+K]
バカですが解決しました。
erは直下の行のchにも効果が及ぶようなんで、

ch
er
ch(消える)

でできました。

560 名前:名前は開発中のものです。 mailto:sage [2011/04/05(火) 15:46:18.68 ID:/A19z6f7]
それきっと解決してないよね……

561 名前:名前は開発中のものです。 mailto:sage [2011/04/05(火) 15:55:11.04 ID:x+oe2v+K]
なんかわけのわからない問題がおきて、messageレイヤが別のになったりした。
もうイヤになったんで、普通にkag.processCh, clear2みたいなの使いました。
・・・タグはもう使わないよ

562 名前:名前は開発中のものです。 mailto:sage [2011/04/05(火) 20:59:52.98 ID:n2d6KYVD]
公式ドキュメントって誰がメンテしてるか分かりますか?
ちょっとドキュメント読んだだけじゃ厳しかったのでSystemフォルダ配下の
TJSファイルを追ってるうちに、読みながらコメント付けてあとからNatural Docs
あたりで出力してやればそれでドキュメント出来るよな、と思って。

既に作業中だったり、「それは○○がやってるはず」とかであれば自分がやる
意味ないけど、もう誰も手を入れてないのであればやろうかと思って。


563 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 00:04:37.31 ID:Cxr2lzXe]
そりゃ dee たんだろう

なんか作業するつもりあるならアカウントは発行してもらえると思うけど、
まずはある程度形にしてからにしようね。妙なコメントたされても誰も嬉しくないから。

564 名前:562 mailto:sage [2011/04/06(水) 00:52:35.86 ID:FlgZuuTF]
>>563
やっぱりdeeさん本人か。開発MLが見えないのでひょっとしたら誰かいるのか
と思ったんだけど。
確かに、アカウント発行されたくせにやるやる詐欺で終わるとか
最低なんでとりあえず一定以上形になったレベルにしてから言うことにします。




565 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 12:25:52.03 ID:Xozmjpnl]
ちょっと質問させてください。

例えばGame_Timerと言うオブジェクトを作ってinterval=50くらいに設定して常にゲーム中動かしておいて、他の色々なクラスから呼び出して使うとか可能でしょうか?
具体的には、画像の移動やストップウォッチ関数みたいなものや、とにかく多目的に使いたいのですが、
現状ではそれぞれtimerを別々に設定していて最大で10個くらい同時に動かしたりするので負荷や無意味に消費してるメモリが大きいんじゃないかと思ってるのですが。
そこまで気にする必要は無いのでしょうか?

566 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 12:32:07.69 ID:ukUSXs5P]
無いです

567 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 12:49:19.39 ID:Xozmjpnl]
ですか。
20個30個くらいでも全然平気なのですか?

568 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 13:05:57.88 ID:ukUSXs5P]
メモリはレイヤ一つつくるほうが何百倍もくらいますから気にする必要はないです。
処理負荷のほうは、束ねたら束ねたで、結局処理ごとに呼び出し処理が必要になったり
しますから、数千とか作ったりしない限りは誤差の範囲かと。
呼び出し先の処理のが支配的でしょうし。

普通はタイミングズレの問題のが問題になるんじゃないかと。
生成タイミングとインターバルの指定が同じなら原理的にタイマ間のずれは無いですが、
生成タイミングが違えば当然ずれます。同目的のものは適当に処理関数を登録する
キューとかつくってたばねたほうが良いとは思います。いわゆる「タスクシステム」的な設計ですな。

処理によっては Continuous Handler の利用を考えたほうが良い場合もありますのでケースバイケースで

569 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 14:17:25.94 ID:+sMoec+E]
M2モーションを作ってる会社ってWEBサイトあるのかな?
ググってもみつかんないねぇ。

570 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 14:53:18.55 ID:SJn11A0A]
M2でぐぐって1ページにでてくるし Wikipedia にものってるぞ

571 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 15:05:10.43 ID:+sMoec+E]
マジかよ・・・

572 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 15:09:28.56 ID:+sMoec+E]
M2のウェブサイトに CheeseWare MotionEditor の情報ってぜんぜん掲載されてないんだね。
てか色気のないサイトだなw

573 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 16:25:45.22 ID:uW9izcIi]
あそこのあれで便利だなと思うのはUIだけ
素材を作るだけならもっと高度なツールがいくらでもある
でもUI部分は確かに欲しい

574 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 16:34:47.13 ID:00lYdcUR]
機能デモの動画とか上がってるけど
一般公開してないのにどこ向けのデモなんだ



575 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 20:13:45.89 ID:HMV8D2rz]
質問させて下さい

現在コンフィグ画面でスライダーを使用しているのですが
ゲーム画面を開きなおしたり、栞を読み込んだりするとスライダーの値を無視してBGM.tjs内のvar volume = 100000;でBGMが再生されます
またスライダーを操作すると元に戻るのですが

case 7: sf.bgm_vol = tf.SliderPosition[i];
kag.bgm.currentBuffer.volume=sf.bgm_vol;
break

だけではきちんと数値が反映されないのでしょうか?


576 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 20:41:43.30 ID:uW9izcIi]
caseの条件を読む限り、sf.bgm_volの中身が、 tf.SliderPosition[i]と同じ場合sf.bgm_volの値でボリュームを設定しろと言う命令だけどそれでいいの?
これだともしかすると例外caseが100000だったら、いくらやっても100000で鳴るんじゃないかな

577 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 20:43:39.82 ID:uW9izcIi]
あっすまん ボケてる間違い 申し訳ない ウソ言った

578 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 20:51:17.07 ID:uW9izcIi]
まず音を鳴らすには二種類あって、kag.bgm.currentBuffer.volumeやkag.bgm.currentBuffer.volume2を弄るよりkag.bgm.setOptions()を弄った方がいいよ

579 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 22:12:35.11 ID:HMV8D2rz]
575です

case 7: sf.bgm_vol = tf.SliderPosition[i];
kag.bgm.setOptions(%[volume:sf.bgm_vol]);
break;

このように変更してみました
開きなおし等があってもBGM.tjs内のvar volume = 100000;に影響されないようですが
音が0%か100%でしか流れなくなりました

580 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 22:26:16.46 ID:uW9izcIi]
もしかしてmidi?
あともう片方の大域音量の方は?もしかして1とかになってたりして・・・・

581 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 22:31:33.99 ID:HMV8D2rz]
いえ、Waveでやっています

case 6: sf.bs_vol = tf.SliderPosition[i];
kag.bgm.currentBuffer.volume2=sf.bs_vol;
kag.se[0].volume2=sf.bs_vol;//
kag.se[1].volume2=sf.bs_vol;//
break;
case 7: sf.bgm_vol = tf.SliderPosition[i];
kag.bgm.setOptions(%[volume:sf.bgm_vol]);//
break;

大域音量のほうは現在正常に動作しています

582 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 22:52:05.59 ID:uW9izcIi]
あっスライダーが栞に反映されてないって事か。
それならstoreかrestoreに数値が反映されてない。
tf.は通常栞には反映されずに捨てられるから、その書式だとたぶんスライダーの受け渡しの変数にtfを使ってるから初期値に勝手にリセットされるんだと思う。

583 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 22:56:52.45 ID:uW9izcIi]
書式の最初にsfの値をtfに受け渡すか、tfじゃなくf値で持っておくかしないといけない。簡単な対処方としては。

584 名前:名前は開発中のものです。 mailto:sage [2011/04/06(水) 23:24:24.98 ID:HMV8D2rz]
sf.SliderPosition[i]に変更してみたのですが、結果は変わりませんでした

栞に反映されてないというのは
kag.bgm.currentBuffer.volume=sf.bgm_vol;
このときだと思います

kag.bgm.setOptions(%[volume:sf.bgm_vol]);
この時は開きなおしても0%は0%それ以外の数値が100%で流れるようです



585 名前:名前は開発中のものです。 mailto:sage [2011/04/07(木) 00:00:10.06 ID:0lbqox4T]
もしかしてstringになってるとか?

586 名前:名前は開発中のものです。 mailto:sage [2011/04/07(木) 00:24:50.53 ID:H8VyZEut]
いえ、なってないです

587 名前:名前は開発中のものです。 mailto:sage [2011/04/07(木) 00:33:16.00 ID:0lbqox4T]
あとはDebug.messageで一個一個問題らしい場所を潰していくしか無いな

588 名前:名前は開発中のものです。 mailto:sage [2011/04/07(木) 01:20:38.18 ID:H8VyZEut]
とりあえずそれで頑張ってみます!
レス下さった方、ありがとうございました

589 名前:名前は開発中のものです。 mailto:sage [2011/04/07(木) 01:54:54.93 ID:NM0qSMim]
window.actionで"onChange"拾え。
javaのPropertyChangeListenerと同じだ。

590 名前:名前は開発中のものです。 [2011/04/07(木) 04:35:40.96 ID:IRROSzL4]
よろしくお願いします。
時間については私も今思うように時間が取れていない状態ですが、
投稿への反応は遅れないように勤めます。
ex14.vip2ch.com/test/read.cgi/news4gep/1277294113/

591 名前:名前は開発中のものです。 mailto:sage [2011/04/07(木) 08:15:19.56 ID:H8VyZEut]
function onChange(pos)
{
// onChange
window.action(%[target:this, type:'onChange', position:pos]);
}

これのことでしょうか?

592 名前:名前は開発中のものです。 mailto:sage [2011/04/07(木) 10:03:28.39 ID:ZDoxcC9j]
>>568
お返事遅くなりました。
機能別に束ねて見て、複雑になるようならやはり個別に動かしてみたいと思います。
結構タイマーをいくつも作って同時に動かしていたので、これ重くないかな?といつも不安でした。
描画処理などに関わるタイマー(例えば常にレイヤーのopacityをチェックしているタイマーなど)を、指定した数値になったら描画処理を飛ばすような処理に書き換えればそれほど負担はかからないのですね。

ありがとうございます。

593 名前:名前は開発中のものです。 mailto:sage [2011/04/07(木) 11:15:57.05 ID:bFgy7pAB]
moveが動きだす前が重くなる。先に透明で流しておくか

594 名前:名前は開発中のものです。 mailto:sage [2011/04/07(木) 11:57:45.47 ID:ZDoxcC9j]
内部的には、opacity=0は、そのレイヤが存在しない扱いみたいに処理されるのですか?



595 名前:名前は開発中のものです。 mailto:sage [2011/04/07(木) 14:43:23.02 ID:H8VyZEut]
575の者です
解決しました

case 7: sf.bgm_vol = tf.SliderPosition[i];
kag.bgm.setOptions(%[volume:sf.bgm_vol\1000]);
break;

ボリュームのところに入れる値を1000で割っていなかったから大音量になったようです

596 名前:名前は開発中のものです。 mailto:sage [2011/04/07(木) 23:19:38.30 ID:Ic8vCiKd]
ただWaveSoundBuffer.volumeに丸められただけというオチか

597 名前:名前は開発中のものです。 mailto:sage [2011/04/08(金) 14:28:43.13 ID:AF9o1fh6]
吉里吉里で前景レイヤに動画を載せて、動画の前にメッセージを表示させたいのですが
メッセージを表示すると、動画が一時停止した状態のままになったり
メッセージと動画を同時に表示することができません
どうすればいいでしょうか(・ω・;)
わかるかたお願いします m(_ _ )m

598 名前:名前は開発中のものです。 mailto:sage [2011/04/08(金) 16:02:18.80 ID:LdFXaDAM]
無理です

599 名前:名前は開発中のものです。 mailto:sage [2011/04/08(金) 17:33:25.44 ID:AF9o1fh6]
え!?

600 名前:名前は開発中のものです。 mailto:sage [2011/04/09(土) 00:20:38.22 ID:E39ZvGux]
動画の種類にもよると思う。
mpegはできるけどswfはできない。

601 名前:名前は開発中のものです。 mailto:sage [2011/04/09(土) 00:36:04.95 ID:CsXVUAwg]
mpegだと思うけどやってる奴いるな
普通にやってるぽいけど、そんなに難しい事だったのか?
ニコ動にアップされてるのあるじゃん

602 名前:名前は開発中のものです。 mailto:sage [2011/04/09(土) 00:45:45.59 ID:yUBbOazn]
こういう時は、こう書いてみたけどうまくいかなかった、と質問すると添削してもらえるんだぜ

603 名前:名前は開発中のものです。 mailto:sage [2011/04/09(土) 14:38:48.60 ID:cNJ9Yspn]
>>597
動画にメッセージ埋め込めば同時に表示されます

604 名前:597 mailto:sage [2011/04/09(土) 22:22:32.06 ID:aS5OO2gO]
みなさんお答えありがとうございます!
貴重なご意見を参考にやってみたいと思います!



605 名前:名前は開発中のものです。 mailto:sage [2011/04/10(日) 23:27:10.65 ID:+isnffqI]
すみません、色々調べたのですが、どうしてもわかりません。
[mapdisable layer="base"]をTJSから実行したいのですが、
該当する関数を教えて頂きたいです。


606 名前:名前は開発中のものです。 mailto:sage [2011/04/11(月) 02:32:55.83 ID:+LJ/IDCI]
クラスを作らずにfunctionの中で作ったレイヤを外部から使う事って可能でしょうか?
引数で渡せば可能なのですが、例えば画像を表示するだけの関数を作って、それをtimerで動かしたり透明度を弄ったりしようとしたら引数を受け渡せずに出来ませんでした。
単純にクラスを作れと言う意見は確かにそうなのですが、ちょっと気になって色々弄ってみたのですが素人に毛が生えた程度の能力じゃ駄目でした。

607 名前:名前は開発中のものです。 mailto:sage [2011/04/11(月) 03:18:40.30 ID:cbi6oYPm]
>>605
MainWindow.tjs内をタグ名で検索。関数の使い方も分かってお得

>>606
意味不明なので>>602

608 名前:名前は開発中のものです。 mailto:sage [2011/04/11(月) 10:08:46.89 ID:+LJ/IDCI]
function test_cg(){
var test_cg;
var test_opa = 0;
var timer;
test_cg = new Layer(kag,kag.fore.base);
kag.add(test_cg);
with(test_cg){
// 適当に画像表示
.opacity=test_opa;
.visible=true;}
timer=new Timer(this,"action");
timer.interval = 20;
timer.enabled=true;}
function action(){
global.test_cg.test_opa++;}

こう言うのを作って、test_opaをリアルタイムでtest_opa++みたいにしてじわっと表示させようとしたのですが、そもそもtimerが動いてないようでした。
classに纏めてやれば普通に動く事は分かってるのですが、こう言う剥き出し状態だとダメなのでしょうか?
あとたぶんglobal〜もこれだとたぶんエラー起きると思うのですが。

609 名前:名前は開発中のものです。 mailto:sage [2011/04/11(月) 11:10:50.49 ID:DIOJiFG7]
test_cgとtimerを関数内で宣言すると、関数から出た途端に無効化されちゃう
.opacity=test_opa はただの値の代入で opacity=0 と一緒。Layerクラスにtest_opa変数が無いからエラーになっちゃう
関数名と変数名の重複はしない方が良いよ

var test_cg_layer;
var cg_timer;
function test_cg() {
test_cg_layer = new Layer(kag,kag.fore.base);
with(test_cg_layer) {
.opacity=0;
.visible=true;
}
cg_timer=new Timer(this,"test_cg_action");
cg_timer.interval = 20;
cg_timer.enabled=true;
}

function test_cg_action(){
test_cg.opacity++;
if(test_cg.opacity>=255) cg_timer.enabled=false;
}

610 名前:名前は開発中のものです。 mailto:sage [2011/04/11(月) 11:50:20.18 ID:+LJ/IDCI]
変数を中で宣言したからダメだったのですね。
どうしてダメだったのかがわかりました。
ありがとうございました。

611 名前:名前は開発中のものです。 mailto:sage [2011/04/11(月) 15:46:27.12 ID:Jx6hYE2A]
便乗で申し訳ないです
new Layerで作るオリジナルレイヤをforやwhile等でまとめて何枚も作る事って可能です?
数枚程度作るだけなら>>608みたいにtest_cgとかみたいに直接レイヤ名を書けばいいけど数十枚とかなるとさすがに無駄に長大になるだけだから変数の配列でcg_name='test_cg[0]';cg_name = new Layer(kag,kag.fore.base);みたいに書いてみたけどダメだった

612 名前:名前は開発中のものです。 mailto:sage [2011/04/11(月) 16:26:47.22 ID:fb5/NXfm]
>>611
例えば、cg_nameという本に、いくら「これは箱です」って書き込んでも、箱に変化したりはしない。
「これは箱です」と書かれた本になるだけ。

シンプルに書くなら多分、for文中とかでこう。分かるとおもうけどいちおう、 i は変数ね。
test_cg[i] = new Layer(layer);

613 名前:名前は開発中のものです。 mailto:sage [2011/04/11(月) 18:31:02.98 ID:Jx6hYE2A]
>>612
おぉ出来たっす!
こんな簡単な事が分からないって俺PGの才能無いなorz
ありがとです!

614 名前:名前は開発中のものです。 mailto:sage [2011/04/12(火) 02:46:10.17 ID:xogAiS3D]
それは人から説明されないとわからない事か?
二十年も三十年も生きてきてそんな事もわからないなら
お前が今まで喰ってきた飯は全 部無駄だったという事だ



615 名前:名前は開発中のものです。 mailto:sage [2011/04/12(火) 03:46:45.22 ID:l8KfDsig]
>>614
ここそういうスレじゃないんで、マ板でやってください

616 名前:名前は開発中のものです。 mailto:sage [2011/04/12(火) 04:29:01.93 ID:R/4ls9Qh]
才能というより理解の問題ですね。コンピューターは、プログラマが指示した通りにしか動いてくれないので、よく理解してない内容を適当に書けば、よく分からない適当な動作をする物なのです。

上達を望むのなら、理解を深める努力をすると良いとおもいます。

まあ、本職のブログラマでも、プログラムを魔法の呪文と勘違いして、理解も出来てないようなコードを書き散らす輩は結構いるんですけどね。

617 名前:名前は開発中のものです。 mailto:sage [2011/04/12(火) 10:16:27.55 ID:3jSx4RM9]
質問ですが、VBのlineのように任意の直線を引く事は可能でしょうか?
具体的には格闘ゲームの体力ゲージのように、数値をバーで表示したくて、その描画のために使おうと思っています
一通りマニュアルを検索に掛けてみましたが見つかりませんでした

618 名前:名前は開発中のものです。 mailto:sage [2011/04/12(火) 11:39:13.79 ID:zkCnac8r]
>>617
100%状態のゲージを画像で用意しておいて、数値に応じて範囲を切り出すのが楽だと思う

619 名前:名前は開発中のものです。 mailto:sage [2011/04/12(火) 13:34:37.41 ID:3jSx4RM9]
>>618
なるほど、その方法は頭にありませんでした
一度試してみたいと思います
ありがとうございました

620 名前:名前は開発中のものです。 mailto:sage [2011/04/12(火) 20:14:19.07 ID:bsva6djf]
それにしても次のマルチプラットホームの奴ってTJSは使えるんだろうか?
使えないなら覚えるだけ無駄な気がする

621 名前:名前は開発中のものです。 mailto:sage [2011/04/12(火) 20:26:15.16 ID:Kh5wOsxY]
それが出てくるまであと10年はかかるんじゃないか?

622 名前:名前は開発中のものです。 mailto:sage [2011/04/12(火) 20:31:48.07 ID:lSmD4aP5]
>>620
まあそうだったと仮定しても、必要になったらまた憶えなおすわ

623 名前:名前は開発中のものです。 mailto:sage [2011/04/12(火) 20:33:52.62 ID:bsva6djf]
せめてその事くらいは先に教えて欲しいな
ぶっちゃけ頭の中でいろんな言語が混在してしまってるから、はっと気づくと違う言語で書いてる時あるから覚えておくのは少ない方が助かる

624 名前:名前は開発中のものです。 mailto:sage [2011/04/12(火) 20:35:40.29 ID:Yh8yKC/s]
>>623
いくつの言語覚えたか書いてみ。



625 名前:名前は開発中のものです。 mailto:sage [2011/04/12(火) 22:49:20.43 ID:A0Ek/Gn1]
>>607
仕事が忙しく、お礼が遅くなりましたが、ありがとうございます。
私にとって最高の回答でした。

626 名前:名前は開発中のものです。 mailto:sage [2011/04/13(水) 00:01:56.67 ID:TwBx7pbA]
むしろ格ゲーって大体は>>618の方法じゃないの

627 名前:名前は開発中のものです。 mailto:sage [2011/04/13(水) 00:53:34.63 ID:xweTT8AM]
ちょっと質問
おまけモードを作ろうと配列で座標とか管理してたんだけど、そこに式中関数組み込みしようとしたら、
良く考えたら式中関数は呼ばれた時に

for(var i=0;i<10;i++)
{
button_[i] = new SystemButtonLayer(kag, pop_layer_tp_fore, function()
{
kag.se[1].play(%[storage : 'se_ok.wav']);
button_select = i;
}incontextof this);
with(button_[i]){
.fillRect(0, 0,kag.scWidth,kag.scHeight, 0x00000000);
.opacity=255;
.visible=true;
}
}

with(button_[0])
{
画像のそれぞれの設定
}

・・・・と書いたんだけど、グラフィックボタンを押したら直接飛ぶんじゃなくて、button_selectにそれぞれの数字(button[0]なら0と言う感じ)を入れて、後でそれを判定して飛ぶようにしたかったのだけど、
当然この形だと式中関数が実行されるとiが見つからずにエラーになるんだけど、これの対処方法ってどうすればいいんだろう?
一番良いのは、配列の添え字をそのまま数字として扱えれば理想なんだけど、そう言う事って可能かな?
式中関数を組み込む形で一気に配列で作ると、それぞれのボタンの違いを判断する方法が思いつかない・・・・・

628 名前:名前は開発中のものです。 mailto:sage [2011/04/13(水) 01:35:09.63 ID:90iHc6bV]
その場合はちゃんとクラスつくったほうがええとは思うが、どうしても式中関数でしたいなら

function() {
global.kag.se[1].play(%[storage:'se_ok.wav']);
owner.button_select = i;
} incontextof %[ owner:this, i:i ]

こうすればいい。辞書をコンテキストにする場合は、
グローバルを自動的に検索してくれないからそれだけ注意な

629 名前:名前は開発中のものです。 mailto:sage [2011/04/13(水) 01:50:23.73 ID:xweTT8AM]
>>628ありがとう。
これは思いつかない・・・・・勉強せねば

630 名前:名前は開発中のものです。 mailto:sage [2011/04/13(水) 10:32:05.40 ID:xweTT8AM]
追質問申し訳無いです
>>628で式中関数の中で別の変数を定義する場合

function() {
global.kag.se[1].play(%[storage:'se_ok.wav']);
test_flag=true;
owner.button_select = i;
} incontextof %[ owner:this, i:i ]

このtest_flagを単にclassの外に定義してglobal.kag.test_flag=true;と書けば良いだけなんだけど、
classの中で定義した場合はどう書くんだろう? thisは使えないし、ownerもダメだし、
newで宣誓したオブジェクト名(global.xxxxx.test_flag=true;)でやるか、
timerなどで.button_selectを監視すると言うのも手だと思うけど、単純に上手く書けそうな気がするけど無理なのかな?
ちなみにclassの外に出来るだけ定義したくないのは、万が一変数が被るのが嫌なだけだから、絶対に被らない変数にしてしまうと言うのも手だと思うけど、それだと逆にスクリプト中で見にくいかなと。

631 名前:名前は開発中のものです。 mailto:sage [2011/04/13(水) 14:17:38.83 ID:yEG29UwW]
言ってることが単に「クラスに静的変数が欲しい」って話なら

class Hoge {
function Hoge() {}
};

Hoge.staticVarName = 1;

とかで普通に動くよ

ただし、該当クラス中だと同名コンストラクタがあって名前かぶってるから、アクセスするときは
global.Hoge.name とかする必要がある。

632 名前:名前は開発中のものです。 mailto:sage [2011/04/13(水) 14:59:40.40 ID:38Z5Wtgk]
ごめん、>>630の説明が悪かった。
//*************************
var test_flag; //←問題はこれ※※
class Save_base()
var save_layer;
var button_ = [];
function Save_base()
save_layer = new Layer(kag, kag.fore.base);
kag.add(save_layer);
with(save_layer){// ここでセーブエリアのベースを定義
.visible=true;}
for(var i=0;i<10;i++){
button_[i] = new SystemButtonLayer(kag, save_layer, function(){
global.kag.se[1].play(%[storage : 'se_ok.wav']);
global.test_flag = false; //←問題はこれ※※
owner.button_ = i; //ボタンの種類
}incontextof %[ owner:this, i:i ]);
with(button0_fore[i]){
.fillRect(0, 0,kag.scWidth,kag.scHeight, 0x00000000);
.opacity=255;//ここで画像の共通部分定義
}}
//以下端折る
}
//*************************
ここで問題なのは、>>628が事前に教えてくれたように、グローバルを自動で検索しなくなってしまってる事で、
こうしてclassの外にtest_flagを定義するとちゃんとglobal.test_flag = false;でエラーが出ないんだけど、var test_flag;をclassの中に入れてglobal.Save_base.test_flag = false;としてもエラーが起きる。
kag.addPlugin(global.test_base = new Save_base());として、global.test_base.test_flagと書き換えると上手く動くけどそれじゃ複製出来ないし、色々試したけどダメだった。
万が一の事故が怖いからvar test_flag;をclassの中に入れて、式中関数が上手く動くように出来ないんだろうか?と言う質問。

633 名前:名前は開発中のものです。 mailto:sage [2011/04/13(水) 15:52:36.07 ID:yEG29UwW]
んー、普通に global.Hoge.test_flag = false; で大丈夫なはずだけどな。
Hoge 定義前によんでるとか、代入じゃなくて参照しようとしてるとか、そういうことはないかね

634 名前:名前は開発中のものです。 mailto:sage [2011/04/13(水) 16:35:15.25 ID:38Z5Wtgk]
うーーーーん}incontextof this);ならvar test_flag;をclassの中に入れても式中関数中のtest_flagが普通に機能してるから定義前とか代入とかでは無いはずなんだけど、
}incontextof %[ owner:this, i:i ]);だと、当然thisを付けてもダメだし、global.Save_base.test_flag=false;でうまくいかない。



635 名前:名前は開発中のものです。 mailto:sage [2011/04/13(水) 16:42:47.57 ID:38Z5Wtgk]
追記
var test_flag; をclassの中に入れた状態で、
}incontextof this);だと、this..test_flag=false;は機能してるけど、global.Save_base.test_flag=false;はエラーが出るぽい
何か間違ってるのかな?

636 名前:名前は開発中のものです。 mailto:sage [2011/04/14(木) 01:20:23.42 ID:Cc6YtxAt]
式中関数のthisってTJSだとレキシカルじゃないからouterのコンテキスト指すんじゃないの?
んでTJSはネスト関数は全部globalにフレーム作られるからそれをincontextof thisすればカレントはglobalじゃないの?

ていうか
>class Save_base()
>function Save_base()
は通らないんじゃないの?

637 名前:名前は開発中のものです。 mailto:sage [2011/04/14(木) 01:54:55.46 ID:ovTjvrOu]
>>636

}incontextof %[ owner:this, i:i ]);を残したままにしたいんだけど、その状態だとglobal使えないからどうにも無理なんだね。
素直にクラスの外に出すか。

638 名前:名前は開発中のものです。 mailto:sage [2011/04/14(木) 04:08:25.05 ID:IE+L0K+f]
テーブルをコンテキストにしたら自動参照されなくなるだけで、
global はいついかなるときでも使えるわけだが……
なんか全然別の問題ではまってるんじゃね?

エラー出るならなんてエラーでるのかも書こうな

639 名前:名前は開発中のものです。 mailto:sage [2011/04/14(木) 13:01:34.47 ID:ovTjvrOu]
根本的な事を理解出来てないぽい
コンテキストにした場合、グローバルで指定するのはnewで作成したオブジェクト名じゃないとダメ?
それだと仮に複数作る場合とかどうやっても元を書き換えないといけないから大変だと思って、
どうにか元のクラス名で解決したかったんだけど

変数をクラスの外に出すか、コンテキストの中のグローバル指定をnewで作成したオブジェクトで指定するかの二択なのかな?
あとglobal.Save_base.test_flag=falseも、エラーメッセージは出ないんだけど、コンテキストの外からdm(test_flag)すると値が変わって無い
エラーが出るならわかるんだけど、なぜエラーでないんだろう?

640 名前:名前は開発中のものです。 mailto:sage [2011/04/14(木) 14:17:57.30 ID:drLWJLvS]
もしかして「クラスの中にいれる」って

class Save_base {
var test_flag;
}

ってやってるの?

それは単にメンバ変数だから、 Save_base を new したオブジェクトからしか参照できるわけが無いんだが……
前出てた構造だと owner が Save_base のオブジェクトなんだろ?
owner.test_flag でアクセスできるだろうて。

そもそもその test_flag で何をやりたいのか書きなさい。どう書けば良いか教えてあげるから。

641 名前:名前は開発中のものです。 mailto:sage [2011/04/14(木) 14:46:59.22 ID:ovTjvrOu]
あっ出来た。ownerだけでよかったんだ・・・・・理解力なさ杉
global.Save_base.test_flagでエラーが出ないからこれで正しくて何かが間違ってるんだろとなんで動かないのかと全然見当外れのところを弄ってた
ごめんなさい、長々付き合ってくれてありがとう
あとはなんとか出来そう

642 名前:名前は開発中のものです。 [2011/04/14(木) 16:13:47.09 ID:vxf4RKs/]
【ゲーム制作】サスペンスギャルゲー 『フクロマンス』 第二章 【スタッフ募集】
ex14.vip2ch.com/test/read.cgi/news4gep/1302080425/

643 名前:名前は開発中のものです。 mailto:sage [2011/04/16(土) 15:25:51.71 ID:9GHZxeHO]
吉里吉里のフォント変換でjis2004対応フォントが選べないのですが対応してないのでしょうか?

644 名前:名前は開発中のものです。 mailto:sage [2011/04/16(土) 16:35:36.17 ID:KVj4xPQu]
レンダリング済フォントデータで画面一杯の文字、つまりfont size580
を作ろうとすると死ぬ。容量50Mとかになる。

次のバージョンはfont sizeを変更できるとイイな・・・



645 名前:名前は開発中のものです。 mailto:sage [2011/04/16(土) 16:45:03.64 ID:sMrQgTk6]
そんなの画像で持てw

646 名前:名前は開発中のものです。 mailto:sage [2011/04/16(土) 17:35:44.70 ID:QRmFBkmG]
そういえばフクロマンスって荒らし報告するんだっけ?

647 名前:名前は開発中のものです。 mailto:sage [2011/04/16(土) 17:39:45.34 ID:9qY3KOzG]
>>644
何に使うんだよそんなでかいフォントw

648 名前:名前は開発中のものです。 mailto:sage [2011/04/16(土) 17:47:56.81 ID:dcXx76//]
ただのビットマップでもった方が10倍以上軽いんじゃないか?

649 名前:名前は開発中のものです。 mailto:sage [2011/04/16(土) 19:19:10.10 ID:uUFTiAga]
シナリオはこんな感じ
www1.axfc.net/uploader/Ne/so/106505.zip

650 名前:名前は開発中のものです。 mailto:sage [2011/04/16(土) 20:29:02.35 ID:dcXx76//]
そういやさ、虹プラグインとか太陽光プラグインとかないなぁとか
思ったんだけどこれって普通シェーダー使うよな。
吉里吉里ェ。CPU万歳!

651 名前:名前は開発中のものです。 mailto:sage [2011/04/16(土) 22:55:31.02 ID:1renLlD1]
虹は使いどころが無い
太陽光は表現手法が山ほどある
動画で作るが吉

652 名前:名前は開発中のものです。 mailto:sage [2011/04/17(日) 16:51:55.47 ID:cX6qZw6G]
質問と言うか、音楽関係はまるで分からないので具体例を教えて欲しいです。
wavにkrkrltで適当にlabelを作ってsliファイルを保存で作ったとします。
そのラベルを通過したらseを鳴らそうと考えたのですが、全くどう書けば良いのかもわかりません。
sliファイルが吉里吉里専用のファイル形式だと今の今まで思ってた程の音楽シロートですみません。

#2.00
# Sound Loop Information (utf-8)
# Generated by WaveLoopManager.cpp
Label { Position=11904; Name='test; }

sliファイルがこんな感じで、適当に音を鳴らして(wavとsliのファイルネームは合わせている)

kag.bgm.buf1.open('music_test.wav');
kag.bgm.buf1.play();

kag.onLabel function(){
if (kag.bgm.buf1.onlabel(test))kag.se[1].play(%[storage : 'beep.wav']
}incontextof kag;

この段階ですでにエラーが出てしまいます。
たぶんぜんぜん間違ってると思うのですが全くわかりません。
単純にラベル通過したら音が鳴るようにしたかっただけなのですけど、どう書けばいいのでしょうか?

653 名前:名前は開発中のものです。 mailto:sage [2011/04/17(日) 22:27:47.27 ID:sadQWVqj]
>>652
間違いと勘違いが満載のコードなのか
俺の知らないtjsの記述法がこんなにあったのか!なのかマジで分からない半端な私

kag.bgmのクラスの「下」に、onlabelイベントを定義する必要があるんだけど
ぶっちゃけBGM.tjsの該当クラスの中に
function onLabel(ラベル名){略}を放り込むのが楽ちんです

sliファイルは別に問題ないと思う

654 名前:名前は開発中のものです。 mailto:sage [2011/04/17(日) 22:36:44.91 ID:sadQWVqj]
適当な例:

function onLabel(label)
{
kag.se[1].play(%[storage : 'beep.wav'] ) if (label=='beep')
}



655 名前:名前は開発中のものです。 mailto:sage [2011/04/17(日) 23:42:37.86 ID:cX6qZw6G]
>>654
ありがとうございます。
ただVUの問題とかもあるんで、可能なら基本のtjsは弄りたくないんですが、
その場合の方法が全くわからなくて……
それともoverrideでやるしか無いのでしょうか。

656 名前:名前は開発中のものです。 mailto:sage [2011/04/18(月) 00:16:22.76 ID:SKBXW2nH]
バージョンの管理ができなくなる程の大改造じゃないし
KAGに依存しないサウンドシステムを作るんだ!ってわけでもなければ
お手軽な解法でもいいんじゃね
それよりか、そこまでやりたきゃ
ソースを読み込んでKAGシステムの構造を理解することが先な気がするよ






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

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

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