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

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2011/02/03(木) 13:12:07ID: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
http://hibari.2ch.net/test/read.cgi/gamedev/1285897465/
0533名前は開発中のものです。2011/04/01(金) 11:13:17.15ID:PRHddTsG
>>530
とりあえずそこの部分のソース出さないとなんとも言えない

>>532
単に動画ならAEで作った方が楽だし、スクリプトデモだとラグが酷い
ところで観てないからわからないけど、これマギカとか言うアニメの曲?
そうならメーカーが堂々と版権大丈夫か?
0534名前は開発中のものです。2011/04/01(金) 11:26:53.02ID:DZ2M28SH
Madoka Partners(アニプレックス、芳文社、博報堂DYメディアパートナーズ、ニトロプラス、ムービック、シャフト)

というわけで問題ない
0535名前は開発中のものです。2011/04/01(金) 11:30:17.81ID:vOhZ3dL3
版権もってる側のメーカーの1社だろ
0536名前は開発中のものです。2011/04/01(金) 11:39:28.85ID:PRHddTsG
そう言う事か しらんかった
0537名前は開発中のものです。2011/04/01(金) 18:14:37.82ID:olEHX+PM
メッシュワープ作ったとして誰がGUIかぶせるんだよ。
ぶっちゃけエロゲエンジンのメッシュワープなんて格子振動で代用が効くぞ?
0538名前は開発中のものです。2011/04/01(金) 22:47:01.50ID:fH5VLP01
>>533
つべはカスラックに金払ってるから、カスラック担当の楽曲は使ってOKですよ?
0539名前は開発中のものです。2011/04/01(金) 22:53:00.88ID:fH5VLP01
http://internet.watch.impress.co.jp/cda/news/2008/10/23/21291.html
>JASRAC管理楽曲をユーザーが自ら歌唱・演奏した動画を、YouTubeで合法的に公開できるようになった。

許されるのは「歌ってみた」と「演ってみた」だけで、まんま使うのは駄目なんだな。
誤情報垂れ流すところだった。訂正してお詫びしたい。
0540名前は開発中のものです。2011/04/02(土) 00:50:12.04ID:RTdZVYrZ
元々JASRACは曲と詩の権利しか管理してないからそれ以外の演奏歌唱原盤などは個別に許可取らなきゃダメだよ
0541名前は開発中のものです。2011/04/03(日) 15:39:23.52ID:rYI21GJg
どうもKAGからTJS使うと、erがうまく動作しないような・・・

chあ
wait
er

でもwaitがあるのにすぐ消えてしまう。
0542名前は開発中のものです。2011/04/03(日) 22:31:32.19ID:Ihca+d45
evalとかでハンドラ直接呼んでるとかいうオチじゃないだろうな
0543名前は開発中のものです。2011/04/04(月) 07:08:40.99ID:6LFizwa2
resetwaitタグを使えばいいんじゃないかなー
0544名前は開発中のものです。2011/04/04(月) 11:15:16.88ID:jwdWBsNJ
until指定するとエラーでました。
0545名前は開発中のものです。2011/04/04(月) 12:32:35.89ID:jwdWBsNJ
KAG呼んだ方が安全かと思って…
どうもforの中でタイミングがとれません
0546名前は開発中のものです。2011/04/04(月) 13:02:34.55ID:L22M3zzt
どう呼び出したのか具体的に書かないと誰もアドバイスできないよ。たぶん >>542 のエスパーであってるとは思うが
0547名前は開発中のものです。2011/04/04(月) 16:10:10.15ID:lwT1IfMp
ちょっと質問なんですが、体験版を作ってその続き(体験版は一切改変しない)を作ったとして、
セーブデータは持ち越し可能でしょうか?

回答お願いします。
0548名前は開発中のものです。2011/04/04(月) 16:59:58.58ID:4qfWEEAq
>>547
栞に保存される内容に齟齬が生じないなら持ち越し可能
0549名前は開発中のものです。2011/04/04(月) 17:50:46.26ID:GxsAxYb4
だけど、それ以外のパラメータを普通は設定するから、最初にゲームを作ってそこから切り出して体験版を作ったとかじゃなければやめたほうがいいな
0550名前は開発中のものです。2011/04/04(月) 17:55:17.11ID:mwkcwyfl
>>547
548の言うように可能だれど、制限が色々ある。
以下の「アップデートパッチについて(互換性編)」に詳細あり。
ttp://www.geocities.jp/keep_creating/DojinDOC/dojin-script.html

