トップページ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/
0048名前は開発中のものです。2011/02/07(月) 01:57:58ID:nXhVKZ4m
wavはbmpのような感じ
oggはjpgのような感じだよ
0049名前は開発中のものです。2011/02/07(月) 02:14:54ID:NFlBSVO5
>>45
容量の問題で、通信回線を通す場合(ダウンロードさせる場合)、
サイズを減らす為に「不可逆圧縮」を音データに掛けるのが普通。
その圧縮の仕方によって、mp3とかoggとかaacとかac3とかに分けられる。
で、「不可逆」なのでサイズは相当縮む。
且つ、ヒトの聴覚を元に「劣化」が分かり難い様に圧縮するので、案外聞いても差が分かんない。

但し、配布前の段階ならば加工も間々行うだろうから、PCM(wav)で持つのが鉄則。
画像もそうで、劣化の発生するjpgとかで加工してるクリエイターはまず居ない。
jpgにするのは配布段階のみであって、通常は、ツールにもよるけどpsdやpngで持ってる。

>>47
「不可逆圧縮」を行った後、それをwavに変換した所で、音質は「不可逆」の儘。
元データがmp3ならば、それをwavにした所で中身はmp3と同じ、って事。
だから、加工を行わないのであれば、配布段階でmp3を同程度のクオリティ、若しくはビットレートの
oggに変換するだけで良い。
加工を行うのなら、元データをwavで持って、加工の度、同一サンプリングレート(〜Hzの部分)、
同一ビット数(〜bitの部分)、同一チャンネル数(ステレオ、モノラル〜等)のwavで出力するのが基本。
画像もそうで、psd→psd、png→png等が鉄則だ。

後、wav(PCM)だとサイズが、oggの10倍程度にはなるんだぜ。
これはネットで配布するには、些か問題。
DVDとかなら問題は無い筈。 まあ、インストールの際の「音データインストール」の確認が要るかもだけど。
0050名前は開発中のものです。2011/02/07(月) 03:03:43ID:y1pHXfIy
うおお、詳しく書いてくれてありがとう
つまり加工するならwavで、ネット配布するならoggってことだよな

でさ何度も聞いて悪いんだけど、元データをwavで持つってどうすればいいの?
元がmp3のなんだけど、変換してwavにしたって意味ないんだよな?
0051名前は開発中のものです。2011/02/07(月) 03:25:22ID:NFlBSVO5
ブランデーが頭を侵してるので、上手く書けてるか分からん。

>>50
元データは元々、サウンドクリエイターさんからwavの形で貰う事になるのかな。
で、そのデータでGOが出れば、それを配布時の形式(oggとか)にすれば良い。
されども、無論の事、元データがwavで無い場合も有る。 (ネットフリー配布とか)
なので、その場合は、吉里吉里に合わせてoggにする事になるんだけど、それを加工するのであれば、
ソフトウェアでwav形式に変換する事になる。
そういうソフトウェアって、沢山有るんだよ。
音を加工するソフト自体が、mp3とかなら大体デコード出来るし。

で、wavにした所で音質的に変わらないのはその通り。
しかしながら、何なら、そのデータをイコライザとかディレイとかピッチシフトとか、はたまたプラグインとかで
ベース音をブーストして見たりとかマキシマイズとかとか、そういう事が出来るので、
「加工」の観点からすればwavになる事は有る。

唯、貴方の現状からすると、「加工」が行われそうではないので、
「元のmp3データは残しておいて、吉里吉里で使う文はoggに変換」がベターだと思う。
その、加工したくなった時は、mp3を元に加工して、再びoggにすれば良い、って奴ね。

…流石に寝る。
良い感じに酔っ払ってるこれは快眠だわ…。
0052名前は開発中のものです。2011/02/07(月) 03:34:44ID:s8Q7gs7F
このまま完成品として出すと言うならそのままでもいいと思うが、フリー素材の場合冒頭の無音が長いものとかあるからその辺りはカットしたり尻をフェードアウトしたり、ノイズ軽減させたりと加工したりする。
レートを下げたりチャンネルも変えたりするから音源はwavで持つのは基本
というかmp3はダメだって言ってるのにどうしてmp3にこだわるのか・・・・・
自分の環境でたまたま上手く動いてるってだけで、未対応の過去の仕様でずっとやろうとする意味がわからん

あとpngは劣化しないから、png→psdでもぜんぜん問題無いと言うか、png素材を使ってpsd作る事が結構多い
ところでpngでレイヤーの透明じゃなく他のアルファでチャンネル持たせるにはどうするんだろう?
稀にそう言うのがあるんだが、あれの場合吉里吉里だと誤動作しないのかわからんから、自分で検証してみたいんだけど作り方がわからん
0053名前は開発中のものです。2011/02/07(月) 03:44:20ID:s8Q7gs7F
たとえば、冒頭1秒無音があるとして、それをカットするとする
mp3>頭1秒カット>wav……劣化無し
mp3>頭1秒カット>mp3……劣化有り
つまりこう言う事 さらにこのまま尻を1秒削るとする
mp3>頭1秒カット>wav>尻1秒カット>wav……劣化無し
mp3>頭1秒カット>mp3>尻1秒カット>mp3……2回劣化有り

