1 :
名前は開発中のものです。 :
2007/08/06(月) 19:12:57 ID:CjKwgtC1
!,-/::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::ヽ, i''./:::::::::::::::::::::://::::::l:l'i::::::ヽ:::::::ヽ:::::::::::::::l丶 お尻の穴に 〉!:::::::::::::::l:::::://l:::::/ll .lヽ:::l !ヽ::::l:ヽ::::::::i::l::l 指をいれて ヽ::::::::::::::l:l::::/:l .l:::/ l l,ヽ:l-l-l:::lヽ:ヽ::::::l:l.ll 匂いを嗅ぐと l::l.l:::::::ll.l:::l''l~~∨' ' ' _,-'i-∨ l::::l::::l:l,,l_ _l::l .l::::l .l,l:l''~(~~i'' l ヽノiヽ.l:::::l:l:l::::::~''-,_ 新スレですよ _,-'':::l:l l:l.l '~l .ll||ll l l l|||l.ノ l:::::l-''''''''---,,'-,_ ,-':::::_,,,-ヽl::::::l ヽ,,,,,,ノ '--'' l::::::l ~ /-''''~ l:::::::l.l ____'___ ./l:::::::l l:::::::l'ヽ. l l / l:::::::l l:::::::ll ',,- ,_ ヽ-' _,-''--,,ll::::::l ~
>1 乙です >5 次スレから修正するように ×嗅ぐ ○KAG
やっぱまほろさんもテンプレなのか。 どこぞの海原先生みたいだな。
二十四季完成らしいよ
min〜max間の連番の数字から、重複無しで"number"回数、数字をランダムで抽出したいのですが、 下の通りの記述だと、抽出回数(number)を2以下に指定すると「関数ではないかプロパティの種類が違います」とエラーが出ます。 3以上だと問題ないのですが、どの辺りがおかしいのでしょうか? function onlyrandom(min, max, number) { tf.rndnum = []; var resultnum = []; for (var i=0; min+i<=max; i++) { tf.rndnum[i] = min + i; } for (var j=0; j<number; j++) { tf.temp = intrandom(0,tf.rndnum.count-1); resultnum[j] = tf.rndnum[tf.temp]; tf.rndnum.erase(tf.temp); } return resultnum; }
13 :
12 :2007/08/08(水) 12:23:46 ID:u/JQJHuj
済みません、エラーが出るのは関数の後の記述に問題がありました。 失礼しました。
お、いつの間にか新スレだ 1乙ノ
前レスでVistaに触れてたけど マイドキュメントにセーブデーター指定しとけば パッケ裏に対応OS Vistaって加えても大丈夫? 房な質問スマソ。
完成した作品のパッチを作る時、旧バージョンから更新のあったファイルをxp3にまとめる訳ですけど どのファイルを変更したか、一々別のテキストか何かにファイル名を書き留めておかないと分からなくなるんですが 何か効率のいい方法は無いでしょうかねえ?
バージョン管理。 ディレクトリへの配置を工夫すればデスクトップ検索でごまかせるが。
更新日付順に並び替え
パッチを作らな 変更前のデータを別のディレクトリにコピーして置いておけば そのディレクトリを見ればいいだけなので書き留める必要は無くなる。 ディレクトリのパス名を日付にでもしておくと末吉。 普通にバックアップとってるだけの話だったりするけど。
>>15 吉里吉里自体はVistaに正式対応していないので(一応は動作するけど)
自分でサポートでききるのであれば、パッケージに対応OSとして書いてもいいかと。
OS : Windows 98/98SE/ME または Windows 2000/XP
質問です 現在読んでいるシナリオファイル名を得る方法を教えてください
>>21 kag.conductor.curStorage
グラフィカルボタンでロードしようとすると、 「スクリプトで例外が発生しました。オブジェクトはすでに無効化されています」とエラーが出てうまくいきません どうすればうまくいくでしょうか? 記述はこうやっています [button graphic="load_d.png" exp="kag.restoreBookMark(0 + sf.savepage)"]\ ちなみにぐぐって調べた限りの対策と、その結果は、 ○新しいバージョンでは直ってる → 新しくしたけど駄目だった ○別のラベルに飛ばして、そこで@loadでやれ → ロードがサブルーチン内なのでreturnできなくなる って感じです 助けて!!
エラーログはこんなです 09:39:18 load.ks : [endif]\ 09:39:18 load.ks : [s]\ 09:39:20 ================================================================================ 09:39:20 Scenario loaded : first.ks 09:39:20 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 09:39:20 first.ks : jumped to : *scene01d0 09:39:20 処理を開始します 09:39:20 ==== An exception occured at buttonlayer.tjs(155)[(function) onMouseUp], VM ip = 3 ==== 09:39:20 -- Disassembled VM code -- 09:39:20 #(155) Butt_mouseDown = false; 09:39:20 00000000 const %1, *0 // *0 = (int)0 09:39:20 00000003 spd %-2.*1, %1 // *1 = (string)"Butt_mouseDown" 09:39:20 -- Register dump -- 09:39:20 %-2=(object)(object 0x0012F52C:0x00000000) %-1=(object)(object 0x02E0AE0C:0x02E0AE0C) 09:39:20 %0=(void) %1=(int)0 %2=(object)(object 0x01D7BF3C:0x01D7BF3C) 09:39:20 --------------------------------------------------------------------------------------- 09:39:20 オブジェクトはすでに無効化されています at buttonlayer.tjs(155)[(function) onMouseUp] 09:39:21 スクリプトで例外が発生しました オブジェクトはすでに無効化されています 09:39:21 trace : messagelayer.tjs(41)[(function) onMouseUp] <-- immediate event 09:39:29 (info) CPU clock : 2394.3MHz
>>24 このエラーログを見て自分で対処できないレベルなんだったら、
「別のラベルに飛ばして、そこで@loadでやれ」としか言いようがない
TJSをいじれるならボタンのカスタムクラスを作るなり何なりして、
onMouseUpの中からロード処理を呼んだりすればいけるんじゃね
どうしてもその方法でやるだったら、ロードする前にボタンを先に消せばいいんじゃね? messeage1にボタンを表示してるんだったら、こんなんでうごくかな。 [button graphic="load_d.png" exp="kag.fore.messages[1].clear(); kag.restoreBookMark(0 + sf.savepage)"] これやるんだったら、別のラベルにとばしたほうが楽だわな。
俺の環境じゃ確認できなかったけど、 ButtonLayer.tjsのfunction onMouseUp()のところを こんな感じに書き換えてみるとか function onMouseUp() { if(isvalid this) { Butt_mouseDown = false; update(); } super.onMouseUp(...); }
>>27 なんか画面の切り替わりが上手くいきませんでした
>>28 関数とかわからないままいじるのはちょっと抵抗があるので、少し勉強してみます
ラベルジャンプだとロードの確認で「いいえ」を選択したときに、returnできなくてエラーがおきてしまいます
いっそロードの確認をしないという方法で解決しようかな、とも考えてます
もしもし ボタンにカーソルのっけると新しいメッセージレイヤを出しそれに文字を表示させるためにはどうすればよろしいのでしょうか
>>29 んー…じゃあcallでよべばいんじゃね?
こんな感じで
[button graphic="load_d.png" exp="tf.num=0,kag.callExtraConductor('', '*load')"]\
*load
[load place=&tf.num + sf.savepage]
[return]
>>30 コードが欲しいなら、もっとやりたいことをkwsk
>>30 buttonタグにonenterかkag.processでジャンプ
35 :
30 :2007/08/12(日) 09:31:13 ID:3WHzmhX3
よくflashなどで調べたいところにカーソルを合わせると、 メッセージウィンドウが出てきてソレの説明が出てくる。 ってのがありますよね。 それみたいにボタンのオーバー時に新しいレイヤーを発生させて 説明をタラタラ表示させたいんですよ。 無論そこもノベルっぽく1文字ずつ表示っす。 イマイチやりたい事を伝えるのが難しいっす。
37 :
30 :2007/08/12(日) 19:58:58 ID:3WHzmhX3
>>36 参考になりました!ありがとうございます。
>>36 のおかげで文字は表示出来るようになったのですが、
やはり1文字ずつ表示させたいです。
二十四季夏コミ間に合わなかったらしいよ
タイプライターのソースが参考になるかも
夏コミ用のゲームをまだ作ってるピコ手の俺様もいますよ、と。 ていうか、シナリオ完成してないんだけど。
カーソル乗っけた時に普通のメッセージレイヤ出すようにすればいいんじゃね
42 :
30 :2007/08/12(日) 21:33:12 ID:3WHzmhX3
>>41 普通にメッセージレイヤを出すと
メッセージレイヤのみが出て何も書かさりません。
〜〜〜
function hint_on(hint){
kag.fore.messages[2].fillRect(0, 0, kag.fore.messages[2].imageWidth, kag.fore.messages[2].imageHeight, 0);
kag.fore.messages[2].font.height = 24;
kag.fore.messages[2].drawText(0, 0, "%s".sprintf(hint), 0xFF0000);
}
〜〜〜
onenter = "hint_on('あいうえお')"
一気に全部表示かよ!だったら画像で表示させたほうが楽だZE☆
な状態です。
一文字ずつ表示の方がカコイイ!
単純に1文字ずつ表示するだけなら、1文字書いてトランザクション、それの繰り返しとか
×トランザクション ○トランジション
もうめんどいからlayoptで表示させてcurrentして 文字速度指定してスキップ不可にしてゆっくり表示させろ
46 :
30 :2007/08/12(日) 22:52:55 ID:3WHzmhX3
>>43-45 私にそれが出来るスキルが備わっていなかった模様です・・・orz
Tjsの方で文字を一文字ずつ表示するっていう関数はないんですかね?
>>39 様のタイプライターも失敗しましたし・・・
>>46 TJSにあるのは、特定の位置に特定の文字列を描画させるメソッドのみ
1文字ずつ描画したければ、文字列を分解して、drawTextにかければいいだけ
ちなみにKAGは、ウェイトをはさみながら1文字ずつ描画していって
改行させる位置にきたら改行したりしてる
問題は、この描画というのは一瞬で行われるため、1文字ずつトランジション
させながら文章を表示させていくことはデフォルトのKAGではできない
やろうと思うなら、各文字ごとにレイヤを用意して描画してをトランジションする
つか、スキルが追いつかないなら、まずはできる範囲でやれ
失敗したからといって、何日もかけて悩んだり試行錯誤できないようなら
KAGでできる範囲にしろ。工夫次第で、KAGだけでもいい演出はできるぞ
文章が表示されればユーザーは読むことができるんだから、それでいいじゃねえか
>>30 >>34 や
>>41 の言うように、カーソル乗っけた時に別レイヤーにジャンプさせればできるじゃん。
[link onenter="kag.process(,'*hint01')"]ここにオンマウスでヒント1が表示される[endlink]
(↑これはメッセージレイヤー0を使っているとする)
そんで
*hint01
のラベルを別に用意しといて、その中でメッセージレイヤー1を指定、
「あいうえお」
でいいだろ。
ちなみにボタン画像は使ったことがないので、上の例は「ボタンにオンマウス」じゃなくって
「文字列にオンマウス」でジャンプだ。そこは自分で適当に変えてちょ。
まあ
>>47 の言う通り、自分で分かる範囲の処理にしといた方がいいと思うが。
行き当たるたびにここで質問ばっかしてたら埒があかないし。
49 :
30 :2007/08/13(月) 02:00:49 ID:wMLdrIrt
>>47 自分は演出ばかりに懲りすぎていた模様です。
精進せねば
>>48 おかげで出来ました。ありがとうございます。
>>30 のおかげでまったく別件のバグが取れた俺がいた。
>>51 既読文字表示速度関連に手を入れてたんだけど
その過程で通常の文字表示速度を変えられなくなってる事に気づいてなかった。
んで
>>34 を実験中にそれに気づいて修正することが出来た。
バグというよりかは凡ミスという方が正しいかも。
KAGEXのsliderタグのonchangefunc属性ですが、
マニュアル(kagex.txt)には下記のように記載されていますが、
ここでいうdraggingとは何を指すか分かりませんでした。
> onchangefunc 変更したとき呼び出される関数を指定
> func(position, dragging); の形で呼び出される
MessageLayer.tjsのonChange関数が該当するものと思われ、
draggingはドラッグ中か否かを指定するのかと推測したのですが、
trueやfalseを指定すると「スクリプトで例外が発生しました
(void) から Object へ型を変換できません。
Object 型が要求される文脈で Object 型以外の値が渡されるとこのエラーが発生します」と表示され、
draggingそのものを指定すると「スクリプトで例外が発生しました
メンバ "dragging" が見つかりません」と表示されてしまいました。
>>47 氏がご指摘されていたように出来る範囲で対応しようと思っているため、
今回は対応せずに先に進むつもりですが、今後のためにアドバイスいただけると助かります。
>>53 何をどう指定したのかさっぱりわからん。具体的に書いとくれ。
質問があります 任意の文字列をTJS式として実行することは出来ますか? 具体的には、例えば var dic = []; dic.add("dic.count"); とすればdic[0]には"dic.count"という文字列が入り、 dm(dic[0]); と書くと当然「dic.count」と表示されます。これを dm(dic[0]+'='+(なんか処理)dic[0]); と書いて、5個なら「dic.count = 5」というように出来ないでしょうか。 ご教授お願いします。
56 :
名前は開発中のものです。 :2007/08/14(火) 05:54:03 ID:kPyoQBNU
dm(dic[0]+'='+Scripts.eval(dic[0]));
>>54 説明不足すいません。
【やりたかった事】スライダーのタブを動かした際、
ミュート実行時はkag.bgmvolumeの値が変更されない(0のまま)ようにしたい。
sliderタブの中だけでは出来なさそうだったので、スライダーのタブを動かした際、関数を呼び出したい。
[slider width=100 height=10 opacity=0 min=0 max=100 onchangefunc="bgm(sf.volume, true)"]
// sf.mute・・・ミュート中、!sf.mute・・・非ミュート中
function bgm(test)
{
if (!sf.mute)
kag.bgmvolume = test;
}
多分上記のような感じの事を記述すれば、
・ミュート時は、sf.volumeに音量の値が格納されるだけでkag.bgmvolumeには影響を及ぼさない。
・非ミュート時は、sf.volumeに音量の値が格納された後kag.bgmvolumeに値がコピーされ、
sliderタブの移動に実際の音量が追従する。
かなと思い試してみました。
ただonchangefuncの書き方が仕様に沿っていないようで、
>>53 のようになってしまいました。
>>59 [slider width=100 height=10 opacity=0 min=0 max=100 onchangefunc="bgm"]
こう書く。
呼び出される側はこの形
function bgm(volume, dragging) {}
スライダをつかんで移動してる間は dragging が true になってる。
最後値が確定したときは dragging が false。
というか、kagex の場合、bgm の mute 処理は kag.bgmenable で適切に
内部制御されてるので、kag.bgmvolume は常にそのまま制御するのが正解。
>>60 ご指導ありがとうございます。
無事実装できました。
また、kag.bgmenableのご説明ありがとうございます。
音量を0にすると事しか考えておらず、無効化するという発想はありませんでしたorz
kag.bgmenableのおかげで、そもそもスライダー内で関数を呼び出す必要性がなくなり、ソースがスッキリしました。
以前KAGEX使ったら妙なエラーやらバグで苦しんだんだが 改善されたのかね
63 :
名前は開発中のものです。 :2007/08/14(火) 19:36:07 ID:epRKm6MR
buttonタグで一画面に複数ボタンを配置して、そのうちのどれか一つでもクリックすると その後は全ボタンがクリックできなくなるんですけど、これはまたbuttonタグを使って再配置するしかないんでしょうか?
ありがとうございます、こんなタグがあるなんて知りませんでした 今まで一々再配置してました
続けて質問済みません 一つの小数点まで含む数値に対し、任意の桁で四捨五入するにはどうすればいいのでしょうか? (例えば「5.51666666667」という値を、小数点第三位で四捨五入して「5.52」を返す)
"%.2f".sprintf(5.51666666667)
ありがとうございます、望む動作をできました。
70 :
55 :2007/08/16(木) 06:21:27 ID:/RTXx7JJ
>>56 >>57 目的通りの動作が出来ました。
すばやい回答ありがとうございます
DQや逆転裁判みたいに台詞をポポポってならすことって可能かなぁ いろいろ試したけど文字スピードに合わせて鳴ってくれなくて困った
>>71 もう試したとは思うけど、タイプライタープラグインってのがなかったっけ?
あれってどんな具合だろうか。
>>71 おさかな定食かどこかにタイプライタープラグインがあったような
それのkey.wavの音を変えればよかったと思われる。
文字速度がめちゃくちゃなのはランダムのところをいじればよかったと思われ。
xxxxSoundBuffer.totalTimeを取りにいく時、 再生してるものがない場合、派手にエラーが出る。 さらっと「0」返してくれたっていいじゃんよぉー って思うのは俺だけですか? って、本家に言う度胸のない俺orz
そのくらい自前で調べろよ・・・
調べるとかの問題じゃなくね?
雨とか雪降らして消す時に フェードアウトとかできないんですかね?
裏画面だけ降り止ましてからトランジションでフェードアウト
夏コミのゲームでこれは(吉里吉里的意味で)すごいってゲームあった?
>>78 背景と一緒にフェードアウトさせようとしてるんですが
背景だけ変わるんですが
それは裏画面の雨か雪が止まっていないのが原因と思われ。 一度表画面できちんと止めるソースを書き、それを裏画面に適用すれば良い筈です。
>>78 使い方のテキストくらい読もうぜ…
@backlay
@image layer=base page=back storage=画像
@snowopt backvisible=false
@trans method=crossfade time=2000
@wt
@snowuninit
>>82 あぁ本当ですね
よく読んでませんでした
ありがとうございました
linkタグで作ったリンクにカーソルを合わせた時、表示される矩形の色とか高さとかを変えるタグが あったような気がするんですが、何というタグでしたでしょうか?
86 :
名前は開発中のものです。 :2007/08/23(木) 04:08:30 ID:MUSDPCtM
リファレンス嫁。人に聞くよりどんだけ早いと思ってんだ。
87 :
名前は開発中のものです。 :2007/08/23(木) 09:10:10 ID:eUZqlrsI
初めまして。 僭越ながら質問させていただきます。 1280x960の解像度で製作したとして、ユーザーのモニターが 1024x768と低い、1854x1242とアスペクト比が通常ではない といった場合、比率を保ったまま拡大縮小されるんでしょうか? 標準で可能、scriptやpluginを組み込めば可能、吉里吉里の 仕様で実現不可能、などと具体的に教えていただきたく存じます。 スレッドの皆様、どうぞよろしくお願いいたします。
>>87 モニタのアスペクト比で決まるだけっしょ。
吉里吉里側でどうにかなる問題じゃない。
89 :
87 :2007/08/23(木) 10:55:41 ID:eUZqlrsI
いろんなサイト巡ってみたら標準で windowzoomって拡大縮小の機能を 付加するplugin入ってたんですね。 お騒がせしてすみませんでした (;´Д`) 消えます。
windowzoomではアスペクト比は変えられないんじゃね
むしろ中途半端な存在のQuad-VGAの方がマイナーでWXGAやWXGA+の方が今はメジャーだろ。 しかも、それらの規格をサポートしたモニタてSXGAクラスじゃないと無くないか? 1854*1242てどこの業務用モニタ? 紙芝居ゲーをXGAあたりで作るのはまだ早いよ。バリバリの3Dゲーマー向けならともかく。
大体、1024x768が低い解像度って言ってる時点で・・・ まだ多いぞ、1024x768ユーザー。 あとノベルだとしたら、1280x960なんてサイズで作られても読みにくいだけなんすけど……。 横にダラダラ書かれても読みにくいし 左端に寄っちゃって書かれるのも読みにくいよ。
ノベゲだとまだまだ1024x768が標準か大きいほうじゃないのかw
>>94 だよね。
ノベルなら800x600の方が読みやすい。
むしろ視線を左右にあまり動かさなくて済む640x480でもおk
>>94 作り手としては1024とかの方が文字詰め込めるし、栄えも良くできるんだけどねw
800x600はその代わり色々ごまかしが利くし、読みやすしで、まだまだ利点は大きいね
ハードカバー 1024
文庫 800
って感じかも。新聞紙で小説はちょっとなぁと思う心理かも試練
97 :
96 :2007/08/23(木) 14:16:07 ID:UJS4faoc
>>96 まちがた、全部1サイズずつ落としてかんがえてくだしあ
雑誌サイズ 1024
ハードカバー 800
文庫 640
>>96 横1026でズラーっと文字が並んだのは読みにくいからマジやめれ。
詰め込みやすいとかの問題じゃないっての。見栄えも良くないよ。
サイトと同じである程度横幅が狭い方が読みやすい。
>>99 誤表記した俺が悪いわけで気にしないでくれ
スッゴく話をぶったぎるけどKAGのレイヤについて質問 KAGタグをいじってレイヤ(特に立ち絵)の管理をしやすくしようと色々試みててるんだけど… Layerクラスに例えばLayerName ="" みたいなプロパティを追加して、 Layoptタグを記述するときに Layopt[0 以下略]じゃなくて Layopt["女の子A",以下略] みたいに記述できるようにしたいんだけど、どういじればいいかな…? Laycountタグをいじればいいかなって思ってMWindow.tjs開いたけどワケワカメ 誰かヒントください……
KAGでレイヤー数を管理してる変数を辞書配列に置き換えてやればなんとかなりそうかな? なんかレイヤ表示するあたりもごっそり改造しないといけない悪寒… 起きたらリファレンスとにらめっこしよう…
>>87 >>91 がいってるオプションで実現可能。
ただし、ユーザの環境によってはいまいちきれいにならないことがあるので要注意。
現行開発版なら、System.setArgument でプログラム側から方式変更できるので組み込んであげると親切。
>>94 ノートPCは現時点では 1024x768 が多いね。デスクトップ用の液晶では1280x1024が普及してて、これ、
アスペクト比が違うので、そのまま800x600 を全画面にすると縦に延びるんだよねorz
ついでに液晶モニタ側での拡大になって一般的に汚い。
最新開発系だと標準はアスペクト比固定優先で、解像度そのままで吉里吉里側での拡大表示(縦にちょっとつぶす)になる
>>95 800x600 だと液晶モニタで拡大表示すると、文字がぼやけてしまってとても読みづらいんだなー。
絵のほうは 800x600 を引きのばしたのでいいんだけど、文字の解像度はあげれるようにしたいものです。
今の吉里吉里でも技術的にはできなくないけど(手動でレイヤ単位で拡大コピー)
間違いなく劇重になるので、DirectX 系を利用したマルチ解像度の拡張がほしいところ。
>>103 >800x600 だと液晶モニタで拡大表示すると
そのゲームの字が余程豆文字なのか、それとも弱視なの?
>>104 んー、800x600の元画面を、たとえば 1600x1200の画面でそのまま拡大すると、
dpi的には半分で、拡大のバイリニアかバイキュービックだかで輪郭だけがぼけた文字になっちゃうわけですよ。
俺の価値観ではこれは「汚くて読みづらい」になるんだな。
CRT の場合はいいかんじにぼけてさほど気にならないんだけどね
液晶でも高級機なら高度なアプコンがかかって大丈夫なのかもしれないけどそんないいのは持ってない。
>>101 とりあえずきみが何を言いたいのかワケワカメ
MWindow.tjsなんてないし
少なくともそのレベルで改造なんてことはやめとけ。蟲がわくだけ
[iscript]
sf.charalayer = %["女の子A" => "0", "女の子Dee" => "1"];
[endscript]
あたり設定して
[macro name="layopt2"]
[layopt layer="&sf.charalayer[mp.layer]" *]
[endmacro]
とかどうよ
もし、改造するなら、kag.getLayerFromElmを弄るとか
こっちの方がレイヤ系のいろんなタグをすべて用意する必要がないか
あとはこのレベルなら、エディタ側で置換するとか
俺エスパーじゃないから、聞きたいことの答えになってるかはしらん
そんなん800×600とかに関係ないがなとしか言えません。 モニタの解像度下げれば?w
つかdpiがかわるんだから拡大縮小にしてもアンチエイリアシングにしても仕方ない事なんじゃないかな。 ここで何とかできる話ではないと思うんだがw でもまぁそこまでオートで変わるんならすげーもんだよなぁと低スキルの俺は思うよw
そんな瑣末考えてると作品ひとつも上げられないよ
>>107 話かみあってねぇ^^;
モニタ側の解像度さげたら、安物液晶モニタの貧弱な拡大機能でもっと悲惨なことになるよぅ
それがいやだから文字だけでも解像度あげていきたいって話だよう
>>108 一応技術的な目算はたってる。
開発版吉里吉里2では、独自の描画ドライバをつくれば primaryLayer を複数もつことができるので、
1つはたとえば800x600にして、従来のプログラムはほぼそのままここで動かす。もう1つ、現在のモニタの解像度に
合わせた primaryLayerを作って、そこに任意の解像度表示に対応したメッセージ表示専用の窓を作って配置する。
それぞれの primaryLayer は、それぞれの拡大率で、Direct3D で画面に合成表示させる。
これで文字だけ高解像度で、ゲーム本体の画像データは 800x600ベース素材の作品がつくれるという寸法
>>109 チーム内でのプログラマの仕事は瑣末を考えることだと思うんだ
まぁ俺にとってはどうでもいいレベルだな
112 :
87 :2007/08/23(木) 18:17:26 ID:eUZqlrsI
おおっ…いろいろレスいただけて恐縮です (;´Д`) 当方ずっとCG集のみ描いてきて、プログラムのぷの字も分からんのですがダウンロード販売の折 差分画像でサイズが大きくなりすぎる事態に陥り、吉里吉里にすがり付いたというわけです。 描いてるCG集のサイズが1280x960なので、このサイズを基点にソフト化するわけですが もしかしてエロ同人やCG集を購入する人のPCって1024x768前後が多いんですかね? UXGAやXUXGAのモニターもノートも安くなってるから普及してると思ってたんですが…。 今更800x600のCGにするわけにもいかないしなぁ…UXGAサイズも考えてたのに(´・ω・`)ナンテコッタ ひとまず、オプションかSystem.setArgument命令か標準プラグインを駆使して 形になるものを作り上げたいと思います。いろいろありがとうございました。
>>112 俺も1024x768だけど、まだまだ多いんじゃないかな
ちなみに、試しに1280x960の鬼サイズで作ってみたら
最初からフルスクリーン扱いで、
画面から大幅にはみ出してすごいことになった
>>112 普及はしてるだろうが、それ前提で作れるほど標準にはなってないだろ
はー、なるほどなるほど。 CG集だったら確かに1280x960でもいいきがすんだが・・・ 吉里吉里の場合向いてるか微妙だよなぁ。
117 :
名前は開発中のものです。 :2007/08/23(木) 21:14:49 ID:63wz7/Ku
>>110 おれも救済としてその機能欲しいんだけど
やっぱ互換性を考えるといろいろ面倒くさいんだろうねぇ
あくまで一部ユーザーのための救済
>UXGAやXUXGAのモニターもノート 流行で屑モニタ量産してるだけだから普及してるわけじゃない。 PCパーツ追いかけない奴なら2,3年前のモニタが現役だからXGAは現役。 まあ、1854*1242ってデジカメで撮った画素数だからCG屋だろうと思ってたけどw
あまり細かいと目が疲れるので1024x768で使ってる俺
UXGAでも5%なのか…
[link]で作ったリンクにマウスをあわせた時、矩形自体を表示しないようにするには どうすればいいんでしょうか?
不透明度を0にしたらいいんじゃね
特定の場面での選択肢だけ、矩形を見えないようにしたいのですが linkタグだとopacityとか、それに該当するものが無かったので……
KAGEXのSliderタグで作成したスライダーオブジェクトにKAGからアクセスするには どうすれば良いのでしょうか? ドラッグしていない状態で、positionプロパティを変更したいのですが…
>>123 KAGだけだと難しいんじゃないかな?
TJSがある程度分かるなら、
MessageLayer.tjs 内の
highlightLink
もしくは
internalMouseMove
をいじってみるとか。
俺はhighlightLinkをいじって、矩形表示じゃなくて
選択肢左にカーソルを出すように改造できたから、
矩形表示を消すくらいなら出来るんじゃない?
>123 KAGのソース見たら、実はlinkタグにopacity属性を指定すると矩形の不透明度が変えられるようになってるね。 リファには書いてないけど。
そういうのいくつかあったような。 使ってないのもあった気がする。将来用?
非推奨ってだけな気も。 もしくはリファ掲載忘れ。
>もしくはリファ掲載忘れ。 たぶんこれだな。
TJS側も最近ソース読むとドキュメント化されてない引数取ってたりするもんな。 仕様が固まってなくて隠したいのか 単に忘れてんのか区別付かないんでそういうのは 互換性のために使わないようにしてるが。
最新開発版の吉里吉里を使用しているのですが、Shift+F11などを無効にしたいと思ってます。 そのためkrkrconfでホットキーを無効にしているのですが、その設定が.cfファイルに書き出されるため.cfファイルを消すとホットキーが有効になってしまいます。 ユーザーの誤操作防止のため、出来ればユーザーが誤って消さないような形でShift+F11などを無効にしたいのですが、 何か良い手ご存知の方いらっしゃいましたらアドバイス願いします。
>>131 krkr.exe のバイナリ中 の "XOPT_EMBED_AREA_" という文字列の直後から、
リリース用オプション(cfファイルの中身と同様の書式) \0 無視するオプション項目(カンマ区切り) \0
という形で文字列がうまってるので、そこを書きかえれば良い。後ろをずらさないよう
ファイルをリードオンリーにしただけじゃ削除は出来るんだっけ?
134 :
名前は開発中のものです。 :2007/08/28(火) 23:25:22 ID:ap8CUtqf
タグをそのままコピペしてシナリオに書き入れてみたんだがBGMがならない [fadeinbgm storage="test.wav" loop=true time=3000] フォルダのファイルがちゃんと入っているのになんでだ?
config.tjs
136 :
名前は開発中のものです。 :2007/08/28(火) 23:30:25 ID:ap8CUtqf
>>135 MIDIからwaveにちゃんと書き換えたのにSEもBGMも鳴らないんだよ
playbgm playse
138 :
名前は開発中のものです。 :2007/08/28(火) 23:50:28 ID:ap8CUtqf
プラグインよみこんでない
>>132 ありがとうございます。
ご指摘の方法でこちらの希望する動作が実現する事を確認致しました。
厨房は夏休みの宿題でもやっとけよ
音源と設定は音鳴るようにできてんのか? ファイルはまともか?
>134 fadeinbgmでボリュームを指定してないからミュートで流れてる
二次元配列のソート、例えば f.test[i][5] (仮にi=0〜10くらいとする)番目の要素を昇順・降順ソートしたいとすると、 (f.test[0][5] = 4、f.test[1][5] = 12……という風に値が入っている) その場合どうすればいいでしょうか?
sortメソッドに比較関数を渡せばおk f.test.sort(function(a, b) { return a[5] < b[5]; }, true);
>>146 >>147 ありがとうございます、比較関数の方法で出来ました。
function downsort(array, num) {
do {
var j = 1; var c = 0;
for (i=0; j<array.count; i++) {
if (array[i][num] > array[j][num]) {
array[i] <-> array[j];
c++;
}
j++;
}
} while (c != 0);
return;
}
こんな関数を作ってみたりしたのですが、ソートの完了を判断する所で詰まってました。
それはバブルソートを書こうとしたのか
今どきソートの実装なんて誰も気にしねぇよ XBox版カルドセプト以外はな
>>150 その話はやめてくれ。
友人と上位bitか下位bitでもめて俺が疑似乱数なんて所詮、漸化式って言ったら友人キレたw
>>148 前提条件でぐぐれ。
Auto Path Table に登録されたファイル一覧みたいなものは取得可能なんでしょうか?
俺は必要だから自分で管理している。
>>134 実は拡張子が wav で中身が mp3 とか?
地味な嫌がらせだなw まあ、一度コーデック確認してみると良いんじゃない?
ベンチマークって以前の吉里吉里のバージョンでもできる?
吉里吉里でテキストファイルに abcd とか出力することってできんのかな?
できるのか! よかったらやり方教えてくれ
var mess='abcd'; mess.save('abcd.txt',''); ただしこれだとある不具合が起こるから、後は自分で考えてみ。
やっと出来ました ありがとうございます
new CSVParser()とinitStorageで配列に読み込んだCSVファイルの 行数を取得する方法はありませんか? forループで行の末端まで回したいのですが、途中でvoidを返したらbreakで抜ければいいんですけど Arrayクラスのcountに相当するものがあれば良いかなと思ったので
>>163 csv.initStorage('xxx.csv');
while((cell = csv.getNextLine())){
if (cell === void) break;
//
}
こうですか?わかりません><
まー、質問の意図としては「count 相当」っていってるから、 initStorage直後に全行数の取得方法が無いかどうかを 知りたいだと思うんだけど、それで言うと「無い」。 getNextLine() の度に逐次パースする実装になってるのよ。
>>164-165 言葉足らずな説明でしたが御回答ありがとうございました。
素直にvoidとbreakで抜ける事にします。
激しく無駄だが、行数を知りたいだけならArray.loadで読み込んだ行数を使うとかな。 var list = []; list.load("xxx.csv"); csv.initStorage("xxx.csv"); for (var i = 0; i < list.count; i++) { var line = csv.getNextLine(); ... } あるいはparseStorageで全部取得してからその行数を調べる方法とか。 var csvdata = %[ result:[] ]; csvdata.doLine = function(list) { result.add(list); } incontextof csvdata; var csv = new CSVParser(csvdata); csv.parseStorage("xxx.csv"); for (var i = 0, result = csvdata.result; i < result.count; i++) { ... } ちょいトリッキーだが、クラス書いてインスタンスつくるよか手短になるので辞書を使ってみた。
連投スマンが、直接CSVParserのインスタンスに差し込んだ方が楽だった var csv = new CSVParser(); csv.result = []; csv.doLine = function(line) { result.add(line); } incontextof csv; csv.parseStorage("xxx.csv");
>>167 CSV は、単純なファイル行数≠エントリ数(getNextLine()1回を1エントリ)なんで、
Array#load() だとちとアカンですな。まあ、クオートされた文字列中に改行が
含まれないことが保証されていれば問題ないかな。
そうでなければ、やっぱ一通り CSVParser に食わせて数えるしかないやね。
凄く初歩的な質問なのですが、式を評価する時に使う 「===」というのは、「==」と何がどう違うのでしょうか?
>== 演算子は型が異なれば適切に変換されてから比較 >=== 演算子(識別比較演算子)は型の変換は行われず、 >型までもが一致しなければ真にならない どうも失礼しました
,, -─‐-、,,-─-,、 / ,'⌒ヽ\ 〈 ,‐-⌒-、ノ,,, |. \ /, ミ、Vヽl〉| | |,,, |. \ '|\Nヘ「ヽ||_|__,|. \ |L.| | ヽ、 | | ,,,|, .l . |_|_,|| .ノ |::|::: :|_| ,ノ | rrr´‐::: :j. L,,---‐‐'´ ノ i´^^i´ ̄~  ̄ ̄ ̄~i‐⌒ヽ, ヽ、__ヽ、______」-、__.⌒っ  ̄ 売れない僻みで、必死に偽ハッシュを投下・・・ オレたちが斜め上の努力をしてる間に、 売れてる作家はその時間で正攻法の努力っ・・・更なる飛躍っ・・・ 差が開く一方・・・ だが・・・ここでやめるわけにはいかないっ!! 賽は投げられたのだっ!
>== 演算子は型が異なれば適切に変換されてから比較 >=== 演算子(識別比較演算子)は型の変換は行われず 関係ないがjavascript1.3に移行したときはこれ混乱したな・・・。
175 :
名前は開発中のものです。 :2007/09/05(水) 16:52:41 ID:1aQXf4+A
javascriptはバージョン変わるごとに仕様が変わったり戻ったりしているから困ったことあったな。
最近の等値性比較演算子と同一性比較演算子の両方を持つスクリプト言語は ecma-262と同じ意味だけどアリスのSystem4.0だけjs1.2のままなんだよな。まあ、元もとアレはスクリプト言語としておかしな設計だが。
JavaScriptもスクリプト言語としておかしな設計だし、 下敷きにしたTJSもおかしいよな。
じゃあなんだったらいいんだ
ここで満を持して ひまわり の登場です!
いや FORTRAN COBOL APL きっとこのあたり
jsはそもそも関数型言語をC構文にしただけだし。 そのせいで関数型のパラダイムを理解出来ない奴が叩いてるだけ。 TJS2の仕様は昔のNSのjs2.0草案の劣化版。 そりゃ変に見える奴にはとことん変に見えるだろ。両方とも。
いやJavaScriptが叩かれる要因はほかにもいろいろあるとおもうがw 弱い型付け、暗黙の型変換、扱いづらいオブジェクト指向モデルなどなど
>扱いづらいオブジェクト指向モデル これ言いだすと宗教問題になると思うよ。 クラスベースかプロトタイプかは。 作った本人としては動的に書けるからプロトタイプベースにしただけなんだろうからそれ以上争う話でもないだろうし。 けど、TJS2の実装見てるとdeeタンがイマイチ元にしてるJSのプロトタイプの 仕組み理解してない部分があるように見える。 現状、TJS2はオブジェクトを動的に変更可能なクラスベースな状態だけど、 ES2共々メインパラダイムをどっちかはっきりしないと実装が困難になるだけでコード書く方はgdgdコードになりかねん。 Java厨 vs C#厨やPython厨 vs Ruby厨みたいな争いに加わりたくはないw
tjsで一番変態なのは incontextof
やり方が違うだけでコンテキストの書き換えが出来る言語は他にもあるぞ。 invokeしてるのと同じ事だからリフレクションでも出来ないことはないし。
186 :
名前は開発中のものです。 :2007/09/07(金) 03:49:40 ID:Gxn0uWUD
質問です。 右クリックした時に、前景レイヤー0も消すように @layopt layer=0 autohide=true としています。 ゲームの途中の一部分だけ、前景レイヤー1も一緒に右クリック時に消したかったので @layopt layer=1 autohide=true として、消しておきたい部分が終わったら再度前景レイヤー0のみ消える ようにしようと思い、 @layopt layer=1 autohide=false を挿入したのですが、右クリックすると前景レイヤー1も消えてしまいます。 どうしたらよいでしょうか?
187 :
186 :2007/09/07(金) 03:56:53 ID:Gxn0uWUD
すみません、勘違いでした。 挿入部分が間違っていたため、訂正したらちゃんと消えました、失礼しました…
いつの間にかKKDE使いやすくなってた と思ったら起動5分でおかしなエラー吐いて気のせいだった
す、スレチかもしれませんが質問です。 最近、ちょあでぃふぇんすという同人ゲームがサイト上でアップされましたが、 あーいう風にMAPにコマを配置するにはどうすれば出来ますか。 どこを見ればわかりやすいとか示唆がでも構いません情報がほしいです。
KKDEってまだ背景色を変えられないのか まだまだかぐや姫Studioが現役のままだなこりゃ
「ちょあでぃふぇんすという同人ゲーム」、「あーいう風に」なんて聞かれて 答えられるやつがいるとでも思うのか。その同人ゲームを知らないやつが ほとんどだろうし、知らないやつはわざわざゲーム名でぐぐってまでお前の 質問に答えようとはしない。 「あーいう風にMAPにコマを配置」ってところを、具体的に分かりやすく お前が説明しろ。
つーかサンプル画像持ってこい
レイヤーを等間隔に配置するだけじゃないか
キャプをヒントにやっとぐぐれたよ。いちおう吉里吉里なんだな。
KAGリファレンスやテンプレのサイトを参考に
>>194 をやってみるといい。
話はそれからだ。
196 :
名前は開発中のものです。 :2007/09/07(金) 20:14:12 ID:7jYc5R4s
unxp3とかxp3decでソース抽出して読め 読みにくいけどそこまでひどくはない
つーかC++とかjavaとかああいう言語で作った方が楽そうだな。
>>198 C++やJava使うなら、TJS使って吉里吉里を直接叩いたほうがラクだと思う。
>>193 未だに見つけられないけどタイトル間違ってね?
PSP2で動かしたいなぁ
>>199 TJSで書くとメインループが変態になるし標準ライブラリが無さ過ぎだからそれはない。
LLで書きたいならRubyなり、Pythonなり何でもあるし吉里吉里はKAGありき。
ミドルウェア作る手間が無い上に、ソースいじれるのは相当なアドバンテージ。
二次元配列(Array)に対して、findを使って添え字を返す事は出来ませんか? 例えばArray[0][5]〜Array[20][5]の中から、aaaという文字が現れる添え字を返す、というような
作りたいというか、例えば hoge = [0,2,0,4,5,3] とかだと、hoge.find(2)とかで2の入ってる値を返せると思うんですけど hoge = [[1,3], [4,9], [5,10], [7,3]] とかだと、hoge[i][1]の中の10の入ってる添え字を返してほしいと思っても、単純に hoge.find(10) = 2 というようにはいかないので・・・
位置が(3, 2)だからhoge.find(10) => 2は絶対にあり得な様な・・・。 多値を返したいんじゃなくてn次元の深さを考慮したいならループ回せばいいだけじゃない? ただ、外側のインデックスも欲しいなら配列で返さないといけないような気がするけど。
多次元配列で、一致する値のキーを取り出したって事? 専用関数がないなら、ループが早いかな。
ループが基本として、 サイズが固定なら設計をかえて1次元配列に格納してしまうというのもありかと。 hoge[y*サイズ+x] の形でつかう。find したあとは y = i / サイズ, x = i % サイズで逆算
配列で返すのが無難
検索する回数が多いんであれば、辞書配列と組み合わせてみるとか。 配列に格納するタイミングで辞書配列にも格納するとか。 array[3][2] = "aaa"; なら hash["aaa"] = "3,2"; みたいな(格納方法は色々あるけど) tjsのループは遅いから、メモリを消費したほうが効率がいいかもしれない。
配列hogeの中身自体は配列objectだからそりゃfindじゃ探せない
内容である[5,10]の中のポインタなり文字列表現なりをfindに放り込まないと駄目だな
暇だしちょっと多元配列の中身探す関数でも書いてみるか少しかかる
>>208 indexは0から始まるから[5,10]のindexは2であってる
hogeが外側でhoge[n]はむしろ内側な気がするんだが
//こんな感じか //ポイント //配列はArrayクラス(型)のオブジェクトである //tjsの多元配列はArrayオブジェクトを要素として持つ配列に過ぎない function recursiveFind(array, value) { for(var i = 0; i < array.count; i++) { //お馴染み配列要素ループ if(array[i] == value) { //配列内要素が検索値と一致する場合 //インデックスを配列に格納して返す return [i]; } if(array[i] instanceof "Array") { //配列内要素が子配列であった場合 //子配列を対象に再帰 var result = recursiveFind(array[i], value); if(result instanceof "Array") return result.insert(0, i); } } return -1; //検索値valueが見つからない場合は-1を返す }
//階層化された辞書配列にも対応するとなると面倒だな function recursiveSearch(object, value) { if(object instanceof "Array") { for(var i = 0; i < object.count; i++) { if(object[i] == value) return [i]; var result = recursiveSearch(object[i], value); if(result instanceof "Array") return result.insert(0, i); } }
//続き if(object instanceof "Dictionary") { //辞書配列を配列に展開する時に //添え字の降順で展開されるのを保障しないと駄目だけどメンドイ var dicarray = [].assign(object); while(dicarray.count > 0) { if(dicarray[1] == value) return [dicarray[0]]; var result = recursiveSearch(dicarray[1], value); if(result instanceof "Array") return result.insert(0, dicarray[0]); dicarray.erase(0); dicarray.erase(1); } } return -1; }
動作チェックしてねー うまく動かないときの修正は自分で何とかしてください 返り値の配列には hoge = [[1,3], [4,9], [5,10], [7,3]] に対して recursiveFind(hoge, 10)の場合は[2,1] recursiveFind(hoge, 3)の場合は[0,1] hoge = [%["a"=>1,"b"=>3], %["c"=>4,"d"=>9], %["e"=>5,"f"=>10]] に対して recursiveSearch(hoge, 10)の場合は[2,"f"]が返るハズ
>ID:NNwR9/3Aさん ありがとうございます、早速試してみたのですが recursiveFindの方は、if(array[i] instanceof "Array") {〜の所が上手く動いていないようで エラーにはならないものの値が帰ってきませんでした。(-1も帰ってこない) recursiveSearchの方は、while(dicarray.count > 0) {の所でエラーが出てしまいました。 自分ではちょっと分からないので、とりあえずこのままにしておきます。 わざわざ済みませんでした。
//はーい、array.insertは値を返さないのが原因でしたね //これでおk //recursiveSearchも手直しするか function recursiveFind(array, value) { for(var i = 0; i < array.count; i++) { //お馴染み配列要素ループ if(array[i] == value) { //配列内要素が検索値と一致する場合 //インデックスを配列に格納して返す return [i]; } if(array[i] instanceof "Array") { //配列内要素が子配列であった場合 //子配列を対象に再帰 var result = recursiveFind(array[i], value); if(result instanceof "Array") { result.insert(0, i); return result; } } } return -1; //検索値valueが見つからない場合は-1を返す }
function recursiveSearch(object, value) { if(object instanceof "Array") { for(var i = 0; i < object.count; i++) { if(object[i] == value) return [i]; var result = recursiveSearch(object[i], value); if(result instanceof "Array") { result.insert(0, i); // return result; //ココが原因でvoidが返ってた } } }
if(object instanceof "Dictionary") { //辞書配列を配列に展開する時に //添え字の降順で展開されるのを保障しないと駄目だけどメンドイ var dicarray = []; // dicarray.assign(object); // Array.assignも値を返さなかった while(dicarray.count > 0) { if(dicarray[1] == value) return [dicarray[0]]; var result = recursiveSearch(dicarray[1], value); if(result instanceof "Array") { result.insert(0, dicarray[0]); // ココが原因でvoidが返ってた return result; } dicarray.erase(0); dicarray.erase(0); //配列の短縮処理が間違ってた } } return -1; }
そろそろうざいから消えろよ^^
半日もレス付いてないんだから黙ってれば良いだけだろ。 自分で蒸し返してどうする。
>>ID:gBJvuiSCさん 新しい記述の方で、思っているような二次元配列からの指定の値の位置を取得できました。 お手間をお掛けしまして本当にありがとうございました。
226 :
名前は開発中のものです。 :2007/09/10(月) 22:58:59 ID:0vTzkYhX
すいません。 KAG上でTJSを使って背景レイヤに画像を読み込む方法が分かりません。 [iscript] kag.fore.base.loadImages("画像ファイル.jpg"); [endscript] というソースを記述したのですが、なぜか動きません。 「メンバ"mode"が見つかりません」というエラーが出るのです。 どなたか分かる方がいらっしゃればご指導ください。
kag.fore.base.loadImages(%[storage:'画像ファイル.jpg']);
228 :
名前は開発中のものです。 :2007/09/11(火) 09:41:44 ID:5Ce72Rks
>>227 ありがとうございます。本当に助かりました。
「%[storage:」という記述は初めて見る記述です。
改めて自分の勉強不足を思い知らされました。
本当にありがとうございました。
xyzzyの吉里吉里モードとかって需要あるん? 自分用にキーワード色分けとかしてみたけど。 こういうのってどこに持ってけばいいのかな。
ここなりWikiなり自分のサイトなり
>>228 TJSリファレンスの「オーバライド」の部分と、AnimationLayer.tjs の function loadImages() と、
これまたTJSリファレンスの「式中辞書配列」の部分をよむべし
>>229 JScript モードでわりとしのいでるけど property をちゃんと処理してくれるならうれしいのでどっかあげとくれ
NoEditer用のなら作ったぜ。適当だが。
>>219-221 の関数使ってみたけど、これvalueの値が文字列('テスト'みたいな)だと値が返ってこないな
状況をもう少しkwsk 16:59:20 コンソール : tf.hoge = [ ["文字列1","文字列2","文字列3"], [3,5,6], ["文字列7",8,"文字列9"]] = (object)(object 0x05156FC4:0x05156FC4) 17:00:00 コンソール : recursiveFind(tf.hoge,"文字列9")[0] = (int)2 17:00:02 コンソール : recursiveFind(tf.hoge,"文字列9")[1] = (int)2 17:02:35 コンソール : tf.hoge = [ %["辞書A"=>"文字列1","辞書B"=>"文字列2","辞書C"=>"文字列3"], [3,5,6], %["辞書G"=>"文字列7","辞書H"=>8,"辞書I"=>"文字列9"]] = (object)(object 0x0516AFC8:0x0516AFC8) 17:04:07 コンソール : recursiveSearch(tf.hoge,"文字列9")[0] = (int)2 17:04:09 コンソール : recursiveSearch(tf.hoge,"文字列9")[1] = (string)"辞書I"
>>235 ごめん俺の勘違いというかミスだったマジごめん
昔ウィンドウズ98でKAG writerでゲームを作っていて、HDDが飛んだ それ以来ショックで作っていなかったが、近頃また作りたくなってきた …と思って探してみると、なんとKAG writerの配布はとっくに終了していたと…orz なんでもバックアップはちゃんととらなイカンね ……今、KAG writerを手に入れる方法はない となると、使い心地の近いソフトが欲しくなる。そんなのってあるのかな?
KKDEの作者さんここ見てたら テキスト表示部分の背景色や文字色を変えられるようにしてくれー 真っ白は目に痛い
240 :
237 :2007/09/12(水) 13:55:01 ID:jrC4Igcl
>>238 おおおおおおおおおおおぉ………( ;ω;)
ありがとう、マジにありがとう。涙が出かけたよ!本当にありがとう!!!
id変わってるが気にしないでくれ、じゃあ早速弄くってくるけぇのノシ
>>239 configフォルダ内にあるKAG3-Mode.xshdを開いて
colorもしくはbgcolorのところの設定値を変更すれば色が変わるよ。
>>242 本当だ、変更できた
でも形式が0xじゃないからやりにくいな、設定で自由に変更できるようになれば
かぐや姫Studioからの乗り換えも考えられるんだけどなあ
>>243 そんなの、tjsつかって簡単なフロントエンド書けばよくね?
セーブデータの削除もうちょっと簡単になってほしい 最早意味が分からないぜ
>>238 横からいただいた! ありがとうっ
実は前スレでかぐや姫から吉里吉里を起動できないという相談をした者なんだが、
あれからやっぱり問題解決しなくて、ストレスためた結果吉里吉里からはなれてたんだよね。
これつかったら起動したわ。
本当にたすかった。
重ね重ねありがとう。
そしてかぐや姫よ、さらば!
>>245 プラグイン無しの吉里吉里はそもそもファイル削除自体が不可能だから
KAG側が残してるしおりファイルへの参照だけを消して
ファイルはあるけど読めない、って状況を作ってるだけなのが現状
ファイル削除が不可能なのは悪意のあるスクリプトを簡単には書けないようにする為の方策なので
まぁ仕方ないと思って慣れるしか無いと思うぞ
File IOすら出来ないっていうのはスクリプト言語として使いづらいがな。 現状LLじゃなくてDSLだから仕方ないか。
上書きできるんだから削除不可の意味ねえ
そういう話じゃないだろ
>>250 >>247 の
ファイル削除が不可能なのは悪意のあるスクリプトを簡単には書けないようにする為の方策
これはないって話じゃ?そもそも shellExecute できるし。
単にニーズが(その時点で)なかったから作られてないだけだと思う。
悪意のあるスクリプト云々は247の妄想だな。
253 :
名前は開発中のものです。 :2007/09/14(金) 20:43:11 ID:W4a2wkW4
ShellExecuteでformat c:\走らせればいい話
ファイル削除よりシェルのコマンド走らせる方がよほど危険な気がする。
実のところ吉里吉里からシェルコマンド実行って可能なのか? System.shellExecute("command","/c ren c:\python25 python") こーいう構文も実行成功は返るけど結果は反映されないし
すまんNT系だとcommandじゃなくてcmdだな どのみちうまくいかないけど
>>256 それ用のプログラム組めば?
なぜ吉里吉里に拘るのかはわからないが
単に \ をエスケープしてないだけだろ
。 。 / / ポーン! ( Д ) 我ながら酷い凡ミスだな
261 :
名前は開発中のものです。 :2007/09/16(日) 12:05:24 ID:RmO/I0qi
for文的なタグを作れないかと思ってまずifやendifがどうなっているのか見ようと思ったんですが MainWindow.tjsのタグハンドラ群には記述されていませんでした これらってなんか特殊なんでしょうか?
>>261 その辺は組み込みタグだよ
リファレンスのKAGParser→getNextTagの項を参照
>>261-263 うわ、ksファイルのフォーマットをお遊びでxmlベースにしてインタプリタ書くときに設計をCPU模倣したら
スクリプト書いてるのにやたらと低レベルな単語・低レベルな処理だらけで
胃に穴が空くかと思ったときの事思い出した・・・orz
フォーマットが違うせいでKAGParserのソース読んだけど使い回せる部分が全然なかったんだよなぁ。
>>258 吉里吉里をけなされたと勘違いして、過剰反応しちゃった君発見!
まだまだ暑いねえ
吉里吉里で出力すると文字コードはutf-16ですよね? これを吉里吉里でutf-8に変換する事ってできませんか?
utf-16→utf-8の変換テーブル書けばいいじゃん
テーブルてアホか。
答えてくれた方ありがとうございます 頑張って自分で書いてみたいと思います ですが吉里吉里でLatin-1コード?に直す方法が分かりません・・・ 参考になるサイトなど無いでしょうか?
質問させてください。 メッセージレイヤーに黒板の画像を当てはめ、それを半透明で表示させましたが、透ける事には透けましたが、かなり白っぽくなってしまいました。 kagの問題か、それともpng画像の問題かもわかりません。 なんらかの合成方法が問題だとは思うのですが……。 よろしくお願いします。
>>272 重ね合わせの方法を変えればいいんでないの?
それか下に白っぽい色がついてるとか?
>>273 下に白はついていないと思います。
重ね合わせの方法というのは絵画ソフトの方でするのですよね?
Paint,NETというのを使い、レイヤーのプロパティで不透明度をいじったのですが、前述のようになりうまくいきませんでした。
予想としては、モードで乗算(これが重ね合わせの方法?)をすればいいのかもしれないのですが、このソフトには機能が無く、またそれをしてうまくいくのかもわかりません。
GIMPも見てみたのですが、こちらは操作方法が複雑で手間取っています。
>>274 >絵画ソフトの方でするのですよね?
いや、吉里吉里側で重ね合わせ方法の指定って出来たような…
今手元にマニュアル無いんではっきりとは言えないけど。
>>274 元の黒板の画像と不透明度をいじったpngの画像をあげてみ
>>275 config.tjs又はpositionタグで枠画像を指定した場合、opacityが使えないそうです。
>opacity no 不透明度 ( 0 〜 255 ) メッセージレイヤの不透明度を 0 〜 255 の数値で指定します(文字の不透明度や、レイヤ自体の不透明度ではありません)。0 で完全に透明です。frame に "" を指定したときに有効です。
とマニュアルにありました。
>>277 opacityじゃなく、乗算とかそういうの調べてみて
>>279 ちゃんと透過はできてるね
うちではちゃんと下の色が透けたよ
そのpngの下にしく画像が真っ白とかいうオチじゃないよね?
>>280 それはないです。
透けるには透けるのですが、白っぽくないですか?
合成の仕方によっては透過が進むにつれ下のレイヤーの画像になっていくはずなのですが、どんどん白っぽくなってしまいます。
画像見るとさ、緑のところだけ透けるようにしたのを作りたいんじゃないの? これだと全部透けてるけど。
config.tjs ;layerType = ltAddAlpha; を ;layerType = ltAlpha; に。
白っぽくなると言ってるがこれは正常な変化だぞ。 お前がmodeとopacityを混同してるだけだ
色が混ざってくすんでいるのを、白っぽくと見てるのかもしれん 枠画像をフォトショで開いたけど、ほぼ透明だなこりゃ 286がやってくれてるけど 枠(木目)を完全不透明にして、緑んとこの不透明度上げてみ
>>282 後々はそうするつもりですが、現段階で躓いていますので。
>>283 どこが変なのか強調するためにPaint,NETでレイヤーのモードを今度は不透明度54まで下げました。
http://www.uploda.org/uporg1023195.png.html これを背景に載せると
http://www.uploda.org/uporg1023212.png.html となります。
不透明度を下げるにつれバックグラウンドレイヤに近づく予定が、どんどん白く明るくなってしまいます。
>>284 ;layerType = ltAddAlpha;
を
;layerType = ltAlpha;
は公式の掲示板のログを漁ってしました。が、その意味まではわかりません。
> modeとopacity
そうなんですか。
opacityみたいなことをしたかったのですが。
>>286 Aのことです。
PNG-24・ItAddAlphaはよくわかりません。調べてみます。
マスク画像というのは、画像_m.pngというファイルでしょうか?
それ以上のことはよくわからないです。
色々試してみたのですが、kagで解決できない内容でしたら、今は私の手に負えないので諦めることにします。
お付き合いありがとうございました。
肝心のシナリオファイルにどう書いてるのか晒せ
ん?合成モードと不透過率の指定はKAGでできたよな。 お前さんが理解してないだけじゃない? 吉里吉里のリファレンス嫁。
Windows付属のペイントとかで画像作って試してみろ。 素材の作成段階で失敗してる気がするぞ。
>>289 シナリオファイルは
[image storage="教室" page="fore" layer="base"]
test[p][er]
だけなので関係はないかと。
config.tjsで関係ありそうなところが
//-------------------------------------------- メッセージレイヤの設定 -----
function MessageLayer_config()
{
// ◆ メッセージレイヤの表示モード
;layerType = ltAddAlpha;
// ◆ メッセージ枠用の画像
;frameGraphic = "messageframe"; // position タグの frame 属性に相当
// ◆ メッセージレイヤの色と不透明度
;frameColor = 0x000000; // position タグの color 属性に相当
;frameOpacity = 0; // position タグの opacity 属性に相当
説明削りましたが上の部分くらいでしょうか。
フレーム枠画像にcolorやopacitiyは効果ないそうですが。
>>290 メッセージ枠画像では合成モードも不透過率の指定もできないみたいです。
>>291 画像ソフトは本当に使い方がよくわからないので、素材の作成段階で失敗している可能性は大いにあると思いますし、私もそれを疑っています。
windows付属のペイントだと透過画像が作れないので意味はないかと。
透過部分を作れないからいいんだよ。 ペイントの画像でも色が変化するようなら吉里吉里側に問題がある 色が変化しなければ素材に問題があると分かる
>>292 画像自体はPNG-24で保存してあるから問題なし。
マスク画像(画像_m.png)は使ってるのか?
使ってるなら白くなる原因だから削除、使ってないなら気にするな。
画像形式がItAlphaになってる。
その状態でメッセージレイヤに透過した画像をframeGraphicに指定すると
それより下の画像が白っぽくなる、直すには二通りある。
1:;layerType = ltAddAlpha; を ;layerType = ltAlpha; に書き換える。
2:画像をItAddAlpha形式に変換する
ItAddAlphaへの変換は吉里吉里2のリファレンスに
付属の画像フォーマットコンバータについて書いてある。
1をやるなら
>>284 に謝罪汁、
>>294 1:;layerType = ltAddAlpha; を ;layerType = ltAlpha;
これを変えたらできました!
>>284 あなたの書いたとおりでした。
ごめんなさい。
取り急ぎ報告しましたが、色々調べてまた書き込みます。
ありがとうございます。
png-24ってことはRGBは全部で16bitだけど吉里吉里は16bitカラーはどのフォーマットを扱えるの? そこら辺の仕様の問題じゃない? png-32でも同じ結果?
288の画像を見るに 明らかに加算合成(AddAlpha)しちゃってるだけなので 今回はPNGの形式は関係なし
お前らいつもリファレンス嫁ばっかでたいしたことない奴ばっか とか思ってたら案外的確で親切なアドバイスもできるんだな
とりあえず294乙 しかしItってなんだ。ltだろw layerTypeって変数名なんだから間違えるなよwww
勢いでitと読んでしもた俺バカス 頭文字最初は小文字以降大文字の法則は一応頭には入ってるんだけどなorz てか自分のネット環境だとlとIの見分けがちと辛いw 吉里吉里使ってるPCで見たらすぐに違いがわかってびっくりさ。
303 :
sage :2007/09/18(火) 15:35:07 ID:ijCFy5mm
流れ無視しての質問失礼します。 今吉里吉里で、経営シミュレーションゲーを作っています。 そして来年からゲーム会社への就職活動を始めるのですが、その時に吉里吉里で作ったゲームを参考作品として持っていくのは流石にまずいでしょうか。 C++でのゲームも作ってはいるんですが、この吉里吉里も使ってみたくてゲーム製作を始めました。 就職では少しでも多く作品を持参しなさいと見たりするんですが、どうなんでしょう。 やっぱりスクリプトでは評価されないんでしょうか。 何か支離滅裂な質問失礼しました。
それはゲ製作板ではなく、就職関係の板で聞くべきだと思う
マ板の人たちが詳しいかもしれない
>>303 マジレスすると、武器としてつかえそうなもんは全部もってけよ
わざわざ自粛する意味がわからん
307 :
名前は開発中のものです。 :2007/09/18(火) 15:54:54 ID:tYT2CZIX
すいません。 KAGのメッセージレイヤの文章を、前景レイヤにコピーすることは できないのでしょうか? KAGのcopylayタグは「同種のレイヤ同士」 という制限が付いてて使えませんでした。 *start| ;メッセージレイヤに何か文字を表示します。 メッセージレイヤに何か文字を表示 [iscript] // メッセージレイヤを前景レイヤにコピーします。 kag.fore.layers[0].assignImages(kag.fore.messages[0]); kag.fore.messages[0].visible = true; [endscript] ;メッセージレイヤをクリアします。 [cm] [r] ;メッセージレイヤに何か文字を表示します。 メッセージレイヤに何か文字を表示 このようなプログラムを書いてみたのですがうまくいきませんでした。 自分の予定では、「メッセージレイヤに何か文字を表示」という文字 が2行表示されるはずでした。 どなたか分かる方がいらっしゃればご指導ください。
>>307 コピーした先のレイヤが表示されてなくね?
kag.fore.messages[0].visible = true;
kag.fore.layers[0].visible = true;
にしてみるとか。今手元に環境無いから試せないけど。
>>303 マジレスすると、おまいさんの志望職種によって変わる。
プランナー系なら持参推奨。
プログラマ系なら微妙だが、思考ルーチンなどに
自信があるなら持って行くのもアリ。自信なしなら
やめたほうがいいかも。
>>307 >>308 に加えて、
コピー先のレイヤの位置やサイズが適当かどうかもチェックしとけ。
あと、メッセージの最新行はメッセージレイヤそのものじゃなくて
その子レイヤであるlineLayerに描画されてるから
assignImageよりはpileCopyのほうがいい気がするけどな。
>>307 Layer.assignImagesは画像をコピーするだけだから文字はコピーできないんじゃね?
前景レイヤは文字を描画するレイヤじゃないからメッセージレイヤに描画されてる文字を調べて
Layer.drawTextで描画するしか無い気がする
・・・と思ったが文字もコピーされるのか?
312 :
名前は開発中のものです。 :2007/09/18(火) 16:45:44 ID:tYT2CZIX
>>308 すいません。
;メッセージレイヤに何か文字を表示します。
メッセージレイヤに何か文字を表示
[iscript]
// メッセージレイヤを前景レイヤにコピーします。
kag.fore.layers[0].assignImages(kag.fore.messages[0]);
kag.fore.message[0].visible = true;
kag.fore.layer[0].visible = true;
[endscript]
;メッセージレイヤをクリアします。
[cm][r]
;メッセージレイヤに何か文字を表示します。
メッセージレイヤに何か文字を表示
こういうふうに書き直してみたのですが、
「(void)からObjectへ型を変換できません。Object型が要求される文
脈でObject型以外の値が渡されるとこのエラーが発生します」
というエラーがでました。
Object型にはキャストできないはずなので、何か他の方法を考えたほ
うが良いのでしょうか。
>kag.fore.layer[0].visible = true;
layer『s』[0]な。sが抜けてる。
>>311 俺もそう思ってたが、さっきやってみたらちゃんとコピーされてた。
>kag.fore.message[0].visible = true; ここも抜けてるわ。message『s』[0]な。
316 :
名前は開発中のものです。 :2007/09/18(火) 17:04:08 ID:tYT2CZIX
すいません。 ご指摘いただいた部分を訂正したのですが、1行目の文字が表示され たあとすぐに消えてしまいます。 もちろん13行目に[cm]タグを記述しているからなのですが、自分の 思惑としては、[cm]タグはメッセージレイヤの文字だけをクリアする ためもので、前景レイヤにコピーしたつもりの一行目の文字には消え てほしくないのです。 一行目の文字を消さない方法はないでしょうか?
お前
>>310 の後半読んだ?
ていうか、結局どういう挙動させたいわけよ。
1行目の文字消させたくないだけなら[cm]書かなきゃいいだろが。
理解できないなら無理して変なことすんな。
kag.fore.layers[0].assignImages(kag.fore.messages[0]); の後に kag.fore.layers[0].independMainImage(); 入れればいいかもしれない?
>>316 よく考えたら、assignImages は元レイヤを参照するだけだから、
元レイヤをクリアしたら、そりゃコピー先も消えるわな。
素直に copyrect でコピーしちゃえば?
いや、まずコピーできてないんだと思うよ。 俺が試したとこだと、cmしても メッセージレイヤをassignImageした前景は維持されてる。
つーかメッセージレイヤ一枚用意してそれにcopylayタグでコピーした方が 何したいのか分からんが
with(kag.fore){ .messages[0].visible = true; .layers[0].visible = true; // きれいに2行表示させるために // メッセージレイヤと同じ位置とサイズにする .layers[0].left = .messages[0].left; .layers[0].top = .messages[0].top; .layers[0].width = .messages[0].width; .layers[0].height = .messages[0].height; .layers[0].piledCopy(0, 0, .messages[0], 0, 0, .layers[0].width, .layers[0].height); } 321も言ってるが、もう一枚メッセージレイヤを用意するだけでよくね? なんで前景レイヤにこだわるのかしらんが、こんな感じか? 1行目が暗くなるのは、メッセージレイヤが重なってるから
323 :
名前は開発中のものです。 :2007/09/18(火) 17:41:32 ID:tYT2CZIX
>>317 申し訳ないです。
ドラクエのような戦闘シーンの付いたノベルを作りたくて、「たたか
う、じゅもん」などのコマンドウインドウをKAGのハイパーリンク機
能で実現しようとしました。それと、戦闘シーン中はこれまで表示して
いたノベルテキストを消去するのではなく、半透明っぽく残したかった
んです。(テキスト履歴モード中に、背景が薄暗く表示されたままにな
っているようにです。)
最初はメッセージレイヤを、ノベルテキスト用とコマンド用の2つを用
意して、重ね合わせて表示できると勝手に思っていたのですが、メッセ
ージレイヤ同士を重ねて表示することはできませんでした。
そこで、次に思いついたのが、メッセージレイヤの文字を前景レイヤに
コピーする、という方法でした。
だけど、うまくいかなかったのでこの掲示板に質問した、といういきさ
つです。
> メッセージレイヤ同士を重ねて表示することはできませんでした。 なんでだよ。普通にできるが
ひょっとして、これでいいのか? @position layer=message0 opacity=100 page=fore left=0 top=0 width=640 height=480 marginl=30 marginr=30 margint=30 marginb=30 visible=true @current layer=message0 page=fore ノベルモードでメッセージ表示中。[p] @position layer=message1 opacity=100 page=fore left=0 top=0 width=640 height=480 marginl=30 marginr=30 margint=240 marginb=30 visible=true @current layer=message1 page=fore バトルがはじまった。[p] [er] [link target="*tatakau"]たたかう[endlink][r] [link target="*jumon"]じゅもん[endlink] [s]
326 :
名前は開発中のものです。 :2007/09/18(火) 18:22:47 ID:tYT2CZIX
>>325 そうですそうです! これでいいです、完璧です!!
いやー、すごいです。
文字の上にハイパーリンクを表示したかったんです。
メッセージレイヤ1のmargintを、0と同じ30に書き換えて実行してみ
ても完璧に動作しました。
実力不足は十分承知の上ですが、どうしても実現したかった仕様です。
本当にありがとうございました。
まずはリファレンス。そしてどっかの講座サイトあたりを そこそこ読んでおけば簡単に解決できる問題じゃないか なんだ今回のこの回り道は
自分の常識だけで、解決方法、構築方法を決めつけてはいけない という、いい例だな 初心者は、まずド素人を卒業する為に、 吉里吉里2/KAG3で、何が簡単に出来て何が面倒くさくて難しいか リファレンスを読んで、理解するようにし、 講座とかを見て自分の理解を深めましょうってこった
329 :
名前は開発中のものです。 :2007/09/18(火) 19:17:54 ID:tYT2CZIX
>>327 申し訳ないです。
秀和システムのKAGの参考書で、適時勉強しながらやっていたのです
が、全くインプットしきれてなかったようです。
>>322 の記述も完璧に
動作しました。
お手数をおかけしました。
演出者のやりたいことに応えられる
>>325 の力がほしいです
>>303 です。
またしても流れ無視の発言失礼します。
先ほどは板違いの質問だったようなのに返答くれてありがとうございます。
一度就職関係等のほうにも行ってみます。
お返事は参考になりました!
思考ルーチン…もうちょっと気の利いたもの作れたら持参ってことにしようかな。
ありがとうございました!
吉里吉里とKAGはよく実装が変わるのでソース読んだ方が早い。 ・・・が、C++のソースって汚いよね。 あんまり意味のないヘッダといい、マクロといい、無理やりな互換性といい。
>>332 日本語でおk
KAGの実装ってこの1〜2年みるかぎり、fix 以上の変更はないよーな
吉里吉里本体は、最近画面まわり変更がけっこう大きいのはいってるけどコアは枯れてるよね。
>>333 2.29から画面まわりとイベント処理まわりがごっそり変わってるので、
安定するまで2.28を使っていた方が無難。
>>333 変更点の話してんのになんで枯れてるのが分かりきってるコアを持ち出して日本語で(ryとか言ってんの?
うえの流れはレイヤ周りの話なんだから描画がらみのコードに決まってるだろ。
以下
>>334 へループ
話題が複数でるとついていけない人ですか?
ケツ
とりあえず、
>>332 は誰、もしくはどのあたりに対するレスなのかだけ教えてくれ
>>341 328の発言に対してリファレンスよりソースの方がいい
と言いたいのかもしれんが、相手が初心者であることを
考えると適切なアドバイスにはなってない
でもって、C++の話は328が吉里吉里のソースはC++なんで
読みにくいじゃねーかこのヤロウと言いたいだけじゃね?
もとい、やっぱり何言いたいのかわからん
343 :
342 :2007/09/20(木) 00:04:54 ID:QnFzN5hv
ごめ >でもって、C++の話は328が これは332だった
344 :
名前は開発中のものです。 :2007/09/22(土) 10:36:09 ID:XB42+Pno
>>344 むしろなんで問題になると思ったか聞きたい。ライセンス文章読んだ?
デバッグ用に吉里吉里を起動・プレイする時に 毎回手動でデバッグ>コントローラを立ち上げるのが面倒くさいんですが 吉里吉里と一緒に自動でコントローラも出せるようにはできませんでしょうか
>>346 @iscript
Debug.console.visible = true;
@endscritp
>>347 ありがとうございます、Debugクラスがありました
>>347 別に悪く言うつもりは無いんだが、
スクリトプワロスw
つうか、吉里吉里使ってる同人サークルで
「スプリクト」
って言ってるのが非常にモニョる今日この頃。
Padクラスのテキストエディタの閉じるボタンが押された時にスクリプトを動作さるにはどうしたらいいのでしょうか? 具体的には他に開いているウィンドウも同時に閉じて吉里吉里を終了させたいのですが。
>>350 タイマまわして該当pad の visible を監視して表示が消えたら kag に終了送信とか。
>>351 やはりそれしかないでしょうか。
それでやりたいと思います。ありがとうございました。
>>350 確かめずに言ってみるけどファイナライザを
利用したらなんとかならないだろうか?
>>353 visible = flaseとなるだけでオブジェクトが
消去される訳ではないので無理だと思います。
>>354 なるほどねー
吉里吉里を弄ってonInvisibleあたりのイベントを
発生させるか、やはりタイマで監視か
>>344 それはソース公開してない方が悪い。
吉里吉里はソース公開してる。
だからといって吉里吉里にライセンス違反がないとは言い切れないのでライセンス問題は調べてみないと分からない。
特許問題もあるし。
//これじゃアカンのかね? //TerminalPad.visible に値が導入されるならおk //閉じるボタン押したときに Pad.visible に値が代入されならアウトだけど class TerminalPad { function TerminalPad() { super.Pad() } property visible { setter(value) { super.visible = value; if(!value) System.exit(); } getter() { return super.visible; } } }
スーパークラス指定してなかたりいろいろ間違ってるな とりあえず駄目だった (´・ω・`)
うんこして寝ろ
オレもそこらへん試してみた class MyPad extends Pad{ function MyPad(){ super.Pad(...); } property __visible{ setter(x){ super.visible = x; } getter(){ return super.visible; } } property visible{ setter(x){ // ☆ __visible = x; } getter(){ // ☆ return __visible; } } } 星印あたりに何か付加的なコードを挿入する方針 結論から言うと、閉じるボタンはプロパティを経由せずに 直接不可視にしているっぽくて無理でした
new Layerで作ったLayerを、指定の座標に動かす(moveさせる)には どうすればいいんでしょうか? var hoge = new Layer(kag, kag.fore.base) 等して作ったレイヤーを @move layer=hoge pass... とするだけでは動きませんでした
>>361 moveはKAGLayerからの実装だもんで、やりたいなら
KAGLayer.tjs内のbeginMpveメソッドを参考にしろ
もしくはKAGLayerからnewするか
>>361 補足
layer属性の値は、TJSでの変数名ではなく
リファに載ってる形式しか受け付けない
なんで、moveさせるにはTJSスクリプトとして実行せないかん
特にレイヤ周りだと、Layerクラスからインスタンスを作ると
KAGっぽい機能は未実装の状態のものが多い
それが面倒なら素直に前景レイヤ作るのが楽
364 :
361 :2007/09/24(月) 00:50:18 ID:FARFNRm7
ありがとうございます 色々試してみたいと思います
自分の用意した krkr.exe 以外ではゲームが動かないようにしたい (他の krkr.exe で起動しようとしても弾いて起動しない)のですが、何かオススメの手は無いでしょうか? 強度的にはこのスレ読んでたら動かせるけど、 普通に公式サイトから krkr.exe を落としてきただけでは動かない位で大丈夫なのですが
目論んでる事が理解できないんですが、 起動exeが他のもので起動できないようにするのは何故ですか? 解析されたくないだけでしたら、他のソフトを使うのをオススメしますが。
>>366 の3行目の前半にずばり答えが書いてあります
そしてやりたい事は解析されたくないだけではありません
まず第一に吉里吉里でゲームを作りたいです
その上での事です
hoge.eXeとdata.xp3ていう構成でゲームを作って、 そのdata.xp3はhoge.eXe以外のkrkr.eXeとかでは動かないようにしたい、 っていうことだよね? 技術的な話題としては興味あるけど、 目的である「解析されたくない」は達成できないと思うよ。 data.xp3を展開されたら一発だから。
>>367 .xp3じゃなくて.exeで出力してしまえばいいジャマイカ
>>368 意図は前3行のとおりです。
分かりやすい説明ありがとうございます。
そして最後の行については「XP3暗号化プラグイン」で良いと思ってます。
とりあえず自分が解析できないレベルなら問題ないと思っているので
(これで暗号化したものは私は解析できないですし)
ただ
>>368 の前3行の部分は自分で動かす事が出来てしまうので、
これを何とかしたいなと思いました。
>>366 >>369 の言ってる通り、exe(ほぼ)単体としてデータ内蔵して出力ができます。
それを解析阻止するようexeを改造するソフトを使用すれば目的の事が達成できると思います。
・・・
>>371 の発言は無視してください。
目的が違いましたね。
KAGとKAGEXの違いまとめたページってない?
>>369 >>371 そうなんですか
exeで出力できるのは知っていましたが、exeを改造するソフトってのがあるのは初耳でした。
ちょっとググッたり、実際にexe化して試してみます。
どうもありがとうございます。
exeが一種の暗号キーにするって事なのかな・・・ ・・・他のexeで起動させたくないって所がやっぱり理解し難い・・・
>>372 あ、
>>370 の発言で誤解されたかも知れませんが、
必ずしも xp3 + exe にこだわっているわけではありません。
要は動けば良いので exe 単体でも大丈夫です。
>>375 自分の起動ファイルならコンソールが起動しないなどの改造が施してあるのに対し、
デフォルトの exe ではコンソールが起動するなどの動作をするからです。
他のexe持ってきてデバッグ→ログ見られるのが嫌 とかは分かる
XP3暗号化プラグインを使っても、復号できるツールが出回っているので意味がないかと。 XP3復号部分をkrkr.exeの中に組み込めば(ソースコードが公開されているので、改造してC++Builder6でビルドし直し)、希望した事ができるかと。 そうすれば、公式のkrkr.exeでは復号できないし、復号ツールでも抽出不可(正確にはファイルは抽出できるが、中身が間違った復号がされる)となる。 問題は、吉里吉里をビルドできるようにするまでの環境作りと、XP3暗号化dllと復号プログラムの吉里吉里への実装かな。 環境作りが一番やっかい。
ところでさ、 絵とか音楽を単体で抜かれたくないってのはわかるんだけど、 コンソールログを見られたくないってのは何故なんだぜ?
俺クリアするの面倒な時にコンソール弄りながらやるから見れなくなるとちょっと困るw
>>380 コンソールが使えると、テキストファイルは全てほぼ全自動で抜き出せる
っていうかおまいら、まじで
>>373 知らないか?ぐぐっても出てこないし、公式やごう氏んとことかwikiとか見ても出てこない
というかBCBなら吉里吉里のコンパイル通るのかBCCの俺涙目w
>>380 tjsが分かれば、テキスト抽出、画像抽出なんでもできるからな。タグを乗っ取ればいいわけで。
フラグを手動で変えながらゲームされるのも、作る側としてはいやなんだろう。
まぁほとんどの場合、スパゲティーなソース(スクリプト)を見られて、ぷげらw 言われたく無いってところか。
そういうことする人が粘着質で気持ち悪いこと以外は特に問題ないんじゃ?
二十年以上前からスパゲティーなソース・プログラムっていうけど どういうのを指すのだろう? 昔のBASICならコロンで繋いで一行がやたら長いとかなんかなと思ってたけど 今はそういう書き方じゃないわけで。 すまん。スレ違いだな。
端的に言うとgoto使いまくりのコードの事 後はswitchが頻出したり関数の引数がやたら多かったりとか 読みにくいコードの条件がそろってるとスパゲティだな 暗号化と解析は延々イタチごっこだから お金の絡む問題以外で暗号化に血道あげるくらいなら それ以外の部分の改良に地から入れたほうが良いぞ
388 :
名前は開発中のものです。 :2007/09/27(木) 11:05:25 ID:/Db/d/5K
>>382 ハッシュチェックすればいいんじゃね?
まあ現状で公開されてる暗号化プラグインでもtjsの記述実行できるから
あまり意味が無い気がするが
まずはついバラしたくなるような良作を作ってくれ、話はそれからだ 商用ならまた話は別なんだろうが、同人レベルなら そんなことに時間をかけないで、他の事をやってくれ
グラフィカルなバー、といいますか RPGのステータス画面などでよく見る、値をバーで表したもの (キャラの残り体力とかが、左に行くほど赤く、右に行くほど青くなってたりするもの) あれを吉里吉里で表示したいのですが、例えば0〜100の値をバーで表示するとして バーの伸長は、どのようにすればいいのでしょうか? 確かこういうスクリプトだったかプラグインだったかがあったような気がするんですが、見つけられませんでした
アニメーションを使う
>>390 100の時のバーの画像を用意して、pimageタグで描画すればいい。
バーの長さはパラメータの値と画像の長さの割合を計算して表示。
>確かこういうスクリプトだったかプラグインだったかがあったような気がするんですが、 確かSPにあったような… 違ったらゴメソ
画像を100個用意する
「棒グラフに関連づけた変数」のプラグインサンプル ってやつじゃないの?
>>394 質問スレで真面目に応えず茶化すなら出てくるなよ・・・
そんなことに時間をかけないで、他の事をやってくれ
頂いた情報を元に試行錯誤してみます。 私が探していたプラグインは多分SPにあるものだと思います。 ありがとうございました。
>>396 真面目な話、一旦素材さえできちゃえばKAG使える人なら
だいたいの人が実装できるし、その分バグもでにくくなるんで
変にTJSで実装しようとするよりかオススメだったりする
399 :
398 :2007/09/27(木) 17:32:01 ID:K3+5Uu5B
少なくとも1つの手段ということで
下手な背伸びはせず、まずは実装できるやり方でってのはありだと思う。 けど、棒グラフならKAGのみで出来るからなー。
吉里吉里でスクロールバーの幅を取得する事って出来ますか?
長ったらしくなっても本人が理解できるレベルのスクリプトを書く方がいいんだけど 一部の人間はそれをおもいきり馬鹿にするからねぇ
>>403 吉里吉里のウィンドウのスクロールバーです
>>404 やろうと思ったことがないからわかんないけど、
リファレンスをざっと見たところでは、取得できないんじゃない?
やりたいことにもよるんだろうが、
ウィンドウの幅と表示内容の幅から計算した方がいいような気がする。
>>405 やりたい事というのは垂直方向のスクロールバーだけを表示して
水平方向を非表示にしたいだけなのですが、何か方法はないでしょうか?
公式掲示板でそんな質問があった気がする
レイヤサイズがウィンドウサイズよりでかいと勝手に出てくるスクロールバーの事か。 あれはWinAPIかMFCに任せてるんじゃない?
素のスクロールバーじゃなくて 吉里吉里で実装されたスクロールバーを使えばいい ExHistoryLayer.tjsに縦横両方向のスクロールバーが確か実装される
それが出来ないからわざわざこんな具体的な質問になってるんじゃないか? リファレンス見てると吉里吉里はレイヤーをサブクラス化してウィジェットを実装する思想みたいだし。 それはそれでレイヤーのグループとビューポートを管理する重量なクラスを実装して欲しかったが・・・。
412 :
406 :2007/09/28(金) 17:31:13 ID:oGdoigCs
答えてくれた方ありがとうございます
>>410 を参考に自分で作ってみたいと思います
スキップ時、「選択肢後も継続してスキップする/しない」 というのをボタンで切り替えできるようにするにはどうしたらいいでしょうか? どなたかご指導お願いします
「選択肢後も継続してスキップする/しない」変数を用意 選択肢ジャンプ後のシナリオ冒頭で、変数がonになってたらスキップ処理 これでいいんじゃね?
>>414 d!やっぱりそれしかないかなぁ
TJSで設定の引継ぎとかしたかったんだけど・・・
>>415 ・backlayのし忘れ
・裏レイヤがマージン0隙間0になってる
あたりじゃねーの?
>>416 プロの人はどうやってるのかしらんけど、書いてみた
[iscript]
kag.org_s = kag.tagHandlers.s;
kag.tagHandlers.s = function(elm){
flags.__latestSkipMode = [] if flags.__latestSkipMode === void;
flags.__latestSkipMode.add(skipMode);
return org_s(elm);
} incontextof kag;
kag.org_process = kag.process;
kag.process = function(file, label, countpage = true, immediate = false){
skipMode = flags.__latestSkipMode[0] if flags.__latestSkipMode !== void;
flags.__latestSkipMode = void;
return org_process(file, label, countpage, immediate);
} incontextof kag;
[endscript]
適当なサンプルで確認しただけなんでどこで弊害でるかしらん
内部でハンドラのsタグを呼んでるとことかちょこちょこあったしな
>>418 おお、ありがとう!凄いなぁ
自分の脳では理解不能だけど、リファレンス読みながら理解していこうと思います
本当にありがとう
>>415 やり方がまちがっているからだよ
せつめいしょをおよみ
>>419 TJSでKAGのWindowとLayer周りいじれば簡単にできるよ。(作業量は多いけど)
いわゆる1080p(1920*1080)と480p(720*480)表示する機能なら実装してる。
当然モニタ側が対応してなければフルスクリーンにはできない。
HD/SD modeと呼んでるがPC用モニタじゃ一般的じゃないので無効化してる。
1920*1080に合わせてスプライトさせると流石にメモリ食うよ。
HD mode時には吉里吉里のメニューバーじゃなくて独自に実装したメニューウィジェットが左右に二つ展開できて
両方出すとちょうどゲーム画面が4:3残るようになる。
キーボードとゲームパッドのキーマップするクラスを作ってゲームパッドだと丁度、XBox360コントローラのR/Lボタンにメニュー展開が来るようマップしてる。
一言で言うと箱○のシステムパクったw
ただ、描画全般にハードウェア支援が欲しいと思った。
>>424 知ってるが話題にする程のものじゃないと思うけど・・・。
1時間程度のフリゲ作成ならYuuki!Novelが楽ってなら分からんでもないが小物をわざわざコンバータ用意してまで吉里吉里に変換する意味がない。
というか吉里吉里が分からなくてYuuki!Novelへなら居ると思うが、その逆って需要あるのかね?
要は吉里吉里向けのIDEかRADが欲しいって事?
なんにしても吉里吉里/KAG用のIDEがあったら便利そうだな。 使うかどうかはわからないけど。
かぐや姫がそうじゃないの?>IDE
>>423 最新の開発版系なら、変則サイズでもフルスクリーンにできるよ。
近い解像度にしたうえでD3D とかつかって拡大縮小表示してくれる。
24インチ WUXGAに最適化されたものを17インチXGAとかにダウンコンバートしてもつまらんw dot by dotじゃないと画質落ちるじゃん。
そこはほら、ユーザの購入意欲を促すってことで(笑)
ジョイスティックでPS2のコントローラー接続してやってるけど クリッカブルマップでアイコンの動きがのろのろになるのは仕様なんですかね?
>>431 機能的には特に問題はないと思うが、KAG だと作業的に無理がある。
たぶんスクリプタが泣く。
>>431 最後までやってないが、
拡縮、回転、ラスタスクロールのプラグインを準備すれば可能。
吉里吉里でも十分表現可能。
スクリプタの演出次第。
01+1, 023+1 などは出来るのですが 08+1, 019+1 など0が最初で8,9が入ると数字だと計算出来ないのは何故でしょうか?
8進数として扱われるから
>>436 どうもです
0がつくと8進数になるんでしたね・・・すみません。
>>432 単にコンバータの反応が屑なんだろ。
別にAVGなら死にはしないから気にするな。ACTなら死活問題だが・・・。
>>378 亀な上、未検証だがSHIFT+F4に別のホットキーを割り当てるとか?
>>438 安物コンバータですからねぇ、十字キーでキャラを動かすとかは出来ないんですね、
クロスソード風のゲームが作ってみたかった。
SPにある「棒グラフに関連づけた変数」のスクリプトを使ってみたのですが テキストにある @setgraph layer=message1 name=energy left=70 top=15 width=200 height=10 min=10 max=100 を記述して動かそうとすると、エラーを吐いてしまいます。 ログを見ると、 function finalize(){ *f[name] = f[name]; // 単なる変数にする } ここでこけているようなのですが、これはどうしたものなのでしょうか?
KAG終了時にコケた?
>>441 吉里吉里の仕様が変わったのかわからんが、そのままでは動かないようだ。
(サンプルが2004年だしな)
rijasgraph.tjsの
23行目
&f[name] = f[name]; // 単なる変数にする
28行目
if(elm.name != "") &f[this.name = elm.name] = &graphedVariant; /*
と変更すると吉里吉里2.28r2では動いた。
ああ、プロパティへのシンボルのアクセスが変更になったね。そういえば。
>>443 ありがとうございます、正常に動作しました。
バックログで、前に読んだ時に再生したキャラクターボイスを再生させる・・・というのはどうすればいいのでしょうか? それとも出来ない?
>>447 >>448 すみません!
リファレンス全部読んでいませんでした・・・本当にご迷惑おかけしました!
わざわざ有難う御座いました
バックログに表示したくない文字がある場合、どうしたらいいでしょうか? ああああああ いいいいいい うううううう ええええええ おおおおおお の「え」の行だけバックログで表示しないには、という感じなのですが。
historyタグ
今吉里で単純なゲームの戦闘シーン作ろうとしてるんだけど、 ノベル以外には吉里kagってやっぱり不向き? 無理して吉里に拘らずに、他のツールを併用してみようか悩んでるんだが。
どんなの作ろうとしてるのか分からんがお前が考え付くくらいの事は吉里吉里で全部出来ると思うぞ
アクション性の高いものは普通の言語+適当なミドルウェアの方が楽だけど、多分
>>453 ってオチ?
ツールとか言ってるから言語は使えないんだろ。
使える言語があるなら自分で判断できるはず。
単純なゲームの戦闘シーンと言われても ドラクエみたいなRPG系とかアクションとか色々あるがな
普通のRPGくらいならできるんじゃ、 ステータスの数値を変数に突っ込んで、戦闘はダメージ計算式で。 「ダメージ平均値=(自分の攻撃力÷2) - (敵の守備力÷4)」、とか。
[eval exp="f.x=0"] [eval exp="f.y=0"] [eval exp="f.x = f.x + 54"] [eval exp="f.y = f.y + 36"] [locate x="f.x" y="f.y"] [button layer=message1 graphic="battleselectbutton.png" storage="first.ks" target=*f001 recthit=false"] --------------------------------------------------------------------- さっきから調べてるんだけど、、locateって座標を変数に出来ないのかな? 調べたんだけど誰も触れてない。稚拙な質問でスマン。
>>457 [locate x="&f.x" y="&f.y"]
の間違いじゃないか?
>>458 超感謝。シミュレーションゲームを作る第一歩が踏み出せたよ・゚・(ノД`)
>>456 むしろ2Dのオフラインゲームで吉里吉里で作れないものって何かあるか?
弾幕シューティング
クォータービューの計算と描画は吉里吉里にはきついだろうね。動かないなら支障はないだろうけど。
格ゲー
ファイヤーエムブレムとかファミコンウォーズとか、ああいうオーソドックスなタイプのSLGの 移動範囲の算出ってどうやってるんだろう? ユニットの移動力と地形ごとのコストの計算を、ユニットを起点として隣接マスを全部計算していくのかな
>>465 弾幕ゲーは,弾丸オブジェクトと敵のタスク管理が多いから,それで実用にならないくらい遅くなってしまうんじゃね?
で,格ゲーは入力処理まわりの話じゃね?
レス主じゃないので憶測だが・・・。
tjsを使えばたいていのことは可能なのかもしれないけど、 kagだけだとどのくらいのことまでできるんですか?
>>464 いや、アルゴリズムはいろいろあるし、どう実装するかも問題なんだが。
>>466 確かに格ゲーで入力こぼされるとブチ切れるなw
>464 全マス計算は非常に非効率なので、 必要な分だけ計算する経路探索アルゴリズムを使うことになります。 おおざっぱには、現在地から目的地になるべく近づくような順番でマスを調べていって、 繋がった時点で以後の計算を打ち切って経路を確定させる、みたいな。 実際はそう単純でもありませんが。 経路探索の代表的な方法としては、A*探索アルゴリズムというのがあります。 ゲーム向けAIの書籍にはたいてい載っているはずなので、そちらを参照してみてください。 吉里吉里むけの話しになると、tjsを使うのがは大前提となるでしょう。kagで作る理由がありません。 経路計算はとにかく計算回数が多くなるので、そのあたりが遅いと惨い重ゲーになる恐れがあります。 結局、試行錯誤のうえ最適化と許容範囲のマップサイズを見いだす必要があるでしょう。 経路探索についての詳細は、アルゴリズムか思考ルーチンのスレにでも聞いてください。
>>468-469 なるほど、ありがとう
移動可能範囲が色つきで表示されたりするSLGが大半だけど
あれを吉里吉里でやろうと思うと、相当面倒な実装になりそうだなあ
大丈夫だHSPでも読めはしないが動くコードが書けるからTJSならアルゴリズムさえ思いつけば 移動範囲の算出と射程内の策敵くらいは楽に書ける。 ここらへんはOOPの強みだ。 ただ吉里吉里ってループ遅いのとループ回数が多いと落ちたりするんだよね。
ほう、どういうコードを書くとおちるのかね
>>471-472 ループが遅いのと、ループ内である一定以上の処理をさせると極端に遅くなるのは分かっているが、
落ちるのは初めて聞いた。落ちるコードを是非見てみたい。
循環参照でリークしまくるコードとか
移動範囲を探すコードは書いたことあるがそんなに重くならなかったな ゲーム自体は完成しなかったが
連投ゴメソ。ちなみに今は落とせないみたいだが、 当時やった感じだとそう重くもなかった。
>>470 ターン制SLGで扱うA*なら
http://gamdev.org/w/?AStarAlgorithmTutorial ので十分だろう。
移動可能範囲を求めるなら、
ユニットの移動力をxとおいてxとgを比較。
g>xならnode_successorを破棄。
x>gかつclose_list内にnode_successorが存在すれば、gが大きい方を破棄。
x>gかつclose_list内にnode_successorが存在すれば、close_listに追加。
ループ終了後close_list内にあるものが移動可能範囲。
各ノードから親ノードを辿っていけば最短ルート。
吉里吉里でやってもターン制なら速度的には十分。
ちなみにコードに直してもせいぜい100行程度だから
この程度を面倒とか言ってたらSLGなんて作れないと思う
ところで
>>475 のソースって公開されたのか?
是非見てみたいんだが
>>478 興味あるからちょっと見てみたけど
理論がよくわからねえ・・・w
482 :
名前は開発中のものです。 :2007/10/09(火) 19:11:20 ID:gODGJQKC
こんにちは。 ハイパーリンクの選択肢として表示される文字を、 変数から参照することってできないんですか? [eval exp = "f.ヒロインA名前"] [eval exp = "f.ヒロインB名前"] 誰をデートに誘いますか?[r] [link target = *ラベル0000] f.ヒロインA名前 [endlink][r] [link target = *ラベル0001] f.ヒロインB名前 [endlink][r] 「f.ヒロイン名前」という変数に、 プレイヤーがつけたヒロインの名前が入ります。
[eval exp = "f.ヒロインA名前 = '花子'"] [eval exp = "f.ヒロインB名前 = '花江'"] 誰をデートに誘いますか?[r] [link target = *ラベル0000] [emb exp="f.ヒロインA名前"] [endlink][r] [link target = *ラベル0001] [emb exp="f.ヒロインB名前"] [endlink][r] [s]
484 :
名前は開発中のものです。 :2007/10/09(火) 19:21:25 ID:gODGJQKC
>>483 最速でありがとうございます。
上級者の方に訊くと、一瞬で解決ですね。
ありがとうございました。
作り方がまったくわからないんですけど…どうすればいいんでしょうか?
聞きたい事が全く分からない
>>485 分からないまま諦めるか、分かろうと努力するか、それを決めろ。
話はそれからだ
マニュアルからコピペすれば、俺でもエロゲ作れたから、 サウンドノベルとアドベンチャ−くらいは作れるんでね?
>>485 とりあえず吉里吉里の解説本かって、みながら打ち込んでみるのがいいかと。
基本攻撃力に1〜3を乱数で足したり、 攻撃の命中判定を(%)パーセンテージで計算するのは可能ですか?
intrandom でリファレンスを調べろ
発見しました、どうもです。
Array1.assign(Array2) と Array1 = Array2 って何か違うの? 一緒?
>>494 違う。
前者はArray1という配列にArray2の内容がコピーされる。
後者はArray1がArray2の参照になる。
あら、assignStructでないとassignでも参照になると思いこんでた ありがとう
495も496も落ち着け 代入は参照を増やすだけ アサインがコピーだ
498 :
名前は開発中のものです。 :2007/10/10(水) 14:27:33 ID:3PR3ZZts
こんにちわ。 TJSで二次元配列を定義する方法を教えてください。 [iscript] var 二次元配列 = new Array(); 二次元配列[0][0] = "ときつかぜ"; // 主人公1名前 二次元配列[0][1] = "捜査中"; // 主人公1状態 二次元配列[0][0] = "あさしょうりゅう"; // 主人公2名前 二次元配列[1][1] = "仮病"; // 主人公2状態 [endscript] [emb exp = "二次元配列[0][0]"] [emb exp = "二次元配列[0][1]"] [emb exp = "二次元配列[1][0]"] [emb exp = "二次元配列[1][1]"]
>>497 俺、何か変なこと書いたかな?
>>498 var 二次元配列 = new Array();
var i;
for (i=0; i<2; i++) {
二次元配列[i] = new Array();
}
// 後は適当に
var 二次元配列 = [[],[]];
501 :
名前は開発中のものです。 :2007/10/10(水) 16:35:08 ID:3PR3ZZts
>>499 >>500 ありがとうございます。
自分でいろいろ試してみて、
二次元配列[0] = [];
二次元配列[1] = [];
という方法は思い付いたのですが、499 と 500 の記述のほうが
見た目が綺麗です。
ありがとうございました。
503 :
名前は開発中のものです。 :2007/10/11(木) 01:07:36 ID:Zj0kEXQ4
吉里吉里はじめました どこでもセーブプラグイン導入してみたのですが 通過したラベル以前にBGMのタグがあるので ロードするとBGMタグを読み込んでくれなくて困ってます これはラベルの後に毎回bgmタグと挿入するしかない?
>>497 assignStructは配列か連想配列があるとディープコピー。
assignはシャローコピー。
代入は参照。
>>503 どこでもセーブプラグインは使ったことないが、BGMはそのラベル時点で鳴っているものを
自動的に保持してくれるぞ。
何か前提がおかしいんじゃないか。
システムボタンにスキップつけたいけど、
>>4 のTJSに挑戦!講座が丁度いい所で終わってるなぁ。
>>506 exp="kag.skipToNextStopMenuItem.click()"
こんなん?
どうもです、 ンサンプルプラグインのシステムボタン改竄しながら頑張ってみます。
>>424 優希よりNScrを吉里吉里に変換するのがあればなぁ…
>>510 NS使える奴ならKAGはすぐ覚えられるんじゃないか?
俺は最近NSのリファレンスもかじってみたけど
難易度にそう差はなさそうだ。
つか、プレイアビリティに難のあるyuukiならわかるが
NSならわざわざ吉里吉里に直すことないんじゃね?
512 :
名前は開発中のものです。 :2007/10/12(金) 02:11:20 ID:sSrfq6Mi
こんばんはー。 多次元の配列から、 それぞれの次元の要素数を取得することはできないですか? [iscript] var 二次元配列 = [[], []]; 二次元配列[0][0] = "101号室"; 二次元配列[0][1] = "102号室"; 二次元配列[0][2] = "103号室"; 二次元配列[1][0] = "201号室"; 二次元配列[1][1] = "202号室"; [endscript] 1階の部屋数は[emb exp = "二次元配列[0].count[0]"]部屋です。[r] 2階の部屋数は[emb exp = "二次元配列[1][0].count"]部屋です。[r] とりあえず一次元目の要素数、この場合だと1階の部屋数さえ取得できれば いいです。いまからかみんします
1階の部屋数は[emb exp = "二次元配列[0].count"]部屋です。[r] 2階の部屋数は[emb exp = "二次元配列[1].count"]部屋です。[r]
krkr2NScなら厨に需要ありそうだが逆は
>>511 だな。
いや、逆も大して需要ないと思うんだが…Mac対応になるくらいか
flashで作り直した方が色々と楽な気がするのだが。
NScrは1話分のSSをノベルにして、FLASHはベジェ引いてグネグネアニメーション作ったことあるよ。 大概のはサンプルやら触ってりゃ覚えるし。
518 :
名前は開発中のものです。 :2007/10/12(金) 08:46:43 ID:sSrfq6Mi
>>513 おはようございまーす。
本当だ、正確に値を取得できてる。
しかも即答してくれてるところがさらにすごいです。
ありがとうございました。非常に助かります。
厨は市ね
ひょっとしてマスク画像の共有って出来ないですか?
521 :
520 :2007/10/12(金) 15:40:27 ID:ahvr2IB9
ちなみにやりたいこと 色んな画像を特定の形(長方形でない)に切り取ったものを表示 です。
解決しました。 お騒がせしました(;´Д`)
>>522 どの様にやったら解決したかをレスしておくと
あとから来た初心者にやさしくいスレになると思う(どんな簡単な方法でも)
基本的に質問ばっかりで
答えがマニュアル嫁しか無いのでは
ここに来た初心者とかド素人が一向にレベルアップしない
自分が成長するにはそれなりの努力が必要
525 :
520 :2007/10/12(金) 17:34:49 ID:ahvr2IB9
解決したとか言いながら解決していなかった件(´・ω・`) マスクの共有は出来ないようだから 適用したいマスク画像をもった画像を別のレイヤに読み込んで、 そちらからマスクのみをcopyRectしてやろうと考えた。 layer1.face = dfMask; layer1.copyRect(0, 0, maskLayer, 0, 0, layer1.width, layer1.height); でもこうすると、何故かマスク画像の白(value=255)の部分がvalue=1になってる。。 上記の処理をした後に for(var i = 0; i < layer1.width; i++){ for(var j = 0; j < layer1.height; j++){ layer1.setMaskPixel(i, j, layer1.getMaskPixel(i, j) * 255); } } としてやると表示したい形に(処理遅いけど)なる。 これってバグでしょうか?それともやり方がどこかおかしいのかな?
マスクした画像を1枚に連結してimageをclipして並べるとか?
>>523 リファレンスのタグ忘れてたり、読み飛ばしてたりするから、
どこにあるか教えてもらうだけでも解決するよ。
別におかしいと思うところはどこにもないがcopyRectのcopyがどういう処理してるかだな。 ソース読めば?
ツールバーにある、検索先切り替えのボタン内のリストを編集する方法はない? nicoの投稿新着とタグ新着くらいしか使わないのに、長くて操作しにくいんだ。
ごめんなさい。 壮大な誤爆しました。
>>525 流し読みだが、kirikiri2のcore\visual\tvpgl.cのマスクの値がおかしいのは気のせいだろうか
dest[(len-0)] = (dest[(len-0)] & 0xffffff) + (src[(len-0)] & 0xff0000);
この辺全部
(src[(len-ほげ)] & 0xff000000);
のような気がするのだが・・・バグ?
>>525 逆なら(マスク画像のレイヤにメイン画像のみ転送:dfMain)のcopyRectなら正しく動作するかもしれない。
動くかわからんが・・・
内容の同じファイルは実行化の時に吉里吉里が一つに纏めてくれるから、そのまま必要な枚数分入れとけばいいんじゃね?
>>525 マスクにしてる画像の holdAlpha を true にしてからそれに
上書きで copyRect するのはどうだろう。
>>532 と同じ処理になるような気がするが一応。
>>531 俺のような素人目ではソースのピクセルの赤をデスティネーションのピクセルに
足しこんでるようにしか見えんのだけど、なんとなくw
dest[(len-0)] & 0xffffff これでアルファチャンネルを落としたRGB値になって
src[(len-0)] & 0xff0000 これでソースのピクセルの赤をマスクして抜き取る
赤の値が 0xff をオーバーフローした分はアルファ値になるって感じ?
なにがしたいのか、俺にはよく分かんねえwww
あれ、アルファ値の操作ドコー? く、テキスト処理ならわかるんだが・・・orz これは本家に聞いてみた方が良いんじゃない?
new Layerで作ったオブジェクトに一度画像を読み込ませた時、 その後読み込んだ画像の情報をクリアするにはどうすればいいでしょうか? 一度画像を読ませたオブジェクトを再び使用する時、前回読ませた画像データが残ってて困っています。
>>538 普通に別の画像をよませるのではだめなのか?
ごく普通に上書きされるぞ。
例えばレイヤーのサイズが300*400あったとして、その左上0,0の所から 75*100の大きさの画像を4つ読ませたとして、その次に 右側の二つを更新して左側の二つは消したい……というような時に不便な事になるものでして 適当な透明画像を上から読み込ませるのが、一番手っ取り早いですかねえ
や、部分的に消したいだけなら fillRect のがてっとりばやいんだが… とりあえず、吉里吉里リファレンスの Layer の部分を全部読んだほうがいいと思うぞ?
>>538 hoge_layer.type = ltAlpha;
hoge_layer.face = dfAlpha;
hoge_layer.fillRect(0, 0, hoge_layer.width, hoge_layer.height, 0x00000000);
これで全部消えると思う
>>540 hoge_layer.type = ltAlpha;
hoge_layer.face = dfAlpha;
hoge_layer.fillRect(150, 0, 150, 100, 0x00000000);
これでできない?
あ、逆逆w hoge_layer.type = ltAlpha; hoge_layer.face = dfAlpha; hoge_layer.fillRect(0, 0, 150, 100, 0x00000000); これで 左側が消えるとおも
544 :
名前は開発中のものです。 :2007/10/13(土) 15:23:11 ID:av3VlT+b
すいません、フォントのサイズやマージンは参照できないんですか? config.tjsとかには記述されてるんですけど。 文字の大きさ:[emb exp = "defaultFontSize"][r] ;defaultFontSize = 24; // deffont タグの size 属性に相当 ;defaultLineSpacing = 6; // defstyle タグの linespacing 属性に相当 ;defaultPitch = 0; // defstyle タグの pitch 属性に相当 ;marginL = 8; // 左余白 ;marginT = 8; // 上余白 ;marginR = 8; // 右余白 ;marginB = 8; // 下余白
できるよ、多分。 今手元に動作環境がないからわかんないけど、 kag.defaultFontSizeとかで試してみて。
546 :
名前は開発中のものです。 :2007/10/13(土) 16:24:08 ID:av3VlT+b
>>545 ですよね、できるはずですよね。
朝からやってんですけど、なかなか見つからなくて。
昔のコマンド入力式のADVの感覚ですね。
もう少し探してみます。
>>544 > フォントのサイズやマージンは参照
hoge_layer.font.getTextHeight ( 文字列の縦幅を得る )
hoge_layer.font.getTextWidth ( 文字列の横幅を得る )
で取れるんじゃないかな
TJS リファレンスの Font を参照してみると幸せになるかも
defaultFontSize 自体は、MessageLayer のメンバ変数にしか格納されてないみたい、多分
>>544 [current layer=message0 page=fore]
したあと、
[emb exp="kag.current.defaultFontSize"]
[emb exp="kag.current.defaultPitch"]
[emb exp="kag.current.defaultLineSpacing"]
[emb exp="kag.current.marginL"]
[emb exp="kag.current.marginT"]
[emb exp="kag.current.marginR"]
[emb exp="kag.current.marginB"]
かなぁ。
Config.tjs(またはOverride.tjs)で指定した値がほしいとなると、ちょっとめんどくさい。
549 :
名前は開発中のものです。 :2007/10/13(土) 17:06:03 ID:av3VlT+b
>>548 カレントレイヤで充分です。ありがとうございます。
547の方のアドバイスと「TJSに挑戦」を参考にして、
System.inform(kag.back.message.[0].defaultFontSize);
まではたどり着いたのですが、
KAGのメッセージレイヤ上でのマージンや字間などが分からなくて
どうしようかと思ってました。
助かりました、ありがとうございました。
暗号だらけのスレだ
どこがだよ?バグ云々以外はリファレンスに書いてあるだろ。
ところでマスク関連の件はDeeたんor公式に報告したほうがいいんじゃないか? 本当にバグなのかどうかは俺には判断できないけど・・・
いや、公式には言わずとも見てるだろたぶん
再現性がある520=525のプロジェクトを公式吉里吉里掲示板経由で W.Deeさんに確認してもらうのが一番早いかとおもう。 ここのURL貼り付けて、原因はこれっぽいんですが? みたいな感じで。
正確には見てる奴がいるから自ずと伝わる・・・だなw
557 :
名前は開発中のものです。 :2007/10/15(月) 12:17:46 ID:INcxoQks
えー、こんにちわー。 これって何でエラーになるか分かりませんか? [eval exp = "tf.a = 300"] [eval exp = "tf.b = 300"] [position layer = message1 width = tf.a height = tf.b]
>>557 [position layer = message1 width =&tf.a height =&tf.b]
ところで自分も聞きたいんだが、公式掲示板ログの検索でInternal Server Errorを 食らう。 あそこが使えないと、ヘタレスクリプト書きの自分は辛い。
>>559 エラー出るね。
前にもエラー出てた時あったよね。しばらくして直ったけど。
管理人さんにお知らせしたほうがいいのかな。
黙って見守っててくれというなら黙って待ってるんだけど。
561 :
名前は開発中のものです。 :2007/10/15(月) 13:01:20 ID:INcxoQks
>>558 こういう場合にもエンティティが必要なんですね。
うっかりしてました。
いつもいつもありがとうございます。助かりました。
>>559 ログを全部ローカルへダウンロードして、
grepで検索すればいいんでね?
googleデスクトップ検索
吉里吉里の本を読んでいて気になったので質問です。 ;所持金が3000以上なら3000を引く [eval exp="tf.money=tf.money-3000 if tf.money>=3000"] と [eval exp="tf.money=tf.money-3000" cond="tf.money>=3000"] はどう違うんでしょうか? 同じですか? 同じことだけど何らかの状況下では違った働きが出来る、などあるのでしょうか?
同じ
>>564 前者は
1.タグ解析(KAGParser内)
2.evalのタグハンドラ呼出し(Conductor内)
3.Scripts#evalで実行(MainWindow内)
後者は、
1.タグ解析(KAGParser内)
2.condの判定(KAGParser内)
3.evalのタグハンドラ呼出し(Conductor内)
4.Scripts#evalで実行(MainWindow内)
動作は同じはず。
どっちが動作が速いかといわれると、
condでタグ実行が排除できる回数がおおければ、おそらく後者・・・かな?
というより、見やすさを考えると、後者だろうな。
>>566 数百万回ぐらい判定がなければ差は出ない
>>564 「何らかの状況下では違った働きが出来る」例をあげてみる
;tf.moneyの値に関わらずtf.xにはtrueが代入
[eval exp="tf.money=tf.money-3000 if tf.money>=3000, tf.x=true"]
;tf.moneyが3000以上の場合のみtf.xにもtrueが代入
[eval exp="tf.money=tf.money-3000, tf.x=true" cond="tf.money>=3000"]
露骨に遅くなったとかならともかく、普段は動作の速い遅いなんて気にする必要はないと思うよ
おいおい、そりゃ動作に違いが出るだろ むしろ [eval exp="(tf.money=tf.money-3000, tf.x=true) if tf.money>=3000"] [eval exp="tf.money=tf.money-3000, tf.x=true" cond="tf.money>=3000"] を比較して「やっぱり動作に違いが出ません」ってオチにもってく方が素直だろ
570 :
名前は開発中のものです。 :2007/10/16(火) 19:07:00 ID:eS3nDnKL
こんばんはー。 KAGには変数内の文字列を条件式に見なしてくれるエンティティ機能があり ますが、TJSには同様の機能はないんですか? [iscript] var a = 200; var b = 100; var 条件 = "a == 200 && b == 100"; if(条件) // ←ここの問題。KAGではエンティティを付ければいいけど、 // TJSでは? { System.inform("TJSで条件を充たしました。"); } [endscript] [if exp = "&条件"] KAGで条件を充たしました。 [endif]
if(Scripts.exec(条件式)) で出来るんじゃね?
var 条件 = "a == 200 && b == 100"!; で出来るんじゃね?
いや、普通に var 条件 = (a == 200 && b == 100); でいいだろ
>>573 ああ、文字列にする必要があるんなら571, 572のとおり
特に必要がなければ論理演算の結果を直接代入しちゃえよ
あとifタグでエンティティはいらね
575 :
名前は開発中のものです。 :2007/10/16(火) 20:07:44 ID:eS3nDnKL
576 :
名前は開発中のものです。 :2007/10/17(水) 00:32:29 ID:ETJjfPPK
こんばんはー、どなたかまだ起きてませんかー? Array.clearについてですけど、検索しても例文が少なく一般的な記述 が分かりません。一応、このような記述を思い付きはしたのですが、 もっと一般的でシンプルな記述があれば教えてください。 [iscript] var 配列 = ["a", "b"]; [endscript] [emb exp = "配列.count"][r][l] [iscript] (Array.clear incontextof 配列)(); [endscript] [emb exp = "配列.count"][r][l] 私自身なぜこの記述で動作しているのか理解してません。 動きさえすればそれでいいのですが、予定してない副作用が発生して ることが怖いので質問します。
@ var x = ["a", "b"]; x.clear(); A var x = ["a", "b"]; (Array.clear incontextof x)(); B var x = ["a", "b"]; var y = x.clear; y(); 最も一般的なのは@かな。 てか、久々に来たら随分とレベルが下がった気が・・・。
そりゃ新規参入者もいるだろうしな
調べるよりも聞いたほうが早く答が返ってくるからか
簡単に質問してるケースが目立つな
>>576 配列オブジェクトの"配列"のコンテキストでArray.clearを
実行してるから動作する。一般的には既に配列オブジェクト
なんでコンテキスト書き換えせずに
>>577 の(1)みたいに書く
一部のケースを除き、incontextofは使う必要なくて、普通に
変数名.メソッド名()と書けばいいよ
580 :
名前は開発中のものです。 :2007/10/17(水) 09:29:26 ID:ETJjfPPK
>>577 えーおはようございます。
豊富な文例ありがとうございます。恐縮しております。
>>579 説得力のある解説ありがとうございます。
たしかに577の方の(1)の記述がシンプルで綺麗に見えます。
お手数をおかけしました。
>>577 独力で理解出来る奴は2chなんか来ないし
ネットの低年齢化が進んでるんだから色々下がる
別のもので作る方が楽なのに、無理に吉里吉里で作る人が多いんじゃ。
>すごいすごい!全く知りませんでした。 おまい、そこは喜ぶとこじゃなくて落ち込むとこだぞ…
質問がこなければ、新規参入がない、わびれた、暇だと文句を言うが 質問がきたら初心者うぜえ、リファレンス嫁で追い返す おまえらどんだけツンデレだ
リファレンス嫁ってパターンが多すぎるだけだべ そういうの以外はだいたい解答されてるじゃないですか てかツンデレと違うそれ
といっても、このスレになってからリファレンス嫁で撃退されたのは2件だけな件
> 質問がこなければ、新規参入がない、わびれた、暇だと文句を言うが ソース出せる?
吉里吉里初心者と2ch初心者はまた別ですよね。
わびれたww 詫びれた?侘びれた? 寂れただろ、さびれた。日本語初心者の方ですか。
いやそれをいうなら正しくは「わびれた」じゃなくて「わびた」だろ
にしても、寂れてくなぁ・・・
ところで寂れずに今盛り上がってるのって何よ?
俺の股間
うp
vipでやれ。
>調べるよりも聞いたほうが早く答が返ってくる
これはないな。
>>592 携帯用のエンジンは需要あるんじゃないかと思う。
こんな精神的に未成熟なキモオタが所構わず湧いて 馴れ合ってるんだからスレとしては寂れて当たり前だ
そんな無理して盛り上げようとしなくていいからー
作者が自己主張しまくって荒れまくりのえぬすくスレよりは万倍マシだ
そんな無理して(ry Nスクもほんとにいいツールだよ。 これからも共存共栄、切磋琢磨していきたいね。
だが断る
「実行する」と「評価する」って何が違うんだ?
着眼点
>>602 評価するは真偽を調べるのがメインって事でおk?
把握した。dクス
606 :
名前は開発中のものです。 :2007/10/21(日) 13:23:01 ID:QL06Jx1c
ogg再生のプラグインはどう使えばいいのか リファレンス見てもわからんぞよ
流石にその質問はどうかと思うんだ
>606 テンプレの講座サイト見てこい
何がどう分からないのか他人に具体的に説明できる程度までは自力で頑張ってみたら? 何が分からないのかそれじゃこっちにも分からんよ
610 :
名前は開発中のものです。 :2007/10/21(日) 13:49:25 ID:QL06Jx1c
@loadplugin module=wuvorbis.dllと書けとは書いてあるんだが、 どこに書けばいいのかがわからんぞよ
ド素人の俺がKAGEXを試しにいじってみてるんだが 自動改ページだかをオフにするにはどうすれば('A`)
画像を少しずつ変えていってさ、時間がたって気が付けば全然違う画像になってたりとかって表現できないかな?
単にフェード待ちせずに時間長くするのじゃいかんの?
フェードつかってじわじわだと その間文字表示できないし縛りきついんじゃね? moveで透明度変えていったほうがよさそうだ。 つか、613に必要なのはスクリプトの知識じゃなくて どれだけ変化が絶妙な絵が書けるかとか 絵が変化してる間に、どれだけ他の所(テキスト等)にうまく目を引きつけられるかとか そういうことだろ。ここで聞いてもしょうがない。
kagでmoveをloopさせることってできないの? sタグで止めたときは繰り返し処理でなんとかなるけど文章表示中はできない moveにもloop属性あればないいのにな
ああ間違い sタグじゃないな 入力待ちのとき
KAG単体だとanime使ってmoveのような動きさせるしかないんじゃね TJS使えるならTimerなりContinuousHandlerでループさせりゃいいけど
まだ触り始めて間もないんですが TJSで、指定した色を勝手に抜いてくれるように出来ないでしょうか…?
>>616 トランジション(フェード)の最中、文字表示できるぞ?
622 :
620 :2007/10/22(月) 01:51:22 ID:FI6YpJ+Z
すいません、解決しました。 リファレンスちゃんと全部読むべきでした。 申し訳ない
623 :
620 :2007/10/22(月) 03:56:10 ID:FI6YpJ+Z
解決したと思いきや、全然巧くいかない('A`) KAGEXでやってて layer.loadImages(%[ "storage" => imageFile]); これにカラーキー入れれば消えるもんだと思ってたんだが 消えないところを見ると、全く違う所を触ってたんだろうか
625 :
620 :2007/10/22(月) 18:14:37 ID:w3XaP+pA
>>624 layer.loadImages(%[ "storage" => imageFile], 0x00FF00);
こういう感じで書いた。
626 :
名前は開発中のものです。 :2007/10/22(月) 18:50:36 ID:25vxTevR
""そんなところにつけていいのか
>>626 付けないと変数と間違えられてコケないかな?
628 :
名前は開発中のものです。 :2007/10/22(月) 19:57:31 ID:xm+OuoMl
質問です。 [link exp="tf.btn=1" target=*center]ページ1[endlink] [link exp="tf.btn=2" target=*center]ページ2[endlink] [link exp="tf.btn=3" target=*center]ページ3[endlink] *center 〜何らかの処理〜 @jump target=*page() ()の部分にtf.btnに代入された数字が続いて、それぞれ *page1、*page2、*page3へ飛ぶようにしたいのですが、 どういう風にすれば良いでしょうか?
>>628 @eval exp = "tf.label = '*page' + &tf.btn"
@jump target=&tf.label
こんな感じで
Escでウィンドウが閉じれなかったり、 F4でフルスクリーンにならなかったりで妙な所で不便っスね。
>>624 ためしてないけど、こうじゃないか?
layer.loadImages(%[ "storage" => imageFile, "key"=>0x00FF00]);
>>630 F4でフルスクリーンって何のゲームがある?
633 :
620 :2007/10/22(月) 21:07:53 ID:w3XaP+pA
>>631 やってみたけど、ちゃんと抜いてくれなかった。
[]の外に出しても同じだった。
大人しく透過pngにするフリーソフト落とすしかないか('A`)
F4でフルスクリーンなんてツクール以外じゃ見たことないな。
普通Alt+Enterじゃないか?
どっちにしろそんなの自分で設定すればいいだけの話。
標準でなってたら逆にうぜえわ。
>>633 マクロ組むなり、タグ書き換えるなり、基底レイヤクラスのloadImagesオーバーライドするなり、
いくらでもやりようあるじゃん。
まさか背景レイヤで色抜こうとかしてないよな?
635 :
620 :2007/10/22(月) 22:01:45 ID:w3XaP+pA
>>634 さすがに背景レイヤの色抜こうとはしてない。
マクロ組んでやってみます
636 :
628 :2007/10/22(月) 22:45:40 ID:xm+OuoMl
637 :
名前は開発中のものです。 :2007/10/22(月) 23:34:19 ID:CIiXU7G3
これで作られた作品って氷雨いがいはロクなのがないな、 ほぼギャルゲっぽいキャラのやつじゃん
> これで作られた作品 ( ^ω^)? > 氷雨いがいはロクなのがない ( ^ω^)??
>>623 遅くなってごめ
layer.loadImages(%["storage" => "imageFile", "key" => "0x00FF00"]);
と、文字列で与えてみてくれ
640 :
639 :2007/10/23(火) 01:34:45 ID:7/y4qPHe
ごめん。imageFileってKAGEXでの変数だったんだな
そっちは引用符削ってくれ
layer.loadImages(%["storage" => imageFile, "key" => "0x00FF00"]);
つーか何気にちゃんと書かれてないことが多いけど、タグハンドラ
とかに渡す辞書配列の値は文字列で渡してやった方がいい
文字列前提で処理されているから
>>629 evalの方の & の位置が変。てか必要ないよ
@jump target="&'*page' + tf.btn"
これで十分だろう
吉里吉里SPで公開されている「「棒グラフに関連づけた変数」のプラグインサンプル」なのですが、 一度棒グラフを表示させても、その後backlay→transなどすると 再度foreとbackを入れ替えないと、グラフの伸縮が出来なくなります。 どうも、foreかbackかどちらかにしか棒グラフのレイヤが作成されず、その為transなどの操作に対応できていないようなのですが これはrijasgraph.tjsをどう書き加えれば、解決できるのでしょうか?
ツールバーでずらずら項目が並んでるのがうざいので全部消したいのですが、 ファンクションキーの割り当てはどこで行うんでしょうか? Alt+F4でウィンドウを閉じるというのは分かったんですけど、 systemフォルダのMenus.tjsのファンクションキー設定を弄っても フルスクリーン表示には変化がありません。
いや、ツールバーを消しちゃうとウィンドウの切り替えが出来なくなるので、 ファンクションキーの設定を書き換えたいな、と。 Mainwindow.tjsを書き換えればいいので?
>>641 @setgraphのlayerで指定したレイヤに対して描画してる時点でトランジションの影響を受ける。
改造方法は以下のどちらか(他にもあるかもしれない)
案1:kag.fore.messagesとkag.back.messagesの両方に描画するように改造。
案2:RijasGraphプラグイン内でforeとbackのレイヤを作成して、onExchangeForeBackを実装
どちらにせよ2〜3行程度の修正ではないので、tjsの知識が必要。
試してないがConfig.tjsに ;menu.visible = false; (略) //[start-menu-additionals] ;fullScreenMenuItem.shortcut="F12"; ;windowedMenuItem.shortcut="F11"; //[end-menu-additionals] とでもしておけばどうか? トグル式にするなら関数一個書かないとだめだろうけど
//[start-menu-additionals]の所から追加しましたが無反応のようです、 とりあえず、わかる所から弄ってみます。 どうもすいません。
>>647 Alt+F4 は Windows の標準ショートカットで WM_CLOSEがとんでくる
(右上のばってんおすのと同じ意味)。吉里吉里は関係ない
KAG はファンクションキーを使ってないので、それに関するコードは特にない。
必要なら自前でキー処理関数を書く必要がある。とりあえずリファレンスの
「TJSをもっと使うために」を読もう。ヒントは keyDownHook。
フルスクリーン切り替え処理は、kag.fullScreened を見て
kag.onFullScreenMenuItemClick() と kag.onWindoewdMenuItemClick() を
よびわければおけ
>>645 棒グラフの表示自体は、transしても表示されてるのでfore/back共に描画してるようなのですが
実際のグラフのリアルタイム書き換えの方が、一度transすると裏面に回ってしまうようで
onExchangeForeBack自体は初めから存在しているのですが、そこに記述されている
.layer = .layer.comp; // グラフを書き込むレイヤを変更する
.redraw();
が、コメントアウトしてみても動作に何の影響もないので
多分この辺りかなあと思うのですが(トランジション後でも常にfore側の表示を書き換えるよう指定できれば)
どうにも書き換えの取っ掛かりが分からなくて・・・
650 :
641 :2007/10/23(火) 17:01:51 ID:cYrAngAo
どうも、棒グラフを描画するメッセージレイヤに、グラフの他にテキストを表示していると 挙動がおかしくなるようです。 棒グラフ専用のレイヤーを用意する事で解決しました、長々と失礼しました……
自分の組んだKAGやTJSの、任意の位置から任意の位置までの処理に何msかかったか 測定して数字を出す方法は、何かありませんか?
MainWindow.tjsのタグハンドラ群にある imageとか見ればわかるんじゃなかろうか
653 :
名前は開発中のものです。 :2007/10/24(水) 16:04:29 ID:fXRSHvfE
トランジションしても前景だけ変化ないぞよ デフォルトだと前景も一緒にトランジションされるんじゃなかったのか あえてアノ部分をtrueにしても無理だぞよ
655 :
653 :2007/10/24(水) 20:55:35 ID:jWG7dwnK
もう自己解決したぞよ
次の選択肢まで進むボタンを置いて、ボタンが押されたら kag.skipToNextStopMenuItem()を呼び出すと同時にボタン画像を変えてます 自分でボタンを押して解除するぶんにはよいのですが、未読部分に差し掛かったとき 自動的にボタンを元の画像に戻すにはどうしたらよいでしょう? MainWindow.tjsのcancelSkip()あたりに仕掛けるしかないですか?
スキップ中に未読部分に入る スキップ中の場合にボタンを戻すという処理(まだスキップ中) 未読部分なのでcancelSkip()でスキップ終わり という感じでcancelSkip()の前に処理させればいいかと 既読判定部分がどうなってるのかしらんけど。
>>657 いや、ソース見ていると最終的にはcancelSkip()が呼ばれてるようだったので、
フラグをセットしておいてこんな感じでloadImages()呼んでみたのですがダメでした
TJSもKAGも使用歴短いのですけど、何か根本的に勘違いしてるのでしょうか?
function cancelSkip(){
// スキップ動作をキャンセル
skipMode = 0;
skipKeyRepressed = false;
actualChSpeed = chSpeed;
if ((tf.skipping !== void) && (tf.skipping == 1)){
fore.messages[0].links[0].object.loadImages('button_normal.png');
fore.messages[0.links[0].object.update();
tf.skipping = 0;
}
}
すいません、上のmessages[0.linksの部分、messages[0].linksです 処理自体は通っているみたいなのですが・・・・
連投すいません うまいやり方見つかるまで保留にしておくことにしました いざとなったらこまめにチェックして書き換える処理を入れることにします(´・ω・`)
cancelSkip()だと同じ条件判定を2度使うことになるから 1回目の既読判定の時点で処理させた方がスマートなんじゃなかろうか まぁ俺も使用歴浅いから自信は無いんだけど onConductorLabel内の if(!getCurrentRead() && skipMode != 4) canselSkip(); を if(!getCurrentRead() && skipMode != 4){ if(skipMode>=1){ fore.messages[0].links[0].object.loadImages('button_normal.png'); fore.messages[0].links[0].object.update(); } canselSkip(); } こんな感じに、どこでもセーブプラグイン使ってるなら setCurrentLabelに同じようなのがあるからそっちに手をいれた方がいいかも。
もしくは、onStableStateChangedで安定中の時に画像替えてもいいかもしれないな。 ためしてはいないが。
664 :
名前は開発中のものです。 :2007/10/25(木) 14:08:32 ID:BBploTKp
保守
665 :
(^O^)/ :2007/10/25(木) 14:14:18 ID:6d0459Ii
全然違う話なんですが…困ってるんで教えてください… オンラインゲームで30秒待たなきゃいけないのを、待たなくていいように出来ませんか?
Nice boat.
そうえいば氷雨ってやった事無いな
669 :
656 :2007/10/25(木) 20:17:46 ID:4eZP00dq
原因わかったので報告しておきます kag.foreだけじゃなくてkag.backも変えないと駄目でした ちなみにそれぞれtry catchで例外は無視してます (ロード時などforeしかないときエラーになるため) kagのトランジションってforeとbackを入れ替えるのではなく どちらを前面に持ってくるか入れ替えるてことだったんですね
670 :
名前は開発中のものです。 :2007/10/25(木) 22:55:37 ID:p7eRWNbr
悲鳴の効果音ってどうやって作るんだろ
>>670 叫ぶ→録音→( ゚Д゚)ウマー
じゃだめ?
かまいたちの夜とかの悲鳴って人間の声で作ったわけじゃなさそうですよ
自分の声とって、フリーソフトのSoundEngineで加工とか。
>>672 かまいたちの夜って吉里吉里で作ったわけじゃなさそうですよ
いくつかの数字の中から、複数の数字を重複なしで ランダムで選びたい場合はどうしたらよいでしょうか?
>>675 配列を作成し、数字のリストを作る。
配列の添え字を乱数で決め、値を取得後、その添え字を削除。←を必要数繰り返す
または
配列を作成し、数字のリストを作る。
配列適当にシャッフルする
shiftまたはpopで配列から取得。←を必要数繰り返す
・・・こんぐらいだったら、どっかにプラグインが転がってそうな気もするが。
>>675 自分用に作ったやつ
// 重複の無い複数の値をランダムで取る
function random_nums(min = 0, max, number) {
var rndnum = []; var resultnum = []; var tmp = 0;
for (var i=0; min+i<=max; i++) {
rndnum[i] = min + i;
}
for (var j=0; j<number; j++) {
tmp = intrandom(0,rndnum.count-1);
resultnum[j] = rndnum[tmp];
rndnum.erase(tmp);
}
return resultnum;
}
minからmaxまでの値を、number回だけ配列で返す
f.hoge = [];
f.hoge = random_nums(50, 100, 3);
ってやると、50〜100の中から3回、重複無しの値を返す(f.hoge[0],f.hoge[1],f.hoge[2])
複数の数字が連続性の無いものだったら、
>>676-677 を参考にして適当に改変
あれはクロゲですが、 本家かまいたちの夜や夜想曲、サウンドノベルツクール等の悲鳴は間違いなく電子音
本家かまいたちの夜の悲鳴は豊嶋真千子っつー声優っすよ
683 :
名前は開発中のものです。 :2007/10/26(金) 13:57:12 ID:M/aTMukZ
吉里吉里とKAGを使った同人ゲームで、オート機能はついてても、 ボイスが終わり次第、次に移るっていうシステムのゲームが全然見あたらない。 ボイス関連については、そういう機能をつけるのは、やっぱ難しいのかな? いま使い始めたばっかりで勉強不足なだけかもしれないけど、そういうプラグインとか探しても、なかなか見つからない
687 :
名前は開発中のものです。 :2007/10/26(金) 15:22:24 ID:QkU/+QQ6
ハィーーーイァーーー!!
>>688 商業と思ってチェックしてなかったピンポイントのゲームが吉里吉里使ってた。
で、確かにこれのオートモードは、ボイスを待ってから、次にいくオートモードになってる!
でも普通のサークルのゲームが、そういうオートモードに出来てないってことは、
プラグインをそれ専用に作るとか、そういう難しい処理が必要ってことかな?
C++なんてわからんので、それは無理だ……。
「吉里吉里 プラグイン オートモード」とかでぐぐってるんだけど、さっぱり見つからなくて駄目だー
>>689 俺も吉里吉里自体触り始めて間もない初心者で
参考程度に
>>4 にあるKAGEXを初めて触ってみたんだが
どうやらKAGEXは自動再生時の処理待ちとかもちゃんとしてるみたいだが
そこら辺参考になったりしないかな?
で、KAGEXのサンプルの中身を触ってみてるんだが
なんか回想モードの部分にサムネイルを載せられないんだけど
判る人は居ないだろうか。
replaylistに画像の名前を入れても、なんか付かないんですよね
>>690 KAGEXかー。まだ未完成とか聞いてたので、チェックしてなかったよ。
そっちのオートモードはKAG3のよりも充実してるってこと?
なら使ってみる価値はあるかなー。
しかし、未完成というのは、やっぱり怖い。ちょっと調べたら、もう完成はしないかもとか言われてるし……。
>>684 こんな処理でいいんじゃないか?
;オートモードの時は、SEが鳴り終わるまで待機 通常の場合は、待たない
[ws canskip=true cond="kag.autoMode"]
;改ページまち
[p]
;次のページ以降で、同じバッファを使用するSEを鳴らし始めると、今までのがキャンセルされ
;新しいSEが鳴り始める
>>692 俺もそう思う。KAGEXがどうこうって言う話じゃないな。
改行待ちマクロ内でボイス用に割り当てたbufでwsしてるんだろう。
ああ、単純に中身の参考になるかと思っただけであって 未完成な物を使うのは辞めた方が良いw 変な事言ってすまんかった。 初心者が何か言うもんじゃないな
>>692 >>693 d!!
シンプルすぎてよくわからなかったけど、マクロ処理のほうで改行のたびに、
毎回それを実行させておけば、ボイス待ちできるってことか!
なるほどー。
半分くらいしかわかってないので、とにかく試してみるよー。
>>694 やはりKAGEXはヤバそうだったw
初心者同士がんばろー
>>695 KAGEXは、KAGやTJSをある程度覚えた後に中身読んで、
美味しいところだけ抜き出してパクって使うといい。
自分で色々編み出した気分になれてお勧めだw
697 :
名前は開発中のものです。 :2007/10/26(金) 20:41:42 ID:ChmuSVQA
>>698 そらそうだけど、いいんだよw
動くし自分が気持ちいいからさぁ
700 :
名前は開発中のものです。 :2007/10/27(土) 10:43:36 ID:/zALF331
そんなのみんな気のせいでしょ
色々調べたのだけれど、メッセージレイヤの上に画像を載せる方法がわからない。 スパロボみたいな「会話ウィンドウの端に顔アイコンを載せる」という事をやってのけたいのだが……。 どんな単語でググればヒントがあるかだけでも是非教えて頂きたく。
graph
>>702 上の方にある講座見れば載ってるから落ち着いて全部見るといいよ。
落ち着いて一個ずつゆっくりね。
前景レイヤのindexを変えてメッセージレイヤの前面になるようにするだけでいいんでね?
>>702 方法としては2種類あるな
[graph]を使用して メッセージレイヤーに直接画像を出すやり方と
[image]のindexの値を設定して メッセージレイヤーより前に表示される前景レイヤーを作るやり方
メッセージウインドウからはみ出すような画像を使いたい場合、[image]のindexの値を設定を使って
はみ出さない場合、[graph]を使用が簡単じゃないかなぁと思う
>>703-706 申し訳ない、ありがとう。
現在[graph]を試してみたところ、何故か白い画像がメッセージレイヤの上に出てきた。
多分俺の不手際だと思うので頑張ります。
そしてこれが現在の俺の状況です。
[layopt layer=message1 page=fore visible=true]
[position layer=message1 left=16 top=16 width=600 height=150 color=0xFF0000 opacity=128 marginl=5 margint=5 marginr=5 marginb=5]
[position layer=message0 left=16 top=310 width=600 height=150 color=0x0000FF opacity=128 marginl=5 margint=5 marginr=5 marginb=5]
[image storage="壁紙名" layer=0 page=fore visible=true]
[current layer=message0]
[graph storage="アイコン名.jpg"]
[indent]
名前[r]
本文[l]
[endindent]
[er]
某所からのコピペを含めてこんな感じのタグにしたのだけれど、
上記のアクシデントの他に「画像の横に2行以上の文字を置けない」という自体も発生……。
画像を[pos=left_center]とかで位置指定したほうがいいのだろうか。
それとも[indent]〜[endindent]は不要だったりする?
char=false
>>708 言われて気づいた。確かに入れ忘れてるorz
組み込んだ結果、画像はしっかりと表示できました。ありがとうございます。
凡ミスほど自分で見つけるのは難しいね
エラー吐かれて変数から何から検証して三時間、一文字typoしてたとかな……。
712 :
675 :2007/10/28(日) 00:19:39 ID:szn9NIHB
>>678 ありがとうごさいます。
…が、試しにそのままをfirst.ksに流し込んで実行してみましたがエラーになりました…
ファイル : first.ks 行 : 24
タグ : 不明 ( ← エラーの発生した前後のタグを示している場合もあります )
first.ks の 行 1 から始まる iscript ブロックでエラーが発生しました。
( 詳細はコンソールを参照してください )
文法エラーです(syntax error, unexpected T_SYMBOL, expecting ";")
「;」がどこか抜けているのかと思いましたがどこが抜けているのか
全く見当もつきません…ご助言お願いしますorz
minからmaxまでの値を、number回だけ配列で返す もそのままなんだろうなー
714 :
675 :2007/10/28(日) 00:31:55 ID:szn9NIHB
>>713 言葉足らずで申し訳ないです、そこはちゃんと//を頭につけてます。
じゃーそのままコピーして全角スペースになってるとか?
716 :
675 :2007/10/28(日) 00:46:07 ID:szn9NIHB
>>715 ビンゴでした。どこかが全角になっていたようですorz
お手数おかけして申し訳ないです、ありがとうございました。
エディターの設定で、タブと全角スペースの表示方法を変更しておくと 今後この手のミスを回避できるのでお勧め
718 :
名前は開発中のものです。 :2007/10/28(日) 17:44:48 ID:GPeguY4X
あげ
49 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2007/10/29(月) 08:51:56 ID:uWzlrtqR 最近ツクールが重い! │ ├ 1.VXに買い換える │ │ [まちがい] │ 確実な方法ではありますが、変態解像度が難点です。 │ それよりも別の手段を探してみませんか? │ ちょっとしたフリーウェアでなんとかなるかも? │ ↑ │ ココがポイント! │ └ 2.吉里吉里RPGを使う [せいかい] 53 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2007/10/29(月) 09:32:09 ID:JamVQ6vx ショボPCユーザーのために紙芝居ツールをこね回して バグを孕む可能性を高めたRPG作るアフォはいない… なるべく多くの人に遊んでもらいたいから軽いゲームにするのは分かるが、 現実は 表現したいこと>ショボPCユーザー の優先順位 切捨て御免
>>719 そんなレスを張られても
どう反応しろというのだね
721 :
名前は開発中のものです。 :2007/10/29(月) 13:50:03 ID:3OWOK6/1
ウボァー
吉里吉里RPGってなに?そういうのがあるの?
吉里吉里でも重い処理すりゃ重くなるでしょ 800×600サイズのイメージをアニメーションするくらいだったら mpegかaviで動画にして挿入した方が動作軽い
724 :
名前は開発中のものです。 :2007/10/29(月) 14:23:39 ID:3OWOK6/1
凄いけど作りかけみたいだ、キャラに対してアクション出来れば ARPGやらRPGが出来そうなのにな
吉里吉里って十字キーできたのか
>>724 こんなのあったんだ。面白いね。
操作しづらいけど。
ゲームパッドでも動くぞ、斜めにも歩くし。
うぇ・・・恥ずかしくて死にそうだ・・・
期待してる
732 :
名前は開発中のものです。 :2007/10/29(月) 23:44:01 ID:4xp6oxNV
あげ
f.a || f.b || f.c < 100 みたいな条件の記述って出来ません? なんか、f.a < 100 || f.b < 100 || f.c < 100 というように逐一記述しないと、ちゃんと判定されてないようなんですが
>>733 上の式は
f.a !=0 || f.b != 0 || f.c < 100
という意味だぞ。
あーなるほど、ありがとうございます それじゃあ一つ一つ面倒臭がらずに書くしかないんですね
そういう関数書けば?
Math.max(f.a, f.b, f.c) < 100
Mathってリファレンス読んでも殆ど説明無いんだけど
f.a < 100 || f.b < 100 || f.c < 100→
>>737 みたいな使い方出来るのか
>>737 Math.max(f.a, f.b, f.c) < 100
↓
Math.max()の中の候補の中で、一番大きい数値 < 100
↓
f.a < 100 && f.b < 100 && f.c < 100
だから
f.a < 100 || f.b < 100 || f.c < 100
とは、意味が違うんじゃないか?
&& → and → 〜かつ〜
|| → or → 〜または〜
何このスレもうヤダ
これは酷い
744 :
737 :2007/10/31(水) 11:58:24 ID:NAniACdO
勘違いしてたわ Math.min(f.a, f.b, f.c) < 100
ええええええええええええええええええええええええええええええええええええええええ!?
>>733 Math.min(f.a, f.b, f.c) < 100
→候補の中で一番小さい値に注目
→参照した候補は、Math.min()で出てきた値より大きい
→候補のどれかが 目標(この場合100)より小さい場合 真
→or判定しているので || で連結している場合の結果と同じ
Math.max(f.a, f.b, f.c) < 100
→候補の中で一番大きい値に注目
→参照した候補は、Math.max()で出てきた値より小さい
→候補のどれも 目標(この場合100)より小さい場合 真
→and判定しているので && で連結している場合の結果と同じ
俺は普通に||で書いたほうが見やすいな
[f.a, f.b, f.c].any(funtion(x){ return x < 100; });
クリッカブルマップにて A B Cのエンディングを見ないとクリックできないようにするために 3: if(sf.Aエンド == 1,sf.Bエンド == 1,sf.Cエンド == 1) { hint="???"; storage="○○.ks"; target="*〜"; } という記述をしているのだが 条件を満たしていないのにもかかわらず、なぜか真としてみなされてしまうのはなんでだぜ? コンソールを見たらすべて ▼[trace] expression="sf.Aエンド" type of result=void result= という風に何も代入されてないはずなのだが 初心者質問もうしわけない
初心者だと分かっているならなぜ自分で調べない TJSリファレンスの演算子のカンマ演算子の所を見ろ
条件式がおかしい。 カンマはANDの意味じゃない。 sf.Aエンド==1 && sf.Bエンド==1 && sf.Cエンド==1
layerで現在読み込んでる画像の拡張子ってどうやって取得すればいいんだ?
>>753 kr2_228r2\kirikiri2\kr2doc\contents\index.html
Storages.extractStorageExt
機能/意味
ストレージ名の拡張子の抽出
タイプ
Storagesクラスのメソッド
構文
extractStorageExt(storage)
引数
storage 拡張子部分を抽出したいストレージ名を指定します。
戻り値
拡張子部分が返ります。拡張子部分は . (ドット)も含みます。拡張子が なかった場合は空文字列が返ります。
説明
指定されたストレージ名から拡張子の部分を抽出して返します。
>>753 AnimationLayerを継承していればこんな感じでとれるはず。
Storages.extractStorageExt(kag.fore.layers[0].Anim_loadParams.storage)
Layerクラスにはファイル名を返すプロパティは無い。
>>754-755 ストレージ名に拡張子は含まれてないんだ・・・
ファイル名から拡張子出す方法あるのかな?
AnimationLayerは継承してないからどうやってるか見てくるわ
2枚以上の画像を読み込んでいる場合はどれの拡張子が返ってほしいのかね
無理に検知するならこんなん?処理的に無駄だから、用途を説明したほうがいいと思う。 function getExistImageName(storage) { var exts = ["tlg6", "tlg5", "tlg", "eri", "png", "jif", "jpg", "jpeg", "dib", "bmp"]; for (var i=0;i<exts.count;i++) { var ext = exts[i]; if (Storages.isExistentStorage(storage + "." + ext)) { return ext; } } return void; }
このスレって動作確認お願いすることっておkですか? TJS初級者なんでちゃんと他のPCで動くかどうか自信がない・・・orz もちソースは晒すので。
760 :
名前は開発中のものです。 :2007/11/02(金) 22:27:29 ID:DioPvXDQ
ソースの動作確認って意味無いだろ? 挙動が変わるわけ無いから
>>761 動作が変わらないのは当たり前。
バグってたら該当箇所のソース読めるんだから意味はあるに決まってるだろ。
まあソースの長さによっては
いちいち読む気が起きるかどうかはまた別の話だが・・・
とりあえず暇だしうp
動く動かないの確認など作成上の最前提だと思うのは俺だけか。 回数動かせば分かる、スキル以前にやる気の問題だろ。 動かない箇所、自分で解決出来ない不具合の質問に関してならばこういう場で答えることも出来ようが デバグまでやらせるつもりか?
765 :
名前は開発中のものです。 :2007/11/02(金) 23:23:50 ID:uESLnZIz
全くだな。どこまでレベル落ちていくのだか
766 :
759 :2007/11/02(金) 23:44:36 ID:kDsQi53o
把握。 自分のPCではちゃんと動くんで 他PCでもちゃんと動くと信じることにする。
フルスクリーン使わなきゃ、大体動作するんじゃないすか?
個人的には、晒してくれた方が暇つぶしできたのだがな。
まあ正直、やる気の問題だけでバグが消えてくれるんなら 吉里吉里本体にバグなんてないよ
770 :
名前は開発中のものです。 :2007/11/03(土) 00:12:24 ID:dT6JVAzO
ソースの動作確認丸投げがやる気があるのかと
暇でやる気をもてあましてる俺には好都合 ネガるだけの馬鹿はほっといて晒すんだ
>>770 いや、自分のPCではちゃんと動いてんでしょ?
他人の環境での動作確認なんて他人にやってもらうしかないじゃん
ていうかそんなこと俺に絡まれても困るんだがw
どうでもいいけどいちいちageんな
TJSのソースなら煽りは気にせずうp KAGのソースなら要らないから消えていい
KAGでもおもしろい使い方してるなら見る価値はあるな。 貪欲になんでも覗いていく姿勢がないとあかんぜ なによりこんな過疎スレでえり好みするほど書き込みないだろ
TJSの動作って環境依存あるの?メモリやらCPUやらPC性能は別として。
>>775 粘着自演か。ネガ消えろよ
煽るしかない馬鹿はほっといてうpうp
ただの質問だが・・・。 何この空気。
>>776 >>775 は別にそういうんじゃないだろ。
ところで逆に環境依存が全く無いプログラムってあるのかな?
あまりこのスレが技術関係で使われることって割合的に少ないから 雑談交えてソース晒すのは有意義なんじゃないかな
自宅警備ってなんだよ
>>781 RPGツクールでエロRPGという発想は既にあるし同人で出ているじゃんw
>>782 自宅警備員:何らかの教育機関・訓練学校に行っているわけでもなく、就職活動もしていない無職の若者をそれっぽく言い直したもの
>>724 作り直してるんだがRPGやらんからどんな機能いるかわからん・・・
とりあえずキャラに話しかけたり出来ればいいのか?
RPGやらんのに作ってみようとかチャレンジャーだな 適当なフリーのツクール製RPGでもやってみればいいんじゃないかな
>>785 ちょっと暇だったんだよ
とりあえず何かやってきてみるぜ
>>759 見たいので早くうpしてよ
>>786 頑張れ。
っていうか、フレームワーク作るんなら
KAGそのものを書き換えた方がいいんじゃないか?
あとマップは一枚画像で表示するんじゃなくて、
チップの組み合わせで表示するようにしないと大マップに耐えられないよ。
チップファイルの形式を例えばツクール2000用とかに固定しちゃって、
草原とかのチップは境界補完するようにもしないといけない。
>>787 KAG作り直すくらいならむしろ吉里吉里使わないほうが・・・
マップの移動とかはやるが戦闘とかはKAGで勝手に作れって感じなんで
マップをチップファイルで表示ってのは何とかしたいと思います
>>788 PS2辺りで出ても違和感ない出来だねぇ。
マップチップを使うためには一つの画像に連結させる処理は必要だろ?
792 :
759 :2007/11/03(土) 20:53:00 ID:oxCPHqG6
>>792 デスクトップにあったdataフォルダ上書きされてちょっと冷や汗かいたぜw
RPGとかでよく見かけるような、画面の上に載せる透過処理されたエフェクト (炎とか爆発のムービー) って吉里吉里でも使えますか?
使えます。
透過PNGってやつですな、俺もADVのメッセージフレームを半透明にしてます。
どちらにしろ俺には絵がかけないw
799 :
名前は開発中のものです。 :2007/11/05(月) 21:59:48 ID:5bPqSYiF
メッセージフレームはジャマ
右クリックで消えます
801 :
名前は開発中のものです。 :2007/11/05(月) 22:51:55 ID:5bPqSYiF
なのでメッセージフレームの不透明度は0
それだと読み辛いじゃん
そろそろCG画面と文章画面を分けてもいいんじゃね
メッセージフレーム分を追加して(800×600)なら(800×700)にするか 「ヘルプ>このソフトについて」で出る新規ウィンドウを改造してメッセージ表示領域に改造? メインとサブ画面の同期取るのが面倒臭そうだ。
普通に4:3画面で16:9表示にすればいいんじゃね? 上下余るし。
画面一杯の画像表示の要求に応えてのメッセージフレーム発生じゃないの? むしろ時代逆行してないか。
moveタグのpathの座標を、変数の値で指定する事は出来ませんか?
ありがとうございます、失礼しました
playbgmでBGMを設定。 playseで効果音を設定していたらplaybgmの音量が小さくplayseの音量は普通。 Config.tjsを入れ替えたら今度は逆になった。 どこが問題なのか教えてくれ。
playbgmって再生命令だろ。なにをどう設定したんだよ
812 :
名前は開発中のものです。 :2007/11/06(火) 20:13:05 ID:Q00V1Uye
こんばんわー。 TJSからメッセージレイヤの位置と色を変更するにはどうすればいい んですか? ; ↓メッセージレイヤ0番を赤くします。 [position layer=message0 page=fore frame="" color=0xff0000 opacity=128 visible=true] レフト、トップ、カラーを変更します。[l][r] [iscript] kag.current.left = 200; // ←変わらない。 kag.current.top = 200; // ←変わらない。 kag.current.frameColor = 0x0000ff; // ←変わらない。 [endscript] kag.currentの部分をkag.fore.message[0]にすると、レフトとトップは 変わるのですが、カラーは変わりません。 自分としてもカレントの変え方が知りたいです。
>>812 kag.tagHandlers.position(%[left => "200", top => "200", color => "0x0000ff"]);
814 :
813 :2007/11/06(火) 20:31:57 ID:tUyZ0FHh
ちょい訂正 kag.tagHandlers.position(%["left" => "200", "top" => "200", "color" => "0x0000ff"]);
815 :
名前は開発中のものです。 :2007/11/06(火) 20:33:11 ID:Q00V1Uye
>>813 タグハンドラーズ・・・、初めてみた用語です。
Mainwindow.tjsなどを見てはいたのですが、全く分かりませんでした。
やはりこの掲示板の方はすごいです。
ありがとうございました。非常に助かりました。
何か萌えたwwwww
817 :
名前は開発中のものです。 :2007/11/06(火) 22:45:56 ID:rrqmaIl/
>>810 ボリュームコントロールを確認しろ
ソフトシンセとWaveに差がありすぎるんじゃないのか?
>>815 このスレのテンプレにある過去ログに
ほとんどの情報が載ってるからみんなそれを覚えているだけだお
ここ数日
>>808 の過去ログで検索しようとすると
Internal Server Errorが出るんだが俺だけ?
ありがとう。よくあることで、しばらくしたら直るのかー。 ログは落としてるけどネットの方がなんとなく使いやすいんだよね。
・・・にしても質問レベル低いな。 そろそろ公式BBSにも勘違いコミケ房が大量発生しそうだな。
その低レベルな書き込みもどうかと思うぜ
>>822 高レベルな質問には答えられないクセにw
別にいいんだよ。 質問レベルが低かろうと、吉里吉里自体の話をしているうちは。 これが、無意味な罵りあいや、コミュニティヲチに摩り替わった時にこのスレ終了だからな。 話ふってみるが、ついてて「こいつは便利だな」と思ったカスタム機能ある? フローチャートとか。
吉里吉里関係のwikiっていくつもあってややこしいんだが すっきりしないもんかねぇ
>>822 難しそうな話題は完全スルーなのに
よくそんなことが言えるもんだw
>>827 ああすまん。KAGのテンプレートになくて、制作者が追加する機能のことを言いたかった。
クイックセーブ・ロードとか、フロチャとか、ロード時に今までの物語要約とか。
これが便利だった、とか、意外な機能とかあるかなって。
(制作物の総量からして、自分はノベル/ADV前提で話している)
TJSのkag.process('','')の命令は、KAGでいうjumpと同じ使い方でよいのでしょうか? kag.processのあとにTJSの命令文があったら、続けてそのまま実行されてしまいますか?
831 :
名前は開発中のものです。 :2007/11/07(水) 21:23:29 ID:7w0JKV8y
('','')<でっていうw
>>830 >KAGでいうjumpと同じ使い方でよいのでしょうか?
そう
>続けてそのまま実行されてしまいますか?
そう
KAG の構造と実行の概念を把握せずにとりあえずよびだしてみるやつが増えてるっぽいのは 悪い傾向かもなぁ。 KAG の機能をTJSから「正しく」呼びだす記述はこうだ。 kag.conductor.pendings.insert(0,%[tagname:"position", left:200, top:200, color:0x000000]); 直接 tagHandlers をよんでしまうと、状態変更するだけの処理はともかく、 待ち系の処理とかは適切には処理されない。タグを割り込ませる方法なら、 conductor 内部で直接処理されてしまう組み込みタグ以外のタグは、wait 系も 含めて普通にシナリオ中に記述したのと同等に動作する。 jump はその組み込みタグに該当しちゃうので、TJS から同等の処理を したければ kag.process() を呼ぶのは正しいんだけどね
>>833 わざわざ、それをするメリットってあるの?
それってどれ?
>>834 この例だと全く無いね(笑) 上のほうであった tagHandlres の呼び出しも同様。
ifだらけでごちゃごちゃになってしまったような巨大マクロをメンテ
するよりは、この方法を使って TJS で書いたほうがすっきりするかも
しれない、ってぐらいかな。KAGの記法はふくざつなものには単純にむいてない。
// タグを追加するメソッドを kag に追加
kag.insertTag = function(n,name,elm) {
var e = %[];
(Dictionary.assign incontextof e)(elm, false) if elm !== void;
e.tagname = name if name !== void;
conductor.pendings.insert(n, e);
} incontextof kag;
// 内部で複雑なタグ組み合わせを実現する mytag を新規タグとして登録
// 同様の手法でマクロのノリでどんどんタグ拡張できる
kag.tagHandlers.mytag = function(elm) {
var n=0;
if (条件) {
insertTag(n++, "hoge", %[パラメータ]);
insertTag(n++, "hoge", %[パラメータ]);
.....
}
return 0;
} incontextof kag;
あとは、TJS 側で制御を握ってるあいだ、
[s] や [waittrigger] をつっこんで KAG 側の処理を任意の場所で止めておく、
といった使い方があるかな。
前者は kag.processGo() で、後者は kag.trigger() で再開できる。
>>836 mytagの部分、わざわざそんな書き方しなくても、
kag.conductor.enqueueTag(%[tagname:"backlay"]);
return -4;
みたいな書き方でいいんでね?
>>837 この方法を多用してると pendings にタグがたまった状態で処理が行われる
可能性があって、Conductor.enquetTag は後ろにたしちゃうので、そうすると
元のタグの順序が崩れてしまいます。
>>833 TJSでwaitってこれでかければ良かったのか
今までどうやったらいいか分からず、forで10000くらいループさせて無理矢理待たせるとかしかないのかと思ってた
吉里吉里の制作入門本にあった、Ctrlでメッセージスキップする機能なんですが、 押し続けていると、Ctrlから指を離しても未読部分もスキップする動作になってしまいます。 押している間だけ未読部分もスキップして、離された時は即時に スキップを解除する、といった仕様にするにはどうしたら良いでしょうか?
>>841 その本が何て本か分からないし、
スクリプトの記述がどうなっているか分からない以上、
回答のしようがない。
その機能のスクリプトを晒さないと、
どうにもならんですよ。
>>842 なるほど。あなたにはこの程度のこともムリだということは理解しました。
これはあくまでお願いなのですが、
他の有能な方の貴重なご意見が聞こえづらくなってしまいますので、
お静かにしていただけますでしょうか?
新手の釣りか
845 :
841 :2007/11/09(金) 00:09:29 ID:Lcgn2ogJ
>>842 すみません、スクリプトを記述しようと思って本を読み返してみたら、
一箇所追加漏れ部分があったためにおかしな動作になってしまったようです。
お騒がせしました…
846 :
名前は開発中のものです。 :2007/11/09(金) 01:13:13 ID:6pgBc5N3
>>,843 こーゆー勘違い質問者は公式サイトのBBSで聞け
公式で聞いたとしても>842の答えがくるだろ
elm.hogehoge に "boo" g_test["boo"] に "foo" が格納されてるとします。elm はある関数の辞書型の引数で、g_test は辞書型の外部変数とします。 1. dm("g_test[" + elm.hogehoge + "] = " + g_test[elm.hogehoge]); elm.poi = g_test[elm.hogehoge]; dm("elm.poi = " + elm.poi); ↓ g_test[boo] = foo elm.poi = とデバッグ用のコンソールに出力されます(詳細に調べてみると、elm.poi は void のままでした) 2. var woo = g_test[elm.hogehoge]; elm.poi = woo; dm("elm.poi = " + elm.poi); ↓ elm.poi = foo とデバッグ用のコンソールに出力されます どうしてなのでしょうか? やりたいことは、単純に、 elm.poi = g_test[elm.hogehoge]; という代入がしたいだけなのですが。 ある場合において、2 .のように、一度別の変数に代入してからでなければ、 代入できないことがあったりするのでしょうか?
>>849 普通に代入できたが俺の解釈間違ってるか?
var g_test = %[];
g_test["boo"] = "foo";
function func(elm) {
Debug.message("g_test[" + elm.hogehoge + "] = " + g_test[elm.hogehoge]);
elm.poi = g_test[elm.hogehoge];
Debug.message("elm.poi = " + elm.poi);
}
func(%["hogehoge" => "boo"]);
あってます。 わざわざ、検証までしていただき、まことにありがとうございます。 わたくしのほうでも、そのように試しましたら、普通に代入できました。 現在、作成しているソース中において、 849 の 1. に該当するような部分を 2. のように書き換えると代入できたので、 どうしてなのだろう?と思ったからなんです 1.、2. は該当ソース中の変数名を置換しただけだったりします。 外部変数名が重なってないかどうかも、全ソースに対して検索をかけましたが、該当するものがありませんでしたし、 そもそも 1. を 2. に書き換えることで正しく代入されることが奇異に感じたのです。 1. と 2. の処理の結果は同等のはずではなかろうかと思ったのです。 どうすれば、このようなことが再現できるのか、どうしても分からなかったんです。 C で書いたときのように、プログラムがメモリを壊しちゃうことはないと思うので、 どうしても思いあたるフシがなかったんです。
>>851 その再現するコードを直接かいてもらわんことには、「ただの勘違いじゃ?」としか言えない
ある程度の規模のソースで、このような再現性の確からしさが確認できない場合、 どうすればいいんでしょうか? なにを、どう、わたしが勘違いしてるのか分かりませんが 849 のとおりのことしかわたしはしてないわけですし よく分からないですが、ありえないとおっしゃるなら、そうなのかもしれませんね
1年前の話だが、辞書配列周りで851と似たような現象がおこり、
データの持ち方変更して回避したことがあったのだが、再現方法が思い出せない。
851の勘違いとも言えないかもしれない・・・。
>>853 再現できる状態維持しながら必要のなさそうな箇所をごっそり消すといいかもしれない。
でも、何でこれで正しく動かないとか分からない、なんて思って頭悩ませる事はあるけど 大体はどこかで何か間違った事してるんだよね んでそれに気付くのに丸一日かかって脱力したりとか
>>855 それがプログラムやってて楽しいじゃん?
いや別に楽しくないとは言わないけど 朝から晩まで一日中悩んでた事が、たった二行の修正で解決したりすると 全身が脱力する
丸一日悩んだすえに解決法が無いときよりマシ
>853 シナリオファイルをzipでくれ
そういえば…… var hoge = []; と var hoge = %[]; で、代入の取り扱いや、セーブの時の取り扱いが違うって マニュアルのどっかに書いてあった気がしたが どこだっけ?
>>860 上は配列で下は辞書配列なのでもろもろ違うわけだが・・・
864 :
名前は開発中のものです。 :2007/11/12(月) 18:42:26 ID:cXtHCoDF
キリキリキリキリキリキリキリキリ
ガチャガチャガチャガチャ
ドギューン
hactの式って何処にどうやってかけばいいんでしょう? シナリオファイルにかくと失敗します・・・
>>867 質問する前にリファレンス嫁
Tips/その他 → TJSをもっと使うために → hact タグの応用
870 :
名前は開発中のものです。 :2007/11/13(火) 22:47:16 ID:h0qugE/D
\マーク付けなくても平気になってませんか?
3パターンの文字レイヤーを使い分けたいのですが上手くいきません… 例えば右半分に表示される文字レイヤー、飾り枠付きの文字レイヤー、全画面文字レイヤーをシーンごとに 使い分けたいんですけどその場合、コンフィグの設定はいじらないでシナリオに設定を書き込んだ方がいいんですよね。 ちゃんとタグ打ち込んでるはずなのに再生すると文字レイヤーがデフォルトの状態でもうどうにも……
>870 いつの話をしてるんだ。 >871 該当部分のシナリオファイル晒せ
コントみたいだな。自己解決するならするまで自分で試せば良いだろうに。
すいません解決してませんでした
すいません自己解決しました
さんざん自分で試しても解決方法に気づけなかったのに スレで聞いた途端何故かわかることってあると思うぞ。 いらないときはその辺にゴロゴロしてるのに いるときになったら見つからない探し物とちょっと似ている。
すいませんやっぱり解決してませんでした
自己解決したならその理由もかいとけ。
881 :
名前は開発中のものです。 :2007/11/15(木) 02:09:13 ID:W9J2P8k1
吉里吉里
882 :
名前は開発中のものです。 :2007/11/15(木) 14:36:13 ID:qpMD99ng
質問させてください 吉里吉里にフラッシュムービーを組み込もうと思っているのですが、音楽と画像表示のタイミングのブレ等を、できるかぎり減らすことができるフラッシュ制作ソフト、フラッシュプレイヤーは、何がありますでしょうか。 どなたかよろしくお願いします
884 :
名前は開発中のものです。 :2007/11/15(木) 14:59:55 ID:qpMD99ng
>>883 超初心者ですみません。adobeはプレイヤーでしたよね。
プレイヤーさえ改善すれば、劣化やブレは解消しますか?
>>884 ああそうか…
Adobe Flash、旧称はMacromedia Flashね
888 :
名前は開発中のものです。 :2007/11/15(木) 15:39:04 ID:qpMD99ng
>>885-887 ああ、やっぱりそういうものですよね
なんとか・・短期間のみ無料のソフトとか、どうにか無料で良質のソフト、ありませんかね?
>>890 ベクトルアニメと関節ブツ切りアニメとアフターエフェクトアニメが
ごっちゃになってるんでしょ。
>>889 frameworkもないと動かないっぽいね。
>>889 パペットツールがないから、これじゃ無理だな。
というか、吉里吉里全然関係ない話じゃないか。 Flash板の無料Flashソフトスレとか初心者質問にでも行けばいい。
894 :
名前は開発中のものです。 :2007/11/16(金) 02:33:43 ID:R/9y+I/B
吉里吉里
選択肢でデフォルトだとオンマウスで薄く青いベールが かかるのを無くして、 オンマウスで文字の色を変えたいのですが、 どうしたらいいでしょうか。
プラグイン・・・ すいません、解説サイトかなんかありますか・・・?
>>895 Config.tjsのdefaultLinkColorとdefaultLinkOpacityを編集するだけ
>>898 できましたありがとうございます!
オンマウスで文字の色を変えるのは
どうすればいいですか?
>>895 それをやるにはKAGを改造するか、それを実現してくれるKAGプラグインが必要
そういうKAGプラグインはすでに存在するから、後は自分で探して何とかしろ
ありがとうございました グーグル先生に訊いて参ります。
903 :
895 :2007/11/17(土) 02:49:13 ID:Xmv5J+lf
>>902 さんありがとうございます。
・・・すいません、また舞い戻って来てしまいました。
早速ダウソしてテストファイルのタグを見よう見真似で
コピペ改変しながら自分のテキストファイルのそれっぽい位置に挿入しては
みたんですが・・・
問題点が二つ。
1。メッセージ枠が少し透ける。
2。オンマウスすると文字色が変わるのでなく、
文字に色の付いた長方形がかぶさるようになる
要らない部分、欠けてる部分あったらご指摘願いたいです・・・。
904 :
895 :2007/11/17(土) 02:49:58 ID:Xmv5J+lf
;------------------- ; ▼ポイントすると色が変わるリンクを作るプラグイン @call storage=changecolorlink.ks ;●オンマウスでリンク色変更 [macro name=link2] @changecolorlink rgamma=7 ggamma=1 bgamma=1 exp="&'tf.select = ' + kag.current.numLinks" [endmacro] [macro name=endlink2] [endlink] [resetfont] [endmacro] ;------------------------------------ ;●選択肢始め [macro name=select] [history output=false] [delay speed=nowait] [endmacro] ;------------------------------------ ;●選択肢終わり [macro name=endselect] [history output=true] [delay speed=user] [endmacro]
905 :
895 :2007/11/17(土) 02:50:41 ID:Xmv5J+lf
@layopt layer=message0 visible=false @position layer=message1 frame="メッセージ枠.png" opacity=0 left=170 top=180 width=300 height=120 marginl=65 margint=25 marginr=20 marginb=20 @layopt layer=message1 visible=true opacity=128 @current layer=message1 @locate y="&kag.fore.messages[0].y - kag.fore.messages[0].marginT" @font size=18 @cm [select] [link2 target=*はい ]はい[endlink2][r] [link2 target=*いいえ ]いいえ[endlink2][r] [endselect] [s] ・・・すいません、もいっぺん自分なりにあれこれ考えてきますorz
てめぇ少しは自分でやってから質問しろ しょっぱなから聞いてるんじゃ全く勉強にならん
自分が使ってるタグ、リファレンス使って全部読み返したらわかるよ。 自分が何書いてるか調べてないうちは人に聞くのやめたほうがいい。 かっちょわるいから
つか、画像でやればいいじゃん・・・
馬鹿すぎてすいませんでした 自分で頑張ります。 失礼しました
>>833 pendingsってどこに書かれてますか
Conductorクラスのイベントキュー
私のバージョンが古かったようでした。スレ汚し失礼しました
変数に関数名を代入して、たとえば 吉里吉里付属のsystembutton.ks の array.add(obj = new SystemButtonLayer(kag, parent, onSaveButtonClick)); を sf.i ="onSaveButtonClick"; array.add(obj = new SystemButtonLayer(kag, parent, sf.i)); の様なことがしたいのですが 上記の例だと関数ではないかプロパティの種類が違います のエラーになってしまうのです。 kag.scflags.i とか var funk= sf.i とか無い頭振り絞っても旨くいかなくて…… どなたか偉い人。教えて下さい。
自分でいじり倒したKAG使ってると素のKAGがどんな処理してるか分からなくなるなw
>>914 処理したい関数がグローバルな関数なら global[sf.i] で参照できるし、
該当処理とコンテキストが同じオブジェクトの関数なら this[sf.i] で参照できる。
>>914 array.add(obj = new SystemButtonLayer(kag, parent, this[sf.i]));
リファレンスもう一回読み直します。 お蔭でやりたいことがかなり綺麗にできました。 本当にありがとうございます。
oggファイルでBGM設定してるんですが、 一曲30秒くらいまでの短いループで どの程度までのファイルサイズが望ましいですか? だいたいみんな100kb前後あるのですが・・・ oggファイルへの変換はaudioencoderを 使用してます。でも、品質を下げるとループの最後が 切れてしまい不自然になってしまいます。
音に関してアドバイスお願いします。 (吉里吉里2.28 OS:XP) 現在、 BGM=MIDI&ogg/SE=ogg 使用。 MIDIがPCによって鳴ったり鳴らなかったり、 コンパネのサウンド設定一式チェックしてもどうしても鳴らないというユーザーもいる。 そこでMIDIの使用を止め、 BGM=ogg SE=WAV&ogg にするか検討中です。 容量はなるべく抑制したいのも本音。 一般的に同人ゲームて、音ファイルどうしているもんでしょうか。
>>919 oggへの変換はoggdropXPd using aoTuVを使っている。
音質を下げるとBGMが耳障りでしかないので、それなりの音質にしている。
ループに違和感があれば、ループチューナーで微調整。
>>920 MIDIは機種依存が激しいので、oggが多い。
嘘教えるなよ。フリーでMP3の代替になったから流行ったんだろ。 昔ゲームやってた連中はまともなMIDI音源付けるのがデフォだっただろ。 特にエロゲーマーは。
昔っていつの話だよw PC-9801時代の話か?
少なくとも嘘といえるほどじゃねえだろ… XGでシステムリセットしたのとGSで音源リセットしたのじゃまるで違う ピアノがスタンダードキットになるとかの環境依存は間違いなくありまくった
>>922 FM音源とCDDAしかしらん。
MIDI音源はおまけだった。
926 :
名前は開発中のものです。 :2007/11/19(月) 08:11:19 ID:FuLmU6+K
すみません、今シナリオを書いているものすごい初心者のものです 「これ、まずいよね」 と、自動表示するとき「これ[wait]まずいよね」 と、やりたいのですが、 「これ[改行] まずいよね」 となってしまします どうかけばよろしいでしょうか。 すみません、どなたかよろしくおねがいします
最近餌が美味しくないんだ。 俺のご主人、もしかしてお金がないのかな……。
>>926 演出だと思ってるだろうが、読む方からすればうざいだけだから、
文の途中で変なウェイト入れるな。以上。
>926 「これ [wait time=500] まずいよね」
ちょっと聞きたいんだが吉里吉里2ってそのままVC8でビルドできるように出来てる?
[autowc enabled=true ch="、。" time="4,6"]
>>930 VCLに依存してるので、C++ Builder5かC++ Builder6でビルドするのが前提。
(C++ Builder5用にチューニングもされているらしい)
がんばればVC8でビルドできるかもしれないが、修正が結構大変だと思う。
C++ Builder6ですらビルドできるように環境を整えるのが大変だしな。
VCLかよ・・・BCC5.5とVS2005 C++ expressしかもってない俺涙目。 OSSで商用にしかついてないライブラリに依存してるのかよ。
美味しい餌が欲しいなあ
>>933 フリーの環境には期待しすぎなだけ
ものすごく理不尽なことを言ってるようにしか見えない
Windowsに依存してる時点で。
>>933 まあ、OSSと商用かどうかは関係ないしね。
現行 trunk は、 kirikiri2/src/core/environ/win32/bcb2006 のプロジェクトファイルを
使えば無償の Turbo C++ Explorer でコンパイル通って動作するみたいだよ。
なぜかパフォーマンスが BC5 に比べるとおちるみたいだけど。
実際問題としては、吉里吉里2の本体を再コンパイルする必要性はほぼ存在しないよ。
本体のバグはきちんと報告すればわりとすぐ直してもらえるし、
ほしい機能はプラグインで拡張すればいい。結構なんでもできるよ。
画像形式拡張、音声形式拡張、言語そのものをを追加するのも楽勝。
吉里吉里のプラグイン機構はとてもよくできてる。
プラグインは BC でも VC でも、Mingw でも問題なくコンパイルできる。
VC++ Express 2005 だと標準では Win32 のプロジェクトがないので、
MS から SDK をダウンロードしてきて手動で設定する必要があるけど、そのぐらいはすぐでしょう。
初歩的な質問でごめんなさい ゲームを起動した時にすぐ後に 動く?サークルロゴを流したいのですが あれはフラッシュですか?動画ですか?
いいえ、ケフィアです
パタパタアニメですよ。
好みですよ。
>>938 そりゃサークルに寄って色々だろう。
因みに俺はmoveです
俺はmovieです
使わなくても[trans][move]とズームプラグインとセンスがあれば 2Dならたいていの事はできる。と思う。 ていうか、雑談質問スレで言うのもなんだが わからないからっていちいちきくな。 自分で十回試して無理だったり まったくわからないなら一度諦めて他の事をやれ。 ゲーム製作なんて作っている内に出来ることとやりたい事が どんどん増えていって、そしてそれが愉しいんだ。 …とエロゲーのテンプレを百回以上作り直してる俺が言ってみる。 …絵も文章も声以外の素材は全て完成しているのに。 またいちからつくりなおしだよ…
>>944 さっさとリリースして、バグフィックスしてった方が100倍効率いい。
自己満足の試行錯誤は、ある限度を超えると本当に無駄。
>>945 無料で配ってバグフィックスしてもらうのならいいが、
1500円とか払って有償デバッグはかんべんな。
吉里吉里のオーサリングソフトを誰か出してほしいと願う今日この頃。
背景、立ち絵、メッセージが入れ込めれば、あとは調整で済むしな。
気になるほどのバグあったらメールか何かで教えてくれるだろ 来なかったらどうでもいい程度って事だ と思ったが金取るんならだったらちゃんと直さんとな・・・
ゲーム形態にすると見たいシーンがいつでも見れないし 死ぬほど売れないから大丈夫
そろそろ次スレの季節だがテンプレで変更するところあるかね? 久しぶりに講座サイト探してみたけど全く変化がないな。 新規もないし、既存の講座も全く更新されていないところばかり。
テンプレ見て思ったが >KAG System リファレンス(※初心者必読!) この初心者必読ってのは削った方がいいな。リファレンスは辞書であって入門書じゃない。 まずは各講座を読んで不足分や忘れた分をリファレンスで補うもの。 本当の初心者はリファレンスを読むことが出来ない。
>>950 ※質問の前にまず該当する機能がないか確認!
だな、どっちかというと。
windowsに依存云々はおいといて
>>935 がOSSを理解してないのはよく分かった。
windows依存は吉里吉里3でどうにかするんじゃないの?
>>951 該当する機能があるかないかを探せって無茶だろ。
わらの山に針があるかもしれません。ないかもしれません。
あるかないかさえ教えませんってことだぞ。
エフェクト入れようが、演出入れようが、販売本数は大して増えない。 どうせ売れるのは、ロリ、エロ。
最初から最後まで完成させるチュートリアル形式の講座サイトがあればいいけど みんな途中で飽きちゃうんだよな
プログラムの知識、吉里吉里の知識、文章力、膨大な命令を全部取り上げる情熱。 全てがそろってないと満足する講座は作れないわけでハードルが高すぎる その点では講座サイトを見ると特徴が見えてくるよな。 OutFocusはいかにもプログラマーが書いた文章って感じで きっちりかっちり書いてるんだが、初心者置いてけぼりで語りだす場面がある 熊野にんちは逆にシナリオライターが書いた文章って感じで かみ砕いて読ませる文章なんだが、プログラム的にその説明はまずいだろって表現がある
>>951 同意
せめて確認程度した質問でないと、回答もリファレンス嫁しかしようがない
リファレンスに一度も目を通していないってのは初心者以前だろ