これを読んで理解できないようなら、互換性は切り捨てた方がいいと思う。
0551名前は開発中のものです。2011/04/04(月) 20:29:36.02ID:4A2Y9HfE
>>548>>549>>550
回答ありがとうございます。
ちょっとやってみます。
0552名前は開発中のものです。2011/04/04(月) 22:05:13.74ID:lPUyaufj
http://ex14.vip2ch.com/test/read.cgi/news4gep/1277294113/

zipはMSがサポートする限り残るだろうな
rarはリカバリーレコード付けられるから変わる物が出ない限りまだ残るだろうな
7zは圧縮率高いしいいとは思うが対応するソフトがあれだし今の現状的にこの先も細々だろうな
lzhはもう過去の遺物だよね
0553名前は開発中のものです。2011/04/04(月) 23:05:33.67ID:wUQtKNHH
質問です。
吉里吉里を終了したのに、再度起動しようとすると、
「吉里吉里は既に起動しています」
と表示され、起動できません。
これって何か原因があるのでしょうか?
わかる方、いらっしゃいますか?
0554名前は開発中のものです。2011/04/04(月) 23:24:26.70ID:G4nttuKZ
それが制作中のデバッグ・テストプレイの話だったら
どっかに小さい長方形の数個ボタンが付いてる奴が残ってる可能性があるから
それの×ボタンを押す
0555名前は開発中のものです。2011/04/05(火) 01:17:59.00ID:cwS0Flqc
>>550

>ttp://www.geocities.jp/keep_creating/DojinDOC/dojin-script.html
>背景管理システム キャラクタ管理システム
ここは統合しろよと思うな。
テキスト管理システムも移植性を考えたら今はOpenGL/OpenGLES一択だからAPIレベルで見ればテクスチャだから統合できるな。
スクリプト側で別物扱いしとけばいい。あとテキストや場面構成なんかのスクリプトと演出のスクリプトは分けたほうがいいだろう。
演出は昨今よく使われる表現は固定機能でそれ以外はプログラマブルで良い。どうせアレがほしいコレがほしい言い出すんだから。

こうだな↓
-------------------------------
ナレーショナル|      |プ|
───────┤エフェクト |ラ|
  エンジン |FIXorPRG |グ|
─────────────┤イ|
  DSL          |ン|
───────────────┤
  ネイティブ        │
───────────────┘

0556名前は開発中のものです。2011/04/05(火) 01:25:36.50ID:RaAL4h/2
長方形のやつはなかったのですが、
タスクマネージャを開き、krkr.exeのプロセスを終了したら、
問題が解決しました。
ありがとうございました。
0557名前は開発中のものです。2011/04/05(火) 04:40:33.24ID:WzE7KebC
あのさーソフトメーカーさんさー
頼むから、パッド無効をデフォルトにしておいてくれよ
キーコンフィグもできないのに有効にする意味あるの?
パッドでマウスエミュレートした方が操作早いんだよマジで
ほんと使い物にならないからやめてくれ!
0558名前は開発中のものです。2011/04/05(火) 04:45:34.80ID:dNSe1g7P
メーカーさんじゃないけど、-userconfオプションの設定で
パッド無効にできるから、そうするといいんじゃないかな。

メーカーさんがオプション潰してなければ、だけど。
0559名前は開発中のものです。2011/04/05(火) 11:27:50.02ID:x+oe2v+K
バカですが解決しました。
erは直下の行のchにも効果が及ぶようなんで、

ch
er
ch(消える)

でできました。
0560名前は開発中のものです。2011/04/05(火) 15:46:18.68ID:/A19z6f7
それきっと解決してないよね……
0561名前は開発中のものです。2011/04/05(火) 15:55:11.04ID:x+oe2v+K
なんかわけのわからない問題がおきて、messageレイヤが別のになったりした。
もうイヤになったんで、普通にkag.processCh, clear2みたいなの使いました。
・・・タグはもう使わないよ
0562名前は開発中のものです。2011/04/05(火) 20:59:52.98ID:n2d6KYVD
公式ドキュメントって誰がメンテしてるか分かりますか?
ちょっとドキュメント読んだだけじゃ厳しかったのでSystemフォルダ配下の
TJSファイルを追ってるうちに、読みながらコメント付けてあとからNatural Docs
あたりで出力してやればそれでドキュメント出来るよな、と思って。