2回劣化した物は正直商品に使えるかどうか判断難しい
0054名前は開発中のものです。2011/02/07(月) 04:23:34ID:jGwZXETh
なんと、FLACが起き上がりなかまになりたそうにこちらを見ている!
0055名前は開発中のものです。2011/02/07(月) 05:02:27ID:nw9nlsIT
四文字ってだけで多くの日本人がドン引きしてると思う。
0056名前は開発中のものです。2011/02/07(月) 12:29:26ID:camxTRZE
実は mp3 も ogg も、カットと音量(ゲイン)調整だけは実は劣化ゼロで作業できるんだけど、対応してるツールは全然ないね
0057名前は開発中のものです。2011/02/07(月) 18:29:35ID:Xoz5oxWT
>>56
マジかそんな事可能なのか知らなかった
0058名前は開発中のものです。2011/02/07(月) 21:56:00ID:AOqoSsuS
とりあえず oggvorbis についてる標準ツール vcut.exe でカットできるんだけどこれは指定1箇所なのでさすがに不便

検索したらけっこうあったよ。"ogg 無劣化 カット"でごろごろでてくる。

音量のほうは、吉里吉里はリプレイゲイン(アルバムゲインまたはトラックゲイン)に
対応してるので、リプレイゲイン用のツールを使えば無劣化で音量調整できる
0059名前は開発中のものです。2011/02/07(月) 22:10:33ID:SubzGVkS
もしもし。
巷の講座を参考にに、システムボタンからのスキップ機能を実装したんだけど、
いざボタンを押すと、ところどころブツ切りなスキップになるのね。
文字がダダダダッって流れていくスムーズなスキップにしたいんだけど、
どうしたらいいのかなあ。

Shiftキー押しながらのスキップはダダダダッって感じだから、
システムボタン押したら、Shiftキー押してる設定にすればいいのかな。
やり方分からないけど。

教えて凄い人><
0060名前は開発中のものです。2011/02/07(月) 23:47:51ID:y1pHXfIy
情報いっぱいで頭パンクしそうだわ
もしmp3を加工するなら、劣化が起きないwavに変換してからすればいいのかな

あとwavは色んなことできるから音源として保管しとけばおk?
そっからゲームに使う分はoggにするなりしろってことですよね

そしてoggもカットだけするなら劣化しないソフトがあるんだね