既に作業中だったり、「それは○○がやってるはず」とかであれば自分がやる
意味ないけど、もう誰も手を入れてないのであればやろうかと思って。
0563名前は開発中のものです。2011/04/06(水) 00:04:37.31ID:Cxr2lzXe
そりゃ dee たんだろう

なんか作業するつもりあるならアカウントは発行してもらえると思うけど、
まずはある程度形にしてからにしようね。妙なコメントたされても誰も嬉しくないから。
05645622011/04/06(水) 00:52:35.86ID:FlgZuuTF
>>563
やっぱりdeeさん本人か。開発MLが見えないのでひょっとしたら誰かいるのか
と思ったんだけど。
確かに、アカウント発行されたくせにやるやる詐欺で終わるとか
最低なんでとりあえず一定以上形になったレベルにしてから言うことにします。
0565名前は開発中のものです。2011/04/06(水) 12:25:52.03ID:Xozmjpnl
ちょっと質問させてください。

例えばGame_Timerと言うオブジェクトを作ってinterval=50くらいに設定して常にゲーム中動かしておいて、他の色々なクラスから呼び出して使うとか可能でしょうか?
具体的には、画像の移動やストップウォッチ関数みたいなものや、とにかく多目的に使いたいのですが、
現状ではそれぞれtimerを別々に設定していて最大で10個くらい同時に動かしたりするので負荷や無意味に消費してるメモリが大きいんじゃないかと思ってるのですが。
そこまで気にする必要は無いのでしょうか?
0566名前は開発中のものです。2011/04/06(水) 12:32:07.69ID:ukUSXs5P
無いです
0567名前は開発中のものです。2011/04/06(水) 12:49:19.39ID:Xozmjpnl
ですか。
20個30個くらいでも全然平気なのですか?
0568名前は開発中のものです。2011/04/06(水) 13:05:57.88ID:ukUSXs5P
メモリはレイヤ一つつくるほうが何百倍もくらいますから気にする必要はないです。
処理負荷のほうは、束ねたら束ねたで、結局処理ごとに呼び出し処理が必要になったり
しますから、数千とか作ったりしない限りは誤差の範囲かと。
呼び出し先の処理のが支配的でしょうし。

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

処理によっては Continuous Handler の利用を考えたほうが良い場合もありますのでケースバイケースで
0569名前は開発中のものです。2011/04/06(水) 14:17:25.94ID:+sMoec+E
M2モーションを作ってる会社ってWEBサイトあるのかな?
ググってもみつかんないねぇ。
0570名前は開発中のものです。2011/04/06(水) 14:53:18.55ID:SJn11A0A
M2でぐぐって1ページにでてくるし Wikipedia にものってるぞ
0571名前は開発中のものです。2011/04/06(水) 15:05:10.43ID:+sMoec+E
マジかよ・・・
0572名前は開発中のものです。2011/04/06(水) 15:09:28.56ID:+sMoec+E
M2のウェブサイトに CheeseWare MotionEditor の情報ってぜんぜん掲載されてないんだね。
てか色気のないサイトだなw
0573名前は開発中のものです。2011/04/06(水) 16:25:45.22ID:uW9izcIi
あそこのあれで便利だなと思うのはUIだけ
素材を作るだけならもっと高度なツールがいくらでもある
でもUI部分は確かに欲しい
0574名前は開発中のものです。2011/04/06(水) 16:34:47.13ID:00lYdcUR
機能デモの動画とか上がってるけど
一般公開してないのにどこ向けのデモなんだ
0575名前は開発中のものです。2011/04/06(水) 20:13:45.89ID:HMV8D2rz
質問させて下さい

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

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

だけではきちんと数値が反映されないのでしょうか?
0576名前は開発中のものです。2011/04/06(水) 20:41:43.30ID:uW9izcIi
caseの条件を読む限り、sf.bgm_volの中身が、 tf.SliderPosition[i]と同じ場合sf.bgm_volの値でボリュームを設定しろと言う命令だけどそれでいいの?
これだともしかすると例外caseが100000だったら、いくらやっても100000で鳴るんじゃないかな
0577名前は開発中のものです。2011/04/06(水) 20:43:39.82ID:uW9izcIi
あっすまん ボケてる間違い 申し訳ない ウソ言った
0578名前は開発中のものです。2011/04/06(水) 20:51:17.07ID:uW9izcIi
まず音を鳴らすには二種類あって、kag.bgm.currentBuffer.volumeやkag.bgm.currentBuffer.volume2を弄るよりkag.bgm.setOptions()を弄った方がいいよ
0579名前は開発中のものです。2011/04/06(水) 22:12:35.11ID: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%でしか流れなくなりました
0580名前は開発中のものです。2011/04/06(水) 22:26:16.46ID:uW9izcIi
もしかしてmidi?
あともう片方の大域音量の方は?もしかして1とかになってたりして・・・・
0581名前は開発中のものです。2011/04/06(水) 22:31:33.99ID: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;

大域音量のほうは現在正常に動作しています
0582名前は開発中のものです。2011/04/06(水) 22:52:05.59ID:uW9izcIi
あっスライダーが栞に反映されてないって事か。
それならstoreかrestoreに数値が反映されてない。
tf.は通常栞には反映されずに捨てられるから、その書式だとたぶんスライダーの受け渡しの変数にtfを使ってるから初期値に勝手にリセットされるんだと思う。
0583名前は開発中のものです。2011/04/06(水) 22:56:52.45ID:uW9izcIi
書式の最初にsfの値をtfに受け渡すか、tfじゃなくf値で持っておくかしないといけない。簡単な対処方としては。
0584名前は開発中のものです。2011/04/06(水) 23:24:24.98ID:HMV8D2rz
sf.SliderPosition[i]に変更してみたのですが、結果は変わりませんでした

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

kag.bgm.setOptions(%[volume:sf.bgm_vol]);
この時は開きなおしても0%は0%それ以外の数値が100%で流れるようです
0585名前は開発中のものです。2011/04/07(木) 00:00:10.06ID:0lbqox4T
もしかしてstringになってるとか?
0586名前は開発中のものです。2011/04/07(木) 00:24:50.53ID:H8VyZEut
いえ、なってないです
0587名前は開発中のものです。2011/04/07(木) 00:33:16.00ID:0lbqox4T
あとはDebug.messageで一個一個問題らしい場所を潰していくしか無いな
0588名前は開発中のものです。2011/04/07(木) 01:20:38.18ID:H8VyZEut
とりあえずそれで頑張ってみます!
レス下さった方、ありがとうございました
0589名前は開発中のものです。2011/04/07(木) 01:54:54.93ID:NM0qSMim
window.actionで"onChange"拾え。
javaのPropertyChangeListenerと同じだ。
0590名前は開発中のものです。2011/04/07(木) 04:35:40.96ID:IRROSzL4
よろしくお願いします。
時間については私も今思うように時間が取れていない状態ですが、
投稿への反応は遅れないように勤めます。
http://ex14.vip2ch.com/test/read.cgi/news4gep/1277294113/
0591名前は開発中のものです。2011/04/07(木) 08:15:19.56ID:H8VyZEut
function onChange(pos)
{
// onChange
window.action(%[target:this, type:'onChange', position:pos]);
}

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

ありがとうございます。
0593名前は開発中のものです。2011/04/07(木) 11:15:57.05ID:bFgy7pAB
moveが動きだす前が重くなる。先に透明で流しておくか
0594名前は開発中のものです。2011/04/07(木) 11:57:45.47ID:ZDoxcC9j
内部的には、opacity=0は、そのレイヤが存在しない扱いみたいに処理されるのですか?
0595名前は開発中のものです。2011/04/07(木) 14:43:23.02ID:H8VyZEut
575の者です
解決しました

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