とりあえず、mp3は良いとこなしってことだね
今までmp3使ってた私涙目
0061名前は開発中のものです。2011/02/08(火) 00:04:34ID:EBTMUzVF
フォローするとmp3のwavに対する利点は軽さ
mp3のoggに対する利点は対応ソフトの多さだな
後者は吉里吉里だけ使っているなら関係ないけど
0062名前は開発中のものです。2011/02/08(火) 17:30:57ID:PDvHAfXt
mp3 はライセンスの問題があるので使わない方が(ry
0063名前は開発中のものです。2011/02/08(火) 20:26:37ID:dR/JCxxE
waveはピクチャで言うとbmp
高品質だけど容量が大きい

oggはピクチャで言うとpng
そこそこ品質良くて容量が小さい

あれ?ogg大勝利じゃね・・・
0064名前は開発中のものです。2011/02/08(火) 20:27:25ID:FZB80iHW
吉里吉里のテキストボックス?(文字を表示させる部分)の画像、1つしか設定する場所がありませんが、
これは、複数のテキストボックスの画像を使用したい場合、どのようにすればいいのでしょうか?
お知恵をお貸しください。
0065名前は開発中のものです。2011/02/08(火) 20:30:14ID:7rRlgMes
吉里吉里用に、フリーの変換ツールでmp3→oggにしてるが、
音質は満足できるレベルだな
0066名前は開発中のものです。2011/02/08(火) 20:31:08ID:/yCrp/56
何度も雑談をぶった切ってすみません。
>>59です。
あれから挑戦し続けてたんですが、
全然それっぽいコードが拾えません。
skipKeyRepressed←このあたりが必要なのかと思って
粘ってみたのですが、やっぱり動いてくれません。
ヒントだけ貰えたらあとは頑張るので、
ヒントをください、お願いします。
0067名前は開発中のものです。2011/02/08(火) 21:00:37ID:rIkoESI/
>>66

59の書き込みの意味がたぶんみんな理解出来てないと思う。
そもそもスキップはPCスペックで出来るだけ最速で流そうとするからメッセージすらろくすっぽ見えない事もあるし重い演出だと若干カクカクと動く事もある。
それとは別にオートモードと言うのがあって、そっちもダダダダと(スピードによっては)流れる。

どっちも感覚的なものだから、ぶつ切りと言うのがわかりづらいけど。
もしかして、[P]とかで止まってる事を言ってるのかな?
skipmodeは弄ってる?
0068>>592011/02/08(火) 21:13:56ID:/yCrp/56
>>67
>たぶんみんな理解出来てないと思う。
すみません。笑いました。初心者でごめんなさいwww

>skipmode
弄るといっていいのかは分からないのですが、
使った方がいいと講座で見たので、
kag.skipMode<=1の時には効果音やトランジションを省いてあります。

やりたいのは、

スペースキーを押し続けた時に文字や絵がダダダダッと流れていくスキップ

キーを押すのをやめればそのまま止まる



ウィンドウ脇のシステムボタンを押すと文字や絵がダダダダッと流れていくスキップ

画面クリックで止まる

にすることです。

現在は吉里吉里デフォルトの[次の選択肢まで]?でスキップさせているので、
ところどころ止まったりして(恐らくPCのスペックによる)見栄えが悪いのです。
吉里吉里なら何でも出来ると踏んで挑戦を始めたのですが、
この様です。どうにかしたいです。
0069名前は開発中のものです。2011/02/08(火) 21:26:04ID:AkU97XwL
>>63
なんでoggがpngなんだyp!
pngは仕様的には32bitBMPの完全上位と言っても良い 可逆圧縮だから劣化なんかしない
むしろpngがあるのにあらゆる面で下位なbmpをなぜ使うのかと小一時間・・・・
0070名前は開発中のものです。2011/02/08(火) 21:30:50ID:AkU97XwL
>>68
省いてると言う事はちゃんと処理してると思うのだが、商品レベルのゲームでちゃんとスキップが機能してるものは、condなどで音声や動画やトランスなどの処理を止めるように地道にタグを打ち込んである。
参考にしたいゲームを復号して覗いて見ると良いよ。

それとskipmodeの数字の意味を調べておくと吉
0071名前は開発中のものです。2011/02/08(火) 21:32:04ID:7rRlgMes
pngはどっちかというとgifの代替みたいに使ってたな
0072名前は開発中のものです。2011/02/08(火) 21:35:03ID:Dz7x7O+i
ループチューナーめっちゃええわー。
こういうループ再生に特化した再生ソフトがあればいいのに。
0073名前は開発中のものです。2011/02/08(火) 21:36:21ID:ufMnhuPH
正直言って
早送りが多少カクカクしてたって困るユーザーは一人も居ないと思うんだが、それは言っちゃだめか^^
0074名前は開発中のものです。2011/02/08(火) 21:48:57ID:k/eZJM5R
>>63
たとえが不適切。oggに対応するのはjpeg

>>60
実は bmp は png よりロード時のCPU負荷が圧倒的に軽くて読み込みも速いというメリットがあったりする
xp3 へのパック時に圧縮するようにすると、CPU負荷はややかかるけど、それでもまだPNGより軽い。サイズはそこそこ
0075名前は開発中のものです。2011/02/08(火) 21:51:57ID:AkU97XwL
>>71
一応gifの後継仕様だからな
ただ本来のgifの使われ方からするとMNGとかAPNGとかの方が正しい後継なんだが、片方は不採用にしてしまうし、もう片方はサブマリン特許にはめられてて身動き取れないし、なんだかなーって感じだな
0076>>592011/02/08(火) 21:59:51ID:/yCrp/56
確実に俺の書き方が悪いせいなんだけど、
やりたいことがやっぱり分かってもらえないwww

>>70
シフトキーでのスキップは、
問題なく文字と画像が早送りって感じで流れるのね。
それこそ商業ゲーみたいに。
これを、キーじゃなくて画面上のスキップボタンでやりたいんだ。
あと、復号なんて高度な技出来ない><
skipmodeの意味は勉強したよ。必要なのは4……なのだろうか。

>>73
場面を止めたいところで止められないから不便。
文字と画像は見えた方がいい。
って、言いたいことが伝わってないせいだと思うんだけどw
0077名前は開発中のものです。2011/02/08(火) 22:12:18ID:AkU97XwL
>>76
それは単純にその該当部分をコピペするだけじゃダメなのか?
たぶん公開されてるスキップモード関連はどこのも多少TJSの知識があればいじれるレベルでつくってあったはず
0078>>592011/02/08(火) 22:19:18ID:/yCrp/56
>>77
巷の講座やプラグインのスキップ関連は
kag.onSkipToNextStopMenuItemClick();
って大抵はなってるんですけど、
>該当部分をコピペする
って乏しいTJSの知識でも何とかなりますかね?
初心者でシステムの方を弄るのは恐いのですが。
0079名前は開発中のものです。2011/02/08(火) 22:24:26ID:AkU97XwL
俺もそんなにtjsは出来るわけじゃないがあのくらいは読むのに苦労するレベルじゃなかったはず。
実際に実行してるコアの部分はすぐわかるだろうし、とりあえずバックアップして移植してみろ。
ダメだったら戻せば良い。
0080>>592011/02/08(火) 23:20:35ID:/yCrp/56
MainWindow.tjsを見てみて、「kag.skipToStop2();」あたりの動作をさせればいいのでは?
って思ったんだけど、そのままkag.skipToStop2();を実行させると、
クリックで止められないし、文字と画像の移り変わりがが超速になる。

そこで、
スキップボタン押した後=シフトキー押しっぱなしの状態
止めたいところで画面クリック=シフトキー離した後
にしなきゃ分からないと気づいんだけど、その一致のさせ方が分からない。
変数使いますか?どういう風に使えばいいですか?

誰か分かりやすいヒントください><
0081名前は開発中のものです。2011/02/08(火) 23:38:40ID:AkU97XwL
それはたぶん押してるキーをfunctionでチェックして条件を満たしていた場合(つまり押してる間だけ)のみ動作させるように設定してあると思う
0082名前は開発中のものです。2011/02/08(火) 23:56:31ID:h9qVF/6U
mainwindow.tjsの当該部分を検索して読む
0083名前は開発中のものです。2011/02/08(火) 23:58:23ID:WmbwpAnF
自分の手に負えないなら やらない という選択がなぜ出てこない('A`)
0084名前は開発中のものです。2011/02/09(水) 00:12:05ID:3MyrqpD5
最低限は実現してるわけだから、細かいところは目を瞑ると言う選択肢は有りだと思う
0085名前は開発中のものです。2011/02/09(水) 00:57:11ID:IIaYQrYV
最近はskipToStop2()なんて関数あんのか。ひさしぶりにソース読んでみるかな。
だが2はやめろよ。
0086>>592011/02/09(水) 01:25:23ID:VGAHWutI
頑張ったら、何となくイメージしてた動作が出来たぞ!

前略、スキップボタンの中身です。
if(tf.skippp==1)
{
kag.skipKeyRepressed = true;
kag.skipMode = 4;
kag.actualChSpeed = 10;
kag.onPrimaryClickByKey();

if(sg(VK_RETURN) || sg(kag.supportReadingKey) || sg(VK_LBUTTON))
{
kag.cancelSkip();
tf.autoMode=0;
}
return true;
}
後略

ほら見ろ!m9(`・ω・´)
簡単に諦めろなんて言うもんじゃねぇ!
とりあえず徹夜せずに済んでよかった。

これだとこういうエラー起きるよって分かる優しい人がいたら、教えてください。
おやすみ。
0087>>592011/02/09(水) 01:29:00ID:VGAHWutI
あ、tf.autoModeはtf.skipppです。(´・ω・`)
0088名前は開発中のものです。2011/02/09(水) 07:20:15ID:p6C7ENpw
>>64
OKwaveにもポストしてるかな
「テキストボックス」「テキストレイヤー」という単語を使わず
吉里吉里の用語を使って質問を書き直してくれい

positionおよびlayoptコマンドで
メッセージレイヤを2つ以上(message0, message1,…)用意するってーのはだめかい
config.tjsはとりあえず放っておく(上で代用できます)
0089名前は開発中のものです。2011/02/09(水) 10:19:09ID:tAEvQK1A
>>88
回答ありがとうございます。
テキストボックスじゃないんですね・・・(メッセージボックスだと、ダイアログとかぶるから避けてこれにしたのですが・・・)
吉里吉里用語・・・また少しずつですが覚えていきたいと思います。

[position layer=message0 page=back frame="" opacity=0]
のframeの値でしょうか?
これをいじっていけばいい感じですかね。
後で試してみます。
0090名前は開発中のものです。2011/02/09(水) 11:25:48ID:N9lDcceA
>>86
単にお前のレスの書き方がウザがられてただけじゃね?
でも良かったな
0091名前は開発中のものです。2011/02/09(水) 12:04:43ID:p6C7ENpw
>>89
質問が
「メッセージレイヤのフレーム画像を途中で切り替えたい」ならば
frameの値(ファイル名)を変えていけばOK

リファレンスとテンプレの講座あたりは目を通して、頻出する単語を押さえておくべし
0092名前は開発中のものです。2011/02/09(水) 13:40:04ID:mIt+z9j+
どこで聞いていいかわからないから質問させて

TJSで画像をうにょうにょと歪む画像を作りたいと思って、あっちこっちのサイトでJSとかの関数を探してるんだけどなかなか見つからない。
作りたい効果は空間が熱の変化でかげろうみたいに微かに揺らめく感じが欲しいんです。
ラスター処理だと一定な動きになるし、ある座標を中心に水の表面がすこし盛り上がるような表現をすれば作れると思うのだけど、そう言う関数を探してます。
その手の良いサイトは無いものでしょうか?
0093名前は開発中のものです。2011/02/09(水) 17:30:54ID:EkscP9Pk
メッセージレイヤってのを複数立ち上げれば
画面上に三人同時に会話するシーンを作成出来るってこと?
Nスクなんて使ってる場合じゃねえ!
0094名前は開発中のものです。2011/02/09(水) 17:42:26ID:SRsm9XoP
そういや複数のメッセージレイヤーに
同時にテキスト流すって出来ないな
0095名前は開発中のものです。2011/02/09(水) 18:09:58ID:QakpM+RU
KAGからは出来ないね。lやpタグ打ち込まなければ『連続して』テキストを流すのはできるけど
同時並行ってワケじゃないからね。

やるなら各メッセージレイヤのdrawTextメソッドをTJSから直接呼び出してやるくらいか
0096名前は開発中のものです。2011/02/09(水) 18:17:56ID:cbiIWL2V
>>93
NスクもNスクで優れたエンジンだぜ
まあ俺はどっぷり吉里吉里にハマってるんで乗り換えはできないけど
0097名前は開発中のものです。2011/02/09(水) 18:57:39ID:EkscP9Pk
>>95
出来ないのか…
同時は無理、でも交互表示すれば共存は可能?
所謂立ち絵を流用するのではなく、カットごとにカメラを変えるようにしたいんだ
その上で、各キャラの側にテキストが出る様にしたい
つまりこれ→http://gamecs.jp/usr/kazuyuna/DSC00359.JPG

スクリプト数も減って、行数上頻繁に改ページしても滑らかな会話が可能になるし
立ち絵の種類を増やさなくても、その場その場で描けば良くなるから
細やかな感情表現が出来るのだ!っていう発想

Nスクで頑張ってたんだけど、奴はテキストを二つ同時に出して置けない
仕方なくスプライトでやってみたものの、バックログが残らないことに気づいた
吉里吉里さんなら何とか出来そうだと聞いて来ました
0098名前は開発中のものです。2011/02/09(水) 19:06:35ID:mIt+z9j+
>>97
それは可能
ちょっと前に上下で男と女の会話を分けてるの見たことある。
例えば、キャラの文字色とかで判断させてマクロ組むと多少楽。
0099名前は開発中のものです。2011/02/09(水) 19:07:44ID:QakpM+RU
「2個以上のメッセージ枠に文字を表示させること」は可能だよ。それが出来なかったら吉里吉里製ゲームの半数は
台詞と名前を同時に表示すること出来なくなってるんじゃないかな。モノによっては名前枠と台詞枠別にしてる所もあるし。
同時に出来ないってのはあくまで「2個以上のメッセージ枠に同時(マイクロレベルで同一時間)に文字を書き込む」ということ。
まあそれも、KAGじゃなくてTJS使えば実現はできるんだが、いささかメンドくさいのであまりやらないっつう話。

layoptタグとcurrentタグ、あとlaycountタグ辺りを併用すれば
要望の「各キャラの側にテキストが出る様にしたい」は実現できるよ。マクロ組んだ方が楽だけどね
0100名前は開発中のものです。2011/02/09(水) 19:31:48ID:rCjtSzdS
そう言いえば、TJS使わないとRPGによくある吹出しセリフとか表情のアイコン出せないよな。
0101名前は開発中のものです。2011/02/09(水) 21:39:36ID:SRsm9XoP
誰かすごい人
複数のメッセージレイヤーに同じタイミングでテキスト流すプラグインお願いします
0102名前は開発中のものです。2011/02/09(水) 21:49:55ID:mIt+z9j+
履歴レイヤーを拡張するとかすれば出来るんじゃない?
0103名前は開発中のものです。2011/02/09(水) 23:30:26ID:3vPeiy8g
同ウィンドウだけど、あやえもさんのサンプル内に、ボイス同時再生があった気がする。
つまり文章も同時に表示されるハズだから、あれば参考にはなるんじゃない?
たぶん。
不確かな情報でごめん。
0104名前は開発中のものです。2011/02/10(木) 01:05:43ID:9V96uMJp
>>100
つ[pimage]
0105名前は開発中のものです。2011/02/10(木) 01:09:36ID:pz54TsYF
>>104
そういうんじゃねーよ
0106名前は開発中のものです。2011/02/10(木) 01:15:15ID:9V96uMJp
じゃあどんなやつだよw
こういう話題って個人個人で単語に対してのイメージぜんぜん違うから面白いな
0107名前は開発中のものです。2011/02/10(木) 02:13:23ID:lVz4HYhb
うーん

getlayerで

kag.getLayerFromElm(%['layer'=>'3', 'page' => 'fore']).colorize(32, 128, 1.0);

だとうごくのに、なぜ
var xxx=3;
kag.getLayerFromElm(%['layer'=>'xxx', 'page' => 'fore']).colorize(32, 128, 1.0);

これだとうごかないんだろう?
何か俺書式間違ってる?
0108名前は開発中のものです。2011/02/10(木) 02:14:35ID:lVz4HYhb
動かないというか、レイヤー0が動く
回避策は無いのかな?
0109名前は開発中のものです。2011/02/10(木) 02:25:12ID:2LPQiPyl
'layer'の部分の指定がおかしい
'xxx'('や"で囲う)というのは「'xxx'という文字列」を指定するために用いるのであって
「xxxという変数」を指定するときは囲っちゃいけない
0110名前は開発中のものです。2011/02/10(木) 02:29:00ID:mGICTkST
>>98
っっっっっっっっっっっっっっっしゃあああ!
マクロってのが何だかサッパリ分からんが、とにかく頑張ってみるぜ!
サブルーチンとは違うもんなのかね?
うっひゃあ初心者に逆戻りでい!
0111名前は開発中のものです。2011/02/10(木) 02:32:08ID:lVz4HYhb
>>109
一応そう思ってここに書き込む前にためしたんだけど、例外エラーがなぜかおきる
'3'でも一応動くしmainwindow.tjsを見ると+layerにしてるからそれでも動くのは動くみたいなんだけど、
むしろ厳密にint xxx;として 'layer'=>xxxとするとスクリプトエディタが起動してエラーが起きるの
これって不具合なのかな?
ググッても一応>>109の言う''無しでの書式で動くと書いてあるんだけど。
ちなみに232r2
0112名前は開発中のものです。2011/02/10(木) 03:31:01ID:lVz4HYhb
原因はわからないけど、なぜか
kag.getLayerFromElm(%['layer'=>string(xxx), 'page' => 'fore']).colorize(32, 128, 1.0);
とするとまともに動く
力押しでみっともないけど、とりあえずこれでいいやorz
0113名前は開発中のものです。2011/02/10(木) 03:34:13ID:izJjB2zw
>>112

getLayerPageFromElm の中で

if(layer[0] == 'm') { ... }

としてメッセージレイヤ指定かどうか判定してるので引数としてわたされる辞書の中の layer は文字列でないとエラーになるという
あたりまえの話。

つか、例外に行番号とかでてるだろ。それみれば一発でわかる話
0114名前は開発中のものです。2011/02/10(木) 03:38:21ID:lVz4HYhb
そこの意味が微妙にわからなかったorz
やっぱりmessageの頭文字を判定してたのか。
ありがとう。
0115名前は開発中のものです。2011/02/10(木) 18:56:31ID:j2WDw41X
ふと思ったんだが
var c = bbb.count;
for(var i=0;i<c;i++) aaa[i]=bbb[i];

aaa.assign(bbb);
って処理速度は同じ?
0116名前は開発中のものです。2011/02/10(木) 19:33:36ID:izJjB2zw
後者のが速い
01171152011/02/10(木) 21:59:50ID:j2WDw41X
ありがとうございました。
assign使うことにします。
0118名前は開発中のものです。2011/02/11(金) 02:47:47ID:2qR1M5vy
俺だと

for(var i = 0; i < bbb.count; i++)

って書いちゃうな。
負荷としてはこっちの方が高いのかも知んないけど。
0119名前は開発中のものです。2011/02/11(金) 11:15:48ID:eInOXOxl
早い云々より前者と後者では使い道変わってこないか?
0120名前は開発中のものです。2011/02/11(金) 11:21:05ID:ZOQcxSzf
数千数万個の中身のある配列ならまだしも、数個十数個の中身の配列だったら
毎度毎度countで個数取ってもさほど変り無いと思うよ。そりゃ確かに一度だけcount取った方が
早くなったり負荷が下がるのは確かだけど、ミリ秒単位の差異を隠蔽せにゃならんほど複雑な処理を書くケースってそんなに有るかね?

無論、これが千や万になるっつったら毎度count叩くのは残念すぎるけど
01211152011/02/11(金) 12:25:27ID:iQutSKcF
>>118>>119>>120
参考になります。
配列の大きさはたいしたことないです。
ただ、タイマー処理の一部分なので、少しでも早くしたほうが良いのかなぁと思い
前者のように組んでいました。
で、後からassign思い出したっていう。
0122名前は開発中のものです。2011/02/11(金) 15:51:26ID:gz2Pwne0
>>92とちょっと質問似てますが、画像に新しい効果を加えるtjsを作りたいと思います。
効果の関数部分は出来てるのですが、具体的にそれをどう反映させれば良いのかその方法がわかりません。
画像を直接弄って変化させるdllは見つかるのですが、1から画像に手を加える参考に出来るtjsファイルが見当尽きませんでした。
これを参考にすれば良いと言うのはあるでしょうか?
0123名前は開発中のものです。2011/02/11(金) 16:06:38ID:WSwbNMpH
>>122
Layeにある getなんたらPixel/setなんたらPixel

で一応なんでもできる。使い方は吉里吉里リファレンス参照。
ただし機能的には問題ないけど速度的にはオーバーヘッドが大きすぎて
効果用の処理には厳しいよ。素直にCで書いて組み込むほうが良い。
0124名前は開発中のものです。2011/02/11(金) 17:04:54ID:gz2Pwne0
>>123
やっぱりCで組むしか無いのですね。
さすがにCまではやってないです。
また勉強しないといけないんですね・・・・
0125名前は開発中のものです。2011/02/11(金) 18:08:09ID:2qR1M5vy
一応、RGBα全部の数値を弄れるから、画像を好きな形に変える事は出来るんだけど、
全ピクセルに処理を施してsetして、それを複数枚…とかやったら、レスポンスが返って来なくなったw
リアルタイムとか先ず無理で、バッチ的に処理するにしても、とても実用に耐えるレベルじゃない。

>>123が言う様に、素直に下位レイヤー叩いた方が良いねぇ。

後、tjsで関数作ってるレベルなら、ポインタの概念とライブラリの中身さえ分かってしまえば、
そんなに難しいモンでもないから、そんなに気負う事もないかと。
0126名前は開発中のものです。2011/02/11(金) 20:41:46ID:cv99fiNS
>>124
https://sv.kikyou.info/svn/kirikiri2/trunk/kirikiri2/src/plugins/win32/
ここのLayerExなんちゃらのソース見たら参考になるかな?
処理自体は出来てるなら、Cに書き換えて該当部分を差し替えれば動いたりして。
01271222011/02/11(金) 21:04:37ID:gz2Pwne0
>>125
試しにテストしてみましたが、やはり恐ろしく重たいですね・・・・・
確かにちょっと実用的とは言えませんでした。
他の手段を考えないと。

>>126
実は今丁度そのlayerExRasterが同じような処理をしてるようだったので見てたのですが、AsObjectNoAddRefなど重要そうな単語の意味がわからず、
さらにmainImageBufferPitchやmainImageBufferForWrite等の見慣れないプロパティをリファレンスで参照してさらに頭を抱えてました。

あとlayerExRasterを試しにコンパイルしてみようとしたのですが、何か足りないのかエラーでコンパイル出来なくてやはり初歩的な知識くらい無いとダメなのかと思いました。
(xp3filterなどいくつかはコンパイル出来たのでなにか足りないんじゃないかと思いますが )
0128名前は開発中のものです。2011/02/12(土) 18:41:10ID:S40hiv+3
吉里吉里やtjs組むにはやっぱり秀丸がいいのかなぁ
ずっとmifesなんだが。。。。
0129名前は開発中のものです。2011/02/12(土) 21:37:52ID:M58LL2rf
自分はEmEditorの無料版だなあ
自分に合ったヤツが一番だと思うよ
0130名前は開発中のものです。2011/02/12(土) 23:10:02ID:FyIidfIA
秀丸とかの吉里吉里用セッティング?使ってる人使い勝手とかどうなんだろ
0131名前は開発中のものです。2011/02/12(土) 23:11:57ID:Z20utz7t
質問です
KAGのボタンを後からTJSで非表示にしてみたら
クリックは出来ないのにキーボードからは選択できちゃうんだよね
確認してみたらfocusableはちゃんとfalseになってるし
どうしたらいいでしょうか?
MessageLayer.tjsを弄る必要があればどこら辺とか教えて貰えると助かります
0132 冒険の書【Lv=1,xxxP】 2011/02/13(日) 00:40:19ID:Nddze20W
慣れてしまったエディタが一番だと思う。
秀丸派だけれど、フリーソフト最強ならsakura editor。
広いカスタマイズができる。

mifesはiniファイルを直接弄れるので好きだったけれど、
最近のはムリっぽいね。

秀丸なら吉里吉里用のマクロも幾つかアップされているのがいい。
”秀丸でgrep”というツール(というかinfインストール)を入れることもお勧め。
0133名前は開発中のものです。2011/02/13(日) 00:50:48ID:chaa4PxZ
ずっとサクラ使ってるなぁ。
設定でそこそこの使い勝手は得られるので、替える動機付けに乏しくなる。
0134名前は開発中のものです。2011/02/13(日) 02:22:42ID:L4kq+ciB
KKDE2のバージョンアップまだー
01351312011/02/13(日) 02:26:33ID:SiQe8osp
MessageLayer.tjs弄ってたらできたわ
失礼した
0136名前は開発中のものです。2011/02/13(日) 12:42:14ID:MiTt5ymI
彼氏が秀丸使ってた、別れたい
0137名前は開発中のものです。2011/02/13(日) 16:32:54ID:k84HpGk7
初心者な質問ですみません。
タイトルをランダムに表示されるようにしたいのですが、
@eval exp="tf.title=intrandom(1,3)
[if exp="tf.title=1"]
[image storage="title1" layer=base page=fore]
[if exp="tf.title=2"]
[image storage="title2" layer=base page=fore]
[if exp="tf.title=3"]
[image storage="title3" layer=base page=fore]

これですると何度やっても3の画像しか出てきません。
対処法はありますか?
0138名前は開発中のものです。2011/02/13(日) 16:52:13ID:9RIfJ8I3
等しいかどうかの判定をするときは=ではなくて==を使わないといけないよ
=だと代入になってしまうので
「3と等しいか判定する」つもりなのだろうけれど「3を代入する」という意味になってる

あと、いろいろ閉じてないような気がするけど。"とか[endif]とか
0139名前は開発中のものです。2011/02/13(日) 17:10:12ID:k84HpGk7
あ、修正前の方貼っちゃった…
ありがとうございます。=の使い方を勘違いしてました。
0140名前は開発中のものです。2011/02/13(日) 17:29:04ID:hs/nBGW+
>>137

今日は暇だから俺がもう少し飛びにくいように書き直してやる

*titke_change
[eval exp="tf.title = intrandom(1,3)"]

[if exp="tf.title == 1"]
[image storage="title1" layer=base page=fore]
[jump target=*titke_change_end]
[endif]

[if exp="tf.title == 2"]
[image storage="title2" layer=base page=fore]
[jump target=*titke_change_end]
[endif]

[if exp="tf.title == 3"]
[image storage="title3" layer=base page=fore]
[jump target=*titke_change_end]
[endif]

[image storage="title1" layer=base page=fore]
[jump target=*titke_change_end]

*titke_change_end

ドヤ顔で出すほどのもんじゃないけどこれで最低限どんな値が返ってきてもとりあえずどれかは表示される。
0141名前は開発中のものです。2011/02/13(日) 17:45:20ID:9RIfJ8I3
いや、その値はintrandomで自分で生成してるんだから
気にするんだったらそこじゃないだろ…

気にするなら、なんかの事情でtitle1.jpg等が存在しない場合とかだろ
その場合は存在するもののうちからどれかをかわりに表示するみたいな
0142名前は開発中のものです。2011/02/13(日) 17:56:19ID:hs/nBGW+
それが案外そうでも無い。
ランダムで表示する画像が増減する事は結構あるし、そのときにintrandomの数値を間違って設定する事とか結構あるよ。
あと > < などでやってると、案外=が抜けてたり。
まぁ今回はintrandomの数値だけど、似たような状況はいくらでもあるから、飛びにくく作っておくのは大事。
存在しないものはTJS使わないと吉里吉里タグだけじゃ無理だからさすがに初心者にそれは難解過ぎ。
0143名前は開発中のものです。2011/02/13(日) 18:17:56ID:9RIfJ8I3
うーん、
バグ防止のために「一致してなきゃならないもの」が存在するのを嫌うのは
非常にもっともなことなのだけれど、
セーフティネットというのはバグの温床(見逃してしまう)でもあるので
その最後のcase defaultに相当するところはcond="!debugmode" とかをつけたいような
まあ思想の問題かと思いますが

というか、バグ防止のためにということであれば、今回については
ファイル名の一覧を ["title1", "title2", "title3"] のような配列で与えることにして
intrandomの範囲も「1,3」などと手動で直接書くのではなく
その配列の要素の数から自動的に取るようにするとかかね
0144名前は開発中のものです。2011/02/13(日) 18:18:57ID:nsK8f981
else タグと elsif タグの存在も思い出してあげてください
0145名前は開発中のものです。2011/02/13(日) 18:21:57ID:9RIfJ8I3
ちょww
「そうかelseやelsifってなかったのか、最近離れてたから記憶があいまいになったな」
って思ってた
0146名前は開発中のものです。2011/02/13(日) 19:08:53ID:hs/nBGW+
>>143
たしかにバグの温床にはなりやすいよね。
この条件なら飛ぶはずなのになんで飛ばずに動き続けてるんだろう?とか小一時間ミス探す事が時々ある。

.addで配列に組み込むのが理想だね。
.countで数は取得出来るし、便利なのよね。
ただ、駆け出しの頃は配列は俺にはとても難解だった。
一番使わなくても支障のない物だけど、使えるのと使えないじゃ格段の差が出るのよね。
0147名前は開発中のものです。2011/02/13(日) 19:12:37ID:hs/nBGW+
あと吉里吉里はとてもシステムとして安定してるから関係無いんだけど、ずっといろんなプログラマーのオリジナル言語でやってたから、ついコマンドが返す数値を100%信用しない変なクセがついてしまってるのよ。
特にランダム系は経験上かなり不安定な事が多かったせいでついね。
■ このスレッドは過去ログ倉庫に格納されています