ボリュームのところに入れる値を1000で割っていなかったから大音量になったようです
0596名前は開発中のものです。2011/04/07(木) 23:19:38.30ID:Ic8vCiKd
ただWaveSoundBuffer.volumeに丸められただけというオチか
0597名前は開発中のものです。2011/04/08(金) 14:28:43.13ID:AF9o1fh6
吉里吉里で前景レイヤに動画を載せて、動画の前にメッセージを表示させたいのですが
メッセージを表示すると、動画が一時停止した状態のままになったり
メッセージと動画を同時に表示することができません
どうすればいいでしょうか(・ω・;)
わかるかたお願いします m(_ _ )m
0598名前は開発中のものです。2011/04/08(金) 16:02:18.80ID:LdFXaDAM
無理です
0599名前は開発中のものです。2011/04/08(金) 17:33:25.44ID:AF9o1fh6
え!?
0600名前は開発中のものです。2011/04/09(土) 00:20:38.22ID:E39ZvGux
動画の種類にもよると思う。
mpegはできるけどswfはできない。
0601名前は開発中のものです。2011/04/09(土) 00:36:04.95ID:CsXVUAwg
mpegだと思うけどやってる奴いるな
普通にやってるぽいけど、そんなに難しい事だったのか?
ニコ動にアップされてるのあるじゃん
0602名前は開発中のものです。2011/04/09(土) 00:45:45.59ID:yUBbOazn
こういう時は、こう書いてみたけどうまくいかなかった、と質問すると添削してもらえるんだぜ
0603名前は開発中のものです。2011/04/09(土) 14:38:48.60ID:cNJ9Yspn
>>597
動画にメッセージ埋め込めば同時に表示されます
06045972011/04/09(土) 22:22:32.06ID:aS5OO2gO
みなさんお答えありがとうございます!
貴重なご意見を参考にやってみたいと思います!
0605名前は開発中のものです。2011/04/10(日) 23:27:10.65ID:+isnffqI
すみません、色々調べたのですが、どうしてもわかりません。
[mapdisable layer="base"]をTJSから実行したいのですが、
該当する関数を教えて頂きたいです。
0606名前は開発中のものです。2011/04/11(月) 02:32:55.83ID:+LJ/IDCI
クラスを作らずにfunctionの中で作ったレイヤを外部から使う事って可能でしょうか?
引数で渡せば可能なのですが、例えば画像を表示するだけの関数を作って、それをtimerで動かしたり透明度を弄ったりしようとしたら引数を受け渡せずに出来ませんでした。
単純にクラスを作れと言う意見は確かにそうなのですが、ちょっと気になって色々弄ってみたのですが素人に毛が生えた程度の能力じゃ駄目でした。
0607名前は開発中のものです。2011/04/11(月) 03:18:40.30ID:cbi6oYPm
>>605
MainWindow.tjs内をタグ名で検索。関数の使い方も分かってお得

>>606
意味不明なので>>602
0608名前は開発中のものです。2011/04/11(月) 10:08:46.89ID:+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〜もこれだとたぶんエラー起きると思うのですが。
0609名前は開発中のものです。2011/04/11(月) 11:10:50.49ID: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;
}
0610名前は開発中のものです。2011/04/11(月) 11:50:20.18ID:+LJ/IDCI
変数を中で宣言したからダメだったのですね。
どうしてダメだったのかがわかりました。
ありがとうございました。
0611名前は開発中のものです。2011/04/11(月) 15:46:27.12ID:Jx6hYE2A
便乗で申し訳ないです
new Layerで作るオリジナルレイヤをforやwhile等でまとめて何枚も作る事って可能です?
数枚程度作るだけなら>>608みたいにtest_cgとかみたいに直接レイヤ名を書けばいいけど数十枚とかなるとさすがに無駄に長大になるだけだから変数の配列でcg_name='test_cg[0]';cg_name = new Layer(kag,kag.fore.base);みたいに書いてみたけどダメだった
0612名前は開発中のものです。2011/04/11(月) 16:26:47.22ID:fb5/NXfm
>>611
例えば、cg_nameという本に、いくら「これは箱です」って書き込んでも、箱に変化したりはしない。
「これは箱です」と書かれた本になるだけ。

シンプルに書くなら多分、for文中とかでこう。分かるとおもうけどいちおう、 i は変数ね。
test_cg[i] = new Layer(layer);
0613名前は開発中のものです。2011/04/11(月) 18:31:02.98ID:Jx6hYE2A
>>612
おぉ出来たっす!
こんな簡単な事が分からないって俺PGの才能無いなorz
ありがとです!
0614名前は開発中のものです。2011/04/12(火) 02:46:10.17ID:xogAiS3D
それは人から説明されないとわからない事か?
二十年も三十年も生きてきてそんな事もわからないなら
お前が今まで喰ってきた飯は全 部無駄だったという事だ
0615名前は開発中のものです。2011/04/12(火) 03:46:45.22ID:l8KfDsig
>>614
ここそういうスレじゃないんで、マ板でやってください
0616名前は開発中のものです。2011/04/12(火) 04:29:01.93ID:R/4ls9Qh
才能というより理解の問題ですね。コンピューターは、プログラマが指示した通りにしか動いてくれないので、よく理解してない内容を適当に書けば、よく分からない適当な動作をする物なのです。

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

まあ、本職のブログラマでも、プログラムを魔法の呪文と勘違いして、理解も出来てないようなコードを書き散らす輩は結構いるんですけどね。
0617名前は開発中のものです。2011/04/12(火) 10:16:27.55ID:3jSx4RM9
質問ですが、VBのlineのように任意の直線を引く事は可能でしょうか?
具体的には格闘ゲームの体力ゲージのように、数値をバーで表示したくて、その描画のために使おうと思っています
一通りマニュアルを検索に掛けてみましたが見つかりませんでした
0618名前は開発中のものです。2011/04/12(火) 11:39:13.79ID:zkCnac8r
>>617
100%状態のゲージを画像で用意しておいて、数値に応じて範囲を切り出すのが楽だと思う
0619名前は開発中のものです。2011/04/12(火) 13:34:37.41ID:3jSx4RM9
>>618
なるほど、その方法は頭にありませんでした
一度試してみたいと思います
ありがとうございました
0620名前は開発中のものです。2011/04/12(火) 20:14:19.07ID:bsva6djf
それにしても次のマルチプラットホームの奴ってTJSは使えるんだろうか?
使えないなら覚えるだけ無駄な気がする
0621名前は開発中のものです。2011/04/12(火) 20:26:15.16ID:Kh5wOsxY
それが出てくるまであと10年はかかるんじゃないか?
0622名前は開発中のものです。2011/04/12(火) 20:31:48.07ID:lSmD4aP5
>>620
まあそうだったと仮定しても、必要になったらまた憶えなおすわ
0623名前は開発中のものです。2011/04/12(火) 20:33:52.62ID:bsva6djf
せめてその事くらいは先に教えて欲しいな
ぶっちゃけ頭の中でいろんな言語が混在してしまってるから、はっと気づくと違う言語で書いてる時あるから覚えておくのは少ない方が助かる
0624名前は開発中のものです。2011/04/12(火) 20:35:40.29ID:Yh8yKC/s
>>623
いくつの言語覚えたか書いてみ。
0625名前は開発中のものです。2011/04/12(火) 22:49:20.43ID:A0Ek/Gn1
>>607
仕事が忙しく、お礼が遅くなりましたが、ありがとうございます。
私にとって最高の回答でした。
0626名前は開発中のものです。2011/04/13(水) 00:01:56.67ID:TwBx7pbA
むしろ格ゲーって大体は>>618の方法じゃないの
0627名前は開発中のものです。2011/04/13(水) 00:53:34.63ID: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が見つからずにエラーになるんだけど、これの対処方法ってどうすればいいんだろう?
一番良いのは、配列の添え字をそのまま数字として扱えれば理想なんだけど、そう言う事って可能かな?
式中関数を組み込む形で一気に配列で作ると、それぞれのボタンの違いを判断する方法が思いつかない・・・・・
0628名前は開発中のものです。2011/04/13(水) 01:35:09.63ID:90iHc6bV
その場合はちゃんとクラスつくったほうがええとは思うが、どうしても式中関数でしたいなら

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

こうすればいい。辞書をコンテキストにする場合は、
グローバルを自動的に検索してくれないからそれだけ注意な
0629名前は開発中のものです。2011/04/13(水) 01:50:23.73ID:xweTT8AM
>>628ありがとう。
これは思いつかない・・・・・勉強せねば
0630名前は開発中のものです。2011/04/13(水) 10:32:05.40ID: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の外に出来るだけ定義したくないのは、万が一変数が被るのが嫌なだけだから、絶対に被らない変数にしてしまうと言うのも手だと思うけど、それだと逆にスクリプト中で見にくいかなと。
0631名前は開発中のものです。2011/04/13(水) 14:17:38.83ID:yEG29UwW
言ってることが単に「クラスに静的変数が欲しい」って話なら

class Hoge {
function Hoge() {}
};

Hoge.staticVarName = 1;

とかで普通に動くよ

ただし、該当クラス中だと同名コンストラクタがあって名前かぶってるから、アクセスするときは
global.Hoge.name とかする必要がある。
0632名前は開発中のものです。2011/04/13(水) 14:59:40.40ID: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の中に入れて、式中関数が上手く動くように出来ないんだろうか?と言う質問。
■ このスレッドは過去ログ倉庫に格納されています